微处理器通用时序控制器

🏠 首页 《无线电》杂志 1992年 🔗 第3期 🔗 第26页 分类:无线电技术自学经验交流 🔗 张克静 🔗

目前,有很多事务管理工作如作息时间,报时以及公用照明的定时启闭等仍为人工操作,这样不仅浪费大量人力,而且不易做到准确无误。为此,本文以广泛使用的Z-80微处理器为基础,开发设计出通用时序控制器软件程序框图,配合相应的受控部件即可实现上述过程的自动化管理,同时该系统还具备其它一些优良的性能,例如可以提供时钟系统的母钟时间标准,以及在全国范围内跟踪各地区的日出、日落时间从而对公用照明进行自动化管理,此外也能按照不同需要修改程序,以实现某些特殊控制要求。

系统的主要功能

1.具有时钟和日历的功能:该装置除具有精确的时间和日历的显示功能外,还能为交通枢纽等各公共场所的时钟系统提供“母钟”时间标准。

2.具有自动打铃报时的功能:根据作息时间表编制的程序能完成自动打铃和停铃。

3.具有对常规的节假日自动停止打铃报时的功能。

4.具有对冬季和夏季时间进行自动切换的功能。

5.由于该装置使用期限可延续到9999年,故它具有对闰年进行自动判决和修正的功能。

6.具有自动管理公用照明设施的功能。

7.根据各单位临时需要,可完成随机打铃报时的功能。

系统组成

能够进行自动打铃报时和控制照明设备的系统组成如图1所示。该系统是由软件(指令程序)和硬件两部分组成,其中硬件部分是以Z-80型微处理器为核心并配合相应的接口电路来完成预定的控制功能。例如根据程序要求,向微处理器输入打铃或开启照明设备的指令时,在微处理器的两个输出端口(PIO)A和B上将送出打铃和启动照明设备的控制信号,再由这两个信号去控制继电器C和D,使得相应的开关接点闭合,直到停铃、灭灯的指令信号到来时,继电器接点才又断开,使系统回到初始状态。系统的硬件部分较简单,要做到准确无误地控制相应的仪器设备,关键的问题是系统程序软件的设计。

图1
图1 🔍原图 (598×470)

软件系统的设计

软件系统结构示意图如图2所示,程序总框图如图3所示。整个软件分为主程序和中断服务程序(含若干个子程序)两大部分。

图2
图2 🔍原图 (721×741)
图3
图3 🔍原图 (314×776)

1.主程序:它主要是使系统初始化,开中断,并首先进行闰年判断,然后进入等待中断状态。

由于本程序具有日历功能,因此闰年判断是必不可少的,在主程序中调用闰年判断子程序是对键盘置入的初值年份进行闰年判定,判断结果放入相关的存储单元中,在CTC中断服务程序中,还将多次调用该子程序。

2.CTC中断服务程序流程图见图4。系统的主要工作均设定在中断服务程序中,中断源是CTC芯片,本文使用CTCO通道进行实时时钟的计时工作,故设定CTC的0通道为定时器工作方式,每隔20ms发出一次中断申请信号,当CPU响应中断后便转入中断服务程序中,并以1/50秒、秒、分、时、日、周、月和年为单位对实时时钟进行计数,同时还可通过按键查询显示年、月、日、周,因而具有时钟和日历的功能。由于中断服务程序是处理实时时钟,要求定时准确,即CTC一发出申请要求,系统便立即响应,因0通道级别最高,故可满足要求。

图4
图4 🔍原图 (1402×1844)

为方便实时时钟处理,可设计如下子程序:1.判断闰年子程序(GY);2.显示子程序(DISP);3.打铃子程序(BELL);4.照明管理子程序(LAMP);5.查月份、日期子程序(MD)。

在中断服务程序中,适时地调用上述子程序,便可使该系统实现前述的七种功能。(张克静)