单片机温度控制文档格式.docx
- 文档编号:22081380
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:131.91KB
单片机温度控制文档格式.docx
《单片机温度控制文档格式.docx》由会员分享,可在线阅读,更多相关《单片机温度控制文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
系统总体框架如图1所示。
第2章硬件电路设计
单片机控制模块
控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度上下限值的设定与温度越限时电机的启动。
本文选用AT89C51作为控制器件。
它是美国ATMEL公司生产的8位FlashROM单片机。
其最突出的优点是片内ROM为FlashROM,可方便地擦写1000次以上,价格低廉,而且其指令丰富,编译工具多,仿真环境好。
因此被广泛地应用于各种控制领域。
本控制系统中AT89C51与外围设备的连接关系如图2所示:
由图2可知,温度数据采集模块中温度传感器DS18B20的DQ端接;
显示模块LCM1602的DB0~DB7数据端口接~,数据命令选择端RS接,读写选择端接,使能信号接;
温度上下限调整模块包括模式切换、增加温度上下限值、减少温度上下限值、温控开关等四个功能,它们分别接~;
外部存储模块为AT24C02B,其SCK、SDA分别接与;
电机控制电路与和相连;
XTAL1、XTAL2接振荡电路,RST接复位电路,EA接高电平,LCM1602上的VO、RST接电源+5V,GND接地。
2.2温度数据采集模块
温度由DALLAS公司生产的一线式数字温度传感器DS18B20采集。
DS18B20测温范围为-55°
C~+125°
C,测温分辨率可达°
C,被测温度用符号扩展的16位补码形式串行输出。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20内部有一个9字节的高速存储器用于存储温度值。
其中前两个字节是测得的温度数据,第1字节的内容是温度的低八位,第2字节是温度的高八位,第3和第4字节是温度上限TH与温度下限TL的易失性拷贝,第5字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新,第6、7、8这三个字节用于内部计算,第9个字节是冗余检验字节,可用来保证通信的正确性。
当温度转换命令发出后,经转换所得的温度值以二字节补码形式存放在此存储器的第1和第2个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,其中高5位是符号位,中间7位是整数位,最低4位是小数位。
DS18B20最大的特点是单总线数据传输方式,因此对读写的数据位有着严格的时序要求。
时序包括:
初始化时序、读时序、写时序。
每一次命令和数据的传输都是从单片机启动写时序开始,如果要求DS18B20回送数据,在进行写命令后,单片机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的时序及命令请参考文献[1]。
LCM1602
LCM1602是2行×
16个字符的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由5×
7或5×
10个点阵组成,可以显示ASCII码表中的所有可视的字符。
它内置了字符产生器ROM(CharacterGeneratorROM,CGROM)、字符产生器RAM(CharacterGeneratorRAM,CGRAM)和显示数据RAM(DataDisplayRAM,DDRAM)。
CGROM中内置了192个常用字符的字模,CGRAM包含8个字节的RAM,可存放用户自定义的字符,DDRAM就是用来寄存待显示的字符代码。
DDRAM地址与显示位置的对应关系以及LCM1602的指令与读写时序可参考文献[2]。
外部存储模块
外部存储模块采用美国ATMEL公司生产的低功耗CMOS型E2PROM器件AT24C02B,它内含256×
8位存储空间,具有工作电压宽~V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
它采用了I2C总线规程,使主/从机双向通信。
主机通过SCL引脚产生串行时钟信号并发出控制字,控制总线数据传送的开始、方向和停止。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号。
AT24C02B占用很少的资源和I/O线,并且支持在线编程,数据实时存取十分方便。
AT24C02B的读写时序及控制字见参考文献[3]。
温度上下限设置模块
温度上下限设置模块包括四个按键:
(1)模式切换键:
进行模式之间的切换,模式包括设置温度上限模式、设置温度下限模式,每次按下该键就在这两种模式之间切换。
(2)温度上下限增加键:
增加温度上下限的值。
(3)温度上下限减少键:
减少温度上下限的值。
(4)温控开关键:
是温控与非温控之间的切换键。
它用于设置是否进行温度控制即是否让越界的温度值触发加热器或致冷器的启动。
控制电路模块
该部分电路有光耦合元件4N25、继电器、三极管,若干电阻等构成。
这部分电路的主要作用是光电隔离,即消除后级电机对前级单片机的影响。
三极管使用的是9013,9013是NPN型的,把其集电极接+5V电压,射极接继电器。
当单片机引脚给出低电位时,4N25内部的发光二极管亮,使其内部的三极管导通,继而通过第4引脚上的10K电阻分得电压。
当4N25给其基极提供足够的电压时9013导通。
继电器的常开开关闭合,电机上电工作。
第3章系统软件设计
主程序调用了5个子程序,分别是LCD显示程序、按键扫描及处理程序、温度采集程序、温度越界判决程序、AT24C02B读写程序。
LCD显示程序,用于温度等数据的实时显示;
按键扫描及处理程序,实现按键识别、按键输入及相关处理;
温度采集程序负责把DS18B20所采集的现场温度读入到指定的数组中;
温度越界判决程序,对现场温度与设定的温度上下限进行比较,若温度越界,并且当温控开关处于开启状态时,启动加热器或致冷器工作;
AT24C02B读写程序,存储和调用设定的温度上下限值。
图3为系统主程序与按键扫描程序的流程图。
有关温度采集的程序及流程图可参考文献[4]。
第4章试验结果及结论
PROTEUS仿真:
按照图2所示电路原理图,在Proteus里面建立元器件连接关系。
根据设计功能要求在KeilμVision3环境下编写C语言程序,并编译连接生成十六进制的hex文件,把此文件加载到单片机,就可以进行Proteus仿真了。
图4是当温度低于所设定的下限值并且温控开关处于激活状态时,绿色二极管亮,同时加热器启动的仿真结果。
第5章结束语
本文详细讲述了系统设计方案,并给出了相关程序流程。
本设计应用性比较强,可以应用在仓库温度、大棚温度、机房温度等的监控。
另外,如果把本设计方案扩展为多点温度控制,加上上位机,则可以实现远程温度监控系统,将具有更大的应用价值。
本文的创新点在于详细设计了基于单片机AT89C51的温度监控系统,进行了Proteus仿真,所设计程序已经在硬件平台上成功运行.此系统可广泛用于温度在DS18B20测温范围之内的场合,有良好的应用前景。
附录
图4
源程序
ORG00H
START:
ANLP1,#00H;
显示00
JB,$;
T0=0有键按下
CALLDELAY1;
消除抖动
JNB,$;
T0=1放下
MOVR0,#00;
计温指针初值
L1:
MOVA,R0;
计温指针载入ACC
MOVP1,A;
输出至P1显示
MOVR5,#10;
延时1秒
A1:
MOVR6,#200
D1:
MOVR7,#248;
毫秒
JNB&
n
bsp;
,L2;
第2次按下T0
DJNZR7,$
DJNZR6,D1
DJNZR5,A1
INCA
DAA
MOVR0,A
JMPL1
L2:
第2次按消除抖动
JB,L3;
放开了没是则
;
跳至L3停止
JMPL2
L3:
MOVA,R0
CALLCHANGE
MOV31H,A;
下限温度存入31H
T1=0有键按下
T1=1放开
L4:
MOVA,RO;
A2:
D2:
JNB,L5;
第二次按下T1
DJNZR6,D2
DJNZR5,A2
ADDA,#01H
JMPL4
L5:
JB,L6;
放开了是则跳至L6
JMPL5
L6:
MOV30H&
nb
sp;
,A;
上限温度存入30H
DELAY1:
MOVR6,#60;
30毫秒
D3:
MOVR7,#248
DJNZR6,D3
RET
CHANGE:
MOVB,#5
MULAB
JNOD4
SETBC
D4:
RRCA
MOV32H,#0FFH;
32H旧温度寄存
器初值
AAA:
MOVX@R0,A;
使BUS为高阻抗
并令ADC0804开始转换
WAIT:
JB,ADC;
检测转换完成否
JMPWAIT
ADC:
MOVXA,@RO;
将转换好的值送入
累加器
MOV33H,A;
将现在温度值存入33H
CLRC;
C=0
SUBBA,32H
JCTDOWN;
C=0取入值较大,表示
温度上升,C=1表示下降
TUP:
MOVA,33H;
将现在温度值存入A
CLRC
SUBBA,30H;
与上限温度作比较
JCLOOP;
C=1时表示比上限小须
加热,C=0表示比上限大,停止加热
SETB
JMPLOOP
TDOWN:
SUBBA,31H;
与下限温度作比较
JNCLOOP;
C=1时表示比下限小,须
加热,C=0表示比下限大
CLR;
令动作
LOOP:
MOV32H,33H
CLRA
MOVR4,#0FFH;
延时
DJNZR4,$
JMPAAA
END
参考文献
[1]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
航空航天大学出版,~P326
[2]王忠飞,胥芳.MCS-51单片机原理及嵌入式系统应用[M].西安:
西安电子科技大学出版社,2007.P268-273
[3]Microchip24C01B/02B8位PIC单片机产品手册[ED/OL],.
[4]赵娜,赵刚,于珍珠等.基于51单片机的温度测量系统[J].微计算机信息,2007,1-2:
146-148。
作者简介:
赵鸿图,男,汉族,河南理工大学计算机学院,讲师,主要研究方向为嵌人式系统,计算机通信;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 控制