365文库
登录
注册
2

太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc

146阅读 | 6收藏 | 13页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第1页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第2页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第3页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第4页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第5页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第6页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第7页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第8页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第9页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第10页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第11页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第12页
太阳能热水器控制电路设计-应用电子技术专业毕业设计-毕业论文.doc第13页
福利来袭,限时免费在线编辑
转Pdf
right
1/13
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
怕日出一到 上传于:2024-05-25
太阳能热水器控制电路设计 一、系统设计 1.设计原理 太阳能热水器自动控制电路采用AT89S52单片机作为控制核心,外围加蜂鸣器控制电路、数码显示电路、水位检测电路、电机控制电路、按键电路、温度检测电路等。数码管实时切换显示当前温度与当前液位,当液位过高时,蜂鸣器报警,并且电机反转模拟排水过程;当液位过低时,蜂鸣器报警,并且电机正转模拟进水过程。本系统设计简单,成本低,性能优良,具有一定的稳定性和实用性。 三、硬件电路设计 1.基本原理框图  图一:原理框图 (1)太阳能热水器控制装置主要组成 由CPU、显示电路、按键电路、蜂鸣器电路、电机电路、液位检测电路、温度检测电路、电源电路组成,如图一。 (2)太阳能热水器控制装置的工作原理 接通电源后,显示当前水位,水位被分为16个点。并且显示当前温度。液位显示与温度的显示切换进行。当水位显示低于或等于1时,蜂鸣器报警,并且电机正转,表示进水;当水位显示高于或等于15时,蜂鸣器报警,并且电机反转,表示排水。液位检测利用CD4051 2.各部分电路原理 (1)最小系统 最小系统电路如图二所示。  图二:最小系统 (2)显示电路 采用LED数码管显示,该方案具有实现容易、发光亮度大、驱动电路简单等优点,其可靠性也优于LCD的显示。。 由6个数码管和6个74LS164组成,采用串行静态显示的方法。将数码管的8个输入端与74LS164的输出端Q0~Q7相连。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引脚TO-92小体积封装形式,温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 根据设计要求,DS18B20硬件电路的链接非常简单,仅一根电源线,一根地线和一根数据线即可。温度检测电路如图九所示。  图九:温度检测电路 (8)电源电路 由于电源电压为5V,所以电路中省去了稳压电源部分的电路,直接使用电源电压即可。在电源与地之间加滤波电容,稳定输入到芯片上的电源电压。电源电路如图十所示。  图十:电源电路 四、软件设计 2.I/O口分配 I/O口 P3.0 P3.1 P3.3 P3.5 P1.1 分配 74LS164数据端 74LS164时钟 电机转向控制端 蜂鸣器控制端 4051-A I/O口 P1.2 P1.3 P1.4 P1.6 P1.7 分配 4051-B 4051-C 4051-INH K1 K2 3.软件流程图  EMBED Visio.Drawing.11  五、实现功能 1.液位检测 将水尺放进水中,通电之后,显示当前的水位。最低点水位为1,最高点水位为16。当水位低于点2时,显示H 02的同时蜂鸣器响,电机正转,模拟进水过程;直到水位高于点2后,蜂鸣器停止发声,电机不转。当高于水位点15时,显示H 15的同时蜂鸣器响,电机反转,模拟排水过程;直到水位低于点15后,蜂鸣器停止发生,电机不转。 2.温度检测 实时监测当前温度,与水位切换显示。例如显示为C 27.6。 七、参考文献 [1] 阎石 《数字电子技术》 [2] 胡汉才.《单片机原理及接口技术》.清华大学出版社,1996 [3] 童诗白.《模拟电子技术基础》。高等教育出版社,2001 附录一 程序 ;标志 ;32H水位标志 ;BAOZHI BIT 33H;显示标志;33H=0显水位,33H=1显温度 ;DINGS BIT 34H;34H=0定时,34H=1计数 ;alarmflag BIT 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 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H CLR P1.5;电机不转 MM3: MOV 50H,#20H;水位显示时长 MM33: LCALL SWEI;水位检测 DJNZ 50H,MM33 LCALL XIANC;显C SJMP MM1 MM1: MOV 50H,#10H;温度显示时长 MM2 : LCALL WDCJ;温度检测 DJNZ 50H,MM2 LCALL XIANH;显H SJMP MAIN WDCJ: LCALL GET_TEMP;采集温度值以16进制数,低位放R7,高位放R6 CHENGFA: MOV R3,#0AH;0AH乘以温度值R7R6,结果在R2R3R4R5中,R2最高字节 MOV R2,#00H LCALL MULD CHUFA: MOV R6,#00H;被除数在R2R3R4R5中,R2最高字节,除数在R6R7,R6高字节,结果在R2R3。 MOV R7,#10H MOV R2,#00H MOV R3,#00H LCALL DIVD MOV 20H,R3;R3低字节 MOV 21H,R2 ACALL YASO;压缩16进制数变成压缩10进制数 ACALL L11; 压缩--非压缩 ACALL DAIM; 代码--段码 ACALL XIAN; 显示 LCALL XIANC LCALL XIAOSH LCALL DEL2 RET GET_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 RET INT: CLR EA ;初始化DS1820 L0: CLR P3.4 ;DS1820总线为低复位电平 MOV R2,#200 L1: CLR P3.4 DJNZ R2,L1 ;总线复位电平保持400US SETB P3.4 ;释放DS1820总线 MOV R2,#30H L4: DJNZ R2,L4 ;释放DS1820总线保持60US CLR C;清存在信号 ORL C,P3.4 JC L0;存在吗?不存在则重新来。 MOV R6,#80H L5: ORL C,P3.4 JC L3 DJNZ R6,L5 SJMP L0 L3: MOV R2,#240 L2: DJNZ R2,L2 RET WRITE:CLR EA MOV R3,#8 WR1: SETB P3.4 MOV R4,#8 RRC A CLR P3.4 WR2: DJNZ R4,WR2 MOV P3.4 ,C MOV R4,#20 WR3: DJNZ R4,WR3 DJNZ R3,WR1 SETB P3.4 RET READ: CLR EA MOV R6,#8;连续读8个BIT RE1: 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,#30 RE3: DJNZ R5,RE3;持续60US DJNZ R6,RE1;读下一个BIT SETB P3.4 ;重新释放DS1820总线 RET YASO: MOV R0, #20H;压缩16进制数变成压缩10进制数 MOV R7, #02H MOV R1, #28H LCALL LY1 RET LY1: MOV A, R0 MOV R5, A MOV A, R1 MOV R6, A MOV A, R7 INC A MOV R3, A CLR A LY2: MOV @R1, A INC R1 DJNZ R3, LY2 MOV A, R7 MOV B, #08H MUL AB MOV R3, A LY3: MOV A, R5 MOV R0, A MOV A, R7 MOV R2, A CLR C LY5: 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 R2 LY4: MOV A, @R1 ADDC A, @R1 DA A MOV @R1, A INC R1 DJNZ R2, LY4 DJNZ R3, LY3 RET L11: MOV R1,#10H;压缩10进制数变成非压缩十进制数 MOV R2,#03H MOV R0,#28H L12: 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 RET DAIM: MOV R2, #05H;代码变段码码 MOV R0, #10H MOV R1, #20H L12F: MOV A, @R0 ADD A, #06H MOVC A, @A+PC MOV @R1, A INC R0 INC R1 DJNZ R2, L12F RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DB 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H XIAN: CLR
tj