A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。在工业控制和数据采集及许多其它领域中,A/D转换器是不可缺少的重要组成部分,它的应用已经相当普遍。
目前用软件的方法虽然可以实现高精度的A/D转换,但占用CPU时间长,限制了应用。8位A/D转换器ADC0809作为典型的A/D转换芯片,具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8位单片机系统中得到了广泛的应用。
ADC8090的应用说明
(1)ADC0809內部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪~ 一通。道的地址到A,B,C端口上。
(4)在ST端给出一一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断
(6)当EOC 变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。
ADC8090的应用
了解完A/D转换芯片,下面我们以图2 为例来完成它的程序设计。
电路说明:
电路见图(2 ),主要由AD 转换器AD0809,频率发生器SUN7474,单片机AT89S51及显示用数码管组成。AD0809的启动方式为脉冲启动方式,启动信号START 启动后开始转换,EOC 信号在START的下降10US后才变为无效的低电平。这要求查询程序待EOC 无效后再开始查询,转换完成后,EOC 输出高电平,再由OE 变为高电平来输出转换数据。
我们在设计程序时可以利用EOC 信号来通知单片机(查询法或中断法) 读入已转换的数据,也可以在启动AD0809 后经适当的延时再读入已转换的数据。AT89S51的偷出频为晶振频的1/6 (2MHZ ),AT89S1与SUN7474 连接经与7474 的ST脚提供AD0809 的工作时钟。
AD0809 的工作频范E 为10KH2-1280KHZ.当频率范| 同为500KHZI 时,其转换速度为128US。AD0809 的数据输出公式为: Dout=Vin*255/5=Vin*51,其中Vin 为输入模拟电压,Vout为输出数据。当输入电压为5V 时,读得的数据为255 再乘以2,得510.我们用510*98%得499,再将百位数码管的小数点点亮,品示为4.99V,显示值与输入值基本吻合。软件设计思路及程序流程
编程思路:
(1)向AD0809写入通道号并启动转换
(2)延时1ms后等待EOC出现高电平(JNBEOC.$)
(3)给OE 置高并读入转换数据存入数据地址或数组中。
(4)显示