值取最大值接近最小值取最小值结束查找刷新当前温度寄存器如果温度超过度置位超温标志当温度回落到度以下时清除超温标志测温频率测试函数使用外部中断,寄存器组测出温度频率转换电路的频率找齐起点或计数如果是起点清除测频开始标志取个方波为次测频清除计时器开始计时如果是终点停止计时停止测频外中断置位测频完成标志可控硅触发信号控制函数使用定时器中断,寄存器组向可控硅送出触发信号输出可控硅导通信号关闭定时器中断终止定时器运行延时,保证导通信号有足够的宽度完成可控硅导通信号参数允许定时器中断打开定时器结束开始中断输出可控硅导通信号关闭定时器中断终止定时器运行延时,保证导通信号有足够的宽度结束可控硅导通信号结束图温度检测程序流程图开始打开测频外中断断等待测试完成,置位超温标志清除超温标志结束单片机使用外中断和计时器检测输入的频率大小,为了减少测量的系统误差相对值和随机误差对测量精度的影响,程序中取个方波周期的和作为测量结果。
程序中使用静态变量进行外中断的计数,在测量开始时,我们给赋值是为了让频率测量有准确的起点。
另外,为了区分测频的开始和结束,还使用了测频开始标志位和测频完成标志位。
图为频率测试程序程序流程图。
图频率测试程序流程图调试及性能分析快热式热水器硬件电路不包括任何可调节原件,因此只要器件质量可靠,引脚焊接正确,硬件电路无需测试。
该电路中测温部分的振荡电路对电容才才的容量比较敏感,若此电路要批量生产,可在热敏电阻上再串个可变电阻,以补偿的容量变化。
在初次做本电路或关键硬件参数有调整时,应对系统软件中控制加热功率的可控硅导通角延时参数表和温度频率转换表这两部分进行调试。
开始是起点清除测频起点标志停止计时器计时器清停止测频外中断启动计时器置位测频完成标志结束可控硅导通角延时参数主要由市电的频率和过零检测电路的脉冲宽度决定,可以先根据市电频率,按等功率的要求计算理论值,再根据过零检测电路的脉冲宽度加以调整。
温度频率转换表可以对照标准温度计实测的办法进行测试。
图所示为用实际电路在实验室测得的温度频率曲线图。
用这个方案设计的快热式家用电热水器,电路简单,成本较低,经试验运行证明工作稳定可靠,在无需改变硬件的条件下,如加入等自动控制程序还可以升级成自定温控的电热水器。
频率图温度频率曲线图控制源程序清单以下是快热式电热水器控制源程序清单,采用编写,在环境下调试通过,并下载到测试运行成功。
快热式热水器程序延时函数显示函数按键扫描处理函数加热控制函数测温函数开关键加热档位键加热档位键蜂鸣器输出端可控硅触发信号输出端继电器控制信号输出端加热档位指示灯加热档位指示灯加热档位指示灯当前测得水温寄存器键打开蜂鸣器发出按键音延时消抖关闭蜂鸣器档位加显示当前档位等待键释放返回有键按下键打开蜂鸣器发出按键音档位减显示当前档位等待键释放返回有键按下开关键打开蜂鸣器发出按键音延时消抖关闭蜂鸣器置位开关键等待键释放暂存中断控制字禁止中断清除端口输出显示等待开关键按下打开蜂鸣器发出按键音延时消抖关闭蜂鸣器确认开关键被按下等待键释放还原中断控制字返回无键按下无任何键按下时由此返回加热控制函数无参数,无返回值判断是否加热加热功率及档位指示灯处理,当没有超温标志时接通继电器关闭蜂鸣器判断加热档位档不加热,指示灯不亮档号指示等亮档指示灯亮档全功率,指示灯全亮当有超温标志时断开继电器关闭可控硅蜂鸣报警测温函数无参数,无返回值,影响全局变量,测量并查表计算温度,判断是否超温显示区缓存加热档位寄存器外中断计数器超温标志测温开始标志测温完成标志主函数无参数,无返回值循环调用显示键扫描温度检测加热控制函数初始化水温寄存器初始化加热档位为档清除超温标志默认开关键被按下,进入待机状态设定和工作方式为位定时器设置外中断和为下降沿触发设置外中断优先打开总中断循环次约如果有键按下,显示当前档位调用显示函数次约调用加热控制函数每进行次测温通过改变循环次数的大小决定是否刷新显示取温度绝对值取个位数送显示取十位数送显示带灭零延时函数参数,无返回值延时时间机器周期定义寄存器变量此句编译时以实现,机器周期显示函数无参数,无返回值两位共阳数码管扫描显示,位选赋初值循环扫描两位数码管清除位选送显示段码选通位延时改变位选字消影按键扫描处理函数无参数,返回值无符号字符型,无键按下为,有键按下为其它影响全局变量加热控制电路图所示为加热控制电路原理图,电热丝的加热功率由双向可控制硅控制,单片机通过光耦给可控硅触发信号,控制可控硅的导通角,从而控制电热丝的有效加热功率。
为了在关机和超温保护的状态下能可靠地关断加热电源,电路中设计了继电器来控制加热电源。
其中串联在继电器线圈回路的熔丝为的热保险丝,当温度超过时,热保险丝会熔断,防止加热管干烧。
与电热丝并联的发光管用来指示电热丝的工作状态。
可控硅触发信号中需要对市电进行过零检测,以实现触发脉冲的相位延时。
本电路中是利用三极管和个非门实现过零检测的,电路如图单片机实训许东温度检测电路温度检测电路组成如图所示,温度频率变换电路是利用反相器组成的多谐振荡器,其中的是个热敏电阻,当温度变化时引起热敏电阻的阻值变化,从而改变了振荡器输出的方波频率。
该频率的估算可用如下公式单片机实训许东系统软件程序的设计按快热式热水器的功能,系统程序必需实现以下任务显示扫描按键扫描处理加热控制温度检测包括超温报警。
系列单片机实现多任务运行的方法就是分时复用,在程序设计的时候要相应地分配好各任务的占用时间。
对于以上几个任务稍加分析可以看出,显扫描按键扫描和加热控制任务相对而言有实时要求,而温度检测任务则可用定时实现。
主程序系统在上电复位后,先对温度寄存器档位寄存器赋默认值,并进行清除超温标志,设置定时器及中断系统的工作方式等初始化工作。
由于系列单片机没有停机指令,我们可以利用主程序设置死循环反复运行各个任务。
我们把有实时要求的子程序显示扫描按键扫描加热控制放在最内层的循环中,计算其运行次占用的时间,然后根据温度检测定时的间隔时间,计算出该循环的循环次数。
本例中每运行次有实时要求的子程序即显示扫描按键扫描加热控制约占用时间,运行测温子程序的时间间隔为,那么循环次数应为次。
图为主函数程序流程图。
显示扫描子程序显示子程序完成两位共阳数码管的扫描显示任务,图为显示扫描子函数程序流程图。
图显示扫描子程序流程图图主程序流程图开始系统初始化按键扫描若有键按下,显示加热控制完成次循环温度检测刷新显示温度开始赋位选初值清除位选送显示断码选通并延时改变位选字消隐完成位扫描结束按键扫描处理子程序按键扫描子程序负责逐个扫描档位键档位键和开关键是否被按下,若有键被按下则作出相应处理。
图为按键扫描子程序程序流程图。
加热控制程序加热控制程序根据用户设定的加热档位和系统当前的状态,来决定是否加热和控制加热的功率并点亮相应的指示灯。
如有超温标志还应打开蜂鸣器报警。
图为加热控制程序程序流程图。
加热控制程序通过控制继电器的通断来决定是否给电热丝通电加热,而加热的功率大小则由双向可控硅的导通角决定。
系统程序利用外中断检测市电的过零点,检测到过零点后,立即根据设定的加热档位给定时器赋个延时参数,并打开定时器,允许其中断。
当定时器计满溢出后触发中断,中断程序就会给可控硅发个触发信号,使其导通。
图分别是过零检测函数程序流程图和可控硅触发信号控制程序程序流程图图按键扫描子程序流程图开始键按下发按键音消抖加热档位加返回值键按下发按键音消抖加热档位减返回值开关键按下发按键音消抖关机,停止输出等待开关键再次按下开机,恢复工作返回值结束图加热控制程序流程图开始有超温标志断开继电器关闭可控硅蜂鸣报警接通继电器关闭蜂鸣器加热档位不加热指示灯不亮外中断控制加热指示灯亮外中断控制加热指示灯亮全功率加热指示灯全亮结束图过零检测程序流程图图可控硅触发信号控制程序流程图温度检测程序温度检测程序的基本原理就是将温度频率转换电路测得的频率与事先建立好的温度频率表进行比较,查找出与该频率相应的温度值。
事先在实验测试后建立的温度频率表是温度所对应的频率值,它是个频率对应于温度递减的非线性函数,我们在语言中用个维数组来表示,下标为温度,数组元素为频率值。
计算温度的方法采用高效准确的二分法查表,查表的过程如下先给定查找的温度的最大值和最小值,即确定查找的范围,我们根据已有的温度表默认最大值,最小值。
假定测得温度为最大值和最小值之中间值即。
将实际测得的频率值与假定温度在表格中对应的频率相比较,如果相等,那么假定温度就是当前实际温度,即完成查找。
④如果,说明实际温度应该在和






























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
