单片机恒温控制系统设计【很完整】.doc 立即下载
2024-12-12
约3.1千字
约7页
0
115KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机恒温控制系统设计【很完整】.doc

单片机恒温控制系统设计【很完整】.doc

预览

免费试读已结束,剩余 2 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开




功能要求
用户设定温度值后,显示设定温度和当前温度根据当前温度和设定温度之间的差值,控制加温或停止加温,最终达到恒温。

2.方案论证
按要求,系统采用1片51单片机、1片A/D转换器ADC0809、键盘和4个共阴极7段LED显示器件。系统框图如图1所示。
MCS-51单片机

显示设定温度
和当前温度
加温
控制电路
A/D
测温元件热敏电阻
键盘
设定温度
图1	.恒温控制系统原理图


3.硬件电路设计
本设计中,8255A和A/D转换器都作为单片机的扩展外设。

4.硬件电路的功能(分模块介绍)

(1)温度采集与控制单元电路:
温度采集电路是用热敏电阻和一个分压电阻形成电压采样点,电压经换算可得到当前温度。用一个大功率电阻形成温度控制电路,控制点接地,大功率电阻上有电流流过则发热,控制点接+12V,大功率电阻上无电流流过则停止发热。电路图如下图2所示。






+5V
+12V
分压电阻510Ω
控制点A
热敏电阻Rt
采样点V
大功率电阻100Ω
图2.温度采集与控制单元电路


(2)动态显示电路:
假设温度在100℃一下,因此可以选择4个共阴极的七段LED,前两个显示设定温度,后两个显示当前温度。单片机与8255A相连,用8255A的A口连接段码,B口连接位码实现动态显示。具体电路如图3所示。单片机与8255A的连接电路略,假设8255A的地址为FFF0H-FFF3H。

PA6
PA0
PB0
PB3
8255A
a~g
a~g
a~g
a~g
X1
X2
X3
X4
图3.动态显示电路

(3)A/D转换与温度控制电路:
数据采集选用A/D转换器0809,程序中循环采集A/D转换值,采集完成由单片机接收采集的数据,经计算分析,确定是否加温,加温有8255A的PC0控制。具体电路如图4所示。



+5V
+12V
分压电阻510Ω
控制点A
热敏电阻Rt
采样点V
大功率电阻100Ω
图2.温度采集与控制单元电路
≥
≥

P0
WR
P2.7
RD
MCS-51
A/D
0809	
ALE
SC
OE
C
B
A
8255
A’
A
UNL2803
PC7
PC0
图4.数据采集与温度控制电路

单片机接收到A/D转换值X后,将其转换为测试点的电压V,在计算出电阻Rt的值。Rt计算过程为:
V=5X/256
i=V/510
Rt=(5-V)/i=510*(5-V)/V
固有:Rt=510*(256-X)/X
热敏电阻的阻值与温度之间有对应关系。有的热敏电阻的阻值与温度之间是线性关系,有的是非线性。对线性关系,可用公式将Rt换算成温度,对于非线性关系,可用查表程序。
从连接电路中可知,0809芯片的地址是7FFFH,0809的控制端CBA与地相连,因此只可采集IN0的信号。采样结束信号EOC与8255的PC7相连,可通过查询测试A/D转换状态。
UNL2803是反向驱动电路,A端为0时,A’为12V,停止加温;A端为1时,A’为0V,开始加温。

(4)键盘电路:
键盘是用来设置恒温时的温度值,根据要求,可设置两个按键开关,K1用于增加设定值,K2用于减小设定值,两个开复安分别接在两个外部中断请求端INT0和INT1上,每按一次开关,温度值变化一次,开关电路如图5所示。由于外部中断是低电平或低脉冲出发,故连接时将K—端与中断请求端相连。
+5V
K+
K—
K
图5.按键电路

5.程序设计
系统程序分为主程序、数据转换与控制子程序和中断服务程序。
主程序:
完成系统的8255初始化、启动A/D转换并采集数据、循环显示设定温度和采集温度。程序流程如果6所示。
启动A/D转换
转换结束
开始
接受采样值
调用转换控制子程序
保存转换值
显示设定温度
显示当前温度
N
Y
图6.主程序流程图

数据转换与控制子程序:
热敏电阻采用mfd103,电阻与温度之间为非线性关系,因此,从A/D转换器接收的数据经计算得到Rt,经查表形成温度值,存入相应单元,并比较设定值与实际温度,控制加热电路。子程序流程图如下所示。
N
当前温度>设定温度
返回
采样值转换为Rt
保存温度
查表得到温度
Y
图7.数据转换与控制子程序流程图
当前温度>设定温度
Y
开始
停止加热
加热
N


(3)中断服务程序
中断服务程序由两个外部中断服务程序组成,其中一个完成设定温度加1,另一个完成设定温度减1。

6.程序清单
#include<absacc.h>
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint

//定义0~9的共阴极显示代码
CodeuncharTable[10]=
{0x3f,0x06,0
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机恒温控制系统设计【很完整】

文档大小:115KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用