太阳能热水器智能控制毕业论文
系统正常控制时,首先显示水温和水位,若检测到水流开关打开用水时,自动断开上水阀和电加热体电源,即实现水电联动,用水停电。当检测到水位过低时,控制单片机在8255A的PC3口的二极管提示加水,然后手动加水。达到最高水位时同样提醒停止加水。在水位超过第二档时,将检测到的实际水温和设置水温进行比较,若实际水温低于设置水温时,则加热体通电进行辅助电加热;若水温高于设置水温时,切断加热体电源;若检测到水位低档,不管温度设置高低,总是停止加热,防止加热体干烧,在加热功能中将最高水温控制在适当的温度,超温时停止加热并报警。
图一系统主程序流程图
4.2 数据采集软件设计
4.2.1中断服务子程序
27
太阳能热水器智能控制毕业论文
保护现场,关闭电磁阀 开始 关中断
调用温度算法子程序 启动计数器T0并延时 将P3口的内容读入水位寄存器SW1中,其地址位0A0H 将SW1中的内容进行处理,得出水位检测结果入SW2 调用水位处理子程序 置P3.4口为第二功能 从计数器T0中读取V/F 的转换结果,并存入WD中
调显示子程序 恢复现场 开中断 中断返回
28 太阳能热水器智能控制毕业论文
4.2.2水位检测子程序
开始 现场保护 取水位结果 是高水位 是次高水是中水位 是低水位 显示指针偏移量置为#00H 显示指针偏移量置为#01H 显示指针偏移量置为#02H 显示指针偏移量为#03H 无水位显示指针偏移量置为04H 启动电磁阀
将显示内容放入寄存器wx中 显示缓冲区地址+偏移=显示段码地址 恢复现场 返回 29
太阳能热水器智能控制毕业论文
4.3 显示和键盘软件设计
当要进行显示和软件设计时,单片机首先要通过P2.7端向8155H的CE端输出一个高电平,选中8155H。
4.3.1 动态显示程序设计
在AT89C51内部的RAM中设置4个显示缓冲单元79H—7CH,分别存放显示器的4位数据,8155H的PA口扫描输出总是只有一位高电平,即显示器的4位中仅有一位公共阴极为低电平,其它位高电平,8155H的PB口输出相应位(阴极为低)的显示字形的断码,使其一位显示出一个字符,其它位为暗,依次改变PA 口输出为高的位,PB口输出对应的段码,显示器的四位就动态地显示出由缓冲区中显示数据所得字符 [18]
。其显示流程如图4-3所示。
30
太阳能热水器智能控制毕业论文
开始显示器缓冲区指标置初值79H存入R0扫描模式置初值01H存入R3R3存入8155H的A口取显示数据查表转换为段码存入8155H的B口延迟1ms显示缓冲器指针R0加1(R3).3=1?R3左移一位NY返回 图4-3 动态显示程序流程图
4.3.2 键盘子程序设计
当键盘无键输入时,8155H的PC0到3口不全为1,只有当键盘有键输入时PC 0-3 口全为1 时,向单片机提出外部中断申请,单片机响应中断请求,由外部中断0的中断服务程序将输入的键号存入模拟通道指针R7,从而使系统采集键号所代表的模拟通道的量,并将其值通过LED显示出来。
31
相关推荐: