太阳能热水器控制电路设计 应用电子技术专业毕业设计 毕业论文.docx_第1页
太阳能热水器控制电路设计 应用电子技术专业毕业设计 毕业论文.docx_第2页
太阳能热水器控制电路设计 应用电子技术专业毕业设计 毕业论文.docx_第3页
太阳能热水器控制电路设计 应用电子技术专业毕业设计 毕业论文.docx_第4页
太阳能热水器控制电路设计 应用电子技术专业毕业设计 毕业论文.docx_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

太阳能热水器控制电路设计一、系统设计1.设计原理太阳能热水器自动控制电路采用at89s52单片机作为控制核心,外围加蜂鸣器控制电路、数码显示电路、水位检测电路、电机控制电路、按键电路、温度检测电路等。数码管实时切换显示当前温度与当前液位,当液位过高时,蜂鸣器报警,并且电机反转模拟排水过程;当液位过低时,蜂鸣器报警,并且电机正转模拟进水过程。本系统设计简单,成本低,性能优良,具有一定的稳定性和实用性。 三、硬件电路设计1.基本原理框图图一:原理框图(1)太阳能热水器控制装置主要组成由cpu、显示电路、按键电路、蜂鸣器电路、电机电路、液位检测电路、温度检测电路、电源电路组成,如图一。(2)太阳能热水器控制装置的工作原理接通电源后,显示当前水位,水位被分为16个点。并且显示当前温度。液位显示与温度的显示切换进行。当水位显示低于或等于1时,蜂鸣器报警,并且电机正转,表示进水;当水位显示高于或等于15时,蜂鸣器报警,并且电机反转,表示排水。液位检测利用cd40512.各部分电路原理(1)最小系统最小系统电路如图二所示。图二:最小系统(2)显示电路采用led数码管显示,该方案具有实现容易、发光亮度大、驱动电路简单等优点,其可靠性也优于lcd的显示。由6个数码管和6个74ls164组成,采用串行静态显示的方法。将数码管的8个输入端与74ls164的输出端q0q7相连。p1.0和74ls164的clk连接,作为时钟;p1.4接74ls164的a端,作为显示数据的输入端。显示电路如图三所示。图三:显示电路但是使用74ls164串显会出现消隐的问题。为了消除消隐,那么就必须在硬件上与软件上结合来消除消隐的问题。消隐电路如图四所示。软件上,在传数据时,先传一个高电平,直到数据传完再传送一个低电平即可。图四:消隐电路(3)按键电路键按下后,进行温度及液位检测的切换,也可不使用。按键电路如图五所示。图五:按键电路(4)蜂鸣器电路以q51的基极作为蜂鸣器控制信号的输入端与单片机i/o口相连,主要由蜂鸣器、9013与9014两个三极管及5.1k偏置电阻组成。当输入端为高电平时,q51导通,q52截止,蜂鸣器回路开路,蜂鸣器不响;当输入端为低电平时,q51截止,q52导通,蜂鸣器回路闭合,蜂鸣器发出响声。蜂鸣器电路如图六所示。图六:蜂鸣器电路(5)电机电路控制信号从in端输入并经前级缓冲后送入片内控制器,然后由控制部分处理并驱动晶体管,最后由out端输出方波信号以控制电机的运行。触发使能端口(ce)的作用是分别对两个通道的输出进行控制,当ce端为低电平时,无论有无输入控制信号,输出端out始终呈高阻抗状态。因此,要使fan8200控制器输出工作正常,器件的触发使能端必须为高电平。当ce为高电平时,in1为1时,电机正转;in1为0时电机反转。电机电路如图七所示。图七:电机电路(6)液位检测电路液位检测控制电路,由两片cd4051与cd4066构成,但是由于考虑到成本,并且所设计的电路i/o口使用并不是太多,所以,可以将cd4066省略,仅仅用两片cd4051即可实现功能。它是一种单片、coms、8通道开关。该芯片由dtl/ttl-coms电平转换器,带有禁止端的8选1译码器输入,分别加上控制的8个coms模拟开关tg组成。例如当检测到液位在端点4位置时,0、1、2、3、4点被没过,与公共端之间形成水电阻,由于水电阻阻值非常的笑,所以这几点的电平被拉低。此时就可以确定在abc点读到的数为“100”此时就可以通过单片机计算得出液位的高度。液位检测电路如图八所示。图八:液位检测电路(7)温度检测电路采用ds18b20数字温度传感器。它是dallas公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、搞干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片。它具有3引脚to92小体积封装形式,温度测量范围为55125,可编程为9位12位a/d转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个ds18b20可以并联到3根或2根线上,cpu只需一根端口线就能与多个ds18b20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使ds18b20非常适用于远距离多点温度检测系统。根据设计要求,ds18b20硬件电路的链接非常简单,仅一根电源线,一根地线和一根数据线即可。温度检测电路如图九所示。图九:温度检测电路(8)电源电路由于电源电压为5v,所以电路中省去了稳压电源部分的电路,直接使用电源电压即可。在电源与地之间加滤波电容,稳定输入到芯片上的电源电压。电源电路如图十所示。图十:电源电路四、软件设计2.i/o口分配i/o口p3.0p3.1p3.3p3.5p1.1分配74ls164数据端74ls164时钟电机转向控制端蜂鸣器控制端4051-ai/o口p1.2p1.3p1.4p1.6p1.7分配4051-b4051-c4051-inhk1k23.软件流程图五、实现功能1.液位检测将水尺放进水中,通电之后,显示当前的水位。最低点水位为1,最高点水位为16。当水位低于点2时,显示h 02的同时蜂鸣器响,电机正转,模拟进水过程;直到水位高于点2后,蜂鸣器停止发声,电机不转。当高于水位点15时,显示h 15的同时蜂鸣器响,电机反转,模拟排水过程;直到水位低于点15后,蜂鸣器停止发生,电机不转。2.温度检测实时监测当前温度,与水位切换显示。例如显示为c 27.6。七、参考文献1 阎石 数字电子技术2 胡汉才.单片机原理及接口技术.清华大学出版社,19963 童诗白.模拟电子技术基础。高等教育出版社,2001附录一 程序;标志;32h水位标志;baozhibit 33h;显示标志;33h=0显水位,33h=1显温度;dingsbit 34h;34h=0定时,34h=1计数;alarmflagbit 24h;蜂鸣器报警标志;74164a bit p3.0;164数据端;clk bit p3.1;164时钟;ce bit p1.5;电机控制端为1;m1 bit p3.3;p3.3=1电机正转,反之反转。;spk bit p3.5;蜂鸣器控制;la bit p1.1;4051点a;lb bit p1.2;4051点b;lc bit p1.3;4051点c;4051inh bit p1.4;4051的inh端;k1 bit p1.6;按键1(水位检测状态);k2 bit p1.7;按键2(温度检测状态) org 0000hljmpmainorg 0100hmain:mov sp,#60hclr p1.5;电机不转mm3:mov 50h,#20h;水位显示时长mm33:lcall swei;水位检测 djnz50h,mm33 lcall xianc;显c sjmp mm1 mm1:mov 50h,#10h;温度显示时长mm2 : lcall wdcj;温度检测djnz 50h,mm2lcall xianh;显hsjmp mainwdcj:lcall get_temp;采集温度值以16进制数,低位放r7,高位放r6chengfa: mov r3,#0ah;0ah乘以温度值r7r6,结果在r2r3r4r5中,r2最高字节 mov r2,#00h lcall muldchufa: mov r6,#00h;被除数在r2r3r4r5中,r2最高字节,除数在r6r7,r6高字节,结果在r2r3。 mov r7,#10h mov r2,#00h movr3,#00h lcalldivd mov 20h,r3;r3低字节 mov 21h,r2 acall yaso;压缩16进制数变成压缩10进制数 acall l11; 压缩-非压缩 acall daim; 代码-段码 acall xian; 显示 lcall xianc lcall xiaosh lcall del2 retget_temp:clr psw.4 clr psw.3;设置工作寄存器当前所在的区域 clr ea;使用ds1820一定要禁止任何中断产生 lcall int ;调用初始化子程序 mov a,#0cch lcall write ;送入跳过rom命令 mov a,#44h lcall write ;送入温度转换命令 lcall int ;温度转换完全,再次初始化ds1820 mov a,#0cch lcall write ;送入跳过rom命令 mov a,#0beh lcall write ;送入读温度暂存器命令 lcall read mov r7,a ;读出温度值低字节存入r7 lcall read mov r6,a ;读出温度值高字节存入r7 setb ea retint: clr ea ;初始化ds1820l0: clr p3.4 ;ds1820总线为低复位电平mov r2,#200l1: clr p3.4 djnz r2,l1 ;总线复位电平保持400ussetb p3.4 ;释放ds1820总线mov r2,#30hl4: djnz r2,l4 ;释放ds1820总线保持60us clr c;清存在信号 orl c,p3.4jc l0;存在吗?不存在则重新来。 mov r6,#80hl5: orl c,p3.4 jc l3 djnz r6,l5 sjmp l0l3: mov r2,#240l2: djnz r2,l2 retwrite:clr ea mov r3,#8wr1:setb p3.4 mov r4,#8 rrc a clr p3.4wr2:djnz r4,wr2 mov p3.4 ,c mov r4,#20wr3:djnz r4,wr3 djnz r3,wr1 setbp3.4 retread:clr ea mov r6,#8;连续读8个bitre1:clr p3.4 ;读前总线保持为低 mov r4,#4 nop setb p3.4 ;开始读,总线释放re2:djnz r4,re2;持续8us mov c,p3.4 ;从臘s1820总线读得一个bit rrc a; mov r5,#30re3:djnz r5,re3;持续60us djnz r6,re1;读下一个bit setb p3.4 ;重新释放ds1820总线 retyaso:mov r0, #20h;压缩16进制数变成压缩10进制数 mov r7, #02h mov r1, #28h lcall ly1 retly1:mov a, r0 mov r5, a mov a, r1 mov r6, a mov a, r7 inc a mov r3, a clr aly2: mov r1, a inc r1 djnz r3, ly2 mov a, r7 mov b, #08h mul ab mov r3, aly3:mov a, r5 mov r0, a mov a, r7 mov r2, a clr cly5:mov a, r0 rlc a mov r0, a inc r0 djnz r2, ly5 mov a, r6 mov r1, a mov a, r7 mov r2, a inc r2ly4:mov a, r1 addc a, r1 da a mov r1, a inc r1 djnz r2, ly4 djnz r3, ly3 retl11: mov r1,#10h;压缩10进制数变成非压缩十进制数 mov r2,#03h mov r0,#28hl12: mov a, r0 anl a, #0fh mov r1, a inc r1 mov a, r0 swap a anl a, #0fh mov r1, a inc r0 inc r1 djnz r2, l12 retdaim: mov r2, #05h;代码变段码码 mov r0, #10h mov r1, #20hl12f: mov a, r0 add a, #06h movc a, a+pc mov r1, a inc r0 inc r1 djnz r2, l12f retdb 3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb 7fh,6fh,77h,7ch,39h,5eh,79h,71h db 00h,40h,73h,03h,18h,23h,1ch,3dh,76h,0fh,1eh,38hxian: clr p3.2 mov r0, #20h;显示 mov r2,#05hlp1: mov r1,#08h mov a,r0lp2: rlc a mov p3.0,c clr p3.1 setb p3.1 djnz r1,lp2 inc r0 djnz r2,lp1setb p3.2 retdel:mov r5,#14hy3: mov r6, #0ffhy2: mov r7, #0ffhy1: djnz r7, y1djnz r6, y2djnz r5,y3 retxiaosh: mov a, 21h;小数点程序 orl a, #80h mov 21h, alcallxian retlbb: mov a, #10h;清显示 mov r0, #10h mov r2, #05hlb1: mov r0, a inc r0 djnz r2, lb1 ret being: mov 10h,#10h mov 11h,#10h mov 12h,#10h mov 13h,#10h mov 14h,#18h acall daim; 代码-段码 acall xian; 显示 retxianc: ;mov 10h,#10h ; mov 11h,#10h ;mov 12h,#10h mov 13h,#10h mov 14h,#0ch acall daim; 代码-段码 acall xian; 显示 retmuld:mov a,r3 ;双字节乘法子程 mov b,r7 mul ab mov r4,b mov r5,a mov a,r3 mov b,r6 mul ab add a,r4 mov r4,a clr a addc a,b mov r3,a mov a,r2 mov b,r7 mul ab add a,r4 mov r4,a mov a,r3 addc a,b mov r3,a clr a rlc a xch a,r2 mov b,r6 mul ab add a,r3 mov r3,a mov a,r2 addc a,b mov r2,a retdivd:clr c;双字节除法子程 mov a,r3 subb a,r7 mov a,r2 subb a,r6 jc dvd1 setb ov retdvd1: mov b,#10hdvd2:clr c mov a,r5 rlc a mov r5,a mov a,r4 rlc a mov r4,a mov a,r3 rlc a mov r3,a xch a,r2 rlc a xch a,r2 mov f0,c clr c subb a,r7 mov r1,a mov a,r2 subb a,r6 anl c,/f0 jc dvd3 mov r2,a mov a,r1 mov r3,a inc r5dvd3:djnz b,dvd2 mov a,r4 mov r2,a mov a,r5 mov r3,a clr ov retswei: mov 32h,#10h;把16送32

温馨提示

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

评论

0/150

提交评论