基于HT47系列RISC单片机的智能化仪表设计

摘要: 介绍了以ht47系列单片机为核心部件的常见智能化仪表的设计过程。

  关键词: risc单片机;r-f型a/d转换;分段线性插值法

  ht47系列mcu是盛群(holtek)半导体公司近年推出的8位精简指令系统(risc)单片机,它除了具有risc类单片机特有的指令数量少、易记忆、采用流水线式指令执行方式、运行速度快等优点外,其片内的两通道r-f型a/d转换电路,动态lcd液晶驱动电路以及软件狗定时器等硬件资源,为设计小型乃至便携式智能化仪器仪表提供了极大的方便,全部硬件由传感器+ht47c20+液晶片+少量阻容元件构成。

  r-f型a/d

  图1给出了ht47c20的两通道r-f型a/d转换电路的结构。

图1 ht47c20的两通道r-f型a/d转换电路

  图中,timer a和timer b是两个16 位可编程计数器,其计数初值可以由程序设定。timer a对系统时钟(system clock)或系统时钟4分频信号(system clock/4)或实时时钟的溢出信号(rtc output)计数;timer b对通道1或通道2的rc振荡电路产生的脉冲信号计数。下面我们以利用通道1构成的温度仪表为例,对其温度测量原理和设计方法作一介绍。

  利用图2可以清晰地说明r-f型a/d转换过程:

图2 r-f型a/d转换过程

  1.见图2(a),timer b对参考电阻rs、参考电容cs组成的振荡电路产生的振荡脉冲计数,timer a对系统时钟计数。通过置位有关特殊功能寄存器相关位可使 timer a、timer b同时启动。timer b由初值0000h-ns计数到0000h(溢出);timer a由初值0000h计到m,两者同时停止计数。ns的数值要保证timer b先溢出,这段时间即为闸门时间。

  2.见图2(b),timer a初值改为0000h-m, timer b初值改为0000h。timer b对传感器(ntc热敏电阻)电阻rt、参考电容cs组成的振荡电路产生的振荡脉冲计数,timer a还是对系统时钟计数。再次同时启动,当timer a溢出时两者同时停止计数且申请中断。可以看出两次计数的闸门时间相等,此时timer b的计数值为nt。

  从上述过程可以看出:ns·(1 /fs)=nt·(1/ft)
  所以 nt=ns·ft/fs (1)
  而 fs=1/(ks·rs·cs)
  ft=1/(kt·rt·cs)

  式中ks和kt是和电源电压、环境温度以及rscs或rtcs乘积有关的常数(一般取 1.9~2.3),此处可看作近似相等,故有:ft/fs=rs/rt

  将此式代入上述nt的表达式中,可得:nt=ns·rs/rt (2)

  从上文可知,ns是timer b在规定的闸门时间内对参考电阻rs、参考电容cs组成的振荡电路产生的振荡脉冲的计数值,和rs一样,都是事先设定的常数。式(2)表示了计数值nt和传感器电阻rt近似成反比,它们之间的关系如图3(a)所示。

图3 (c)温度θ和计算值nt的关系曲线

  热敏电阻本身的电阻-温度关系曲线如图3(b)所示,通过图形变换可以得到被测温度和计数值nt之间的关系曲线如图3(c)所示。

  用分段线性插值法对被测温度和计数值nt之间的关系曲线进行处理,即可从计数值nt计算出对应的被测温度。

图4 用分段线性插值法处理θ-nt 关系曲线

  把图4的q-nt关系曲线分成若干段,每段曲线用一段对应的折线来代替。相对于每一段折线,可求出q-n的线性函数:q = a· nt+b

  式中:a为该段折线的斜率,b为截距。

  值得指出的是,利用ht4

  • 基于HT47系列RISC单片机的智能化仪表设计已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计