实现对多路参数变化的监测控制系统的设计
扫描二维码
随时随地手机看文章
硬件电路如图1所示,分成数据采集、按键控制和显示输出三大部分。C8051FXXX系列的8路模拟量采集通道,通过选择不同功能的传感器或电量转换装置(如电流、电压互感器、集成温度传感器等),完成对被测目标系统多路参数的数据采集。工作时,系统不断将各通道采集来的数据与用户事先设定的上/下限极值进行比较;系统执行机构根据比较结果,确定是否越限而作出相应的具体操作。系统显示部分为5位LED显示,低4位用来显示用户所选定通道的模拟信号大小或上/下限极值设置 数据,最高位LED4为通道数字(0~7)显示位。 P0.0~P0.7为各通道越限处理输出,分别控制相应的执行机构。
2.1 按键控制功能
按键控制部分是整个系统最复杂、最能体现设计思想的一部分。为了方便地选择通道及显示设置数据,以尽量少的按键完成尽可能多的功能,实现较好的人机界面和软、硬件资源的有机结合,设置了选择通道的“切换”键S1、进行ADC窗口检测器上/下限极值设定的“设置”键S5、改变LED显示数据的“+”、 “-”键S3、S4,并要求每按一次使显示值加(减)1。如果连续按键超过一定时间(如2s),则显示值将很快地递增或递减。用户设置完毕,按下“存储” 键S2,可将所设数据保存在非易失性数据存储器Flash中,避免由于断电而需重新设置数据的麻烦。通过软件设计,完成数据的自我备份与保护,不需要另置备用电池,简化了硬件结构。
2.2 ADC的工作方式及窗口检测器
C8051F000片内ADC子系统内除集成了1个多通道模拟输入选择器(AMUX)、可编程增益放大器(PGA)和1个100Ksps、12位分辨率的逐次逼近型ADC外,还集成了跟踪保持电路和可编程窗口检测器。它们完全由CIP-51通过特殊功能寄存器控制。
① ADC0CN寄存器。控制转换启动方式和结果数据存放方式,设置ADC转换结束和窗口检测器中断标志等。A/D转换允许用软件事件、硬件信号触发转换或进行连续转换。每次转换完成后产生一个中断,或者用软件查询来判断转换是否结束,完成后数据字被锁存在指定的寄存器中。
② AMXOSL、AMXOCF寄存器。ADC通道选择。当AMXOCF=00H时,AMXOSL的00H~07H分别表示选择AIN0~AIN7八个模拟输入通道。
③ ADC0GTH ADC0GTL寄存器。该两个存储单元为ADC可编程窗口检测器,为供用户设定上限的12位数据寄存器。ADC0GTH为高四位,ADC0GTL为低八位。
④ ADC0LTH ADC0LTL寄存器。ADC可编程窗口检测器,为供用户设定下限的12位数据寄存器。
3 软件设计
为便于升级和维护,软件设计采用积木式模块化处理,各功能模块既相互联系,又自成一体。其基本设计思想是:利用定时/计数器T3的溢出,定时地启动 ADC转换和窗口比较器中断。通过中断处理,将相应通道的12位转换数据与由用户设定的上/下限极值作为越限条件进行比较,产生新的中断输出,驱使系统执行机构进行相应的调整,从而达到数据被控制在某一范围内的目的。
主程序由初始化、显示、定时比较及按键处理等软件功能模块组成,图2为主程序流程框图。