采用C8051F000单片机实现对多路参数变化的监测控制系统的设计

时间:2019-12-11
在实际应用中,对被控对象的物理参数(温度、湿度、位移、电流及电压等)在一定的范围内进行控制,是单片机的典型应用之一。很多宏观要求控制的场合,其微观控制过程,仍可归结为是对某些参数变化范围的控制。如传统的三相异步电机从启动到正常运行,电流、电压和温度的变化;抽水塔水位的变化;机床刀具的行程变化及数字电表的自动量程变换等。这些控制过程显著的特点是:被控物理量都是一个变化范围,而非某一个的“点”。对物理量变化范围进行有效控制的方法很多,本文重点介绍利用C8051F000单片机片内8路高性能的12位ADC数据采集系统和可编程窗口检测器,实现对多路参数变化范围控制的硬件组成和软件设计方法。
  1 C8051FXXX系列单片机介绍
  2 硬件电路组成及原理
  硬件电路如图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为主程序流程框图。

  结语
  自2000年美国Cygnal公司推出C8051FXXX系列单片机以来,强大的内部功能和丰富的片内资源,使之能用简单的硬件结构实现多通道数据范围的检测。本文设计的控制系统,只要配置合适的电量传感器,就可方便地用于各类电力变电系统对三相电流、电压等进行范围控制。
上一篇:高能效功耗低的LED照明设计
下一篇:基于多端口串行Flash存储器的LED显示屏控制设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料