单片机DS18B20数字温度计课程设计报告_第1页
单片机DS18B20数字温度计课程设计报告_第2页
单片机DS18B20数字温度计课程设计报告_第3页
单片机DS18B20数字温度计课程设计报告_第4页
单片机DS18B20数字温度计课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 南京工程学院 通信工程学院 课程设计任务书课程设计任务书 题 目 DS18B20 数字温度计设计 课 程 名 称 单片机原理及应用 B 专 业 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间 年 月 日至 年 月 日 成绩 1 目录目录 一 绪论 2 1 1 设计目的 2 1 2 设计内容 2 1 3 设计要求 2 二 基本设计 3 2 1 基本思路 3 2 2 系统设计原理 3 2 3 系统组成 3 三 系统硬件设 计 6 3 1 系统电路接线图 6 3 2 主系统 6 3 3 显示电路 LM016L 9 3 4 蜂鸣器报警 10 3 5 DS18B20 传感器 9 四 系统软件设计 14 4 1 具体步骤和设计内容 14 4 1 程序流程图 14 4 2 源程序清单 16 五 结果验证 5 1 测试结果 23 5 2 仿真结果 23 六 学习小结 25 七 参考文 献 25 2 绪论绪论 1 11 1 设计目的设计目的 1 掌握单总线协议的基本特点及通信过程 2 掌握数字温度传感器 DS18B20 的基本特点及单总线控制协议 3 掌握单片机 IO 端口模拟单总线时序控制程序的编写方法 4 掌握 LCD 液晶显示器的显示驱动方法 1 21 2 设计内容设计内容 1 基本内容 基本内容 在 nKDE51 单片机实验教学系统上 利用 DS18B20 数字温度传 感器连续测试环境温度 对测试数据进行处理计算 在 RT 1602 字符点阵 LCD 上实时显示环境温度值 2 附加内容 附加内容 实现环境温度越限告警功能 1 31 3 设计要求设计要求 1 单片机 I O 口和 DS18B20 的数据段相连 2 编写单片机通过 IO 端口模拟单总线时序控制 DS18B20 的程序 独出温 度 3 在 1602 字符点阵液晶显示模块上显示实时温度 3 二 二 基本设计基本设计 2 1 基本思路基本思路 本次课程设计主要是数字式环境温度测试仪设计 实现环境温度越限告警功能 当 LCD 液晶显示器显示的温度小于 29 度时 只显示温度 当显示的温度大 29 度时 LCD 液晶显示器显示 HOT 蜂鸣器鸣叫 2 22 2 系统设计原理系统设计原理 利用温度传感器 DS18B20 可以直接读取被测温度值 进行转换的特性 模 拟温度值经过 DS18B20 处理后转换为数字值 然后送到单片机中进行数据处理 并与设置的温度报警限比较 超过限度后通过扬声器报警 同时处理后的数据 送到 LCD 中显示 2 32 3 系统组成系统组成 本课题以是 AT89C51 单片机为核心设计的一种数字温度控制系统 系统整 体硬件电路包括 传感器数据采集电路 DS18B20 温度显示电路 蜂鸣器报警 电路 单片机主板电路等组成 系统框图主要由主控制器 单片机复位 蜂鸣器报警 时钟振荡 LCD 显 示 温度传感器组成 系统框图如图所示 单片机复位 温度传感器 LCD 显示电路蜂鸣器报警 主 控 制 器 时钟振荡电路 图 2 1 方案设计 4 1 主控制器 单片机 AT89C51 具有低电压供电和体积小等特点 四个端口只需要两个口 就能满足电路系统的设计需要 很适合便携手持式产品的设计使用系统可用二 节电池供电 2 温度显示电路 字符型液晶显示模块是一种专门用于显示字母 数字 符号等的点阵式液 晶显示模块 它是由若干个 5 7 或 5 11 等点阵字符位组成 每一个点阵字符位 都可以显示一个字符 点阵字符位之间有一定的间隔 起到字符间距和行距的 作用 3 温度传感器 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能 温度传感器 与传统的热敏电阻等测温元件相比 它能直接读出被测温度 并 且可根据实际要求通过简单的编程实现 9 12 位的数字值读数方式 4 蜂鸣器报警 当温度达到设定上下限时 蜂鸣器会发出报警 同时有液晶显示 LOW 或者 HOT 同时可看到被测物体温度或环境实时温度 5 三 系统硬件设计三 系统硬件设计 3 13 1 系统电路接线图系统电路接线图 图 3 1 系统电路接线图 3 2 主系统 AT89C51 是一个低功耗 高性能 8 位单片机 片内含 4k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件 采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令系统 及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 AT89C51 在众多嵌入式控制应用系统中得到广泛应用 主要性能特点 1 4k Bytes Flash 片内程序存储器 2 128 bytes 的随机存取数据存储器 3 32 个外部双向输入 输出 I O 口 4 5 个中断优先级 2 层中断嵌套中断 5 6 个中断源 6 2 个 16 位可编程定时器 计数器 7 2 个全双工串行通信口 8 片内振荡器和时钟电路 6 9 与 MCS 51 兼容 10 全静态工作 0Hz 33MHz 11 三级程序存储器保密锁定 12 可编程串行通道 13 低功耗的闲置和掉电模式 管脚说明 VCC 电源电压输入端 GND 电源地 图 3 2 单片机引脚图 引脚功能说明 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据 存储器 它可以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原 码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能 接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的在 FLASH3 作 为第八编程和校验时 P1 口编程和校验时 P1 口作为第八位地址 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且 7 作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由 于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器 进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉 优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器 的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的 缘故 P3 口除了作为普通 I O 口 还有第二功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 T0 定时器的外部计数输入 P3 5 T1 T1 定时器的外部计数输入 P3 6 WR 外部数据存储器的写选通 P3 7 RD 外部数据存储器的读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 I O 口作为输入口时有两种工作方式 即所谓的读端口与读引脚 读端口 时实际上并不从外部读入数据 而是把端口锁存器的内容读入到内部总线 经 过某种运算或变换后再写回到端口锁存器 只有读端口时才真正地把外部的数 据读入到内部总线 89C51 的 P0 P1 P2 P3 口作为输入时都是准双向口 除 了 P1 口外 P0 P2 P3 口都还有其他的功能 RST 复位输入端 高电平有效 当振荡器复位器件时 要保持 RST 脚两个 机器周期的高电平时间 ALE PROG 地址锁存允许 编程脉冲信号端 当访问外部存储器时 地址锁 存允许的输出电平用于锁存地址的低位字节 在 FLASH 编程期间 此引脚用于 输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频率为 振荡器频率的 1 6 因此它可用作对外部输出的脉冲或用于定时目的 然而要 注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态 ALE 禁止 置位无效 PSEN 外部程序存储器的选通信号 低电平有效 在由外部程序存储器取 8 指期间 每个机器周期两次 PSEN 有效 但在访问外部数据存储器时 这两次 有效的 PSEN 信号将不出现 EA VPP 外部程序存储器访问允许 当 EA 保持低电平时 则在此期间外 部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式 1 时 EA 将内部锁定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在 FLASH 编程期间 此引脚也用于施加 12V 编程电源 VPP XTAL1 片内振荡器反相放大器和时钟发生器的输入端 XTAL2 片内振荡器反相放大器的输出端 3 3 显示电路 LM016L LM016L 的结构及功能 LM016L 液晶模块采用 HD44780 控制器 hd44780 具有简单而功能较强的指 令集 可以实现字符移动 闪烁等功能 LM016L 与单片机 MCU 通讯可采用 8 位 或 4 位并行传输两种方式 hd44780 控制器由两个 8 位寄存器 指令寄存器 IR 和数据寄存器 DR 忙标志 BF 显示数 RAM DDRAM 字符发生器 ROMA CGOROM 字符发生器 RAM CGRAM 地址计数器 RAM AC IR 用于寄存 指令码 只能写入不能读出 DR 用于寄存数据 数据由内部操作自动写入 DDRAM 和 CGRAM 或者暂存从 DDRAM 和 CGRAM 读出的数据 BF 为 1 时 液晶模块 处于内部模式 不响应外部操作指令和接受数据 DDTAM 用来存储显示的字符 能存储 80 个字符码 CGROM 由 8 位字符码生成 5 7 点阵字符 160 中和 5 10 点阵字符 32 种 8 位字符编码和字符的对应关系 可查找参考书 CGRAM 是为用 户编写特殊字符留用的 它的容量仅 64 字节 可以自定义 8 个 5 7 点阵字符或 者 4 个 5 10 点阵字符 图 3 3 引脚图 LM016L 引脚功能说明 Vss 1 脚 一般接地 Vdd 2 脚 接电源 Vee 3 脚 液晶显示器对比度调整端 接电源时对比度最弱 接地时对 比度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调 9 整对比度 RS 4 脚 RS 为寄存器选择 高电平 1 时选择数据寄存器 低电平 0 时 选择指令寄存器 R W 5 脚 R W 为读写信号线 高电平 1 时进行读操作 低电平 0 时 进行写操作 E 6 脚 E 或 EN 端为使能 enable 端 下降沿使能 DB0 7 脚 底 4 位三态 双向数据总线 0 位 最低位 DB1 8 脚 底 4 位三态 双向数据总线 1 位 DB2 9 脚 底 4 位三态 双向数据总线 2 位 DB3 10 脚 底 4 位三态 双向数据总线 3 位 DB4 11 脚 高 4 位三态 双向数据总线 4 位 DB5 12 脚 高 4 位三态 双向数据总线 5 位 DB6 13 脚 高 4 位三态 双向数据总线 6 位 DB7 14 脚 高 4 位三态 双向数据总线 7 位 最高位 也是 busy flang 寄存器选择控制如表 3 1 表 3 1 寄存器选择控制 RSR W操作说明 00写入指令寄存器 清除屏等 01读 busy flag DB7 以及读取位址计数器 DB0 DB6 值 10写入数据寄存器 显示各字型等 11从数据寄存器读取数据 3 4 蜂鸣器报警 蜂鸣器的工作原理 蜂鸣器的端口定义为 P2 2 其原理根据将蜂鸣器的一 端接高电平 另一端接至 P2 某一脚 编写的简单程序使那一脚为低电平即可使 其发出声音 否则不响 同时 在上下限报警时 LCD 显示 LOW 或 HOT 3 5 DS18B20 传感器 1 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成 64 位 图 3 4 蜂鸣器引脚图 10 光刻 ROM 温度传感器 非挥发的温度报警触发器 TH 和 TL 配置寄存器 图3 5 DS18B20内部结构 2 DS18B20 引脚定义 1 DQ 为数字信号输入 输出端 2 GND 为电源地 3 VDD 为外接供电电源输入端 在寄生电源接线方式时接地 图 3 6 DS18B20 引脚图 3 DS18B20 工作原理 DS18B20 的读写时序和测温原理与 DS1820 相同 只是得到的温度值的位数 因分辨率不同而不同 且温度转换时的延时时间由 2s 减为 750ms 低温度系数晶振的振荡频率受温度影响很小 用于产生固定频率的脉冲信 号送给计数器 1 高温度系数晶振 随温度变化其振荡率明显改变 所产生的信 号作为计数器 2 的脉冲输入 计数器 1 和温度寄存器被预置在 55 所对应的 一个基数值 计数器 1 对 低温度系数晶振产生的脉冲信号进行减法计数 当计 数器 1 的预置值减到 0 时 温度寄存器的值将加 1 计数器 1 的预置将重新被 装入 计数器 1 重新开始对低温度系数晶振产生的脉冲进行计数 如此循环直 64 位 ROM 和单线接口 高速缓存 存储器与控制逻辑 温度传感器 低温触发器TL 8位CRC发生器 高温触发器TH 配置寄存器Vdd 11 到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器中的数值 即为所测温度 这是 12 位转化后得到的 12 位数据 存储在 18B20 的两个 8 比 特的 RAM 中 二进制中的前面 5 位是符号位 如果测得的温度大于 0 这 5 位 为 0 只要将测到的数值乘于 0 0625 即可得到实际温度 如果温度小于 0 这 5 位为 1 测到的数值需要取反加 1 再乘于 0 0625 即可得到实际温度 DS18B20 温度数据表如表 3 2 所示 表 3 2 DS18B20 温度数据表 TEMPERTURE DIGALOUTPUT Binary DIGITALOUTPUT Hex 125 0000 0111 1101 000007D0h 85 0000 0101 0101 00000550h 25 0625 0000 0001 1001 000101991h 10 125 0000 0000 1010 001000A2h 0 5 0000 0000 0000 10000008h 0 0000 0000 0000 0000000h 0 5 1111 1111 1111 1000FFF8h 10 125 1111 1111 0101 1110Ff5Eh 25 0625 1111 1110 0110 1111FE6Fh 55 1111 1100 1001 0000FC90h 4 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一 个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM 后者存放高温度和低温 度触发器 TH TL 和结构寄存器 配置寄存器各位字节的意义如下表 3 3 表 3 3 配置寄存器结构 TMR1R011 低五位一直都是 1 TM 是测试模式位 用于设置 DS18B20 在工作模式还 是在测试模式 在 DS18B20 出厂时该位被设置为 0 用 户不要去改动 R1 和 R0 用来设置分辨率 如下表 3 4 所示 DS18B20 出厂时被设置为 12 位 表 3 4 温度分辨率设置表 R1R0 分辨率 温度最大 转换时间 00 9 位 93 75ms 01 10 位 187 5ms 10 11 位 375ms 11 12 位 750ms 5 高速暂存存储器 高速暂存存储器由 9 个字节组成 其分配如表 5 所示 当温度转换命令发布后 经转换所得的温度值以二字节补码形式存放在高速暂 存存储器的第 0 和第 1 个字节 单片机可通过单线接口读到该数据 读取时低 12 位在前 高位在后 数据格式如表 1 所示 对应的温度计算 当符号位 S 0 时 直接将二进制位转换为十进制 当 S 1 时 先将补码变为原码 再计算十进制 值 表 3 5 是对应的一部分温度值 第九个字节是冗余检验字节 表 3 5 DS18B20 暂存寄存器分布 存储器内容字节地址 温度值低位 LS Byte 0 温度值高位 MS Byte 1 高温限值 TH 2 低温限值 TL 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校验值 6 根据 DS18B20 的通讯协议 主机 单片机 控制 DS18B20 完成温度转换 必须经过三个步骤 每一次读写之前都要对 DS18B20 进行复位操作 复位成功 后发送一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS18B20 进行预定的操 作 复位要求主 CPU 将数据线下拉 500 微秒 然后释放 当 DS18B20 收到信号 后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信 号表示复位成功 RAM 指令表如 3 6 所示 表 3 6 RAM 指令表 指定 约定 代码 功能 温度变换 44H 启动 DS18B20 进行温度转换 12 位转换时最长为 750ms 9 位 93 75ms 结果存入内部 9 字节 RAM 中 读暂存取 0BEH 读内部 RAM 中 9 字节的内容 写暂存取 4EH 发出向内部 RAM 的 3 写上 下 4 字节送两字节数据限温度 数据命令 紧跟该命令之后 是传送两字节的数据 复制暂存 48H 将 ROM 中第 3 4 字节的内容复制到 EEPROM 中 重调 EEPROM 0B8H 将 EEPROM 中内容恢复到 ROM 中的第 3 4 字节 读供电方 式 0B4H 读 DS18B20 的供电模式 寄生供电时 DS18B20 发送 0 外接电源供电 DS18B20 发送 1 13 四 系统软件设计四 系统软件设计 4 14 1 具体步骤和设计内容具体步骤和设计内容 1 主程序中首先初始化 检测 DS18B20 是否存在 然后通过调用读温度子 程序读出 DS18B20 的当前值 调用温度转换子程序把从 DS18B20 中读出的值转 换成对应的温度 调用显示子程序把温度值在 LCD 液晶显示器相应位置进行显 示 2 2 温度测量子程序的功能 温度测量子程序的功能 读出并处理 DS18B20 测量的当前温度值 读出 的温度值以 BCD 码的形式存放在缓冲区 DS18B20 每一次读写之前都要先进行 复位 复位成功后发送一条 ROM 指令 最后发送 RAM 指令 3 3 温度转换子程序 温度转换子程序 把从 DS18B20 中读出的值转换成对应的温度值 以 BCD 码的形式存放在缓冲区 正负号存放在符号标志位中 4 4 显示缓冲区和 显示缓冲区和 LCDLCD 液晶显示器液晶显示器 显示子程序首先把温度转换子程序得到 的值变换后放入显示缓冲区 然后调用 LCD 液晶显示器动态显示程序显示 4 24 2 程序流程图程序流程图 主程序主程序 1 主程序 主程序 2 温度测量子程序 温度测量子程序 开 始 初 始 化 调用测温子程序 调用温度转换子程序 调用显示子程序显示 开 始 14 3 温度转换子程序 温度转换子程序 负 正 DS18B20 复 位 初 始 化 发温度转换命令温度转换 DS18B20 复 位 初 始 化 发 跳 过 ROM 指 令 开 始 判 断 正 负 符 号 标 志 清 0 直 接 得 温 度 编 码 小 数 四 舍 五 入 转 换 成 BCD 码 返 回 符 号 标 志 置 1 求补后得温度编码 读 转 换 温 度 值 返 回 15 4 显示子程序 显示子程序 否 是 4 34 3 源程序清单源程序清单 include include define uchar unsigned char define uint unsigned int void lcd busy void lcd init void lcd wcmd uchar cmd void lcd wdat uchar dat uchar ow reset void 温 度 大 于 29 LCD 液 晶 显 示 器 闪 烁 蜂鸣器鸣 叫 返 回 开 始 温 度 值 放 入 显 示 缓 充 区 LCD 液 晶 显 示 器 显 示 16 void initds18b20 void uchar read byte void void write byte uchar val void temperature cov void void display void delay uint i sbit DQ P0 0 DS18B20 端口 sbit RS P2 0 LCD 端口 sbit RW P2 1 sbit E P2 2 sbit buzzer P2 7 定义蜂鸣器端口 union uchar c 2 uint x temp 联合体 uchar flag 定义温度正负值标志变量 正为 0 负为 1 int cc xs 延时函数 void delay uint i for i 0 i 复位函数 uchar ow reset void uchar reset DQ 0 delay 50 DQ 1 delay 3 reset DQ delay 25 17 return reset 初始化 DS18B20 void initds18b20 void ow reset write byte 0 xCC write byte 0 x4E write byte 0 x00 write byte 0 x00 write byte 0 x7F 从单总线读取一个字节 uchar read byte void uchar i uchar value 0 for i 8 i 0 i value 1 DQ 0 DQ 1 delay 1 if DQ value 0 x80 delay 6 return value 向单总线上写一个字节 void write byte uchar val uchar i for i 8 i 0 i 18 DQ 0 DQ val delay 5 DQ 1 val val 2 delay 5 读取温度 void Read Temperature void ow reset write byte 0 xCC write byte 0 x44 ow reset write byte 0 xCC write byte 0 xBE temp c 1 read byte temp c 0 read byte 温度转换 void temperature cov void if temp c 0 0 xF8 判断温度是正数还是负数 flag 1 温度为负数 flag 置 1 temp x temp x 1 xs temp x xs xs 10 cc temp c 0 256 0 temp c 1 将温度从两个八位数表示成 一个十六位数 cc cc 0 0625 xs xs 0 0625 19 显示 void display int i SP 0 x50 lcd init lcd wcmd 0 x80 写入缓冲区起始地址为第一行第 一列 lcd wdat 0 x54 显示 TEMPERATURE lcd wdat 0 x45 lcd wdat 0 x4d lcd wdat 0 x50 lcd wdat 0 x45 lcd wdat 0 x52 lcd wdat 0 x41 lcd wdat 0 x54 lcd wdat 0 x55 lcd wdat 0 x52 lcd wdat 0 x45 lcd wcmd 0 xc0 lcd wdat 0 x44 lcd wdat 0 x51 lcd wdat 0 x59 lcd wdat 0 x20 buzzer 1 lcd wcmd 0 x8C lcd wdat 0 x20 lcd wdat 0 x20 lcd wdat 0 x20 lcd wdat 0 x20 lcd wcmd 0 xc4 if flag 1 lcd wdat 0 x2d 如果 flag 为 1 表示温度为负值 显示 符号 if cc 4 buzzer 0 lcd wcmd 0 x8C lcd wdat 0 x4C lcd wdat 0 x4F lcd wdat 0 x57 lcd wdat 0 x21 lcd wcmd 0 xc4 20 if cc 29 buzzer 0 lcd wcmd 0 x8C lcd wdat 0 x48 lcd wdat 0 x4F lcd wdat 0 x54 lcd wdat 0 x21 lcd wcmd 0 xc4 if cc 99 lcd wdat cc 100 0 x30 百位数转换为 LCD 显示模式 lcd wdat cc 100 10 0 x30 十位数转换为 LCD 显示模式 lcd wdat cc 10 0 x30 个位数转换为 LCD 显示模式 lcd wdat 0 x2e 显示 小数点 lcd wdat xs 0 x30 lcd wdat 0 xdf 显示 符号 lcd wdat 0 x43 显示 C 符号 for i 0 i 3 i delay 5000 检查 LCD 忙状态 lcd busy 为 1 时 忙 等待 lcd busy 为 0 时 闲 可写指令与数据 void lcd busy P1 0 xff RS 0 RW 1 E 1 E 0 while P1 E 1 delay 256 21 LCD 初始化设定 void lcd init delay 15 lcd wcmd 0 x01 清屏 lcd wcmd 0 x38 使用八位数据 显示两行 使 用 5 7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论