基于ds18b20的温度场可视化测绘系统毕业论文(编辑修改稿)内容摘要:

门用于显示数字、字母、符号等点阵式 的液晶显示屏。 目前常用 型号有 16 1, 16 2, 20 2和 40 2行等的模块。 下面 以 16 2型号的 1602 字符型液晶显示器为例,介绍其 一般 用法。 LCD1602 的基本参数及引脚功能 LCD1602 分为带背光和不带背光两种。 基控制器 一般都 为 HD44780。 带背光的 要 比不带背光的厚 一点。 是否带背光在 使 用中并无 影响。 两者尺寸差别如下图 所示: 基于 DS18B20 的温度场可视化测绘系统 10 图 1602 的尺寸图 ( 1) 1602LCD 主要技术参数: 显示容量 :162 个字符 ; 芯片工作电压 :— ; 工作电流 :(); 模块最佳工作电压 :; 字符尺寸 :(WH)mm。 ( 2) 引脚功能说明 1602LCD 各引脚 接口说明如表 所示 ,分 14引脚(无背光)和 16 引脚(有背光)两种标准。 表 1602 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 LCD1602 的硬件电路接法相比于 LED 数码管来说并不算复杂 ,甚至还会更简单一些,而且用于多点温度的测量还可以显示每个 DS18B20 的位置名称,可以一个屏显示多个温度值。 程序的编写相对数码管也没有很复杂,在满足本设计的要求下,还可以让显示模块有很大的拓展空间。 所以,本设计决定采用 16 引脚的 LCD1602 作为温度的显示装置。 基于 DS18B20 的温度场可视化测绘系统 11 第 3 章 硬件 电路设计 本 课题 的硬件电路设计分为单片机驱动电路设计、 LCD1602 温度显示模块电路设计、 DS18B20 温度测量模块电路设计及温度 超出上下限的 报警电路设计。 单片机驱动电路即为单片机的 最小系统。 包括电源、外部晶振、复位等电路。 温度显示模块 是本设计的关键部分,可以选用数码管作为显示装置也可以用LCD1602 液晶显示屏。 经过综合考虑,本设计决定采用 LCD1602 液晶屏作为温度显示装置。 温度测量模块是本系统的重点 部分 , 是基于 DS18B20 温度传感器来实现。 DS18B20与单片机的通信可以是单总线通信,也可以是并口通信。 为了使测温效果明显和简化编程, 本设计采用 8 个 DS18B20 与单片机并口通讯的方式。 相比于单总线通讯方式,并口通讯更快,实时性强,而且没有数据冲突的情况,编程也不会很复杂。 温 度报警 模块 是用于提醒用户温度超出 了 设定 的 范围, 为了从视觉和听觉上提醒用户, 本设计采用蜂鸣器的声响信号 和 LED 灯的闪烁信号来 同步 实现此功能。 各模块的具体电路设计 如 下文。 单片机驱动电路设计 单片机 作为控制器要 能正常工作, 就 必须要有它的驱动电路, 也就是使它正常工作的最小系统。 单片机最小系统主要包括 电源 , 晶振 和复位电路。 本系统 单片机为 手动复位。 驱动 电路设计如图 所示。 12345678RST9(RXD)10(TXD)11(INT0)12(INT1)13(T0)14(T1)15(WR)16(RD)17XTAL218XTAL119GND202122232425262728PSEN29ALE/PROG30EA/VPP313233343536373839VCC40U7U1Y112MC2 C3 VCCGNDR210KC1 10uFVCC1234J1VCCS1S2 S3GNDP24S4P10P11P12P13P14P15P16P17ENRSRW123456789PR110KP00P01P02P03P04P05P06P07S5 图 单片机驱动电路 基于 DS18B20 的温度场可视化测绘系统 12 温度测量模块电路设计 每个 DS18B20 内部 都 有一个 属于自己 的 64 位序列号, 1wire 总 线的通讯方式可以在 一条总线上 连接 多支 DS18B20, 然后分别 读取它们的温度。 但要完成这个操作 过程 ,软件 程序 设计比较 麻烦 ,同时 还有 一个缺点就是速度太慢 ,每次只能读取一个温度值,这对于一些要求测温实时性很强的场合很不适用。 而且本系统是对温度场进行测绘,要求所测得的肯定是同一时刻各点的温度值。 所以 本系统的设计采用的是与单片机并口通讯的方式 ,同步快速读取 8 支 DS18B20 的数据,然后利用 matlab 根据特定的算法再进行温度场的绘制。 本系统的 测温模块 电路设计如图 所示 : 8 支 温度传感器 DS18B20 都采用外部供 电方式, 第 2 脚及第 3 脚接电源 , 2 号脚为数据传输口,与 单片机的 P0 端相连。 GND1DATA2VCC3U2DS18B20GNDR10VCCP23 图 系统 测温 模块电路设计 温度显示模块电路设计 根据 LCD1602 的 基本参数和 引脚 功能的 说明与单片机连接, 数据传输选用单片机的 P1 口。 本系统的显示模块接口电路设计如图 所示 : 电路图的详细说明如下: LCD1602 的第 16 脚接地; LCD1602 的第 15 脚接电源; LCD1602 的第 3 脚串联一个 10kΩ的可调电阻器接地 ,用于调节对比度 ; LCD1602 的第 6 脚分别接 单片机的 、 及 口 LCD1602 的第 7~ 14 脚分别接单片机的 ~ ; P0 基于 DS18B20 的温度场可视化测绘系统 13 图 系统显示模块电路设计 温度报警电路设计 温度报警分低温报警和低温报警。 实现报警的方法有很多种。 本设计采用常见的蜂鸣器发声报警和 LED 闪烁报警的方式。 视觉和听觉上的双重提醒效果更佳。 具体电路设计如图 所示。 详细的元件接线说明如下: (1)本设计中, PNP 三极管采用的型号是 S8550; (2) PNP 三极管的 e 极管脚连接电源; (3) PNP 三极管的 b 极管脚串联一个 2kΩ电阻连接单片机的 口; (4) PNP 三极管的 c 极管脚 与 蜂鸣器的第 1 管脚 相连 ; (5)蜂鸣器的第 2 管脚接地; (6)LED 灯 与蜂鸣器并联。 图 系统温度报警电路设计 基于 DS18B20 的温度场可视化测绘系统 14 系统硬件电路设计 由 DS18B STC89C52RC 单片机以及 LCD1602 液晶显示屏等外围器件组成的多点温度测量系统电路 如图 所示。 通过采用 8 支 DS18B20 来模拟构成一个小型的温度场测绘系统。 温度传感器 DS18B20 获得温度信息后, 通过并行通讯方式与 STC89C51单片机进行数据传 输。 单片机 将处理后的温度信息通过 LCD1602 显示出来,如果 所测量的 温 不在 定值范围 内 ,蜂鸣器 就 会发出声响, 同时 LED 灯也会闪烁起来 进行报警。 图 系统的硬件电路设计 小结 本章 主要 介绍了系统硬件 的 设计方法, 介绍了各模块的连接方式。 重点讨论了DS18B20 传感器 在多点测温时与单片机的接法。 根据外围模块的电路连接设计出系统的电路图,这些电路图是做出实物电路板和软件编写并成功运行的基础。 基于 DS18B20 的温度场可视化测绘系统 15 第 4 章 软件程序设计 本章 主要讨论显示、测量、报警子程序 及系统程序 的 设计和 调试。 DS18B20 的测量温度程序 设计 根据前面 DS18B20 与单片机的连接方式、 工作原理 、 及工作时序的介绍,编写DS18B20 的温度测量 程序。 初始化子程序设计 DS18B20 初始化程序流程如图 : 图 DS18B20 初始化程序流程图 DS18B20 复位及初始化程序: void dsreset(void) //给 DS18B20 发送初始化及复位信号 { uint i。 //DS18B20 初始化 DS=0。 i=103。 while(i0)i。 DS=1。 i=4。 while(i0)i。 } 读温度子程序 读温度数据子程序的主要功能是从 DS18B20 中读出温度数据,然后移入温度暂存器保存。 其程序流程如图 : 基于 DS18B20 的温度场可视化测绘系统 16 图 温度子程序流程图 读取 DS18B20 寄存器中存储的温度数据 需要 通过调用 DS18B20 初始化程序、延时子程序、写一个字节程序 等 编写完成 : uint tmp() //读取 DS18B20 寄存器中存储的温度数据 { float tt。 uchar a,b。 dsreset()。 delayms(2)。 tmpwritebyte(0xcc)。 tmpwritebyte(0xbe)。 //发送读取数据命令 a=tmpread()。 //连续读两个字节数据,读取低 8 位 b=tmpread()。 //读取高 8 位 temp=b。 temp=8。 //两字节合成一个整型变量。 temp=temp|a。 tt=temp*。 //得到真实十进制温度值, DS18B20 在寄存器中 //默认是 12 位,可以精确到 度, //所以读回数据的最低位代表的是 度。 temp=tt*10+。 //放大十倍,这样做的目的将小数点后第一位 //也转换为可显示数字,同时进行一个四舍五入操作。 return temp。 //返回温度值 } 基于 DS18B20 的温度场可视化测绘系统 17 LCD1602 的显示程序 设计 根据 LCD1602 的指令说明 、 工作时序及 其 DDRAM 地址和屏幕的对应关系 ,以及与单片机端口的连线关系 ,编写 显 示功能 的软件程序。 显示流程如图 : 图 温度显示子程序设计流程 下面 是 LCD1602 的初始化(复位)过程: 用 LCD1602 显示之前都要对其进行初始化处理 ,否则模块是无法正常显示的。 LCD1602 的一般初始化方法是通过利用内部的复位电路进行。 下面是初始化过程需要用到的指令。 (1)清屏( DISPLAY CLEAR); (2)功能设置( FUNCTION SET) DL=1:8Bin 接口数据 N=0:1 行显示; F=0:57dot 字形; (3)显示开 /关控制( Display ON/OFF Conrtol) D=0:显示关; C=0:光标关; B=0:消隐关 (4)输入方式设置( ENTRY MODE SET) I/D=1:(增量); S=0:无移位。 根据以上 信息 , LCD1602 的 部分 显示程序 如下: (1)LCD1602 初始化程序: void init_lcd()//液晶初始化 { 基于 DS18B20 的温度场可视化测绘系统 18 write_(0x01)。 //清屏 write_(0x38)。 //设置 16*2 显示, 5*7 点阵 write_(0x0c)。 //开显示,不显示光标 write_(0x06)。 //光标左移 } (2)LCD1602 写命令子程序: void write_(unsigned char )//写命令 { rs=0。 wr=0。 P0=。 lcden=0。 delayms(10)。 lcden=1。 delayms(10)。 lcden=0。 } (3)LCD1602 的写数据子程序: void w。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。