基于LCD1602液晶的DS18B20温度传感器的温度采集系统设计.doc_第1页
基于LCD1602液晶的DS18B20温度传感器的温度采集系统设计.doc_第2页
基于LCD1602液晶的DS18B20温度传感器的温度采集系统设计.doc_第3页
基于LCD1602液晶的DS18B20温度传感器的温度采集系统设计.doc_第4页
基于LCD1602液晶的DS18B20温度传感器的温度采集系统设计.doc_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

0 2012 2013 学年学年 第第 2 学期学期 单片机原理及应用单片机原理及应用 课课 程程 设设 计计 报报 告告 题题 目 目 基于基于 DS18B20DS18B20 的温度采集系统设计的温度采集系统设计 专专 业 业 自自 动动 化化 班班 级 级 姓姓 名 名 指导教师 指导教师 电气工程学院 2013 年 6 月 6 日 1 任务书 任务书 1 课题名称课题名称基于基于 DS18B20 的温度采集系统设计的温度采集系统设计 指导教师 职称 指导教师 职称 执行时间执行时间2012 2013 学年第学年第 2 学期学期 第第 10 周周 学生姓名学生姓名学号学号承担任务承担任务 设计目的设计目的 通过该课程设计进一步熟悉单片机的基本知识与工作原理 1 熟悉 DS18B20 温度传感器的内部资源及其使用方法 2 学会使用 Protues 仿真软件进行单片机系统设计的方法 3 学会使用 LCD1602 对所需要显示的内容进行显示 设计要求设计要求 要求 1 液晶第一行显示 Temperature 2 使用 DS18B20 温度传感器采集当前的温度 并采集的温 度值液晶第二行显示 3 设计温度的上下界限 超过温度上限或下限时 蜂鸣器 报警同时一个发光二极管闪烁报警 2 摘摘 要要 随着信息技术的飞速发展 嵌入式智能电子技术已渗透到社会生产 工业控制以及人们日常生活的各个方面 单片机又称为嵌入式微型控制器 在智能仪表 工业控制 智能终端 通信设备 医疗器械 汽车电器 导 航系统和家用电器等很多领域都有着广泛的应用 已成为当今电子信息领 域应用最广泛的技术之一 本文主要介绍了一个基于 STC89C52RC 单片机的测温系统 详细描述了利 用液晶显示器件温度传感器 DS18B20 开发测温系统的原理 重点对传感器与 单片机的硬件连接和软件编程进行了详细分析 主要地介绍了数字温度传感 器 DS18B20 的数据采集过程 进而对各部分硬件电路的工作原理进行了介绍 温度传感器 DS18B20 与 STC89C52RC 结合构成了最简温度检测系统 该系统可 以方便的实现温度采集和显示 它使用起来相当方便 具有精度高 量程宽 灵敏度高 体积小 功耗低等优点 适合我们日常生活和工 农业生产中的 温度测量 也可以当作温度处理模块嵌入其它系统中 作为其他主系统的辅 助扩展 关键词 关键词 单片机单片机 STC89C52RCSTC89C52RC DS18B20DS18B20 温度传感器 液晶显示器温度传感器 液晶显示器 LCD1602LCD1602 3 基于基于 DS18B20 的温度采集系统设计的温度采集系统设计 目目 录录 第一章第一章 绪绪 论论 4 1 1 温度检测系统的介绍 4 1 1 1 温度检测系统的组成 4 1 1 2 温度检测的实际意义 4 第二章第二章 温度检测系统方案的选取温度检测系统方案的选取 5 2 1 温度检测系统方案的选取 5 2 1 1 温度检测模块 5 2 1 2 温度显示模块 6 2 2 温度检测系统结构的设计 7 第三章第三章 硬件电路的设计硬件电路的设计 8 3 1 STC89C52RC 的介绍 8 3 2 DS18B20 的介绍 9 3 2 1 DS18B20 的主要特点 9 3 2 2 DS18B20 的结构 9 3 2 3 DS18B20 的测温原理 10 3 3 LCD1602 的介绍 13 3 4 硬件设计 14 3 4 1 硬件设计目标 14 3 4 2 硬件功能模块划分 14 3 4 3 接口和连接方式 14 3 4 4 硬件仿真电路 15 第四章第四章 软件设计软件设计 16 4 1 1602 液晶显示处理部分 16 4 2 18B20 函数处理部分 16 第五章第五章 心得体会心得体会 19 参考文献参考文献 20 附录附录 21 4 第第 1 1 章章 绪绪 论论 1 11 1 温度检测系统的温度检测系统的介绍介绍 温度检测在各领域应用的非常广泛 可以说渗透到了社会的每一个领域 人们的生活与温度检测息息相关 在工业生产过程中需要实时测量温度 在农 业生产中也离不开温度的测量 因此研究温度的测量方法和装置具有重要的意 义 1 1 11 1 1 温度检测系统的组成温度检测系统的组成 温度检测的首要问题是温度传感器的选取 温度传感器的发展经历了三 个发展阶段 传统的分立式温度传感器 模拟式集成温度传感器 智 能集成温度传感器 目前的智能温度传感器 也称数字温度传感器 是在20世 纪90年代中期问世的 它是微电子技术 计算机技术和自动测试技术 ATE 的 结晶 它的优点是能输出温度数据及相关的温度控制量 适配各种微控制器 MCU 目前温度传感器正在朝着基于单片机的基础上从模拟式向数字式 从 集成化向智能化 网络化的方向飞速发展 并朝着高精度 多功能 总线标 准化 高可靠性及安全性 开发虚拟传感器和网络传感器 研制单片机测温 系统等高科技的方向迅速发展 我们采用 DS18B20数字温度传感器采集温度 信号 使用 MCS 51单片机控制温度传感器 然后将采集到的温度信号在 LCD1602液晶显示屏上显示 这种温度检测系统性能较好 并易于实现 1 1 21 1 2 温度检测的实际意义温度检测的实际意义 在工业生产和实践研究中 像电力 化工 石油 冶金 航空航天 机 械制造 粮食存储 酒类生产等领域 温度常常是表征对象和过程状态的重 要参数之一 比如 发电厂锅炉的温度必须控制在一定的范围之内 许多化 学反应的工艺过程必须在适当的温度下才能正常进行 炼油过程中 原油必 须在不同的温度和压力条件下进行分馏才能得到汽油 柴油 煤油等产品 5 没有合适的温度环境 许多电子设备就不能正常工作 粮仓的储粮就会变质 霉烂 酒类的品质就没有保障 由此可见 温度的检测对日常生活很重要 第二章第二章 温度检测系统方案的选取温度检测系统方案的选取 2 12 1 温度检测系统方案的选取温度检测系统方案的选取 由于温度检测的方法多种多样 而不同的检测方法适合不同的场所 我 们针对温度检测提出了温度采集系统的多种设计方案 由于温度检测系统基 本组成为温度检测模块和温度变送传输模块以及温度显示模块 下面对这些 不同模块的选取分别进行具体地分析 2 1 1 温度检测模块温度检测模块 方案一方案一 采用热敏电阻 因热敏电阻是温度敏感元件 使用它来感受温 度变化 其电阻值的变化是可以衡量温度大小的 但热敏电阻测温具有精度 低 可靠性差 不适用检测变化小的温度信号等特点 所以这种方法不适用 于精度要求高的场合 方案二方案二 采用单总线数字温度传感器 DS18B20 测量温度 因为它直接输 出数字信号 便于单片机进行处理及控制 同时也节省了硬件电路 该芯片 的物理化学性质很稳定 元件线形性能好 当温度在 0 100 摄氏度范围内变 化时 最大线形偏差小于 1 摄氏度 方案三 方案三 在温度测量系统中 也可采用单片机温度传感器 比如 AD590 LM35 等 但这些芯片输出的都是模拟信号 必须经过 A D 转换后才 能送给计算机 这样就使测温系统的硬件结构变的复杂 另外 这种测温系 统难以实现多点测温 也要用到复杂的算法 一定程度上也增加了软件实现 的难度 经过讨论分析 为符合课程设计要求 我们选用方案二 6 温度检测模块示意图 2 1 22 1 2 温度显示模块温度显示模块 方案一 方案一 采用 8 位段数码管 将单片机得到的数据通过数码管显示出来 该方案简单易行 但所需的元件较多 可读性差 一旦设定后很难再加入其 他的功能 而且温度显示格式受限制 耗电量大 不宜用电池给系统供电 方案二 方案二 采用液晶显示器件 液晶显示具有平稳 省电 美观等优点 更容易满足题目要求 而且对后续的工艺兼容性高 只需将修改软件中程序 设计即可 可操作性强 也易于读数 LCD1602 液晶显示器具有两行十六个 字符的显示 能同时显示其它的信息如日期 时间 星期 温度 通过比较 我们选用方案二 温度显示模块示意图 7 2 22 2 温度检测系统结构的温度检测系统结构的设计设计 采用 STC89C52RC 单片机作为控制核心对温度传感器 DS18B20 进行控制 由它读取温度信号并进行计算处理后送到液晶显示器 LCD1602 显示 按照系 统设计功能的要求 确定系统由 3 个模块组成 主控制器 测温电路和显示 电路 温度检测系统总体电路结构框图如下图所示 温度检测系统电路结构框图 8 第三章第三章 硬件电路的设计硬件电路的设计 3 13 1 STC89C52RCSTC89C52RC 的介绍的介绍 STC89C52RC 单片机是宏晶科技推出的新一代超强抗干扰 高速 低功耗 的单片机 它的指令代码完全兼容传统 8051 单片机 12 时钟 机器周期和 6 时钟 机器周期可任意选择 最新的 D 版本内部集成 MAX810 专用复位电路 1 增强型 6 时钟 机器周期 12 时钟 机器周期 8051CPU 2 工作电压 5 5V 3 4V 5V 单片机 3 8V 2 0V 3V 单片机 3 工作频率范围 0 40MHz 相当于普通 8051 的 0 80MHz 实际工作频 率可达到 48MHz 4 用户应用程序空间 4K 8K 13K 16K 20K 32K 64K 字节 5 片上集成 1280 字节 512 字节 RAM 6 通用 I O 口 32 36 个 复位后为 P1 P2 P3 P4 是准双向口 P0 口是开漏输出 作为总线扩展使用时 不用加上拉电阻 作为 I O 口使用时 需加上拉电阻 7 ISP 在系统可编程 IAP 在应用可编程 无需专用编程器 仿真 器 可通过串口 P3 0 P3 1 直接下载用户程序 8K 程序 3 秒即可完成一 片 8 EEPROM 功能 9 看门狗 10 内部集成 MAX810 专用复位电路 D 版本才有 外部 20M 以下时 可 省外部复位电路 9 3 23 2 DS18B20DS18B20 的介绍的介绍 3 2 13 2 1 DS18B20DS18B20 的主要特点的主要特点 温度传感器的种类众多 在高精度 高可靠性的应用场合时 DALLAS 达 拉斯 公司生产的 DS18B20 温度传感器比较理想 它体积小 硬件开消低 抗干扰能力强 精度高 附加功能强 与传统的热敏电阻等测温元件相比 它能直接读出被测温度 并且可根据实际要求通过简单的编程实现 9 12 位 的数字值读数方式 它具有独特的单线接口仅需要一个端口引脚进行通信 并可通过数据线供电 电压范围为 3 0 5 5 3 2 23 2 2 DS18B20DS18B20 的结构的结构 TO 92 封装的 DS18B20 的引脚排列见下图 图 3 2 1 DS18B20 实物图及封装 其引脚功能描述见下表 表 3 2 1 DS18B20 详细引脚功能描述 序号名称引脚功能描述 1GND接地信号 2DQ数据输入 输出引脚 开漏单总线接口引脚 当被用着在寄生电 源下 也可以向器件提供电源 3VDD可选择的 VDD 引脚 当工作于寄生电源时 此引脚必须接地 DS18B20 的内部结构示意图如下图所示 I O C 64 位 RO M 和 单 线 接 口 高 速 缓 存 存储器与控制逻 辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 Vdd 10 图 3 2 2 DS18B20 内部结构 64 位 ROM 的结构起始 位是产品类型的编号 接着是每个器件的惟一的 序号 共有 48 位 最后 位是前面 56 位的 CRC 检验码 这也是多个 DS18B20 可以采用一线进行通信的原因 温度报警触发器 和 可通 过软件写入户报警上下限 DS18B20 温度传感器的内部存储器还包括一个高 速暂存 和一个非易失性的可电擦除的 EERAM 高速暂存器 RAM 由 9 个 字节的存储器组成 第 0 1 个字节是温度的显示位 第 2 和第 3 个字节是 TH 和 TL 同时第 2 和第 3 个字节的数字可以更新 第 4 个字节是配置寄存器 同时第 4 个字节的数字也可以更新 第 5 6 7 三个字节是保留的 第 8 字 节读出前面所有 字节的 CRC 码 可用来检验数据 从而保证通信数据的正 确性 表 3 2 3 列出了温度数据在高速暂存器 RAM 的第 0 和第 1 个字节中的存 储格式 表 3 2 3 温度数据存储格式 位 7位 6位 5位 4位 3位 2位 1位 0 232221202 12 22 32 4 位 15位 14位 13位 12位 11位 10位 9位 8 SSSSS262524 3 2 33 2 3 DS18B20DS18B20 的测温原理的测温原理 DS18B20 的测温原理是这样的 器件中低温度系数晶振的振荡频率受温度 的影响很小 用于产生固定频率的脉冲信号送给减法计数器 高温度系数 晶振随温度变化其振荡频率明显改变 所产生的信号作为减法计数器 的脉 冲输入 器件中还有一个计数门 当计数门打开时 DS18B20 就对低温度系 11 数振荡器产生的时钟脉冲进行计数进而完成温度测量 计数门的开启时间由 高温度系数振荡器来决定 每次测量前 首先将 55 所对应的一个基数分 别置入减法计数器 和温度寄存器中 DS18B20 可以采用两种方式供电 一种是采用电源供电方式 此时 DS18B20 的 1 脚接地 2 脚作为信号线 3 脚接电源 另一种是寄生电源供电 方式 如图 3 2 3 所示单片机端口接单线总线 为保证在有效的 DS18B20 时钟 周期内提供足够的电流 可用一个 MOSFET 管来完成对总线的上拉 DS 18B 20DS 18B 20DS 18B 20 4 7 K GNDGNDGND VCC VCC单 片 机 图 3 2 3 DS18B20 的接口电路 当 DS18B20 处于写存储器操作和温度 A D 转换操作时 总线上必须有上 拉 上拉开启时间最大为 10us 采用寄生电源供电方式时 VDD 端接地 由于 单线制只有一根线 因此发送接口必须是三态的 由于 DS18B20 是在一根 I O 线上读写数据 因此 对读写的数据位有着严格的时序要求 DS18B20 有 严格的通信协议来保证各位数据传输的正确性和完整性 该协议定义了几种 信号的时序 初始化时序 写数据 读数据 所有时序都是将主机作为主设 备 单总线器件作为从设备 而每一次命令和数据的传输都是从主机主动启 动写时序开始 如果要求单总线器件回送数据 在进行写命令后 主机需启 动读时序完成数据接收 数据和命令的传输都是低位在先 1 DS18B20 的初始化时序 1 先将数据线置高电平 1 2 延时 该时间要求不是很严格 但尽可能短一点 12 3 数据线拉到低电平 0 4 延时 750us 该时间范围可以设定为 480 960us 范围内 5 数据线拉到高电平 1 6 延时等待 如果初始化成功则在 15 60ms 内产生一个由 DS18B20 返回的低电平 0 据该状态可以确定它的存在 7 若 CPU 读到数据线上的低电平 0 后 还要进行延时 其延时的时 间从发出高电平算起最少 480us 8 将数据线再次拉到高电平 1 后结束 2 DS18B20 的写数据 数据线先置低电平 0 延时确定的时间为 15us 按从低位到高位的顺序发送数据 一次只发送一位 延时时间为 45us 将数据线拉到高电平 1 重复 1 5 步骤 直到发送完整个字节 最后将数据线拉到 3 DS18B20 的读数据 将数据线拉高到 延时 us 将数据线拉低到 0 延时 6us 将数据线拉高到 1 延时 4us 13 读数据线的状态得到一个状态位 并进行数据处理 重复 1 7 步骤 直到读取完一个字节 3 33 3 LCD1602LCD1602 的介绍的介绍 LCD1602液晶显示器也叫1602字符型液晶显示器 它是一种专门用来显示 字母 数字 符号等的点阵型液晶模块 它由若干个5X7或者5X11等点阵字符 位组成 每个点阵字符位都可以显示一个字符 每位之间有一个点距的间隔 每行之间也有间隔 起到了字符间距和行间距的作用 LCD1602是指显示的内容为16X2 即可以显示两行 每行16个字符液晶模 块 管脚功能 LCD1602引脚图 LCD1602采用标准的16脚接口 其中 第1脚 VSS 为电源地 第2脚 VCC 接5V 电源正极 第3脚 V0为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源 时对比度最高 第4脚 RS 为寄存器选择 高电平1时选择数据寄存器 低电平0时选择指令 寄存器 第5脚 RW 为读写信号线 高电平时进行读操作 低电平时进行写操作 第6脚 E 或 EN 端为使能 enable 端 第7 14脚 D0 D7为8位双向数据端 第15 16脚 空脚或背灯电源 15脚背光正极 16脚背光负极 操作控制 1602液晶模块内部的字符发生存储器 CGROM 已经存储了160个不同的点 阵字符图形 这些字符有 阿拉伯数字 英文字母的大小写 常用的符号 和日文假名等 每一个字符都有一个固定的代码 比如大写的英文字母 A 的代码是01000001B 41H 显示时模块把地址41H 中的点阵字符图形显示出 来 我们就能看到字母 A 因为1602识别的是 ASCII 码 试验可以用 14 ASCII 码直接赋值 在单片机编程中还可以用字符型常量或变量赋值 如 A 指令集 1602通过 D0 D7的8位数据端传输数据和指令 显示模式设置 初始化 0011 1000 0 x38 设置16 2显示 5 7点阵 8位数据接口 显示开关及光标设置 初始化 0000 1DCB D 显示 1有效 C 光标显示 1有效 B 光标闪烁 1有效 0000 01NS N 1 读或写一个字符后地址指针加1 两行显示 5 7 点阵 delayms 5 延时 5 毫秒 write com 0 x01 显示清屏 delayms 5 write com 0 x0c 开显示 不显示光标 光标不闪烁 delayms 5 write com 0 x06 当读或写一个字符后地址指针加一 且光标加一 delayms 5 void lcd display 1602 显示初始化 lcd init 1602 初始化 write com 0 x80 第一行第一个字符开始显示 display str1 第一行显示 temperature write com 0 xc0 第二行第一个字符开始显示 display str2 显示空白 17 4 2 18B20 函数处理部分函数处理部分 在本次设计系统中 P3 3口用来单片机与温度传感器通讯 它用到的相 关函数如下 ds init 18B20初始化 ds write 向18B20中写入数据 ds read 由18B20读取数据 ds temp 从18B20中读取温度值 ds dis 把 温度值送入1602中显示 具体程序如下所示 void ds init 18B20 初始化 dq 1 delayus 4 CPU 将总线拉高 dq 0 delayus 480 CPU 将总线拉低延时 480 微妙 dq 1 delayus 60 CPU 将总线拉高延时 60 微妙 if dq 0 delayus 240 CPU 判断是否为低电平 是的话说明温度传感器在线 上 void ds write uchar date1 向18B20中写入数据注意写入是按从低位 到高位的顺序发送数据一次只发送一位 uchar ds read 由 18B20 读取数据 读的时候也是从最低位读 uint ds temp 从 18B20 中读取温度值 uchar a b ds init 初始化温度传感器 ds write 0 xcc 忽略 ROM 指令 ds write 0 x44 开始温度转换 ds init 初始化温度传感器 ds write 0 xcc 忽略 ROM 指令 ds write 0 xbe 读取温度值 a ds read 读取低八位 b ds read 读取高八位 tvalue b tvalue 8 tvalue tvalue a 得到 16 位的温度值 if tvalue 0 x0fff 判断温度大于 0 tflag 0 else tvalue tvalue 1 如果温度小于 0 取反加一 18 tflag 1 tvalue tvalue 0 625 乘以最小分辨率得到温度值 return tvalue void ds dis 把温度值送入 1602 中显示 uchar flagdat disdata 0 tvalue 1000 0 x30 温度百位 disdata 1 tvalue 1000 100 0 x30 温度十位 disdata 2 tvalue 100 10 0 x30 温度个位 disdata 3 tvalue 10 0 x30 小数点后一位 if tflag 0 flagdat 0 x20 如果温度大于 0 不显示 if tflag 1 flagdat 0 x2d 如果温度小于 0 显示负号 if disdata 0 0 x30 disdata 0 0 x20 百位为 0 不显示 if disdata 1 0 x30 disdata 1 0 x20 十位为 0 不显示 write com 0 xc0 write date flagdat 第二行第一个显示温度正负 write com 0 xc1 write date disdata 0 第二行第二个显示温度百位 write com 0 xc2 write date disdata 1 第二行第三个显示温度十位 write com 0 xc3 write date disdata 2 第二行第四个显示温度个位 write com 0 xc4 write date 0 x2e 第二行第五个显示小数点 write com 0 xc5 write date disdata 3 第二行第六个显示小数点后一位 void main 主程序 lcd display 1602 显示初始化 while 1 ds temp 从 18B20 中读取温度 19 ds dis 1602 显示温度 第五章第五章 心得体会心得体会 作为一名自动化专业的大三学生 我觉得做单片机课程设计是十分有意义 而且是十分必要的 在已度过的大学时间里 我们接触的大多数是专业课 我 们在课堂上掌握的仅仅是专业课的理论知识 如何去锻炼我们的实践能力 如 何把我们所学的专业课理论知识运用到实践中去呢 我想此次做的课程设计就 为我们提供了良好的实践平台 课程设计是培养学生综合运用所学知识 发现 提出 分析和解决实际问题 锻炼实践能力的重要方法 是对学生实际工作能 力的具体训练和考察过程 随着科学技术发展的日新日异 单片机已经成为当 今计算机应用中空前活跃的领域 在生活中可以说是无处不在 因此作为二 十一世纪的大学来说掌握单片机的开发技术是十分重要的 这次单片机课程设 计我们历时一个星期 从理论到实践 不仅学到了很多新的东西同时也巩固了 以前所学过的知识 通过这次课程设计使我懂得了理论与实际相结合是很重要 的 仅掌握理论知识是远远不够的 只有把所学的理论知识与实践相结合 从 理论中得出结论 才能真正为社会服务 从而提高自己的实际动手能力和独立 思考的能力 在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴 趣也在逐渐增加 这次的课程设计还让我学会了如何去培养我们的创新精神 从而不断地战胜自己 超越自己 更重要的是 我们在这一次课程设计过程中 学会了坚持不懈 不轻言放弃 回顾起此次单片机课程设计 我们感慨颇多 最重要的是感触是 遇到一个问题时 最重要的一件事就是马上思考检查问题 出在哪边 而不是抱怨或者马上请教同学老师 只有这样我们才能真正的学会 单片机 自己的独立处理问题的能力才会得到提高 还有无论编程中遇到什么 问题 都不要怨天尤人 无论自己的程序有多好 都不能骄傲 只有这样做到 不骄不躁 力量才会源源不断 才会有更多的灵感 所以非常感谢老师给我们 这次学习的机会 使得我们小组每个人都在本次课程设计中都有了极大的提高 20 参考文献参考文献 1 郭天祥 新概念 51 单片机 C 语音教程 入门提高开发拓展攻略 M 北 京 电子工业出版社 2009 2 韩广兴 电子元器件与实用电路基础 M 北京 电子工业出版社 2005 3 方大千 朱丽 电子控制系统装置制作入门 M 北京 国防出版社 2006 4 刘向举 刘丽娜 基于单片机的智能温度测控系统的设计 J 齐齐哈尔 大学学报 自然科学版 2012 03 5 黄文力 邓小磊 DS18B20 数字温度传感器接口程序的时序 J 仪器仪表 用户 2011 06 6 黄晓林 一种实用型智能恒温控制系统设计 J 自动化技术与应用 2011 11 7 王文 王直 基于 ARM 和 DS18B20 的温度监测系统 J 电子设计工程 2011 20 8 陈锡华 贾磊磊 温度传感器 DS18B20 序列号批量搜索算法 J 单片机与 嵌入式系统应用 2011 09 21 附录附录 include include define uchar unsigned char define uint unsigned int sbit lcden P2 2 1602 使能 sbit lcdrd P2 0 数据 命令选择端 sbit lcdrw P2 1 读 写选择端 sbit dq P3 3 18B20 数据线 uchar code str1 temperature uchar code str2 uchar data disdata 5 uint tvalue uchar tflag void delayms uint ms 延时毫秒 uint i j for i ms i 0 i for j 100 j 0 j void write com uchar com 向 1602 中写入命令码 lcden 0 lcdrd 0 lcdrw 0 P0 com delayms 1 lcden 1 delayms 1 lcden 0 22 void write date uchar date 向 1602 中写入数据 lcden 0 lcdrd 1 lcdrw 0 P0 date delayms 1 lcden 1 delayms 1 lcden 0 void display uchar p 1602 显示 while p 0 write date p p delayms 1 void lcd init 1602 初始化 write com 0 x38 delayms 5 write com 0 x01 delayms 5 write com 0 x0c delayms 5 writ

温馨提示

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

评论

0/150

提交评论