四、 范例:三点式温度检知器
主电路的规划
HT46R47微控器主电路及显示电路如图一所示,规划使用PA3-PA0经由74LS47译码IC控制四个共阳型七段显示器之数字、PA4控制四个共阳型七段显示器之小数点、PA6-PA5经由74LS139译码IC控制四个共阳型七段显示器之电源供扫瞄显示及扫瞄按键、PA7读取按键值,图中四个二极管主要隔离作用、当数个按键同时按下时可以避免74LS139译码IC之输出短路。AD590(电流型)、PT100(电阻型)及K型热电耦(电压型)温度感测电路如图2、图3、及图4所示,经由OP07放大器将讯号放大、当温度从摄氏0度至100度变化时输出电压范围为0~5V之间,再分别接入HT46R47微控器的PB0~PB2接脚。利用PD0以脉波宽度调变方式 (PWM)经由继电器来控制加热器的启闭,考量PD0重置时为高电位,因此使用晶体管设计成反相器,当PD0送出低电位时激活加热器;反之,PD0送出高电位时可关闭加热器。
四颗共阳极七段显示器显示规划如表5所示,编号DS1用来标示第几信道,例如:显示“0”表示信道AN0(AD590传感器),编号DS2- DS4七段显示器系显示温度DS2为拾位数、DS4为小数点第一位,显示范围为99.9-0.00。为了区隔显示目前温度与设定温度,故在显示目前温度时以正常方式显示,反之显示设定温度时则以闪烁显示方式处理。
按键功能归划
在本系统中共有四个按键,而工作模式共有显示目前温度、设定温度、察看其它组目前温度、察看其它组温度设定情形及设定温度控制组别等模式,必须使用复合键(双键同按),按键功能规划如表六所示。
软件程序规划
在软件规划方面,分成三大部份:主程序、计时中断程序、A/D中断程序,流程图如图5所示。计时中断程序(如图6a所示)主要产生250us中断时间基频,每中断一次将CO_NUMB_0内存值增加一,主程序依据CO_NUMB_0值产生5ms信号做扫瞄显示及扫瞄按键使用。A/D中断程序(如图六b所示)主要将每一个模拟信号信道之ADRH及ADRL的值取样128次后取平均值,考量HT46微控器其堆栈系以地址堆栈方式,因此在执行A/D中断时先将ACC及STATUS缓存器存入内存ACC_B及STATUS_B中、执行完毕再从内存ACC_B及STATUS_B取回原先之值,避免影响主程序的执行。主程序负责工作包括:依据计时中断所产生时间基频做扫瞄显示、扫瞄按键、温度转换、及以PWM方式进行温度控制,经由按键做查询各信道目前温度、设定温度、及调整更换设定温度。
五、 结论
HOLTEK微控器采用精简指令集架构设计而成,具有很强的运算能力,再加上它根据不同的需求设计专用的微控器,除了提升效能外,也大量减少硬件电路设计的成本,以本文所介绍的模拟/数字转换器为例,一般通用型的微控器不但要增加模拟/数字转换芯片,而且对于有多信道的需求,要兼顾到成本的考量,往往只用一颗模拟/数字转换芯片搭配一颗模拟开关,而采用HT46系列的微控器,上述两颗芯片都可以省略,而且使得应用电路更加的简洁