为了防止程序进入死循环,增加了外部的硬件看门狗定时器IMP813L[3],其内部的看门狗定时器监控UP/UC的工作。如果在1.6s内未检测到其工作,内部的定时器将使看门狗输出WDO处于低电平状态,WDO将保持低电平直到在WDI检测到UP/UC的工作。将WR和WDO连接可使看门狗超时产生复位。
具体硬件电路如图3所示。
2 软件设计
软件主要由3部分组成:主程序、键盘扫描程序、中断处理程序。主程序流程如图4所示。
主要地址分配如表1所列。
表1 地址分配
(1)中断处理过程
当89C51检测到有INT1中断时,进入中断处理程序中,首先检测30H和31H中的内容是否大于20;若不大于20,则门控为P2.2,选中8254-2,选择计数器0、