1.导言
本规划待测的输入电压为8路,电压规模为0~5V,运用现在广泛运用的AT89S52来做操控体系,用ADC0809来进行模仿电压的收集及模数转化,完成收集8路数据,并将成果在四位一体数码管上进行翻滚显现或独自显现的功用,丈量的最小分辨率为0.019V.
2 硬件规划
2 . 1 体系构成
该体系首要包括几大模块:数据收集模块、A/D转化模块、操控模块、显现模块、按键模块等。选用AT89S52作为操控模块,A/DC0 8 0 9作为A/D转化模块的中心,ADC0809自身具有8路模仿量输入端口,经过C、B、A,3位地址输入端,能从8路中挑选一路进行转化。如每隔一段时间顺次轮番改动3位地址输入端的地址,就能顺次对8路输入电压进行丈量。LED数码管的显现选用软件译码动态显现,经过按键模块的操作可以挑选8路循环显现,也可以挑选某条单路显现。
2 . 2 数据收集电路
数据收集电路是体系的首要组成部分,ADC0 8 09具有8路模仿量输入通道IN0~IN7,经过3位地址输入端C、B、A(引脚23~25)进行挑选。引脚22为地址锁存操控端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部锁存器中,经内部译码电路译码选中相应的模仿通道。引脚6为发动转化操控端START,当输入一个2 μ s宽的高电平脉冲时,就发动ADC0809开端对输入通道的模仿量进行转化。引脚7为A/D转化器,当开端转化时,EOC信号为低电平,经过一段时间,转化完毕,转化完毕信号EOC输出高电平,转化成果存放于ADC0809内部的输出数据寄存器中。引脚9脚为A/D转化数据输出答应操控端OE,当OE为高电平时,存放于输出数据锁存器中的数据经过ADC0809的数据线D0~D7输出。引脚10为ADC0809的时钟信号输入端CLOCK.在衔接时,ADC0809的数据线D0~ D7与AT89S52的P1口相衔接,ADC0809的地址引脚、地址锁存端ALE、发动信号START、数据输出答应操控端OE别离与AT89S51的P3口相衔接,转化完毕信号EOC与AT89S52的P3.2相衔接。时钟信号输入端CLOCK信号,由单片机的地址锁存信号ALE得到,收集电路如图1所示。
图1 数据收集电路
3 软件规划
3 . 1 主程序
主程序包括初始化部分,调用A/D转化子程序和调用显现子程序,如图2所示。
图2 主程序流程图
初始化部分包括存通道数据缓冲区初始化和显现缓冲区初始化。别的,关于单路显现和循环显现,体系设置了一个初始标志位。
初始化时标志位设置为0,默以为循环显现,当它为1时,则单路显现,标志位经过外部按键操控。
3 . 2 数据处理子程序
ADC0809转化之后输出的成果是8位二进制数。由公式(1)可知,当ADC0809输出为(111111111)时,输入电压值VI=5.00V;当ADC0809输出为(00000000)时,输入电压值为VI=0.00V;当ADC0809输出为(10000000)时,输入电压值VI=2.50V.因为单片机进行数学运算时成果只取整数部分,因而当输出为(10000000)时计算出的电压值VI=2.00V,很不准确。为了进步准确度,有必要把小数部分保存,具体方法是:假如小数点后保存两位,在运算的时分分子乘以100,保存三位就乘以1000.本规划是在小数点后保存两位,运算方法如公式(2)。
VI=Dout /255×5 (1)
VI=Dout/255×5×100=Dout×100/51 (2)
由式(2)可知当ADC0809输出为(10000000)时,单片机运算成果为250.然后由单片机将250除以10得到商为25,余数为0,再将25除以10得到商为2,余数为5.由此得到较为准确的数值。
4 结语
本规划是根据ADC0809规划的电压检测设备。选用AT89S52单片机进行数据操控、处理,结构简略,元件较少,本钱较低,软件选用C言语完成,程序简略可读写性强,效率高。可以完成八路待测电压丈量,还可以自由挑选要丈量的通道,与传统的电路比较,具有便利操作、处理速度快、稳定性高、性价比高的长处,具有必定的运用价值。