消毒柜微电脑控制器
图3.5-2 键盘接口电路
该接口键盘接口电路时通过8255扩展接口,其中8255的PA口作为输入口,作为键盘扫描的列扫信号,而PC口的低四位作为行扫信号的扫描回键盘的键值。
本模块通过编制程序,扫描键盘,来比对键盘的值,来设置三个功能键,设置,消毒、保温、停止三个功能键。
20
消毒柜微电脑控制器 第四章 系统软件设计
4.1 程序设计思想[7]
本程序中使用T0定时器启动A/D转换0809,用T0产生100ms的定时,晶振为6MHz,记数脉冲周期T=2us,设定时初值为X,(2^16-X)*2us=100ms,X=3CB0H,所以TH0=3CH,TL0=0B0H。用INT1中断处理,当0809转换完成后,从P0口读数、再转换成十进制数、送显缓区、再根据键盘扫描的结果对温度值进行比较判断,当按下的键是加热功能键时,系统要控制加热器,开始加热,当温度到达125度时停止加热,当按下保温键时,当温度低于50度时,加热器开始加热,当温度高于70度,停止加热,当按下停止键时;一切动作停止。通过在主程序里面设立标志,中断程序查询标志的方法实现温度与按键的统一和“同步”,实时的控制加热器的工作,以达到人们所要求达到的效果。
4..1.1 主程序设计
主程序主要完成初始化、显示处理、送7279显示、键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,及各寄存器的初始化,其流程框图见图4.1.1-1。
[8]
21
消毒柜微电脑控制器 开始 初始化 显示处理 显示 键盘扫描 N 有键按下否? Y rY 是加热键否? 清保温标志,置消毒标志,启动加热器 N Y 是消毒键否? 清加热标志,置保温标志 N 是停止键否? Y 清消毒、保温标志,关闭加热器 N Y 是校时键否? 校正定时时间,并启动定时器 N
图4.1.1-1 主程序框图
22
消毒柜微电脑控制器 4.1.2 消毒、保温与停止子程序
消毒子程序主要是将消毒标志置为1,将保温标志置为0,再点亮消毒指示灯,判断计时时间到达否,到达则关加热器,没到则开加热器。消毒子程序流程框图如图4.1.2-1所示。
开始 消毒标志置为1, 保温标志置为0 P1.5置为1,点亮消毒指示灯 Y 计时到达否? N Y 温度大于125度? N 停止加热,置P1.4高 启动加热,置P1.4为低 关消毒指示灯 返回
图4.1.2-1 消毒子程序流程框图
23
消毒柜微电脑控制器 保温子程序主要用于当用户按下保温键时对系统进行保温。先点亮保温指示灯,置保温标志为1,再判断倒计时是否到0,若没到则再检测当前系统的温度是否在50-70度之间,大于70度时关加热器,小于50度时开加热器。若倒计时归零时,直接停止保温,其流程框图如图4.1.2 -2所示。
开始 消毒标志置为0, 保温标志置为1 P1.6置为1,点亮保温指示灯 Y 计时到达否? N Y 温度大于70度? N N 温度小于50度? Y 停止加热,置P1.4高 启动加热,置P1.4为低 关消毒指示灯 返回
24