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

下载本文档

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

文档简介

1、单片机原理及系统课程设计专 业: 电气工程及其自动化班级:电气 092姓名:龚 岩学号:200909114指导教师: 于晓英评语:平时( 40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院2012 年 7 月 1 日单片机课程设计1 引言太阳能热水器控制器设计具有很强的实用性 ,用成本低廉的电阻式传感器以 及电极配以单片机技术对生产实际中的太阳能热水器的水温的控制及显示。 本装 置电路简单、实用性强、性价比高、水温控制灵活,水位显示直观醒目,可广泛 应用于家庭生活对太阳能热水器水温控制,具有良好的市场前景。2 设计方案及原理(1) 系统采用 MCS-5l 单片机为中心控制单元

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.3 所示,该控制器采用 AT89C51 单片机,机内有一高增益反相放大 器,构成自激振荡电路,振荡频率取 12MHz ,外接 12MHz 晶振,两个电容取 30pF,以便于起振荡的作用。上电复位电路由 R9、C3 构成复位电路,在上电瞬 间,产生一个脉冲, AT89C51 复位。图 3.3 时钟与复位电路3.4 温度检测模块如图 3.4 所示,温度传感器采用热敏电阻,在其二端加上一定的工作电压, 其输出电流与温度变化成线性关系, ADC0832 将其转换为数字信号, 输入 CPU图 3.4 温度检测电路单片机课程设计3.5 显示模块

4、本设计采用共阴极数码管, 8个LED 灯如图 3.5中接法,采用动态扫描电路。 数码管的段控由 P0 口控制, P2.0-P2.3 口作为数码管的位控制。由两个 LED 灯 和报警器组成报警模块在温度过高或过低时进行提醒。图 3.5 显示及报警电路3.6 电路接线图如图 3.6 所示本设计的电路接线图,图中采用网络标号连接元件,使连接图 整洁美观,线路清晰。图 3.6 电路接线图单片机课程设计4软件主程序流程图如图 4.1 所示,首先进行初始化并为 ADC0808 提供时钟信号,启动 AD 转 换将电压信号转换为数字信号传入 CPU。判断是否超出上下限,若超出则转入 相应的报警子程序,之后在数

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

6、二版 M. 上海:机械工业出版社 2009.单片机课程设计附录 A 源程序LED_0EQU30HLED_1EQU31HLED_2EQU32HADCEQU35HTCNTAEQU36HTCNTBEQU37HH_TEMP EQU38HL_TEMP EQU39HFLAGBIT00HH_ALMBITP3.0L_ALMBITP3.1SOUNDBITP3.7CLOCKBITP2.4STBITP2.5EOCBITP2.6OEBITP2.7ORG00HSJMPSTARTORG0BHLJMPINT_T0ORG1BHLJMPINT_T1START:MOVLED_0, #00HMOVLED_1, #00HMOVLED

7、_2, #00HMOVDPTR, #TABLEMOVH_TEMP, #70MOVL_TEMP, #4MOVTMOD, #12HMOVTH0, #245MOVTL0, #0MOVTH1, #(65536-1000)/256MOVTL1, #(65536-1000)MOD 256MOVIE, #8aHCLRCSETBTR0WAIT:SETBH_ALMSETBL_ALMCLRSTSETBSTCLRSTJNBEOC, $SETBOEMOVADC,P1CLROEMOVA, ADCSUBBA,#4;跳转至主程序起始地址;中断 T0 向量地址;中断 T1 向量地址;初始化赋初值;设定最高报警水温;设定最低报

8、警水温;启动 AD 转换单片机课程设计JCLALM;若超过下限转入低温报警MOVA, H_TEMPMOVR0, ADCSUBBA,R0JCHALM;若超过上限转入高温报警CLRTR1LJMPPROCLALM:CLRL_ALM;低温报警子程序SETBTR1CLRFLAGLJMPPROCHALM:CLRH_ALM;高温报警子程序SETBTR1SETBFLAGLJMPPROCPROC:MOVA,ADC;数值转换MOVB, #100DIVABMOVLED_2, AMOVA, BMOVB, #10DIVABMOVLED_1, AMOVLED_0, BLCALLDISP;显示测得的温度SJMPWAITIN

9、T_T0:CPLCLOCKRETIINT_T1:MOVTH1, #(65536-1000)/256MOVTL1, #(65536-1000)MOD256CPLSOUNDINCTCNTAMOVA,TCNTAJBFLAG,I1;高低温报警判断CJNEA,#30,RETUNESJMPI2I1:CJNEA,#20,RETUNEI2:MOVTCNTA, #0;发出报警声INCTCNTBMOVA, TCNTBCJNEA,#25,RETUNEMOVTCNTA, #0MOVTCNTB, #0LCALLDELAY2RETUNE: RETIDISP:MOVA,LED_0;显示子程序MOVCA,A+DPTR单片机课程设计CLRP2.3MOVP0, ALCALLDELAYSETBP2.3MOVA, LED_1MOVCA,A+DPTRCLRP2.2MOVP0, ALCALLDELAYSETBP2.2MOVA, LED_2MOVCA,A+DPTRCLRP2.1MOVP0, ALCALLDELAYSETB P2.1RETDELAY: MOVD1: MOVDJNZDJNZR6, #10R7, #250R7, $R6, D1;延时子程序DELAY

温馨提示

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

评论

0/150

提交评论