太阳能热水器单片机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及系统课程设计
专业:电气工程及其自动化
班级:电气092
姓名:龚岩
学号: 200909114
指导教师:于晓英
兰州交通大学自动化与电气工程学院
2012 年 7月 1日
1引言
太阳能热水器控制器设计具有很强的实用性,用成本低廉的电阻式传感器以及电极配以单片机技术对生产实际中的太阳能热水器的水温的控制及显示。本装置电路简单、实用性强、性价比高、水温控制灵活,水位显示直观醒目,可广泛应用于家庭生活对太阳能热水器水温控制,具有良好的市场前景。
2设计方案及原理
(1) 系统采用MCS-5l 单片机为中心控制单元。系统的硬件电路包括:控制器实时时钟接口电路、蓄水箱温度检测接口电路、串行显示接口电路、复位电路等。
(2) 特点:利用单片机实时监测水温。用水时,若日晒水温达不到设定值,电加热器自动补温。该系统具有使用方便、稳定性高。节能等特点,实用性高。
3硬件设计
3.1芯片名称
AT89C51是一个低功耗高性能CMOS 8位单片机,4KB Flash 只读程序存储器(ROM),512B 内部数据存储器(RAM),该微处理器采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,引脚兼容80C51和80C52芯片。
3.2系统框图
AT89C51
水温检测AD 转换时钟控制温度显示
报警装置
图3.2 系统原理框图
3.3时钟电路与复位电路
如图3.3所示,该控制器采用AT89C51单片机,机内有一高增益反相放大器,构成自激振荡电路,振荡频率取12MHz,外接12MHz晶振,两个电容取30pF,以便于起振荡的作用。上电复位电路由R9、C3构成复位电路,在上电瞬间,产生一个脉冲,AT89C51复位。
图3.3 时钟与复位电路
3.4 温度检测模块
如图3.4所示,温度传感器采用热敏电阻,在其二端加上一定的工作电压,其输出电流与温度变化成线性关系,ADC0832将其转换为数字信号,输入CPU。
图3.4 温度检测电路
3.5显示模块
本设计采用共阴极数码管,8个LED灯如图3.5中接法,采用动态扫描电路。数码管的段控由P0口控制,P2.0-P2.3口作为数码管的位控制。由两个LED灯和报警器组成报警模块在温度过高或过低时进行提醒。
图3.5 显示及报警电路
3.6电路接线图
如图3.6所示本设计的电路接线图,图中采用网络标号连接元件,使连接图整洁美观,线路清晰。
图3.6 电路接线图
4软件主程序流程图
如图4.1所示,首先进行初始化并为ADC0808提供时钟信号,启动AD转换将电压信号转换为数字信号传入CPU。判断是否超出上下限,若超出则转入相应的报警子程序,之后在数码管上对测量到的温度进行显示。
图4.1 主程序流程图
5总结
本设计具有人性化的特点,通常用于洗浴的水温不会过高,所以当水温超过70度时,加热系统就会停止加热并给与提示如图5.1所示;当水温低于4℃时,水会开始结霜并且当达到冰点时体积膨胀会导致管道和设备的损坏,所以此时也会进行报警提示如图5.2所示。
图5.1 温度超高提醒
图5.2 温度过低提醒
参考文献
[1] 李华,王思明,张金敏.单片机原理及应用[M].兰州:兰州大学出版社,2001.
[2]华成英,童诗白.模拟电子技术基础第四版[M].北京:高等教育出版社,2006.
[3]赵德安.单片机原理与应用第二版[M].上海:机械工业出版社2009.
附录A 源程序
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H
TCNTA EQU 36H
TCNTB EQU 37H
H_TEMP EQU 38H
L_TEMP EQU 39H
FLAG BIT 00H
H_ALM BIT P3.0
L_ALM BIT P3.1
SOUND BIT P3.7
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H ;跳转至主程序起始地址
SJMP START
ORG 0BH ;中断T0向量地址
LJMP INT_T0
ORG 1BH ;中断T1向量地址
LJMP INT_T1
START: MOV LED_0, #00H ;初始化赋初值MOV LED_1, #00H
MOV LED_2, #00H
MOV DPTR, #TABLE
MOV H_TEMP, #70 ;设定最高报警水温
MOV L_TEMP, #4 ;设定最低报警水温
MOV TMOD, #12H
MOV TH0, #245
MOV TL0, #0
MOV TH1, #(65536-1000)/256
MOV TL1, #(65536-1000)MOD 256
MOV IE, #8aH
CLR C
SETB TR0
WAIT: SETB H_ALM
SETB L_ALM
CLR ST
SETB ST
CLR ST ;启动AD转换
JNB EOC, $
SETB OE
MOV ADC,P1
CLR OE
MOV A, ADC
SUBB A,#4