基于51单片机的数字温度计设计--本科毕业设计论文.doc
《基于51单片机的数字温度计设计--本科毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字温度计设计--本科毕业设计论文.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于51单片机的数字温度计设计摘要 随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作的温度检测和显示系统应用于诸多领域。这里设计的数字温度计采用DS18B20为传感器,选用AT89C51型单片机作为主控制器件,通过4位一体共阳极的数码管进行温度显示。与热敏电阻为温度敏感元件的温度计相比,该数字温度计具有读数方便,测温范围广,测温精确等特点。另外,还在该温度计中加入了秒表计时的功能,能够实现“分,秒”的计时显示,并且,两种功能能够用按键实现切换。关键词:AT89C51;DS18B20传感器;温度;秒表Abstract:With the development of modern i
2、nformation technology and the progressive of the traditional industrial transformation. Using DS18B20 as the sensor of the digital thermometer , AT89C51 microcontroller as the main control device,and the four digital tube are used to display. Compared with the thermometer thermistor for temperature
3、sensitive element,the digital thermometer have many advantages,for example,its can get temperature more convenient, wider,and more accurate.In adition,The digital thermometer also as a stopwatch,according to the minutes and seconds.And with the pressing of the keys,we can choose the different functi
4、ons of the digital thermometer.Key words: AT89C51;DS18B20;the temperature;stopwatch目 录1 系统硬件设计方案11.1 单片机选择11.2 温度传感器介绍21.3 温度传感器与单片机的连接41.4 复位电路51.5 时钟电路51.6 按键电路51.7 显示电路51.8 电源电路和系统供电52 软件设计52.1 DS18B20测温52.1.1 DS18B20复位52.1.2 DS18B20读写逻辑0与152.1.3单片机访问DS18B2052.1.4 DS18B20程序设计52.2 秒表程序设计52.3 按键功能5
5、3 系统测试53.1 测试方案53.2 测试条件与仪器53.3 测试结果及分析54 系统特色55 心得和体会56 参考文献5附录1:电路原理图5附录2:实物图5附录3:仿真测试图5附录4:源程序534数字温度计设计1 系统硬件设计方案作品主要利用AT89C51单片机、DS18B20数字温度传感器而设计的数字温度计,实现对空气温度的测量。图1 系统原理结构框图如图1所示,该温度计通过ds18b20数字传感器进行采集,将数据传送给单片机,程序通过按键对单片机进行操作,然后再数码管上显示。1.1 单片机选择AT89C51作为温度测试系统设计的核心器件。该器件是INTEL公司生产的MCS一5l系列单片
6、机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS51的CMOS产品。不仅结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,而且继承和扩展了MCS48单片机的体系结构和指令系统。单片机小系统的电路图如图2所示。图2 单片机小系统电路AT89C51单片机的主要特性:(1)与MCS-51 兼容,4K字节可编程闪烁存储器;(2)灵活的在线系统编程,掉电标识和快速编程特性;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0Hz-33Hz;(5)三级程序存储器锁定;(6)128*8位内部RAM,32可编程I/O线;(7)两
7、个16位定时器/计数器,6个中断源;(8)全双工串行UART通道,低功耗的闲置和掉电模式;(9)看门狗(WDT)及双数据指针;(9)片内振荡器和时钟电路;1.2 温度传感器介绍 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。温度传感器DS18B20引脚如图3所示。 8引脚封装 TO92封装图3 温度传感器引脚功能说明: NC :空引脚,悬空不使用; VDD :可选电源脚,电源电压范围35.5V。当工作于寄生电源时,此引脚必须接地。 DQ :数据输入/输出脚。漏极开路,常态下
8、高电平。 GND :为电源地DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器(如图4)。图4 DS18B20内部结构图光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 DS18B20中的温度传感器可完成对温度的测量
9、,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。图5 温度寄存器格式第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。 该字节各位的意义如下
10、:TM R1 R0 1 1 1 1 1低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表1所示:(DS18B20出厂时被设置为12位) 表1 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间00993.750110187.510113751112750根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作
11、。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。1.3 温度传感器与单片机的连接温度传感器的单总线(数据线DQ)与单片机的/P3.3口连接(如图5)。图6 DS18B20和单片机的接口连接程序设计时通过P3.3口对DS18B20进行操作,实现初始化和温度读取等功能。1.4 复位电路MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作后,只要在它的RESET引线上加载10ms以上的高电平,单片机就能有效地复位。上电复位:上电复位电路是种简单的复位电路,只要在RST复位
12、引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。图7 复位电路1.5 时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。设计采用的是内部时钟方式。
13、图8 时钟电路1.6 按键电路按键的开关状态通过一定的电路转换为高、低电平状态。当按键按下时,在单片机的相应I/O口产生负脉冲,闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动;消抖一般是通过在程序中给一定的延时再检测信号。本设计中采用的是独立式按键,每个按键的工作状态不会产生互相影响,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,这样只需要对单片机单个I/O口进行操作就能实现按键功能(如图9)。图9 按
14、键电路1.7 显示电路LED数码管使用发光二极管构成显示字型,LED数码管连接方式分类:共阴极数码管和共阳极数码管(如图10)。共阴极数码管:将数码管阴极接地,相应段上的阳极接正电压。共阳极数码管:将数码管阳极接地,相应段上的阴极接正电压。图10 共阴和共阳数码管根据数码管连接方式的不同,在应用中,要实现数字显示,则需要用不同的编码,从低到高位为:a b c d e f g h。如:数字“5”,需要相应二极管亮的是:a f g c d;共阳极编码为:10010010(0x92),共阴极则正好相反。表2 09共阳极数码管编码(不含小数点)需要显示数字编码需要显示数字编码0c0H(1100 000
15、0)592H(1001 0010)1f9H(1111 1001)682H(1000 0010)2a4H(1010 0100)7f8H(1111 1000)3b0H(1011 0000)880H(1000 0000)499H(1001 1001)990H(1001 0000)同理可得09共阳极数码管编码(含小数点):40H,79H,24H,30H,19H,12H,02H,78H,00H,10H本设计中采用的是4位一体的数码管(图11),与单个数码管相比,有4个位选线A1,A2,A3,A4,通过接高电平实现对每一位的操作,数据线的原理则与单个数码管一样。图11 四位一体数码管引脚图如图12,数码管
16、上拉电阻采用共阳极方式,以单片机P2口为位选信号,由于直接使用单片机I/O口不足以驱动数码管,因此在显示电路上加入了三级管驱动,采用的是s9012三极管,s9012是PNP型的三级管,基极通过1k电阻接单片机的P2口,发射极接正电压,集电极接数码管位选信号;由于是PNP型三级管,只有当单片机P2口为低时,数码管的相应的位选才选中。图12 显示电路图1.8 电源电路和系统供电由于该系统需要稳定的5 V电源,因此必须采用能满足电压、电流和稳定性要求的电源。设计采用外部的5V电源供电,在电源两端并连上了两个电容(如图13)。图13 电源电路图设计中外部供电采用的是Mini-usb(B型)接口,由于并
17、没有用到数据的传输,只是单纯供电,所以设计中只用到了Pin 1(V Bus)和Pin 5(GND)。图14 mini-usb引脚图对系统供电的设计,可采用以下方法:直流稳压电源,单片机开发板,手机电池,迷你USB接口;其中利用迷你USB接口供电可以通过手机充电器、电脑USB接口等,可以让温度计在使用起来更方便,这也是本设计中的特点之一。2 软件设计2.1 DS18B20测温2.1.1 DS18B20复位图15 DS18B20复位时序DS18B20复位时序:1单片机拉低总线480950us,然后释放总线(拉高电平);2DS18B20会拉低电平60240us表示应答;3DS18B20拉低电平的60
18、240us之间,单片机读取总线电平,为低则复位成功,为高则复位失败;4DS18B20拉低电平60240us之后,会释放总线。2.1.2 DS18B20读写逻辑0与1图16 DS18B20写逻辑0与1DS18B20写逻辑0与1时序:1 单片机拉低电平约1015us;2 单片机持续拉低“0”(高“1”)电平约2045us;3 释放总线。图17 DS18B20读逻辑0与1DS18B20读逻辑0与1时序:1 读取时单片机拉低总线1us;2 单片机释放总线,读取总线电平;3 DS18B20会拉低“0”(高“1”)电平;4 读取电平后延时4045us。2.1.3单片机访问DS18B20DS18B20充当从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 数字 温度计 设计 本科 毕业设计 论文
限制150内