太阳能热水器单片机课程_第1页
太阳能热水器单片机课程_第2页
太阳能热水器单片机课程_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及系统课程设计专 业:电气项目及其自动化班 级:电气092姓 名:龚岩学 号: 200909114指导教师:于晓英兰州交通大学自动化与电气项目学院2018年7月1日1引言太阳能热水器控制器设计具有很强的实用性,用成本低廉的电阻式传感器以及电极配以单片机技术对生产实际中的太阳能热水器的水温的控制及显示。本 装置电路简单、实用性强、性价比高、水温控制灵活,水位显示直观醒目,可 广泛应用于家庭生活对太阳能热水器水温控制,具有良好的市场前景。2设计方案及原理(1>系统采用MCS-5I单片机为中心控制单元。系统的硬件电路包括:控制 器实时时钟接口电路、蓄水箱温度检测接口电路、串行显示接口

2、电路、复位电 路等。(2>特点:利用单片机实时监测水温。用水时,若日晒水温达不到设定值, 电加热器自动补温。该系统具有使用方便、稳定性高。节能等特点,实用性高。3硬件设计3.1芯片名称AT89C51是一个低功耗高性能 CMOS 8位单片机,4KB Flash只读程序存 储器(ROM>,512B内部数据存储器(RAM>,该微处理器采用ATMEL公司的高密 度、非易失性存储技术生产,兼容标准 MCS-51指令系统,引脚兼容80C51和 80C52芯片。3.2系统框图图3.2系统原理框图3.3时钟电路与复位电路如图3.3所示,该控制器采用 AT89C51单片机,机内有一高增益反相放

3、大 器,构成自激振荡电路,振荡频率取12MHz,外接12MHz晶振,两个电容取30pF,以便于起振荡的作用。上电复位电路由R9、C3构成复位电路,在上电瞬间,产生一个脉冲,AT89C51复位。I'1X1A 1 115一|二 R®R3T1匚b:-I图3.3时钟与复位电路ALEFApo cigr门PD1/AD1PU-2ZALMFD 3/AD3P0.4/ACMPQ SZA.D5PD 6/AL)dPD 7/AD7P3.Q/ASP2.1/A9P2.2WK1O P2 3/A I flP2 4A12-7 5A13no Mega3.4温度检测模块如图3.4所示,温度传感器采用热敏电阻,在其二

4、端加上一定的工作电压, 其输出电流与温度变化成线性关系,ADC0832将其转换为数字信号,输入 CPU。图3.4温度检测电路3.5显示模块本设计采用共阴极数码管,8个LED灯如图3.5中接法,采用动态扫描电 路。数码管的段控由P0 口控制,P2.0-P2.3 口作为数码管的位控制。由两个LED灯和报警器组成报警模块在温度过高或过低时进行提醒。.aABCDEFG DP1 234pid ; TlRi tM.RP2RESFACK8 门丘,.图3.5显示及报警电路3.6电路接线图如图3.6所示本设计的电路接线图,图中采用网络标号连接元件,使连接 图整洁美观,线路清晰。陀FtitldM N 4«

5、;s!«3 rm i f; mis 叫 a jPDZI 呎 前 hh i PD AD: M Zb FP i-AfrXFtfcAM FD 皿DflRP14h£±±-甜工-"FFT-21CLDCk HTnRT r-'n-KgaT3 J.I h iU 旳1雨T?ras.n-1 ' i-AUt.A EC * *P' hgvTi dvtJ JTS MW arsE OVT7 Qvier?图3.6电路接线图4软件主程序流程图如图4.1所示,首先进行初始化并为 ADC0808提供时钟信号,启动 AD转 换将电压信号转换为数字信号传入CP

6、U。判断是否超出上下限,若超出则转入相应的报警子程序,之后在数码管上对测量到的温度进行显示。开始图4.1主程序流程图5总结本设计具有人性化的特点,通常用于洗浴的水温不会过高,所以当水温超过70度时,加热系统就会停止加热并给与提示如图5.1所示;当水温低于4C时,水会开始结霜并且当达到冰点时体积膨胀会导致管道和设备的损坏,所以 此时也会进行报警提示如图5.2所示。UVCEIl 暫冠图5.1温度超高提醒图5.2温度过低提醒参考文献1 李华,王思明,张金敏单片机原理及应用M.兰州:兰州大学出版社,2001.2 华成英,童诗白.模拟电子技术基础第四版M.北京:高等教育出版社,2006.3 赵德安.单片

7、机原理与应用第二版M.上海:机械工业出版社2009.附录A源程序LED_0EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADCEQU35H TCNTAEQU36H TCNTBEQU37H H_TEMPEQU38H L_TEMPEQU39H FLAGBIT00H H_ALMBITP3.0 L_ALMBITP3.1 SOUNDBITP3.7 CLOCKBITP2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7ORG 00H 。跳转至主程序起始地址SJMPSTARTORG0BH 。中断 T0 向量地址LJMPINT_T0ORG1BH 。中断 T

8、1 向量地址LJMPINT_T1START:MOVLED_0, #00H 。初始化赋初值MOVLED_1, #00HMOVLED_2, #00HMOVDPTR, #TABLEMOVH_TEMP, #70 。设定最高报警水温MOVL_TEMP, #4 。设定最低报警水温MOVTMOD, #12HMOVTH0, #245MOVTL0, #0MOVTH1, #(65536-1000>/256MOVTL1, #(65536-1000>MOD 256MOVIE, #8aHCLRCSETBTR0WAIT:SETBH_ALMSETBL_ALMCLR STSETB STCLR ST 。启动 AD

9、转换JNB EOC, $SETB OEMOV ADC,P1CLR OEMOVA, ADCSUBBA,#4JCLALM 。若超过下限转入低温报警MOVA, H_TEMPMOVR0, ADCSUBBA,R0JCHALM 。若超过上限转入高温报警CLRTR1LJMPPROCLALM:CLRL_ALM 。低温报警子程序SETBTR1CLRFLAGLJMPPROCHALM:CLRH_ALM 。高温报警子程序SETBTR1SETBFLAGLJMPPROCPROC:MOV A,ADC 。数值转换MOV B, #100DIV ABMOV LED_2, AMOV A, BMOV B, #10DIV ABMOV

10、LED_1, AMOV LED_0, BLCALLDISP 。显示测得的温度SJMP WAITINT_T0:CPLCLOCKRETIINT_T1:MOVTH1,#(65536-1000>/256MOVTL1,#(65536-1000>MOD256CPLSOUNDINCTCNTAMOVA,TCNTAJBFLAG,I1 。高低温报警判断CJNEA,#30,RETUNESJMPI2 I1:CJNEA,#20,RETUNEI2:MOVTCNTA, #0 。发出报警声INCTCNTBMOVA, TCNTBCJNEA,#25,RETUNEMOVTCNTA, #0MOVTCNTB, #0LCALLDELAY2RETUNE:RETIDISP:MOVA,LED_0 。显示子程序MOVCA,A+DPTRCLRP2.3MOVP0, ALCALLDELAYSETBP2.3MOVA, LED_1MOVCA,A+DPTRCLRP2.2MOVP0, ALCALLDELAYSETBP2.2MOVA, LED_2MOVCA,A+DPTRCLRP2.1MOVP0, ALCALLDELAYSETBP2.1RETDELAY:MOVR6, #10 。延时子程序D1:MOVR7, #250DJNZR7, $DJNZR6, D1RETDELAY2:MOVR5, #20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论