《基于单片机的数字温度计讲解》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计讲解(27页珍藏版)》请在金锄头文库上搜索。
1、单片机原理与应用术课程设计基于单片机的数字温度计设计院 系 :机电工程学院专业(班级):电子信息工1班姓 名:谢冰芬学 号:20124081043指导教师:邵海龙、陈滨职 称:完成日期: 2014 年 10 月 20 日摘要本文提出了基于MCS-51系列单片机的数字温度计的制作电路和编程思想。该数字温度计以ATMEL公司的AT89S52 单片机为主控,配以达拉斯公司的DS18B20数字温度传感器,采用四位数码管显示。实现了对温度的测量和显示。关键词: STC89C52单片机;数字传感器DS18B20;数码显示;AbstractIs proposed in this paper, based o
2、n digital thermometer of MCS - 51 series microcontroller circuit and programming ideas. The digital thermometer taking ATMEL companys AT89S52 single chip microcomputer as the master, with Dallas DS18B20 digital temperature sensor, using four digital tube display. Implementation of the temperature me
3、asurement and display.Key words: STC89C52 singlechip; Digital sensor DS18B20. Digital display;目录第一章设计要求与总体框图1.1设计要求1.2总体框图第二章电路设计方案及设计原理2.1显示系统的方案比较 2.1.1方案1数码管显示 2.1.2方案2液晶显示2.2 温度传感器模块的方案比较2.2.1 方案1模拟温度传感器测温2.2.2 方案2数字温度传感器2.3单片机系统的方案比较 2.3.1 方案1 2.3.2 方案2第三章软件设计3.1显示模块的实现方法3.2单片机系统的实现方法3.3 温度模块的实
4、现方法第四章 制作及性能测试与分析 4.1 制作过程4.2 测试环境与测试条件4.3测试结果心得体会第一章设计要求与总体框图1.1设计要求(1)数字温度计.(2)采集测温范围为-50+110 .(3)温度精度在0.1 ;误差0.2以内.(4)显示模块,采用4个LED数码管显示.1.2总体框图第二章电路设计方案及设计原理2.1显示系统的方案比较2.1.1方案1:采用数码管动态显示使用七段LED数码管,采用动态显示的方法来显示各项指标,此方法价格成本低,显示效果好,功耗较大。2.1.2方案2:采用LCD液晶显示采用1602 LCD液晶显示,此方案显示内容相对丰富,单价格过高。综合上述原因,采用方案
5、1,使用数码管作显示电路。本设计采用共阴极数码管共阴极数码管是一类数字形式的显示屏,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单、在电器,特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 共阴极结构:LED显示器有共阴极和共阳极两种结构,下面只介绍共阴极结构。见图3,在共阴极结构中,各段发光二极管的阴极连在一起,将此公共点接地,某一段发光二极管的阴极为高电平时,该段发光。共阴极字段码:LED显示09某个字符时,则要求在adp送固定的字段码,
6、如要使LED显示“0”,则要求a、b、c、d、f各引脚为高电平,g和dp为低电平,字段码为“3fh” 。dp g f e d c b a0 0 1 1 1 1 1 1 3fh共阴极字符09七段码如下:字符: 0 1 2 3 4 5 6 7 8 9字段码:3fh 06h 5bh 4fh 66h 6dh 7dh 07h 7fh 6fh2.2温度传感器模块的方案比较2.2.1 方案1:采用模拟温度传感器测温由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种
7、设计需要用到A/D转换电路,感温电路比较麻烦。2.2.2 方案2采用数字温度传感器进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。综合考虑,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。温度传感器DS18B20引脚如图3-4所示。图3-3 DS18B2
8、0TO92封装温度传感器引脚功能说明:VDD :可选电源脚,电源电压范围35.5V。当工作于寄生电源时,此引脚必须接地。DQ :数据输入/输出脚。漏极开路,常态下高电平。GND :为电源地图3-4 DS18B20内部结构图DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
9、光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输
10、出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。 该字节各位的意义如下:TM R1 R0 1 1 1 1 1低五位
11、一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表1所示:(DS18B20出厂时被设置为12位)表3-3 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间00993.750110187.510113751112750根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,
12、然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。3.3.2 温度传感器与单片机的连接温度传感器的单总线(1-Wire)与单片机的P1.7连接,。下图为DSl8b20与单片机的接口电路。 2.3单片机系统的方案比较 2.3.1 方案1 8052采用8051外接程序存储器,电路复杂,且芯片已经停产。 2.3.2 方案2 AT89S52采用AT89S52自带程序存储器。综合上述原因,采用方案2,使用AT89S52作为主芯片。下图为最小系统 包括震荡电路和复位电路。AT89S52特点图3.2.1-1 单片机AT89S521、主要
13、性能: (1) 8031 CPU与MCS-51 兼容 8K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-33MHz 三级加密程序存储器 256*8位内部RAM 32条可编程I/O线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗的闲置和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 片内振荡器和时钟电路 (2) 管脚说明: VCC:供电电压。 GND:接地。2、AT89S52的功能特性描述AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