基于单片机的多点温度检测系统毕业设计论文

发布时间 : 星期日 文章基于单片机的多点温度检测系统毕业设计论文更新完毕开始阅读

MSB DS18B20配置寄存器结构图 LSB

图(4)

其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。

配置寄存器与分辨率关系表 : R0 0 0 1 1 R1 0 1 0 1 温度计分辨率bit 9 10 11 12 最大转换时间us 93.75 187.5 375 750 图(5) (2) 高速暂存存储器

高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。 温度低位 温度高位 TH TL 配置 保留 保留 保留 MSB

8位CRC LSB DS18B20 存储器映像图

图(6)

(3) DS18B20的测温功能及原理 温度值格式图DS18B20 温度数据表:

23 MSB S S S S 图(7)

典型对应的温度值表:

22 21 20 S 26 25 2-1 2-2 2-3 2-4 LSB 24 5 温度℃ +125 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.0625 -55 二进制表示 十六进制表示 07D0H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H 图(8)典型对应的温度值表 (4)DS18B20温度传感器与单片机的连接

GNDC122pFC222pFU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617+5VX11812MHz9RSTXTAL2C3GND20uF1kR1293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51

图(9)单片机最小系统

LCD显示屏电路:

6 LCD1LM016L+5VVSSVDDVEERSRWE4561237891011121314D0D1D2D3D4D5D6D7RP1+5V12345678910K 图(10)LCD显示屏电路

(5)具体总体电路图如下:

LCD1LM016L+5VVSSVDDVEERSRWE4561237891011121314D0D1D2D3D4D5D6D7RP1GNDC122pFC222pFU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617+5V12345678910K+5VX11812MHz9RSTXTAL2C3GND20uF1kR1293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51FIRST321VCCDQGNDDS18B2030.8SECOND321VCCDQGNDDS18B2017.2 图(11)总体硬件图

四、软件设计

1、主程序方案

主程序调用了4个子程序和一个欢迎开机画面的程序,4个子程序分别是液晶初始化、

7 DS18B201的初始化、DS18B202的初始化、和液晶显示数据的程序。

(1) 液晶初始化程序:8位数据端口,2行显示,5*7点阵、开启显示, 无光标、清屏、AC

递增, 画面不动。

(2) 分别对两个DS18B20温度传感器初始化程序:初始化,读写一个字节, (3) 液晶显示的子程序:确定液晶字符的输入位置,将字符输出到液晶显示

(4) 液晶显示温度程序:先读DS18B20当前温度,将温度转化成液晶字符显示。

将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。 2、流程图

主程序流程图:

图(11)主程序流程图

图(12)液晶初始化流程图

图(13)DS13B20的读取数据流程图

图(14)液晶显示流程图

五、调试仿真

开机画面:

LCD1LM016L+5VVSSVDDVEERSRWE4561237891011121314D0D1D2D3D4D5D6D7RP1GNDC122pFC222pFU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617+5V12345678910K+5VX11812MHz9RSTXTAL2C3GND20uF1kR1293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51FIRST321VCCDQGNDDS18B2030.8SECOND321VCCDQGNDDS18B2017.2 图(15)开机画面

保持两秒后显示第一个温度:

8

联系合同范文客服:xxxxx#qq.com(#替换为@)