第9章ADC、DAC接口 9.1A/D转换器接口 9.2D/A转换器接口
第9章 ADC、DAC接口 9.1 A/D转换器接口 9.2 D/A转换器接口
9.1A/①转换器接口(P214) 911集成A/转换器ADC0809 分辨率为8位 可锁存三态输出,输出与TTL电平兼容 精度:小于±ILSB 功耗为15mW 单+5V供电 不必进行零点和满度调整 具有锁存控制的8路输入模拟开关 时钟频率范围:10~1280kHz; 典型转换时间:640KHz,约100us INO INI 多路转换开关 D0-D7 START AD启动 IN7 EOC 转换结束信号,=1结束 CLK 时钟 VCC 工作电压、地 输出允许控制 GND AE地址锁存 REF+ 参考电压 REF- B模拟端输入地址
9.1 A/D转换器接口(P214) 9.1.1 集成A/D转换器 ADC0809 分辨率为8位 精度:小于±1LSB 单+5V 供电 具有锁存控制的8路输入模拟开关; 可锁存三态输出,输出与TTL电平兼容 功耗为 15 mW 不必进行零点和满度调整 时钟频率范围:10~1280kHz; 典型转换时间:640KHz,约100us IN0 IN1 IN7 多 路 转 换 开 关 D0-D7 VCC GND REF+ ALE START EOC CLK OE REFAB AD启动 转换结束信号,=1结束 时钟 输出允许控制 工作电压、地 地址锁存 参考电压 模拟端输入地址 C
912ADG0809与单片机连接(p214中断方式 NIT: SETB IT1;边沿触发 PINTI: MOV DPTR, #7FF8H SETB EA MoXA@DPTR;读AD数据 SETB EXI MOV 30HA MOV DPTR#7FF8HⅠN0地址 MovA#00H;再启动AD MOV A,#00H MOVX ODPTR A MoVX@ IDPTR A;启动AD RETI S]MP S ADC0809 MCS-51 D0~D7 P0.0~78 B C ALE CLK INT1 EOC WR ALE START P2.7 →OE RD
9.1.2 ADC 0809与单片机连接(p214 中断方式) PINT1:MOV DPTR,#7FF8H MOVX A,@DPTR ;读AD数据 MOV 30H,A MOV A,#00H ;再启动AD MOVX @DPTR, A RETI INIT1: SETB IT1 ;边沿触发 SETB EA SETB EX1 MOV DPTR,#7FF8H ;IN0地址 MOV A,#00H MOVX @DPTR, A ;启动AD SJMP $ ADC0809 P0.0~7 ≥1 ≥1 1 MCS-51 8 3 IN0~7 D CK Q Q G D Q ALE INT1 WR P2.7 RD CLK EOC ALE START OE D0~D7 8 A B C
9.2D/A转换器接口 9.2.1D/A转换原理 数字 n位数字量与模拟量的关系式: Vo =PeE/2n XD REF 参考电压) DAC0832:8位双缓冲器结构的D/A转换器原理框图: R fh 输入 DAC 8位 OUTI 锁存器寄存器DAC OUT2 R VER LE & & AGND C DGND WRI & WR2 XFER
9.2 D/A转换器接口 9.2.1 D/A转换原理 n位数字量与模拟量的关系式: VO = VREF / 2n ×D (VREF - 参考电压) DAC 0832:8位双缓冲器结构的D/A转换器原理框图: 数字 8位 DAC DAC 寄存器 输入 锁存器 -+ IOUT2 IOUT1 RVER VO D0~7 AGND CS ILE & & & WR1 WR2 XFER Rfb DGND Vcc
922DAc0832与单片机连接 (1)单缓冲器方式: 输入寄存器和DAC寄存器相应的控制信号引脚分别连在一起,使数据直接写 入DAC寄存器,立即进行D/A转换(这种情况下,输入锁存器不起锁存作 用)。此方式适用于只有一路模拟量输出,或有几路模拟两输出但并不要求 同步的系统。 89C51 DACO832 5V下列程序完成一次DA: MOV DPTR.#7FFFH P2.7 cs Vcc MOV A#data LE MOVX DPTR, A XFER IK DO RE IM D7 WR WRI IOUT2 WR2 OUTI aGnD GND DGND VREF 5V
9.2.2 DAC 0832与单片机连接 D7 | CS XFER WR1 WR2 DGND IOUT1 IOUT2 RFB ILE VCC VREF 5V AGND 1K 1M VO P2.7 P0 WR GND 89C51 5V D0 DAC0832 (1)单缓冲器方式: 输入寄存器和DAC寄存器相应的控制信号引脚分别连在一起,使数据直接写 入DAC寄存器,立即进行D/A转换(这种情况下,输入锁存器不起锁存作 用)。此方式适用于只有一路模拟量输出,或有几路模拟两输出但并不要求 同步的系统。 下列程序完成一次D/A: MOV DPTR, #7FFFH MOV A , #data MOVX @DPTR , A
89C51 P2.5 (2)双缓冲器方式: P2.7 XFER 输入寄存器和DAC寄存器分 IK R 配有各自的地址,可分别选 PO 通用同时输出多路模拟信 lOUT WR WRI 号。 WR2 AGND GND DGND V 5V 完成两路D/A同步输出的程序: MOⅤDPTR,# DFFFH;锁入ch1 MOV A#datal P2.6 MOVX ODPTR, A MOV DPTR,#0 BFFFH;锁入ch2 XFER IK MOV A#data2 INDO reB MOVX ODPTR, A D7 MOV DPTR,#7FFFH;同时DA loUT MOVX ODPTR A WRI WR2 lOUT AGND DGND V 5V REF
(2)双缓冲器方式: 输入寄存器和DAC寄存器分 配有各自的地址,可分别选 通用同时输出多路模拟信 号。 完成两路D/A同步输出的程序: MOV DPTR, #0DFFFH ;锁入ch1 MOV A, #data1 MOVX @DPTR, A MOV DPTR, #0BFFFH ;锁入ch2 MOV A, #data2 MOVX @DPTR, A MOV DPTR, #7FFFH;同时DA MOVX @DPTR, A P2.5 P0 WR GND 89C51 D7 | CS XFER WR1 WR2 DGND IOUT1 IOUT2 RFB ILE VCC VREF 5V AGND 1K 1M VO 5V D0 D7 | CS XFER WR1 WR2 DGND RFB ILE VCC VREF 5V AGND 1K 1M V1 5V D0 P2.6 P2.7 IOUT2 IOUT1
(3)直通工作方式: 将所有DA0832芯片的控制端都接在一起并接低电平,L1E接高电 平,则数据量一旦输入,就直接进入DAC寄存器,进行DA转换。 89C51 DACO832 5V P2.7 CS V XFER ILE IK DO RE IM D7 WRI OUT2 WR2 OUTI AGND GND DGND VREF -5V
(3)直通工作方式: 将所有DAC0832芯片的控制端都接在一起并接低电平,ILE 接高电 平,则数据量一旦输入,就直接进入DAC寄存器,进行DA转换。 D7 | CS XFER WR1 WR2 DGND IOUT1 IOUT2 RFB ILE VCC VREF 5V AGND 1K 1M VO P0 GND 89C51 -5V D0 DAC0832 P2.7
例:D/A转换程序,用DAC0832输出0~5V 锯齿波,电路为直通方式。 设VE=-5V,DAC0832地址为7FFFH,脉 冲周期要求为100ms。 100ms DACS: MOV DPTR,#7FFFH;0832I/0地址 Mov A, #0 ;开始输出0V DACL: MOVX @DPTR, A ;输出模拟量 INC A ;升压 ACALL DELAY ;延时100ms/256 AJMP DACL ;连续输出
例:D/A转换程序,用DAC 0832输出0~5V 锯齿波,电路为直通方式。 设VREF= - 5V,DAC 0832地址为7FFFH,脉 冲周期要求为100ms。 DACS:MOV DPTR,#7FFFH ;0832 I/O地址 MOV A,#0 ;开始输出0V DACL:MOVX @DPTR,A ;输出模拟量 INC A ;升压 ACALL DELAY ;延时100ms/256 AJMP DACL ;连续输出 … 100ms