|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在实际应用中,对被控对象的物理参数(温度、湿度、位移、电流及电压等)在一定的范围内进行控制,是单片机的典型应用之一。很多宏观要求精确控制的场合,其微观控制过程,仍可归结为是对某些参数变化范围的控制。如传统的三相异步电机从启动到正常运行,电流、电压和温度的变化;抽水塔水位的变化;机床刀具的行程变化及数字电表的自动量程变换等。这些控制过程最显著的特点是:被控物理量都是一个变化范围,而非某一个精确的“点”。对物理量变化范围进行有效控制的方法很多,本文重点介绍利用C8051F000单片机片内8路高性能的12位ADC数据采集系统和可编程窗口检测器,实现对多路参数变化范围控制的硬件组成和软件设计方法。
<strong>1C8051FXXX系列单片机介绍</strong>
总部位于美国德克萨斯州的美国Cygnal公司,是一家专门从事混合信号片上系统单片机设计与制造的新兴半导体公司。C8051FXXX系列单片机是该公司以拥有自主产权,并与MCS-51内核及指令集完全兼容的CIP-51为内核而集成的混合信号片上系统(System on Chip)。片内集成了数据采集和控制系统中常用的模拟部件,能方便地通过数字交叉开关,将内部数字系统资源定向到外部I/O口上;高达25MIPS的执行速度、强大的模拟信号处理和资源控制功能;8路高性能的12位ADC(速度为100kHz)数据采集系统,2路12位精度DAC,2路模拟比较器和 ADC可编程窗口检测器;8~64KB的闪速/电可擦除程序存储器,256~2304B的RAM;典型的串行通信接口、22个中断源、7个复位源;先进的 JTAG非侵入式在线调试和看门狗、电源监视等可靠的安全机制。它汇集了许多单片机领域的先进技术,成为目前功能最强大的8位单片机之一。
<strong>2硬件电路组成及原理</strong>
硬件电路如图1所示,分成数据采集、按键控制和显示输出三大部分。C8051FXXX系列的8路模拟量采集通道,通过选择不同功能的传感器或电量转换装置(如电流、电压互感器、集成温度传感器等),完成对被测目标系统多路参数的数据采集。工作时,系统不断将各通道采集来的数据与用户事先设定的上/下限极值进行比较;系统执行机构根据比较结果,确定是否越限而作出相应的具体操作。系统显示部分为5位LED显示,低4位用来显示用户所选定通道的模拟信号大小或上/下限极值设置 数据,最高位LED4为通道数字(0~7)显示位。 P0.0~P0.7为各通道越限处理输出,分别控制相应的执行机构。
<ignore_js_op>
2010-3-9 21:14:18 上传
<strong>下载附件</strong> (10.04 KB)
</ignore_js_op>
图1
2.1按键控制功能
按键控制部分是整个系统最复杂、最能体现设计思想的一部分。为了方便地选择通道及显示设置数据,以尽量少的按键完成尽可能多的功能,实现较好的人机界面和软、硬件资源的有机结合,设置了选择通道的“切换”键S1、进行ADC窗口检测器上/下限极值设定的“设置”键S5、改变LED显示数据的“+”、 “-”键S3、S4,并要求每按一次使显示值加(减)1。如果连续按键超过一定时间(如2s),则显示值将很快地递增或递减。用户设置完毕,按下“存储” 键S2,可将所设数据保存在非易失性数据存储器Flash中,避免由于断电而需重新设置数据的麻烦。通过软件设计,完成数据的自我备份与保护,不需要另置备用电池,简化了硬件结构。
2.2ADC的工作方式及窗口检测器
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位数据寄存器。
<strong>3软件设计</strong>
为便于升级和维护,软件设计采用积木式模块化处理,各功能模块既相互联系,又自成一体。其基本设计思想是:利用定时/计数器T3的溢出,定时地启动 ADC转换和窗口比较器中断。通过中断处理,将相应通道的12位转换数据与由用户设定的上/下限极值作为越限条件进行比较,产生新的中断输出,驱使系统执行机构进行相应的调整,从而达到数据被控制在某一范围内的目的。
主程序由初始化、显示、定时比较及按键处理等软件功能模块组成,图2为主程序流程框图。主程序及所有被调用的子程序见本刊网络补充版(www.dpj.com.cn)。
<ignore_js_op>
2010-3-9 21:14:18 上传
<strong>下载附件</strong> (7.09 KB)
</ignore_js_op>
图2
<strong>结语</strong>
自2000年美国Cygnal公司推出C8051FXXX系列单片机以来,强大的内部功能和丰富的片内资源,使之能用最简单的硬件结构实现多通道数据范围的检测。本文设计的控制系统,只要配置合适的电量传感器,就可方便地用于各类电力变电系统对三相电流、电压等进行范围控制。
<strong>参考文献</strong>
1. 李刚.林凌 与8051兼容的高性能、高速单片机-C8051Fxxx 2002
2. 肖定柏 LHB型交流互感器在家电中的应用 1996(12)
3. 龚成龙 智能异步电动机综合保护器设计 2002(2)
4. 何立民 单片机应用技术选编 1997
5. 潘琢金.施国君 C8051Fxxx高速SOC单片机原理及应用 2002
6. 李华 MCS-51系列单片机实用接口技术 2002
作 者: 湖南零陵学院李春树
来 源:单片机与嵌入式系统应用 2003(7) |
|