基于DS18B20的数字温度计设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于DS18B20的数字温度计设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。2.培养学生综合分析问题、发现问题和解决问题的能力。3.培养学生综合运用知识的能力和工程设计的能力。4.培养学生理论联系实际的能力。5.提高学生课程设计报告撰写水平。二、设计内容、技术条件和要求1设计内容数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。方案一:使用按钮控制温度的采集与显示。方案二:使用定时控制温度的采集与显示,时间间隔1S。2设计要求设计单片机最小系统(包括复位按钮、晶振电路等);DS18B20应用电路设计。按键电路设计。可使用实验室的实验箱实物实现,也可使用仿真软件Proteus实现。绘制实现本设计内容的硬件电路(原理图),系统的组成框图。编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。三、总体设计思想本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由5个模块组成:主控器[4]、测温电路,报警电路,按键电路及显示电路。系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以AT89S51为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由LM1602液晶显示屏显示出来。图3-1数字温度计设计总体的原理图四、硬件设计1、硬件设计图见附件。2、单片机复位电路工作原理及设计。硬件图如下单片机AT89S51主控部分DS18B20采集温度LED显示温度值复位按键电路外部晶振电路中断电路图一原理是通过使复位端经电阻与Vcc电源接通而产生按键复位电平,保证复位信号高电平持续时间大于2个机器周期。3、单片机晶振电路工作原理及设计硬件图如下图二晶振电路是提供系统时钟信号。为了各部分的同步应当引入公用的外部脉冲信号作为振荡脉冲。电容选择在10~30pF之间,因为电容的大小影响振荡器振荡的稳定性和起振的速度。4、按键电路将按键的一段与单片机I/O口链接,一段与地链接,当按键按下时可以由单片机内的程序检测到。按键采用普通的按钮按键。图三5、LED数码管或LM1602显示屏的设计及应用。1、硬件接线图如下图四2、LM1602L采用标准的16脚接口分布如下LCD1602模块的管脚分布功能管脚号管脚名称状态管脚功能1Vss电源地2Vdd电源正极3V0液晶显示偏压信号4RS输入寄存器选着5RW输入读、写操作6E输入使能信号7DB0三态数据总线0(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LEDA输入背光+5V16LEDK输入背光地3、指令1)Cleardisplay清显示指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001清显示指令将空位字符码20H送入全部DDRAM地址中,使DDRAM中的内容全部清除,显示消失;地址计数器AC=0,自动增1模式;显示归位,光标或者闪烁回到原点(显示屏左上角);但并不改变移位设置模式。2)Returnhome归位指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000001*归位指令置地址计数器AC=0;将光标及光标所在位的字符回原点;但DDRAM中的内容并不改变。3)Entrymodeset设置输入模式指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DSI/D:字符码写入或者读出DDRAM后DDRAM地址指针AC变化方向标志:I/D=1,完成一个字符码传送后,光标右移,AC自动加1;I/D=0,完成一个字符码传送后,光标左移,AC自动减1;S:显示移位标志:S=1,将全部显示向右(I/D=0)或者向左(I/D=1)移位;S=0,显示不发生移位;S=1时,显示移位时,光标似乎并不移位;此外,读DDRAM操作以及对CGRAM的访问,不发生显示移位。4)Displayon/offcontrol显示开/关控制指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCBD:显示开/关控制标志:D=1,开显示;D=0,关显示;关显示后,显示数据仍保持在DDRAM中,立即开显示可以再现;C:光标显示控制标志:C=1,光标显示;C=0,光标不显示;不显示光标并不影响模块其它显示功能;显示5X8点阵字符时,光标在第八行显示,显示5X10点阵字符时,光标在第十一行显示;B:闪烁显示控制标志:B=1,光标所指位置上,交替显示全黑点阵和显示字符,产生闪烁效果,Fosc=250kHz时,闪烁频率为0.4ms左右;通过设置,光标可以与其所指位置的字符一起闪烁。5)Cursorordisplayshift光标或显示移位指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/L**光标或显示移位指令可使光标或显示在没有读写显示数据的情况下,向左或向右移动;运用此指令可以实现显示的查找或替换;在双行显示方式下,第一行和第二行会同时移位;当移位越过第一行第四十位时,光标会从第一行跳到第二行,但显示数据只在本行内水平移位,第二行的显示决不会移进第一行;倘若仅执行移位操作,地址计数器AC的内容不会发生改变。S/CR/L说明00光标向左移动,AC自动减101光标向右移动,AC自动加110光标和显示一起向左移动,AC值不变11光标和显示一起向右移动,AC值不变6)Functionset功能设置指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF**功能设置指令设置模块数据接口宽度和LCD显示屏显示方式,即MPU与模块接口数据总线为4位或者是8位、LCD显示行数和显示字符点阵规格;所以建议用户最好在执行其它指令设置(读忙标志指令除外)之前,在程序的开始,进行功能设置指令的执行;DL:数据接口宽度标志:DL=1,8位数据总线DB7~DB0;DL=0,4位数据总线DB7~DB4,DB3~DB0不用,使用此方式传送数据,需分两次进行;N:显示行数标志:N=1,两行显示模式;N=0,单行显示模式;F:显示字符点阵字体标志:F=1:5X10点阵+光标显示模式;F=0:5X7点阵+光标显示模式。7)SetCGRAMaddressCGRAM地址设置指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB00001ACG5ACG4ACG3ACG2ACG1ACG0CGRAM地址设置指令设置CGRAM地址指针,它将CGRAM存储用户自定义显示字符的字模数据的首地址ACG5~ACG0送入AC中,于是用户自定义字符字模就可以写入CGRAM中或者从CGRAM中读出。8)SetDDRAMaddressDDRAM地址设置指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001ADD6ADD5ADD4ADD3ADD2ADD1ADD0DDRAM地址设置指令设置DDRAM地址指针,它将DDRAM存储显示字符的字符码的首地址ADD6~ADD0送入AC中,于是显示字符的字符码就可以写入DDRAM中或者从DDRAM中读出;值得一提的是:在LCD显示屏一行显示方式下,DDRAM的地址范围为:00H~4FH;两行显示方式下,DDRAM的地址范围为:第一行00H~27H,第二行40H~67H。9)Readbusyflagandaddress读忙标志BF和AC指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BFAC6AC5AC4AC3AC2AC1AC0当RS=0和R/W=1时,在E信号高电平的作用下,BF和AC6~AC0被读到数据总线DB7~DB0的相应位;BF:内部操作忙标志,BF=1,表示模块正在进行内部操作,此时模块不接收任何外部指令和数据,直到BF=0为止;AC6~AC0:地址计数器AC内的当前内容,由于地址计数器AC被CGROM、CGRAM和DDRAM的公用指针,因此当前AC内容所指区域由前一条指令操作区域决定;同时,只有BF=0时,送到DB7~DB0的数据AC6~AC0才有效。10)WritedatatoCGRAMorDDRAM写数据到CGRAM或DDRAM指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB010D7D6D5D4D3D2D1D0写数据到CGRAM或DDRAM指令,是将用户自定义字符的字模数据写到已经设置好的CGRAM的地址中,或者是将欲显示字符的字符码写到DDRAM中;欲写入的数据D7~D0首先暂存在DR中,再由模块的内部操作自动写入地址指针所指定的CGRAM单元或者DDRAM单元中。11)ReaddatafromCGRAMorDDRAM从CGRAM或DDRAM中读数据指令码:RSR/WDB7DB6DB5DB4DB3DB2DB1DB011D7D6D5D4D3D2D1D0从CGRAM或DDRAM中读数据指令,是从地址计数器AC指定的CGRAM或者DDRAM单元中,读出数据D7~D0;读出的数据D7~D0暂存在DR中,再由模块的内部操作送到数据总线DB7~DB0上;需要注意的是,在读数据之前,应先通过地址计数器AC正确指定读取单元的地址。6、DS18B20温度传感器1、DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;实际应用中不需要外部任何元器件即可实现测温;可通过数据线供电,电压范围为3.0~5.5V;在DS18B20中的每个器件上都有独一无二的序列号;温度以9或12位数字量读出;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能工作。2、工作原理如下DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。3、内部构造如下4、硬件接线图如下7、AT89S51单片机引脚资源、引脚分配。1、单片机组要参数40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。如下图所示:I/OC64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd简单介绍如下:1、电源:⑴VCC-芯片电源,接+5V;⑵VSS-接地端;2、时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。3、控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功