1、电子电气工程系电子电气工程系 能够把模拟量变成数字量的器件称为模数转换器(A/D)。 能够把数字量变成模拟量的器件称为数模转换器(D/A)。 代表型号: DAC0832 ADC0809 AD转换有并行比较式、积分式、逐次逼近式等多种转换方式。课题九 电压表电子电气工程系 8位并行输出A/D转换器ADC0809接口 (1)ADC0809的特点8路模拟输入8位数字输出的A/D转换芯片采用逐次逼近的方法完成A/D转换完成一次转换约需100s驱动时钟不大于1280Khz,典型时钟640Khz电子电气工程系9.3.3 逐次逼近型A/D转换器接口 逐次逼近型ADC基本原理逐次逼近ADC原理电路框图思考:和
2、利用多路比较器实现的并行AD有什么优缺点?电子电气工程系驱动时钟不大于1280Khz,典型时钟640Khz如何处理ADC0809需要的时钟?方法一:独立硬件电路提供方法二:单片机系统的ALE锁存脚频率是晶振周期的1/6,即2Mhz。增加二分频电路可获得1Mhz频率信号。方法三:利用定时计数器进行软分频(参考定时计数器的输出频率例子)电子电气工程系 8位并行输出A/D转换器ADC0809接口 (2)ADC0809的结构ADC0809的结构框图如图所示。ADC0809由单一+5V电源供电,此时输入范围为0-5V;片内有一个带有锁存功能的8通道多路模拟开关,可对8路0-5V的输入模拟电压信号分时进行
3、转换,三个地址信号A、B和C决定是哪一路模拟信号被选中并送到内部A/D转换器中进行转换,片内具有多路开关、地址译码器和锁存电路以及逐次逼近寄存器。输出具有TTL三态锁存缓冲器,可直接接到单片机数据总线上。电子电气工程系START开始输出控制输出允许电子电气工程系多路多路转换转换开关开关A B CIN0IN1IN7A/D转换转换电子电气工程系(3)ADC0809的引脚 ADC0809是28脚双列直插式封装,引脚图如图所示。IN0IN7:8路模拟量输入引脚。START:A/D转换启动信号输入端。上升沿时,复位 ADC0809;START 下降沿时启动转换;转换期间应保持 低电平。ALE:通道地址锁
4、存允许信号输入端,上升沿锁存通道地址。EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。 电子电气工程系OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端。A、B、C:地址输入线,经译码后可选通IN0IN7八通道中的一个通道进行转换。A为最低,C为最高。 D7 D0: 8位数字量输出引脚。VR():参考电压正端。一般接+5V高精度参考电源。VR():参考电压负端。一般接模拟地。Vcc,GND:电源电压Vcc接+5V,GND为数字地。电子电气工程系 (4)ADC0809与8051的接口电路 ADC0809与8051单片机的接口如图所示。 电子电气工程系
5、(5)ADC0809接口ADC0809从启动转换到结束转换需要一段时间,如何获取数据?说明:转换大约需要100us,转换状态能通过EOC引脚体现。电子电气工程系可以采用定时采样、查询和中断三种控制方式。定时采样:既然转换时间大概是100us,启动转换后等100us再读取数据。查询:判断EOC转换结束信号,作为读数的条件。启动转换后EOC=0,转换结束后EOC=1。中断:利用EOC信号当作外部中断信号,向CPU发出外部中断申请。电子电气工程系获得数据和输入电压的关系ADC0809是8位AD,如果基准电压使用2.55V,则0 x00:0v0 xff:2.55v为便于计算,可定义基准电压为2.55V
6、,则单位变化量是0.01V。电子电气工程系练习:在Proteus里,利用一个电位器POT-LIN输出模拟电压给ADC0809的IN0通道,转换后在3位数码管上显示。电子电气工程系分析:(1)ADC0809的时钟信号为了节省电路成本,可以采用定时器进行软定时。为了简化程序难度,可以采用外加硬件电路实现:单片机的ALE脚是时钟的6分频输出,12m晶振的时候就是2mhz,再次分频可满足要求。一个简单的D触发器构成的二分频电路如下:电子电气工程系分析:(2)ADC0809的控制1. 转换之前主程序对ADC0809的初始化 START和OE引脚初始状态为0,EOC为1: START=0:不启动转换; O
7、E=0: ADC0809不输出; EOC=1: 没开始转换或者转换已经结束。电子电气工程系分析:(2)ADC0809的控制2. 进行转换的时候: ABC选定通道,IN0通道的ABC=000; ALE上升沿锁定地址。 (ALE的正脉冲可以指令实现,也可以用总线方式。) START下降沿启动转换,该信号至少要保持100ns。 (12m晶振时,高一下低一下得到的正脉冲已经有1us) 注意下一次启动转换一样需要START下降沿。 更换通道了需要重新锁存地址。电子电气工程系分析:(2)ADC0809的控制3.转换结束的时候: 根据EOC信号判断是否转换结束。 EOC=1,转换结束。(转换时EOC自动变为
8、0) 定时采样:调用100us延时。 查询方法:while(EOC=0);/等待变高 中断方法:EOC接51的INTx。 如果转换结束,然后: OE=1,允许转换数据输出; 端口取数; OE=0,关闭ADC0809输出; 电子电气工程系分析:(3)数码管的动态扫描既然每次AD转换需要100us时间,如果每次转换3位数码管轮流显示一次,不停的转换+显示,大约也有几百到上千hz的扫描频率。While(1) 。 /转换,约耗时100us 。 /显示一遍,约耗时xxms。电子电气工程系本例中Proteus做仿真的一些注意事项和小技巧1:Proteus中的ADC0809没有开发模型库,不能仿真,可以使用
9、其改进型ADC0808代替ADC0808和ADC0809的主要区别是0808的不可调误差更小,是正负半个LSB,0809是正负1个LSB。电子电气工程系本例中Proteus做仿真的一些注意事项和小技巧2.ADC0808在Proteus中的一个有点囧的问题:OUT1是高位,.OUT8是低位电子电气工程系本例中Proteus做仿真的一些注意事项和小技巧3.为了简便,可利用:调试信号D clock作为1khz时钟频率源;调试信号DC作为2.55v直流基准电压源;电子电气工程系本例中Proteus做仿真的一些注意事项和小技巧POT可调电阻顺便增加一个直流电压表;注意可调电阻POT必须选用ACTIVE属性的,仿真时才能操作电子电气工程系本例中Proteus做仿真的一些注意事项和小技巧KEIL或PROTEUS可打开监控窗口为了绘图简洁,可考虑使用网络标号和总线电子电气工程系 实验课要求: 修改本例。基础要求: 1.采用中断方式(EOC+非门到INT1) 2.0808的时钟采用ALE+二分频实现。51属性的SPF要改为yes,否则ALE无输出电子电气工程系 提高要求: ADC0809的连接采用系统总线方式,参考课本P175-P177的电路及操作分析。电子电气工程系