简易温度测控系统设计
【摘要】
现代社会科学技术的发展可以说是突飞猛进,很多传统的东西都被成本更
低、功能更多、使用更方便的电子产品所替代,尤其是单片机等集成电路的发展
使很多电子产品都能比较容易的实现数字化智能化控制。本课程设计是一个以
80C51 单片机为核心温度传感器采用 LM35 的环境温度简易测控系统,用于替代
传统的低精度、不易读数的温度计。本系统采用三位数码显示,直观方便。显示
精度为 1℃,可检测温度范围 0~150℃,完全能够满足生活以及普通生产中环境
温度的测控需求,并且拥有响应速度快、省电等优点。但是本系统采用 ADC0809
单路转换,抗干扰能力稍弱。但系统预留了足够的扩展空间,并提供了简单的扩
展方式供参考,实际使用中可根据需要改成多路转换,既可以增加湿度等测控对
象,也能减少外界因素对系统的干扰。
【关键字】
单片机;LM35;数码管
目 录
第 1 章 硬件设计....................................................3
1.1 系统的实现方案..............................................3
1.2 硬件原理....................................................3
1.2.1 工作原理..............................................3
1.2.2 单元电路..............................................4
第 2 章 软件设计....................................................9
2.1 软件流程....................................................9
2.2 软件程序....................................................9
第 3 章 调试.......................................................13
3.1 调试电路...................................................13
3.2 调试过程...................................................13
3.2.1 硬件调试.............................................13
3.2.2 软件调试.............................................14
第 4 章 改进措施及结论.............................................15
4.1 改进方案...................................................15
4.2 结论说明...................................................15
参考文献...........................................................16
2
第 1 章 硬件设计
1.1 系统的实现方案
本设计系统由温度传感器电路、信号放大电路、A/ D 转换电路、单片机系
统、显示电路构成,框图如图 1.1 所示。其实现方式是: ADC0809 转换来自 0
通道的经过放大的传感器输出信号。80C51 的 P0 口与 ADC0809 的输出相连用于
读取转换结果,同时 P2.0~P2.6 作为控制总线,向 ADC0809 发送锁存、启动等
控制信息,并查询 EOC 状态。ALE 经分频后给 ADC0809 提供时钟信号。P1 口用于
向显示电路输出段码,P3.5~P3.7 用于数码管的位选。
图 1.1 温度测控系统原理框图
1.2 硬件原理
1.2.1 工作原理
系统原理图如图 1.2 所示,它的工作原理是:单片机 80C51 通过 P2 口的 I/O
线向 ADC0809 发送锁存地址以及复位、启动转换等信号,并查询转换状态。
ADC0809 启动转换后,将 0 通道输入的电压信号转换成相应的数字量,供 80C51
读取使用,并且将 EOC 置 1 供单片机查询转换状态。而温度传感器负责将温度信
号转换成电压信号,但信号较弱,需先送到放大电路进行放大后再送到 ADC0809
的 0 通道。当单片机查询到转换结束的信号后读取数据并按照显示的需要进行二
进制转 BCD 码等处理,最后控制显示电路显示出数字。
3
图 1.2 温度测控系统电路原理图
1.2.2 单元电路
1.电源电路
80C51 单片机以及 ADC0809 都需要接 5V 的电源。本设计采用 7805 稳压电路
给它们供电。如图 1.3 所示,C1、C2 分别为输入端和输出端滤波电容。7805 的1
脚接 12V 直流电源,2 脚接地,3 脚输出稳压后的 5V 直流电供它们使用。
图 1.3 电源电路
2.复位电路
本设计采用的是上电复位的形式,如图 1.4 所示,上电瞬间 RST 获得高电平 ,
随着电容器 C 的充电,RST 引脚上的高电平将逐渐下降,只要高电平能保持复位
所需要的两个机器周期以上时间,单片机就能实现复位操作。
4
图 1.4 单片机复位电路
3.晶振电路
晶振电路为单片机提供工作所需要的时钟信号。震荡频率越高,系统时钟频
率也越高,单片机运行的速度就越快。其电路如图 1.5 所示。80C51 的 XTAL1 和
XTAL2 两个引脚跨接晶体振荡器和微调电容 C1、C2 形成反馈电路,就构成了稳
定的自激震荡器,本设计的振荡器频率为 12MHz。
图 1.5 单片机晶振电路
4.分频电路
图 1.6 分频电路
图 1.6 是 ADC0809 的分频电路。ADC0809 需要由外部提供时钟信号,典型的
时钟频率为 640KHz,而本设计所用的 80C51 的晶振是 12MHz,ALE 会自动输出 2MHz
5
的时钟信号,所以将 ALE 信号经 4 分频后供 ADC0809 作为时钟信号输入完全可行 。
5.LM35 电源电路
LM35 有单电源和双电源两种接法,正负双电源的供电模式可提供负温度的
测量,单电源模式在 25℃下电流约为 50 mA,非常省电,本设计采用的是单电源
的接法。如图 1.7 所示。单电源模式下,LM35 的电压与温度的关系是:
Vout(T) = 10mV/℃×T℃
图 1.7LM35 单电源电路
6.信号放大电路
本系统所采用的 LM35 输出电压为 0~1.5V 虽然在 ADC0809 的输入电压允许
范围内,但电压信号较弱,直接进行 A/D 转换会导致数字量太小、精度低等不足。
所以在转换前先进行信号放大,放大电路如图 1.8 所示,因为 0809 的量程为 0~
+5V,而 LM35 的单电源模式输出电压为 0~1.5V,所以放大倍数不能超过 3 倍。
ADC0809 的分辨率为 5V/28=0.0195V=20mV 而 LM35 每增加 1℃输出电压增加
10mV 即放大倍数不能小于 2 倍。0809 的最大输出为 28=255。如假设温度为 T℃
0809 输出数为 X,当放大 2 倍时有 20mV×T/5V=X/255,即 T=250×X/255≈T=X,
可直接把 0809 输出数值作为实际温度值。然而当放大 3 倍时,则需要在软件程
序中进行相应换算才能得到 T 而且精确度也不高,故放大电路选择放大 2 倍。
6
图 1.8 信号放大电路
7.数码管显示电路
本设计采用 3 位数码管分别用来显示温度的百位、十位和个位,显示电路如
图 1.9 所示。本系统采用共阳极静态扫描的方式连接。数码管的段码数据由 80C51
的 P1 口送出,80C51 的 P3.5~P3.7 输出位选信号,只有被选中的那位数码管才
会显示段码信息。
图 1.9 数码管显示电路
8.0809 与 80C51 连接电路
图 1.10 0809 与 80C51 连接电路
7
ADC0809 和 80C51 相连接的主要原理就是用 80C51 的三总线来控制 ADC0809
的启动、复位以及锁存通道地址和输出允许等。它们的连线如图 1.10 所示,P0
口连接 0809 输出端用于读取转换结果,P2.0 用于提供输出允许信号,P2.2 提供
启动信号,P2.4~P2.6 用于设置及锁存通道地址。ALE 提供时钟信号。单片机查
询 P2.1 的电平即可指导当前转换状态,当查询到高电平时,向 P2.0 送出输出允
许信号并从 P0 口读取转换结果,数据经处理后即可控制显示电路显示温度。
8