我们用HT48R10A-1(或HT48R30A-1)单片机设计了一款六功能多模式定时控制器,采用一个组合显示单元,可显示4位7段数码,例如显示“时:分”或“分:秒”值,还有六个三角形指示LED分别指示六种功能,有三个输出端,可接继电器或可控硅等功率元件,分别控制大的功率负载,同时设置一个蜂鸣器用于工作中的声音提示,同时还用了2个I/O口作为保护输入(例如超温、超压等开关量),可以是高电平也可以是低电平,取决于软件设置。
我们用HT48R10A-1的PA口作为位口线,输出数码的位数据,其它空余的口(取决与PCB布局方便,用任何5个I/O口均可)作为段驱动输出,对显示单元采用动态扫描显示。PA口线还接有7个键盘,分别可作为控制键使用(例如“时、分、秒”的设置,“开始”、“选择”,“电源”等按键)。
PA口既作输出口又作输入口,在程序上必须时刻改变其口线方式,作为输出口时,必须对其控制寄存器写“0”,而作为输入口线时,必须对其控制寄存器写“1”。所以PA的工作状态是时刻改变的,动态扫描要求扫描频率不能太低,否则显示的数字会出现闪烁,一般频率不低于50Hz,就感觉不到闪烁,这在程序上是比较容易实现。
程序中我们使用了定时中断来实现时间的加或减时,这样主程序只需要监控动态扫描输出和键盘、保护输入以及三个输出即可。对保护响应时间较高时,保护输入端则必须使用外中断处理,如果对响应时间要求较低,一般采用扫描查询方式即可满足要求。
这样的设计我们几乎全部使用了HT48R10A-1的资源,达到“物尽其用”的目的,对一般的家用电器控制均可满足其要求,而且成本很低,价格具有较强的竞争优势,当然HT48R10A-1的ROM容量仅为1kB,如果控制较复杂,程序较大,可能容不下全部的程序,升级这样的电路也很简单,只需将HT48R10A-1换为HT48R30A-1即可,他们的引脚基本兼容,只对少数引脚在程序上变更即可,非常简单。右图是该控制器的产品外观图,下图为2路输出的输出板,
当然,对于要求更高的产品,使用LED显示器仍显档次稍低,解决的办法是显示部分采用LCD(当然也需要自行开模具生产LCD),同时加上类似于HT1621驱动芯片即可,显示内容可更复杂,显示器更美观,产品也显得更高档次,对提高产品的竞争力是有好处的。自然,对要求显示和处理有模拟量的控制产品则不能继续使用HT48XX系列单片机,必须使用类似于HT46R22/23等自带A/D转换器的单片机,同样有极高的价格优势,它们的控制原理相似,不再赘述。