基于单片机的数字式温度计

上传人:飞*** 文档编号:43004006 上传时间:2018-06-04 格式:DOC 页数:5 大小:73.50KB
返回 下载 相关 举报
基于单片机的数字式温度计_第1页
第1页 / 共5页
基于单片机的数字式温度计_第2页
第2页 / 共5页
基于单片机的数字式温度计_第3页
第3页 / 共5页
基于单片机的数字式温度计_第4页
第4页 / 共5页
基于单片机的数字式温度计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于单片机的数字式温度计》由会员分享,可在线阅读,更多相关《基于单片机的数字式温度计(5页珍藏版)》请在金锄头文库上搜索。

1、基于基于单单片机的数字式温度片机的数字式温度计计1 课题名称基于单片机的数字式温度计2 课题的设计要求本课题适于已经系统的学习完单片机基础原理的同志。通过本设计要求设计人员掌握单片机开发的基础知识。能够独立完成一个简单项目的设计。在日常生活中,自动化控制系统经常需要采集一些如压力、温度、流量和速度等物理量,同时通过对这些参数的分析而进行相应的控制。本节就简要的介绍一个基于单片机控制的数字温度计的设计。本设计的基本要求如下:(1)温度计的测温范围 10150。(2)精度误差1(3)LED 数码直读显示。利用 P1 口做为数码管显示的段码(既字型码输出口),利用 P3 口数码管显示的位码(既字型位

2、选输出口)。3 系统的硬件设计(1)温度传感器的选择及设计热敏电阻是近年来发展起来的一种新型半导体感温元件。由于它具有灵敏度高、体积小、重量轻、热惯性小、使用寿命长以及价格便宜等优点,因此应用非常广泛。故本设计首选热敏电阻做为温度采集器件。下面简要介绍一下其工作原理。图 3-2 热敏电阻特性曲线热敏电阻和普通电阻不同,其具有负的电阻温度特性,当温度升高时,其电阻值减小。其特性曲线如图 3-2 所示。热敏电阻的阻值和温度特性曲线是一条指数曲线,非线性度较大,因此在使用时要进行线性化处理。线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。为此常在要求不高的一般应用中,做出在一定温度范围内温度与阻

3、值成线性关系的假定,以简化计算。热敏电阻的应用是为了感知温度,为此给热敏电阻通一恒定的电流,通过测量该电阻两端的电压,就可以通过下面的公式求得温度:T=T0KVT其中 T 被测温度T0 与热敏电阻特性有关的温度参数K 与热敏电阻特性有关的系数VT 热敏电阻两端的电压根据这一公式,如果测得热敏电阻两端的电压,再知道参数 T0和系数 K,则可计算出热敏电阻的环境温度,也就是被测的温度。这样就把电阻随温度的变化关系转化为电压随温度变化的关系了。数字式电阻温度计设计工作的主要内容就是把热敏电阻两端的电压值经 A/D(模拟量转化为数字量)转换为数字量,然后通过软件方法计算得到温度值,再进行显示等处理。(

4、2)A/D 器件的选择及设计根据设计需要选用 ADC0809 做为本系统的 A/D 器件。ADC0809 是 CMOS工艺、采用逐次逼近法的 8 位 A/D 转换芯片,28 引脚 DIP(双列直插式封装)封装,可以进行 8 路模拟量到数字量的变换。热敏电阻 RT 串上一个普通电阻 R 再接到电源+5V,取 RT 两端的电压(既是 VT)经 INT0 送 ADC0809 转换。转换启动信号(START)和地址锁存信号(ALE)连接在一起,由 WR 信号控制地址写入,进行通道的选择。转换后的数据以定时传送方式送到 AT89S51,所以这里要运行一个 100s 的延时子程序,以等待 A/D 转换完成

