太阳能热水器智能仪_第1页
太阳能热水器智能仪_第2页
太阳能热水器智能仪_第3页
太阳能热水器智能仪_第4页
太阳能热水器智能仪_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

太阳能热水器智能仪摘要当前能源紧缺,用电紧张,太阳能是绿色能源,得到广大用户的喜爱。使用太阳能热水器时存在的问题不可缺水,空晒情况下上水会爆炸;春、秋天,水温升高蒸发,造成热能损失;冬天水温不够,须用电等等。采用太阳能热水器智能仪(仪称太阳能热水器水温水位测控仪),能解决上述问题。使用户省心,使用方便,智能运行,用户不必作任何操作。关键词太阳能热水器工作原理技术性能引言当前能源紧缺,用电紧张,太阳能是绿色能源,得到广大用户的喜爱。使用太阳能热水器时存在的问题不可缺水,空晒情况下上水会爆炸;春、秋天,水温升高蒸发,造成热能损失;冬天水温不够,须用电等等。采用太阳能热水器智能仪(仪称太阳能热水器水温水位测控仪),能解决上述问题。使用户省心,使用方便,智能运行,用户不必作任何操作。太阳能是一种低密度、间歇性、空间分布不断变化的能源,与常规能源有很大的区别,这就对太阳能的收集和利用提出了较高的要求。在太阳能热利用中,为了得到中高温热能,必须使集热器从日出到日落跟踪太阳,而在太阳能光电中,相同条件下,自动跟踪发电设备要比固定发电设备的发电量提高35,成本下降25。因此在太阳能利用中,进行跟踪装置的控制方式进行研究是一项很有意义的工作。1本课题技术性能要求1使用电源220VAC,功耗5W。2水温数码显示,测温范围0990C;精度20C。3水位分五档显示(缺水、20、50、80、100)。4具有缺水上水、温控上水、手动上水和低水压上水等功能。5水位设置。可设置加水水位20、50、80、100(本仪预置水位50)。6缺水报警。当水位从高到低,出现缺水状态时,蜂鸣报警,缺水指示灯闪亮。2工作原理21原理利用热敏电阻和液位传感器检测水温和水位,并加以显示。根据水温水位情况进行控制。当水位从高到低,出现缺水状态时,蜂鸣报警,缺水指示灯亮,延时15分钟,若温度不超过990C,(以免空晒后上水造成炸管),自动上水至预置水位;若温度高于1000C,不上水。太阳晒后,水温上升,当温度超过600C且水未满时,打开电池阀上水至500C;防止出现低水量、高水温的不合理现象。晚上,若热水已用完,延时15分,进行缺水上水;若热水未用完,不上水,以保证热水充分利用;第二天太阳出来后,利用温控上水。在上水的过程中,水压过低或停水,智能仪会自动进入低水压上水模式,低水压声光报警,间隔30分钟启动上水,若30分钟内不能使水位上升一挡,则停止30分钟,然后再启动,反复循环。以免电池阀长时间通电而烧毁。22实现方案(附录1系统示意图)通过“水位设置”键可进行水位设置,可设置加水水位20、50、80、100(本仪预置水位50)。通过“上水”键,可实现手动上水。通过“上水”键,若水位低于预置水位,可上水至预置水位;若水位已达到预置水位,则在原水位基础上再加一档;若水位已加满,则停止手动加水。在上水过程中,按“上水”键,可停止上水。3硬件设计31直流电源的设计311直流电源的图解本课题可采用集成三端稳压器,只要加上一些外围元件即可实现。其框图和电路分别如下图312方案论证通过框图分析,该电路由四个部分组成,它们的功能分述如下(1)电源变压器它的任务是把电源电压变压到合适的大小。如果U2的值太大,会造成集成三端稳压器7805的功耗太大,温度升高,且浪费电能。反之,如果U2的值小到一定的程度,三端稳压器不能正常工作,失去稳压作用。因此U2的值应大小合适,这个值应该使三端稳压器在交流电网电压最低和输出电流最大时能正常工作。而且在正常稳压的前提下,它的压降尽可能小,以减少功耗。(2)整流电路它的任务是将正弦波变换成直流电压。这里一般采用桥式整流电路来实现,即可用四个二极管来组成,也可用整流桥堆来完成,只是参数一定要选择合理。(3)滤波电路它的任务是将全滤波形通过RC滤波网络以后变成更平坦的直流电压,减小脉动,提高整流的效果。这时整流管中通过的电流的瞬时值要比平均值大得多,特别在接通电源瞬间有相当大的冲击电流(即充电电流)通过整流管,这一点要引起注意。(4)稳压电路要求输出恒定的直流电压,且要达到提出的要求,313方案实现(1)计算U2和C1查阅集成三端稳压器的知了可知,对输出电压在5V12V之间的稳压器,其输入端的电压一般要比输出端电压高5V。而输出电压在15V24V的稳压器,其两端电压差达到7V9V左右。在此,如果1,2两端的电压为12V,那么可以求得U2为10V。从电容滤波出发,C1的容量应足够大,但C1的容量也不能太大,否则整流元件的瞬时电流太大,而且容量越大,电容器的体积越大,价格越贵,根据经验综合各方面情况,取C13300UF2整流元件的参数1)反向耐压根据桥式整流电路的性能可知,每个整流二级管在交流电网最高时承受的最大反向峰植电压为为了安全,整流管的反向耐压应比上述植高50以上,因此选择整流管时,其耐压应按下式考虑2)正向电流桥式整流电路中,每个整流二极管的正向电流平均值是输出电流的一半,其最大值为1由于整流管在接通电源瞬间有相当大的冲击电流(即充电电流)通过,因此,整流管的参数(正向电流平均值)应比上述值大(052)倍。若按比上述值大18倍考虑,则18目前,市场上有各种规格的整流桥堆出售,它有两个交流输入端和两个直流输出端。由于它体积小,使用方便,价格较低,已成为常用整流元件。根据上面的计算,本电源可选用1A/25V的整流桥堆。(3)变压器二次绕组的电流由于电容滤波整流电路中,整流管的电流不是正弦波,变压器二次绕组电流的有效值要比输出电流大,一般情况下,前者是后者的(113)倍。这里我们取因此,变压器二次绕组的额定电流(交流有效值)应按2A设计。在本设计中,对电磁阀的直流电源的要求不不高,又因为1,2两端的电压为12V,为节省资源,故可直接取用1,2两端的电压作为电磁阀的直流电压,无需再另行设计12V稳压电源。32输入接口电路接口电路是一组电路,是中央处理器与存储器、输入/输出设备等外设之间协调动作的控制电路。从更一般的意义上说,接口电路是在两个电路或外设之间,使两者动作条件相配合的连接电路。接口电路并不局限在中央处理器与存储器或外设之间,如直接存储器存取DMA接口电路就是控制存储器与外设之间数据传送的电路。接口电路的作用就是将来自外部设备的数据信号传送给微处理器,微处理器对数据进行适当加工,再通过接口电路传回外部设备。所以,接口电路的基本功能就是对数据传送实现控制,具体包括5种功能地址译码、数据缓冲、信息转换、提供命令译码和状态信息、定时和控制。不同的接口电路用于不同的控制场合,因此其功能也各有特点。如并行接口电路不要求数据格式转换功能,来自总线的并行数据就可直接传送到并行外设中;而串行通信接口电路就必须具备将并行数据转换为串行数据和将串行数据转换为并行数据的功能。本设计所用到的传感器,包括测水位的传感器与测水温的传感器,分别作如下介绍(1)水位传感器它的结构图如下说明结构图中的电阻外表面均不与水直接接触,但分别与A、B、C、D良好接触,A、B、C、D用于感知水位。硬件图中HD74HC04P是一个六反向器,管脚如下图所示它在本设计中用于接成环形振荡器。选择合适电容、电阻值时,环形振荡器就能根据每次传感器的阻值产生相应特定周期的方波。其中为水位传感器的电阻值由传感器的结构图可看出当水位未达到A时,即HA时、这时传感器的总阻值为4R,对应,系统处于缺水状态。当AHB时,传感器电阻阻值为3R,对应,系统处于20水位。当BHC时,传感器电阻阻值为2R,对应,系统处于50水位。当CHD时,传感器电阻阻值为R,对应,系统处于80水位。当HD时,传感器电阻阻值为0,对应,系统处于100水位。其中,环形振荡器产生的方波周期T(或F)可通过单片机P87LPC744BN的两个定时/计数器(T0、T1)来确定,T1用来计数,T0用来定时。所以,水位传感器测水位的基本原理如下(M为T1的计数值,为T0的定时值)。(2)水温传感器本设计可选选用具有负温度系数的热敏电阻来测水温,热敏电阻与普通电阻不同,它具有负的温度特性,当温度升高时,电阻值减小,它的应用是为了感知温度。现选用MF51型直热式负温度系数热敏电阻,它的技术特性如下型号标称电阻()材料常数()温度系数()使用温度范围MF5115K33003755300520K3600402080K39004380100K430047它能满足本设计的测量灵敏度要求和2的测量精度要求,性价比较高。测量原理与水位传感器一样,在设定好合适的参数(R1、R2、RS、C)后,对应每个热敏电阻阻值,环形振荡器便能产生一个特定周期的矩形波。T可通过单片机的T0外部计数和T1内部定时的方式确定。故然后通过下列公式求温度其中被测温度与热敏电阻特性有关的参数与热敏电阻特性有关的系数热敏电阻阻值以上计算均可由软件编程实现,把计算出的温度转化成BCD码,然后再存放于显示缓冲区中,执行相应的功能程序。33键盘中断本系统存储容量不大,4KROM,128RAM足够,由于只有二个键,且不经常操作,所以本设计中采用了中断方式,其中与P02口的键盘是用于手动上水功能,与P03口连接的键盘用于水位设置的功能。34显示接口本设计中采用了共阴极接法,对于显示水温水位的程序作如下说明在动态扫描过程中,调用延时子程序DEL1,其延迟时间为1MS,这是为了使扫描到哪位显示器稳定的点亮一段时间,犹如扫描过程中在每一位显示器上都一段驻留时间,以保证其显示亮度。本设计接口电路是软件为主的接口电路,对显示数据以查表方法得到其字形代码,为此在程序中有字形代码TABLE,从0开始依次写入十六进制数的字形代码。为了进行查表操作,使用查表指令MOVCA,ADPTR,由DPTR提供16位基址,由A提供变址,因此显示数据送A后,再由A送P01P06输出给显示器。(1)水位显示本系统需显示水位,水位分缺水、20、50、80五档,均用发光二极管来指示。(2)水温显示本系统需显示水温,测量范围为0990C,用两个八位LED数码管显示。1)LED结构和显示原理。LED(LIGHTEMITTINGDIODE)显示器是由发光二极管作为显示字段的显示器件,最常见的是由7段型发光二极管(AG7段)和1个圆点型发光二极管(常以DP表示,主要用来显示小数点)组成的LED显示器,其排列形状如下图所示。这种LED显示器也可称为7段数码显示器(或8段数码显示器)。LED显示中的发光二极管根据其连接的方法有共阴极和共阳极两种结构。共阴极结构把各段发光二极管的阴极连接在一起构成公共阴极,如图A所示。使用时,公共阴极接地,根据要求需点亮发光二极管的阳极输入高电平,不需点亮的发光二极管的阳极输入低电平。共阳极结构把各段发光二极管的阳极连接在一起构成公共阳极,如图B所示。使用时,公共阳极接5V,根据要求需要点亮发光二极管的阴极输入低电平,不需点亮的发光二极管的阴极输入高电平。通过控制7个段的发光二极管的亮暗的不同组合,可以显示多种数字、字母以及其他符号。2)字段码。为了显示各个数字或字符,就需要为LED提供相应的代码,因为这些代码是控制各段的亮或灭,供显示器显示字形的,所以称为字段码(也可以称为段选码或字形码)。七段发光二极管再加上1个小数点位,共计8段,因此提供给LED显示器的字段码正好1个字节。各代码位的对应关系如下D7D6D5D4D3D2D1D0DPGFEDCBA下图所示为共阴极LED所显示的不同字符的字段码,测量范围为0990C,当温度超出范围时,显示器均显示F。显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FHF71H3)N位LED显示器。在单片机应用系统中,实际使用的LED显示器有多个,N位LED显示器的显示要从两个方面来控制其一是控制N位的字段显示(即显示什么字符);其二是控制字位(即哪一位到哪一位亮)。由LED的显示原理可知,要使某N位LED显示器的某一位显示某个字符,就必须将此字符转换为对应的字段码来控制该位的8个段,同时,该位的字位线也要控制有效,这要通过一定接口来实现。LED显示器有两种显示方式,即静态显示方式和动态显示方式。N位LED显示器有N根字位选线(简称“位选线”)和N8根字段选线(简称“段选线”)。根据显示方式不同,位选线和段选线的连接方式也不同。各种字符的字段码的获取方法有两种即软件译码和硬件译码法。目前通常所用的各种型号的单片机开发系统或实验装置普遍采用软件译码。当单片机应用系统中的LED显示器位数较多时,为了简化电路降低成本,本设计采用动态显示的方式。动态显示方式的接口电路的连接方法是将所有LED位的段选线(ADP)同名并联,即所有A段并联,所有B段并联。依次类推,然后由一个8位I/O接口来控制各个段,而所有位的位选线则由另外一个相应的I/O接口线来控制。这样用两个8位I/O接口就能控制8位LED显示器。LED显示器是由电流型控制器件,其工作电流为2MA20MA,使用时须加限流电阻。本设计中限流电阻选用1K。动态扫描显示控制方式就是逐个地循环点亮各位显示器,即在某一瞬间,只让某一位的位选线处于选通状态(共阳极的为高电平,共阴极的为低电平)其它各位的位选线处于段开状态,同时段选线上输出相应位要显示字符的字段码。这样在每一个瞬间,8位LED中只有选通的那一位LED显示出字符,而其它7位则是熄灭的。同样,在下一瞬间,只显示下1位LED。如此继续下去,等8位LED都显示完毕后,在循环进行。虽然这些字符是在不同的瞬时轮流点亮的,但由于人眼的视觉残留效应,看到的是8位稳定显示的字符,与静态显示的效果完全一样。所以为了简化电路、降低成本,此系统中采用动态显示方式。35电磁阀由于本系统中执行机构控制的是电磁阀,因此需用三极管进行功率放大。36晶振为给单片机提供工作所需要的时钟信号,本设计中采用了6MHZ的晶振。故系统中CPU执行的每一个机器周期为2US37主机主机的选择是关键,选得好,可节省许多外围电路,本设计采用的是由PHILIPS公司生产的P87LPC764BN芯片,是20脚封装的单片机,适合于要求高集成度、低成本的场合。采用80C51加速处理器结构,指令执行速度是标准80C51的两倍。片内有4K字节OTP程序存储器,128字节的RAM。32BYTE用户代码区可用来存放序列码及设置参数;有看门狗电路、复位电路(使用片内上电复位时不需要外接组件);2个16位定时/计数器,2个A/D转换器;所有口线均有20MA的驱动能力;电源电压VDD4560(操作频率为20MHZ)。本设计中已经充分利用了该单片机的所有I/O口,且已能满足设计的要求,性价比高,组成了一个最小,最优化的系统。现对P87LPC764BN这块芯片作如下介绍(1)概述P87LPC76X是20脚封装的单片机,适合于许多要求高集成度、低成本的场合。可以满足许多方面的性能要求。作为PHILIPS小型封装系列中的一员,P87LPC76X提供高速和低速的晶振和RC振荡方式,可编程选择。具有较宽的操作电压范围。可编程I/O口线输出模式选择,可选择施密特触发输入,LED驱动输出。有内部看门狗定时器。P87LPC76X采用80C51加速处理器结构,指令执行速度是标准80C51MCU的两倍。P87LPC76X采用增强型80C51MCU,其运行速度是标准80C51的2倍,这意味着P87LPC76X在5MHZ时性能和标准80C51采用10MHZ时性能相同。一个机器周期由6个振荡周期组成,大多数指令执行时间为6或12个振荡周期,用户亦可选择工作在标准80C51MCU时序,这时一个机器周期变为12个振荡周期。“MCU时钟”指控制内部指令执行的时钟。当系统被设置成为标准80C51时序(由CLKR位确定)或通过设定DIVM寄存器分频时,“MCU时钟”和外部所加时钟不同。(2)特性操作频率为20MHZ时,除乘法和除法指令外,加速80C51指令执行时间为300600NS。VDD4560V时,时钟频率可高达到20MHZ,VDD2745V时,时钟频率最大为10MHZ。VDD4560V(P87LPC765HDH)数字信号的操作电压为2760V。P87LPC762为2K字节OTP程序存储器,P87LPC764为4K字节OTP程序存储器,128字节的RAM。32BYTE用户代码区可用来存放序列码及设置参数。2个16位定时/计数器,每一个均可设置为超时溢出时相应端口输出。八个键盘中断输入,另加2路外部中断输入。4个中断优先级。看门狗定时器利用片内振荡,无需外接元件,看门狗定时器溢出时间有8级选择。低电平复位。使用片内上电复位时不需要外接元件。低电压复位。可选择预先设定好的两种电压之一复位,当掉电时允许系统安全关闭。也可将其设置为一个中断源。可选择片内振荡及其频率范围和RC振荡用户通过对EPROM位编程选择。选择RC振荡器时不需外接振荡器件。如果选择片内振荡及复位时,P87LPC76X仅需要连接电源线和地线。20脚DIP、SO和TSSOP封装。管脚配置逻辑符号方框图(3)键盘中断(KBI)键盘中断功能主要是使得连至P87LPC76X特殊脚的键盘上任一键被按下时能产生一个中断(见图12)。该中断可用于将MCU从空闲模式或掉电模式中唤醒。此特性尤其适合便携式且使用电池供电的系统。P87LPC76X允许端口0的部分或全部引脚被使能触发中断,这是通过对KBI寄存器对应位置位完成的,如图13所示。当打开KBI中断功能后,任一被使能引脚被拉低都会将AUXR1寄存器内键盘中断标志(KBF)置位。如若中断允许则将产生一中断。注意KBF位必须由软件清除。由于人对时间分辨精度及键开关闭合的机械延迟,KBI特性通常可用于中断服务程序轮流查询端口0以确定按下的是哪个键,甚至决定处理器从低功耗模式唤醒。参见低功耗模式部分。本系统存储容量不大,4KROM,128RAM足够,由于只有二个键,且不经常操作,所以本设计中采用了中断方式,其中与P02口的键盘是用于手动上水功能,与P03口连接的键盘用于水位设置的功能。当产生键盘中断时,用软件判断按下的是哪个键,框图如下本设计中键盘中断要实现两个功能水位设置和手动上水1)其中水位设置键与P03口连接,具体功能叙述如下当水位不足情况下,未按下水位设置键时,默认预置水位为50,在上水过程中,水位指示灯灭。当按一下水位设置键时,80水位指示灯亮,表明要上水到80;当按第二下水位设置键时,100水位指使灯亮,表明要上水到100;当按第三下水位设置键时,20水位指示灯亮,表明缺水时,要上水到20;当按第四下水位设置键时,预置水位又为50,表明要上水到50;在具体的软件判别中,可通过查表P03是否置高电平来确认键盘有没按下,可用MOVA,P0;JNBACC、3等几条指令来实现。通过对每一次的键盘按动进行加1记录,即当每次P03为高电平时,加一条INCR,指令,当R1为5时,又重新赋值为1,而后对R1的值进行判断,以确认水位设置键到底设置了哪个水位,框图如下2)手动上水键与P02口连接,可用MOVA,P0;JNBACC、2两条指令来查看手动上水键有没被按下。它的具体功能如下按“上水”键,若水位低于预置水位,可上水至预置水位;若水位已达到预置水位,则在原水位的基础上再加一档;若水位已加满,则停止手动加水,在上水过程中,按“上水”键,可停止上水。同水位设置键一样,当奇数次按下此键时,表示要上水,当偶数次按下此键时,表示停止上水,框图如下(4)振荡器P87LPC76X提供几种用户可选振荡器选项,允许根据需要从高精度至最低成本范围内选择。这些选项在EPROM编程时配置。支持的基本振荡器类型包括低、中、及高速晶振,20KHZ20MHZ,陶瓷振荡器及片内RC振荡器。片内RC振荡器选项RC片内RC振荡器典型频率为6MHZ,可通过DIVM寄存器分频后获取较低频率。注意片内振荡器频率有25误差,因此不适于某些场合使用。使用RC振荡器时X2/P20脚可用作标准端口引脚。此时亦可选择X2/P20脚输出时钟。时钟输出P87LPC76X在选择片内RC振荡器或外部时钟输入时支持时钟输出功能。这使得外部器件可与P87LPC76X同步。对P2M1寄存器的ENCLK置位后,无论是否处于空闲模式,只要片内振荡器运行,X2/CLKOUT就有信号输出。输出时钟频率为MCU时钟频率的1/6。如果空闲模式时不需要时钟输出,可在进入空闲模式之前关闭输出以节省电能。选择外部时钟时亦可输出时钟。振荡器必须设置为下列模式之一低频晶振中频晶振高频晶振为限制晶振驱动电平可串联电阻,对于低频晶振尤其重要。振荡器须设置为外部时钟输入模式。将P2M1寄存器内CLK位置位可从X2脚输出时钟。(5)复位P87LPC76X内部集成了上电复位电路,用于在器件上电时提供一个复位信号。建议使用内部复位以节省外部元件并可将P15作为通用的输入口使用。P87LPC76X另外还可通过对用户配置寄存器UCFG1中的RPD位编程为0,将P15作为外部低有效复位管脚RST。此时内部复位在器件上电时仍然有效。当RST脚的信号为低电平时,P87LPC76X保持复位直到信号变为高电平。看门狗定时器可用于检测振荡器是否正常工作,因为看门狗定时器使用的是独立的片内振荡器。对UCFG1的描述见本手册的“系统配置字节”一节。将EPROM配置寄存器UCFG1内RPD位编程为1可关闭外部复位输入,即选择使用完全内部复位。(6)定时器计数器P87LPC76X有两个通用定时/计数器,与80C51定时器0及定时器1兼容。两者均可选择以计数器或定时器方式工作。另外增加了定时器溢出时T0与/或T1脚自动翻转的功能。在用于定时器功能时,每个机器周期寄存器加1。所以可以视为计数机器周期。由于一个机器周期包含6个MCU时钟周期,所以计数频率为MCU时钟频率的1/6。有关MCU时钟参见增强MCU一节。在用于计数器功能时,寄存器在T0或T1脚的每一个下降沿加1。此时,每一个机器周期对外部输入采样一次。当某一周期时引脚状态采样为高而下一周期采样为低,计数器加1。检测到跳变的下一周期寄存器更换新值。由于检测下降沿跳变需两个机器周期,所以计数频率最大值为MCU时钟频率的1/6。外部输入信号占空比并无限制,但必须保证信号在改变之前至少被采样一次,信号必须保持至少一个整的机器周期。通过特殊功能寄存器TMOD内控制位C/T选择定时器或计数器功能。此外,定时器0及定时器1有4种工作模式,由TMOD内M1及M0选择,模式0、1、2对于定时器及计数器是一样的。模式3则不同。(7)看门狗定时器看门狗定时器由一个完全独立的振荡器控制,以保证其最大限度的可靠性,它通过“WDTE”位启动。当看门狗功能被启动,定时装置必须定时得到软件的清除,以防止其溢出,对MCU复位,但是定时装置不能被关闭。当不作为看门狗定时器(通过UCFG1寄存器的WDTE位控制),它将作为一个内部定时器使用,且产生中断。看门狗定时器如图31所示。看门狗溢出时间选择有8个数据,理论上时间跨度从16MS到21秒。独立的看门狗RC振荡器的频率误差37,溢出时间和其它的控制位如图32所示。当使能看门狗功能时,在芯片初始化时向WDCON写入数据以设定看门狗溢出时间。建议初始化WDCON时,先清看门狗,然后写“WDCON”配置的WDS20位。采用这种方式,能在10MS内完成设置,从而避免在初始化完成前看门狗溢出复位。由于看门狗定时器振荡器是一个完全独立于MCU的片内振荡电路,它实质上执行的是内部振荡器失灵的检测功能。当看门狗功能被启动,无论MCU振荡器因何故失灵,看门狗定时器都会溢出使MCU复位。当看门狗功能被启动,定时器会因由于其它原因造成芯片复位而暂时无效。如电源复位、掉电复位或外部复位等。(8)看门狗清“0”顺序如果看门狗定时器正在进行,必须在其溢出产生复位前清“0”,看门狗清“0”顺序包括先写立即数1EH,再写0E1H到“WDRST”寄存器。下面是一个操作实例WDFEEDMOVWDRST,1EHMOVWDRST,0E1H这两条写WDRST的命令不必是连续的两条指令。一个不正确的看门狗清“0”顺序不会引起看门狗定时器的任何即刻反应。只要此时间之前没有给它一个正确的清“0”,它仍然按最初设置的时间直到溢出。发生芯片复位后,程序设计者清看门狗或改变溢出时间都有一定的限制时间。如果操作中使用低MCU时钟频率,那么在发生看门狗溢出之前能被执行的指令非常少。(9)附加功能“AUXR1”寄存器由几个特别控制位组成,这些位另几种芯片功能相关。AUXR1在图33中详述。4软件设计41I/O口的说明P0006分别用于输出7个字型码给显示器,同时,P00也作为缺水灯指示控制口,P01作为20水位灯指示的控制口,P04作为50水位灯指示的控制口,P05作为80水位灯指示的控制口,P06作为100水位灯指示的控制口。P03口还作为水位设置的输入口,在软件中可查看该口的电平高低,以确认水位设置键是否被按下。同理,P02口作为上水键的输入口,在软件中可查看该口的电平高低,以确认水位设置键是否被按下。P10作为显示器显示温度值十位的位选,当P100时,显示器才能显示个位,否则不显示。P17作为水位灯显示的位选,P17为高电平时,不显示水位灯,P17为低电平时,水位灯才能显示。P13口用于控制低水压上水指示灯,当系统正处于低水压上水时,低水压上水指示灯闪亮,即P13先处于高电平1S,再处于低1S,重复一段时间。P16口用于控制蜂鸣器,当系统处于缺水状态或低水压上水时,蜂鸣器都会鸣叫,即让P16处于高电平1S,低电平1S,重复一定时间,以实现蜂鸣。P14口控制电磁阀,当系统需要上水或不上水时,即需通过软件使P14处于高低电平,将P14置1时,打开电磁阀上水,将P14清0时,关电磁阀。P21及P20口用于外接晶振,为单片机提供工作所需的脉冲。P12口是定时/计数器T0的接口,用于对温度传感器,通过环形振荡器产生的方波进行计数,以求通过软件来计算出所测温度值。P07口用于定时/计数器T1的接口,水位传感器通过环形振荡器后,产生的方波的频率(或周期),即可由T1的计数,与T0的定时来求得。42系统存储器功能本设计中将温度传感器所测出的温度值的个位放入内部RAM30H中,将十位放入内部RAM31H中,将计数器T1读取的计数值放入50H中,在测水位时,将T0计数器读取的计数值存入60H中,经软件计算后,所得的用于衡量水位高度的频率值放入20H中。查表程序中的数据表格,十六进制数字形代码表如下TABLE00HTABLE01HTABLE02HTABLE0FH3FH012F06H5BH71H43水温水位显示主程序ORG0000HAJMPMAINORG0003HAJMPINT0ORG0013HAJMPINT1ORG0030HMAINACALLLOOP1;调用显示水温子程序ACALLDEL1;延时子程序SETBP10;不显示温度(以下是水位程序)SETBP11;同上CLRP17;水位灯位选为0MOVA,20H;将水位值送入(A)CJNEA,A,PB0SETBP01SJMPFHPB0JNCTD0;如果F比A大,则转移,比A小是缺水状态MOVR4,05HSETBP16;蜂鸣器每3分钟叫一次LP6MOVR3,5AHLP5MOVR7,02H;设置R7值LP2MOVR6,0FAH;设置R6值LP1SETBP10;十位显示器位选置1SETBP11;个位显示器位选置1CLRP17;水位显示位选清0SETBP00;缺水指示灯亮ACALLDEL1;调用1MS延时子程序ACALLLOOP1;调温度显示子程序DJNZR6,LP1DJNZR7,LP2MOVR7,04HLP4MOVR6,0FAHLP3ACALLLOOP1;DJNZR6,LP3DJNZR7,LP4DJNZR3,LP5CLRP16;关蜂鸣器DJNZLP6MOVA,31HRLAADDA,30HCJNEA,99,ZY;温度值不等990C则转ACALLSHSHSJMPMAINZYJNCBSH;温度超过990C不上水,小于990C上水ACALLSHSHSJMPMAIN;调转主程序BSHCLRP14SJMPMAINTD0CJNEA,B,TD1;水位值没到50则转SETBP04;50水位指示灯亮SJMPFHTD1CJNEA,C,TD2;水位值没到80则转SETBP05;80水位指示灯亮SJMPFHTD2CJNEA,D,TD3SETBP06SJMPFHPBSETBP05SJMPFH;不缺水时水位指示灯显示子程序以上为显示水位子程序44水温显示子程序ORG0050HLOOP1MOVR0,30HMOVDPTR,TABLECLRP11SETBP17SETBP10ACALLLOOP2;先显示个位ACALLDEL1SETBP11CLRP10INCR0ACALLLOOP2;再显示十位RETORG0070HLOOP2MOVA,R0;查表子程序MOVCA,ADPTRTABLEDB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHDB77H,7CH,39H,5EH,79HDB71H,00HMOVP0,ARETORG0090HDEL1MOVR6,0F9H;1MS延时子程序LOOP3DJNZR6,LOOP3RETFHMOVA,31HRLAADDA,30HCJNEA,60H,PD0SJMPMAINZP0MOVA,20HCJNEA,DSH0;水位小于100则上水至500CSJMPMAINSH0MOVR3,09HZL2MOVR7,OFFHZL1MOVR6,OFFHZL0SETBP14ACALLDEL1;1MSACALLLOOP1;1MS调水温显示ACALLDEL1;1MSSETBP10SETBP11CLRP17ACALLTD0;调水位显示MOVA,31HRLAADDA,30HCJNEA,50H,JXX;30分钟内有没上水到500C,若没转移CLRP14SJMPMAINJXXDJNZR6,ZL0DJNZR7,ZL1DJNZR3,ZL2CJNEA,50HCLRP14SJMPMAINZZHACALLDSH;调低水压上水SJMPSH045中断服务程序ORG0100HINT10PUSHACCMOVA,TH0CJNEA,61H,ZHYD2MOVA,TL0;读低八位CJNEA,50H;比较低八位SJMPZHYD3;T0值没有变化转移ZHYD程序ZHYD2MOVA,TH0;存放高八位MOV61H,AMOVA,TL0MOV60H,A;存放低八位MOV20H,H;把所测水位值放入20H中ZHYD3MOVTMOD,51H;设置T0定时,T1计数并采用方式2MOVTH0,00HMOVTL0,00HMOVTH1,00HMOVTL1,00HSETBTR0;启动T0SETBTR1;启动T1POPACCRET46T0中断服务程序ORG0200HINT0CLRTR1MOVSP,PUSHACCMOVA,TH1;读高八位CJNEA,51H,ZHYD0;高八位不等,则两数不等转移MOVA,TL1;读低八位CJNEA,50H;比较低八位SJMPZHDY1;相等则转移ZHYD0MOVA,TH1;放入高八位MOV51H,AMOVA,TL0;放入低八位MOV50H,ALOOPMOVB,XXHMULABMOVA,YYHCLRCSUBBA,BCJNEA,6AH;看下所测温度有没超1000CLOOP1JNCLOOP2;低于1000C顺序执行,高于1000C转移MOVR0,00HCLRCCHAN2SUBBA,0AH;减10JCCHAN3;不够减转移INCR0;够减,十位数加1SJMPCHAN2;重复减10CHIN3ADDA,0AHMOV31H,R0;BCD码十位送显缓MOV30H,A;BCD码个位送显缓ZHYD1MOVTMOD,15H;设置T1定时,T0计数并采用方式1MOVTH0,00H;送初值MOVTL0,00HMOVTH1,00HMOVTL1,00HSETBTR0;开启T0计数SETBTR1;开启T1定时SJMPLOOP3LOOP2MOV30H,0FHMOV31H,0FHACALLLOOP1;显示温度LOOP3POPACCRETI47水位设置及缺水上水至预置水位的程序ORG0300HSHSHMOVR1,00HMOVAUXR1,00H;先将置位端KBF清0MOVKBI,0CH;允许P03,P02口中断SETBEKB;使能触发MOVA,P0ORLA,0CH;将P02,P03位先置高,其它位不变MOVP0,AMOVA,P0JNBACC3,KEY;P03为0,即键被按下ACALLSH50;未被按下,预置水位为50SJMPFHZKEY3INCR1MOVAUXR1,00HCJNER1,05H,BJ1MOVR1,01HACALLSH80SJMPFHZBJ1CJNER1,01H,BJ2ACALLSH80SJMPFHZBJ3CJNER1,03H,ZHDACALLSH20SJMPFHZZHDACALLSH50FHZRETI48上水及低水压上水子程序ORG0400HSH50MOVR4,09HJX3MOVR3,6AHJX2MOVR7,04HJX1MOVR6,0FAHJX0SETBP10SETBP11SETBP17SETBP04SETBP14;开电磁阀ACALLDEL1;1MSMOVA,20HCJNEA,B,JXSETBP13CLRP14;上水完毕关电磁阀SJMPFHDJXDJNZR6,JX0DJNZR7,JX1DJNZR3,JX2DJNZR4,JX3MOVA,20HCJNEA,B,CY;采用低水压上水SETBP13CLRP14SJMPFHDCYACALLDSHSJMPSH5

温馨提示

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

评论

0/150

提交评论