新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于STC12C5410AD设计10位高精度ADC

基于STC12C5410AD设计10位高精度ADC

作者: 时间:2012-11-08 来源:网络 收藏


2 软件设计
2.1 寄存器的相关设置
AD单片机要实现上述设计,必须对相关寄存器进行设置:
通过设置P1M0,P1M1两个寄存器对P1口选择作为A/D转换的输入口进行设置,比如若是选择P1.7,则设置:
P1M0=0x80;
P1M1=0x80;
选择I/O口模式为开漏(Open Drain),可以作为A/D使用,还可以选择高阻输入,设置为:
P1M0=0x80;
P1M1=0x00;
ADC_CONTR特殊功能寄存器,从高到底依次表示:
ADC_POWER SPEED1 SPEED0 ADC_FLAG CHS2CHS1 CHS0;
选择P1.7作为A/D输入管脚需将CHS2/CHS1/CHS0设置为:
CHS2=1;
CHS1=1;
CHS0=1;
SPEED1/SPEED0是数/模转换速率控制位,为了达到最快的转换速率,本设计采用210个时钟周期转换一次,设置为:
SPEED1=1;
SPEED0=1;
ADC_FLAG位,为模/数转换结束标志位,转换结束后自动跳变为“1”,需软件清零;
ADC_START,为ADC开始控制位,设置为:
ADC_START=1; //模/数转换开始
ADC_DATA,ADC_LOW2分别是10位模/数转换结果的高8位和低2位的寄存器。转换计算公式为:
(ADC_DATA[7:0],ADC_LOW2[1:0])=1 024*Vin/Vcc;
式中:Vin为模拟输入通道的输入电压;Vcc为单片机的供电电压,由单片机的供电电路9805或者LM317稳压电路输出端决定。
2.2 软件调试
A/D初始化子程序和启动A/D转换的子程序:
f.JPG

3 结语
机内测试系统在装备系统中所占比例不得超过装备的10%,否则会影响装备的正常运行。在信号采集中,硬件设计的简化尤其重要。本设计不但达到设计电路的精简元器件且多个测试点共用的要求。10位精度的ADC分辨率理论上可达到1/1 024,为了能够稳定的输出频率,试验中加入了中转寄存器保持转换结果,同时运用消除不稳定信号的噪声影响。最后试验结果可保持长时间稳定输出,达到试验预期要求。同时最低位能够连续跳变,保证输出的连续性和准确性。本设计对模数转换器的高精度要求,在调试过程中需对AD单片机的供电电压进行微调。设计中运用LM317稳压器供电电路,调节输入电压,保证电压精确稳定在5 V,所达到效果和效率远远高于雷达装备的BIT的模数转换要求。同时该设计简单有效,且故障率低,能够持续保持稳定工作。该设计在保证设计要求条件下优化了硬件电路设计,精简元器件,降低成本和实际电路运行的故障率。本设计的不足之处有两点:集成化程度还是太低,解决方法是采用贴片小板设计;没用同时处理信号的能力。后续研究将主要针对这两点对其进行改进。


上一页 1 2 下一页

评论


技术专区

关闭