5、后进行数据的读操作,为此口地址和 RD 信号相与后送 OE。当RD 有效时,转换数据送上数据总线,由 AT89S51 接收。具体 A/D 转换电路如图3-3 所示图 3-3 A/D 转换电气原理图(3)显示电路的设计由于本设计的温度测温范围为 10150,精度误差不大于 1。所以温度显示采用三位数码管来实现,同时采用并口方式控制显示。具体电路如图 3-4 所示。图 3-4 并口显示电气原理图(4)系统总器件清单(加上单片机最小系统的基本电路,如表 3-2 所示)表 3-2 器件清单元器件编号规格数量元器件编号规格数量R11/4W、2001 个VT1VT3S85503 个 R2 1/4W、1K1

6、 个LED1LED3共阳数码管3 个R3R101/4W、2402 个IC1 AT89S51一块R11R131/4W、4.7K1 个IC2 74LS245一块R1/4W、3.3K1 个IC374LS373一块RT小型热敏电阻1 个IC474LS02一块C1、C230PF(瓷片)2 个IC5ADC0809一块C3 22F(电解)1 个SB小按钮开关1 个JZ12MHZ1 个4 软件的设计(主要子程序设计)(1)温度计算程序设计在温度计算公式中,系数 K 是一个很小的数,为了计算方便,取扩大 256倍后的 K 值与 VT做乘法运算,既 256KVT。相乘后如果对乘积只取高 8 位而舍弃其低 8 位,

7、就可以抵消 K 的 256 倍的扩大,得到正确的结果。设定 3 位数码管显示缓冲区的存储单元为片内 RAM 30H32H(分别对应数码管 LED1、LED2和 LED3)。输入的 A/D 转换电压(VT)在累加器 A 中,扩大 256 倍的 K 值为XXH,T0值为 YYH。具体温度计算子程序清单如下:WENDU: MOV B,#XXH ;扩大 256 倍的 K 值送 BMUL AB ;256KVTMOV A, #YYH ;T0值送 A,舍弃乘积低 8 位CLR CY;清进位位SUBB A, B CJNE A, #0AH, WENDU1 ;T0-KVTWENDU1:JNC WENDU 3 ;温

8、度高于 10转移CJNE A, #96H, WENDU2WENDU2:JC WENDU3 ;温度低于 150转移MOV 30H, #88H ;超出有效温度范围显示 AMOV 31H, #88H MOV 32H, #88HACALL DISP ;调用显示子程序WENDU3:RET(2)温度值转换为十进制数程序设计(16 进制转换为十进制)计算得到的温度值放在 A 中,但以 16 进制数的形式存在,为 LED 显示的需要应转换为 10 进制数。由于有效温度不超过 150,所以温度显示用三位数码管,具体子程序清单如下:MOV R1,#00H MOV R2,#00H CLR C CANN: SUBB

9、A, #64H ;减 100JC CHAN1 ;不够减,转INC R1 ;够减,有效位置 1AJMP CHAN2 CHAN1:ADD A, #64H ;恢复系数 CHAN2:SUBB A, #0AH ;减 10JC CHAN3 ;不够减,转INC R2 ; 够减,十位数加 1AJMP CHAN2 ;重复减 10CHAN3:ADD A, #0AH ;还原个位数RET(3)显示子程序设计设计中设定 P1 口为 3 位数码管的字型码的输出端,P3.03.2 为 3 位数码管(LED1、LED2 和 LED3)各位对应的位选控制端。具体的显示子程序清单如下:DISP: MOV A,30H ;点亮 LE

10、D1 MOV DATR,#TABLE MOVC A,A+DPTR MOV P1,A; SETB P3.0ACALL DELAY ;调用延时 1ms 子程序MOV A,31H ;点亮 LED2 MOV DATR,#TABLE MOVC A,A+DPTR MOV P1,A; SETB P3.1ACALL DELAY ;调用延时 1ms 子程序MOV A,32H ;点亮 LED3 MOV DATR,#TABLE MOVC A,A+DPTRMOV P1,A; SETB P3.2ACALL DELAY ;调用延时 1ms 子程序RETTABLE:DB C0H,F9H,A4H,B0H,99H;(共阳数码管“0 A”的字型码)DB 92H,82H,F8H,80H,90H,88H (4)主程序(略)5 硬件装配和调试(略)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号