中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
目 录
1 系统的总体设计 ..........................................................1
1.1 设计背景 .......................................................... 1
1.2 电路的总体工作原理 ................................................ 1
2 控制系统硬件设备 ........................................................2
2.1 LM34 温度传感器 ....................................................2
2.2 单片机 AT89C51 .....................................................2
2.3
ADC0809 模数转换器 ................................................3
3 系统的硬件设计 .......................................................... 5
3.1 时钟电路 .......................................................... 5
3.2 复位电路 .......................................................... 5
3.3 显示电路 ...........................................................5
3.4 A/D 转换电路 .......................................................5
3.5 超温报警电路 .......................................................6
3.6 信号放大电路 .......................................................6
4 系统软件设计 ............................................................7
4.1 主程序 .............................................................7
4.2 初始化程序 ........................................................ 7
4.3 显示子程序 ........................................................ 8
4.4 模数转换程序 ..................................................... 11
4.5 越限报警及控制程序 ................................................13
总结 .....................................................................15
参考文献 .................................................................16
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
1 系统的总体设计
1.1 设计背景
温度控制广泛应用于人们的生产和生活中,人们使用温度计来采集温度,通过人工
操作加热、通风和降温设备来控制温度,这样不但控制精度低、实时性差,而且操作人
员的劳动强度大。即使有些用户采用半导体二极管作温度传感器,但由于其互换性差,
效果也不理想。在某些行业中对温度的要求较高,由于工作环境温度不合理而引发的事
故时有发生。对工业生产可靠进行造成影响,甚至操作人员的安全。为了避免这些缺点,
需要在某些特定的环境里安装数字温度测量及控制设备。本设计由于采用了新型单片机
对温度进行控制,以其测量精度高,操作简单。可运行性强,价格低廉等优点,特别适
用于生活,医疗,工业生产等方面的温度测量及控制。
1.2 电路的总体工作原理
温度控制系统采用 AT89C51 八位机作为微处理单元进行控制。A/D0809 将转换后的
量通过 AT89C51 控制,并通过驱动电路显示在 LED 上,当温度超过设定的温度由单片机
发出信号驱动温度控制电路升温或降温,同时发出报警信号。系统框图如图 1.1:
图 1.1 系统框图
第 1 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
2 控制系统硬件设备
2.1 LM34 温度传感器
LM34 有多种不同封装型式。在常温下,LM34 不需要额外的校准处理即可达到
±1/4C的准确率。其电源供应模式有单电源与正负双电源两种,其引脚如图 2 .1所示,
正负双电源的供电模式可提供负温度的量测,单电源模式在25°C下静默电流约50μA,
非常省电。本设计采用的是单电源的接法。如图2.1所示。单电源模式下,LM34 的电压
与温度的关系是:
Vout(T) = 10mV/℃×T℃
图2.1
LM34的单电源电路
2.2 单片机 AT89C51
AT89C51 单片机内部总线是单总线结构,即数据总线和地址总线是公用的. AT89C51
有 40 条引脚, 这 40 条引脚可分为 I/O 接口线、电源线、控制线、外接晶体线 4 部分。
AT89C51 单片机为双列直插式封装结构, 如图 2.1 所示。
第 2 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
1
2
3
4
5
6
7
8
13
12
15
14
31
19
18
9
17
16
P10
P11
P12
P13
P14
P15
P16
P17
INT1/P3.2
INT0/P3.3
T1/P3.5
T0/P3.4
EA/VP
X1
X2
RESET
RD/P3.7
WR/P3.6
P00
P01
P02
P03
P04
P05
P06
P07
P20
P21
P22
P23
P24
P25
P26
P27
RXD/P3.0
TXD/P3.1
ALE/P
PSEN
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
30
29
图 2.2 AT89C51 引脚分配图
AT89C51 单片机的电源线有以下两种:
(1)VCC:+5V 电源线
(2)GND:接地线
AT89C51 单片机的外接晶体引脚有以下两种:
(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部
振荡器时,它接外部石英晶体和微调电容的一个引脚。
(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一
端。采用外部振荡器时,该引脚悬空。外接晶体引脚。
控制线 AT89C51 单片机的控制线有以下几种:
(1)RST:复位输入端,高电平有效
(2)ALE/PROG:地址锁存允许/编程脉冲输入端
(3)PSEN:程序存储允许输出信号端
(4)EA/Vpp:外部程序存储器地址允许输入端/固化编程电压输入端
2.3
ADC0809 模数转换器
ADC0809 是位 A/D 转换芯片,它是采用逐次逼近的方法完成 A/D 转换的。ADC0809
由单+5V 电源供电;片内带有锁存功能的 8 路模拟多路开关,可对 8 路 0~5V 的输入模
第 3 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
拟电压分时进行转换,完成一次转换约需 100µS;片内具有多路开关的地址译码器和锁
存器、高阻抗斩波器、稳定的比较器,256 电阻 T 型网络和树状电子开关以及逐次逼近
寄存器。
ADC0809 是引脚双列直插式封装,引脚及其功能如图所示
图 2.3 ADC0809 引脚图
1.D7~D0:8 位数字量输出引脚。
2.IN0~IN7:8 路模拟量输入引脚。
3.VCC:+5V 工作电压。
4.GND:接地。
5.REF(+):参考电压正端。
6.REF(-):参考电压负端。
7.START:A/D 转换启动信号输入端。
8.A、B、C:地址输入端。
9.ALE:地址锁存允许信号输入端。
10.EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
11.OE: 输出允许控制端,用以打开三态数据输出锁存器。
12.CLK:时钟信号输入端,译码后可选通 IN0~IN7 八个通道中的一个进行转换。
第 4 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
3 系统的硬件设计
3.1 时钟电路
晶振的频率决定了微控制器的时钟频率。电容器 C1、C2 起稳定振荡频率、快速起
振的作用。电容值一般为 20-40pf,本次电路采用 30pf。微控制器内部有一个高增益运
算放大器和一个反馈电阻器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
3.2 复位电路
本设计采用上电复位形式,上电瞬间 RST 获得高电平,随着电容放电,高电平逐渐
消失,但是高电平保持的时间能保证单片机实现复位操作。单片机运行过程中按下 S1,
也可实现复位操作。
3.3 显示电路
LED 动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管
的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间
点亮一次,如此循环。利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以
给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位 LED 数码管在显示,
其他各位是关闭的。在段选码和位选码每送出一次后,应保持 1ms 左右。
采用动态显示方式比较节省 I/O 接口,硬件电路也较静态显示方式简单,但其亮度
不如静态显示方式,而且在显示位数较多时,CPU 要依次扫描,占用 CPU 较多的时间。
用 AT89C51 单片机构建七段数码管动态显示系统时,6 位数码管均采用共阴极 LED,
P3 接口作为段选码输出口,驱动输出 0 时发光。P0 接口作为位选码输出口,当接口输
出 0 时,选通相应位的数码管工作。
3.4 A/D 转换电路
ADC0809 和单片机的连接主要原理是单片机的三总线结构控制 ADC0809 的启动、复
位和锁存地址等操作,P0 口接 0809 的输出端,P2.0-P2.3 用于锁存通道地址,P3.7 检
测转换结束信号,P2.5 提供输出允许信号,P2.4 启动转换。温度采集采用 78L05 热电
第 5 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
阻将温度信号转化为电压信号,但是 78L05 的输出电压较低,会导致精度降低,经放大
器放大之后接 0809 的一个通道入口。
3.5 超温报警电路
在微机控制系统中,为了安全生产,一些重要的参数或系统部位都要设有紧急状态
报警系统,用以提醒操作人员注意或采取紧急措施。本次设计是将传感器采样的温度值
与设定的温度上下限值比较,越限则报警。报警采用声光报警,声信号由 P2.6 口输出,
输出高电平三极管导通,发出声响。
3.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 倍。
图 3.1 信号放大电路
第 6 页 共 16 页
中 北 大 学 信 息 与 通 信 工 程 学 院 课 程 设 计 说 明 书
4.1 主程序
4 系统软件设计
开始
调用初始化程序
调用显示子程序
调用测量子程序
结束
图 4.1 主程序框图
主程序:
ORG 0000H
LJMP START
START:LCALL LOOP
;初始化
MAIN: LCALL DISPLAY
;显示数据一次
LCALL TEST
;测量一次
AJMP MAIN
;返回 MAIN 循环
LJMP START
;重新复位启动
4.2 初始化程序
第 7 页 共 16 页