单片机学习-第9章DA转换.ppt

上传人:小飞机 文档编号:6380321 上传时间:2023-10-22 格式:PPT 页数:37 大小:853KB
返回 下载 相关 举报
单片机学习-第9章DA转换.ppt_第1页
第1页 / 共37页
单片机学习-第9章DA转换.ppt_第2页
第2页 / 共37页
单片机学习-第9章DA转换.ppt_第3页
第3页 / 共37页
单片机学习-第9章DA转换.ppt_第4页
第4页 / 共37页
单片机学习-第9章DA转换.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《单片机学习-第9章DA转换.ppt》由会员分享,可在线阅读,更多相关《单片机学习-第9章DA转换.ppt(37页珍藏版)》请在三一办公上搜索。

1、,本章学习目标,MCS-51单片机与8位A/D、D/A转换器的接口技术MCS-51单片机与12位A/D转换器的串、并行接口技术MCS-51单片机与具有总线接口芯片PCF8591的使用方法,第9章 A/D、D/A转换器的应用,9.1 A/D转换器的应用,9.1.1 8位逐次比较式A/D转换器0809的应用,1ADC0809的逻辑结构,ADC0809的主要特性,ADC0809的主要特性(1)分别率为8位。(2)具有转换启动与停止控制端。(3)单一+5V电源供电,模拟输入范围为05V。(4)具有锁存控制的8路模拟开关。(5)功耗为15mW。(6)可锁存三态输出,输出与TTL兼容。(7)不必进行零点和

2、满度调整。(8)转换速度取决于芯片的时钟频率,时钟频率 范围:101280kHz。,2ADC0809的引脚,地址与通道对应关系,(1)IN0IN7:8路模拟通道的输入端。(2)D0D7:8位数字量输出端。(3)VREF(+)、VREF(-):正、负参考电压输入端。一般情况下VREF(+)与VCC相连接,VREF(-)与GND相连接(4)CLOCK:时钟输入信号。(5)START:转换启动信号,高电平有效。(6)ADDA、ADDB、ADDC:模拟通道选择输入端。(7)ALE:地址锁存信号。(8)EOC:A/D转换结束信号,此信号常被用来作为中断请求信号。(9)OE:允许输出信号。,3ADC080

3、9与8051接口电路,ORG0000H SJMPMAIN ORG0013H SJMPINT1 ORG0030HMAIN:MOVR1,#30H;置数据区首址 MOVR7,#08H;置通道数 MOVDPTR,#7FF8H;P2.70,指向IN0 SETB IT1;开中断 SETB EX1 SETB EAREAD:MOVX DPTR,A;启动A/DHERE:SJMPHERE;等待中断 DJNZR7,READ;巡回未完继续,INT1:MOVXA,DPTR;读取转换结果 MOVXR1,A;存放数据 INCR1;指向下一存储单元 INCDPTR;指向下一通道 RETI;中断返回 END,(2)利用查询方式

4、对8路模拟信号进行采集,ORG0000H AJMPMAIN ORG0030HMAIN:MOVDPTR,#7FF8H;P2.7=0,且指向IN0 MOVR1,#30H;置数据区首地址 MOVR7,#08H;置通道数READ:MOVX DPTR,A;启动A/DHERE:JBP3.3,HERE;查询转换完否 MOVXA,DPTR;读取转换结果 MOVXR1,A;存放数据 INCR1;指向下一个存储单元 INCDPTR;指向下一通道 DJNZR7,READ;巡回未完继续 END,9.2 D/A转换器的应用,10.2.1 8位D/A转换器0832的应用 1DAC0832的逻辑结构与引脚功能,其主要特性参

5、数如下:,(1)分辨率:8位;(2)增益温度系数:0.02;(3)单电源供电:电源范围为+5V+15V;(4)转换速度:约1us;(5)数据输入可采用双缓冲、单缓冲或直通方式。,各引脚功能如下:,(1)DI0DI7:数字量输入端;(2):片选信号输入端,低电平有效;(3)ILE:允许输入锁存信号,高电平有效;(4):输入锁存器写选通信号;,(5):8位DAC寄存器写选通信号;(6):传送控制信号,低电平有效;(7)IOUT1:DAC电流输出1端。当8位输入数字量全为1时,此电流最大;当8位输入数字量全为0时,此电流为0;(8)IOUT2:DAC电流输出2端。IOUT1+IOUT2=常数;(9)

6、:反馈电阻;(10):参考电压输入端,可在-10V+10V范围内选择;(11)AGND、DGND:模拟地和数字地。(12)VCC:电源,可在+5V+15V间选择。,2D/A转换器的输出方式,D/A转换器输出分为单极性和双极性两种输出形式。,单极性输出 双极性输出,3DAC0832与8051的接口电路,MCS-51与DAC0832接口时,可以有三种连接方式:单缓冲方式、双缓冲方式和直通方式。,单缓冲方式,产生锯齿波的程序如下:,DAADREQU7FFFH;DAC0832端口地址ORG1000HSTAR:MOVDPTR,#DAADR;选中DAC0832MOVA,#00HLP:MOVXDPTR,A;

7、向DAC0832输出数据INCASJMPLP,9.2.2 总线接口芯片PCF8591的应用,1串行总线概述 总线进行数据传输时只需两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。总线是一个多主机总线,即一个总线可以有一个或多个主机,总线运行由主机控制。,总线的基本结构,2总线数据传送的模拟,(1)总线数据传送的时序要求 为了保证数据传送的可靠性,标准的总线数据传送有着严格的时序要求,如总线上时钟信号的最小低电平周期为4.7us,最小的高电平周期为4us等。用单片机的普通I/O口模拟总线的数据传送时,单片机的时钟信号都能满足SDA、SCL上升沿、下降沿的时间要求,因此,在时序模拟时,

8、最重要的是保证典型信号。,I2C总线数据传送典型信号时序,(2)总线典型信号的模拟子程序,启动信号子程序STASTA:SETBP1.0;总线启动子程序 SETB P1.1 NOP NOP CLRP1.1 NOP NOP CLRP1.0 RET,终止信号子程序STOP,STOP:NOP;停止子程序 CLRP1.1SETBP1.0 NOP NOP SETBP1.1 NOP NOP CLR P1.1 RET,发送应答位子程序MACK,MACK:CLR P1.1;应答子程序 SETB P1.0;准备发送 NOP NOP CLR P1.0 SETB P1.1 RET,发送非应答位子程序MNACK,MNA

9、CK:CLRP1.0 CLRP1.1 SETBP1.1;非应答子程序 SETBP1.0 NOP NOP CLRP1.0 CLRP1.1 RET,(3)总线模拟传送的通用子程序,总线数据模拟传送的通用软件包除了上述基本的启动、停止、发送应答位和发送非应答位子程序外,还有应答位检查(CACK)、发送一个字节数据(WRBYT)、接收一个字节数据(RDBYT)、发送n个字节数据(WRNBYT)、接收n个字节数据(RDNBYT)子程序。,应答位检查子程序CACK,在应答位检查子程序(CACK)中,设置了标志位,CACK中用F0作标志位,当检查到正常应答位后,F0=0,否则F0=1。CACK:SETBP1

10、.1;设P1.1为输入 SETBP1.0;准备读 CLRF0 MOVA,P1;读P1.1 JNBACC.1,GEND;判断有无应答 SETBF0;P1.1为“1”,无应答,F0=1GEND:CLRP1.0;P1.1为“0”,有应答,F0=0 NOP RET,发送一个字节数据(WRBYT)子程序,占用资源:R0,C。WRBYT:MOVR0,#08H CLRP1.0 CLRCWLP:RLCA JCWR1 AJMPWR2WLP1:DJNZR0,WLP RET,WR1:SETBP1.1 SETBP1.0 NOP NOP CLRP1.0 CLRP1.1 AJMPWLP1WR2:CLRP1.1 SETBP

11、1.0 NOP NOP CLRP1.0 AJMPWLP1,接收一个字节数据(RDBYT)子程序,RDBYT:MOVR0,#08HRLP:SETBP1.1 SETBP1.0 MOVA,P1 JNBACC.1,RD0 AJMPRD1RLP1:DJNZR0,RLP RETRD0:CLRC MOVA,R2 RLCA MOVR2,A CLRP1.0 AJMPRLP1,RD1:SETBMOVA,R2RLCAMOVR2,ACLRP1.0AJMPRLP1,发送n个字节数据(WRNBYT)子程序,WRNBYT:PUSH PSWMOVPSW,#18HMOVR3,NUMBYTLCALLSTAMOVA,SLALCAL

12、LWRBYTLCALLCACKJBF0,WRNBYTMOVR1,MTDWRDA:MOV A,R1LCALLWRBYTLCALLCACK,LCALLWRBYTLCALLCACKJBF0,WRNBYTINCR1 DJNZR3,WRDALCALLSTOPPOPPSWRET,读取n个字节数据(RDNBYT)子程序,RDNBYT:PUSH PSWMOVPSW,#18MOVR3,NUMBYTLCALLSTAMOVA,SLALCALLWRBYTJBF0,RDNBYTRDN:MOVR1,#MRDRDN1:LCALLRDBYMOV R1,ADJNZR3,ACKLCALLMNACK LCALLSTOP,POPPS

13、W RETACK:LCALLMACK INCR1 SJMPRDN1,3PCF8591的主要特性与引脚功能,(1)AIN0AIN3:模拟输入端;(2)VSS:电源地线;(3)A0A2:地址输入端;(4)SDA:总线数据线;(5)SCL:总线的时钟输入端;(6)OSC:外部时钟输入端/内部时钟输出端;(7)EXT:时钟选择端。为1时,用外部时钟;为0时,用内部时钟;(8)AGND:模拟信号地;(9)VREF:基准电源输入端;(10)AOUT:D/A转换模拟,4PCF8591的结构与应用原理,控制寄存器其控制字格式如下:D1、D0=00时:模拟量输入通道选择0通道D1、D0=01时:模拟量输入通道选

14、择1通道D1、D0=10时:模拟量输入通道选择2通道D1、D0=11时:模拟量输入通道选择3通道,D2:自动增量选择位,此位有效,A/D转换通道自动循环递增,每次A/D转换结束都自动选择下一通道。D3、D7:标志位,必须设置为“0”。D5、D4:模拟量输入方式选择,分别为4路单端输入、3路差分输入、单端与差分混合、两路差分输入4种方式。,D6:模拟量输出允许位,D6=1时激活模拟量输出,5PCF8591的数据操作格式,(1)DAC数据操作格式 S:总线的启始信号(电平由高到低);SLAW:总线的8位寻址字节(写);A:应答信号(低电平);CONBYT:PCF8591的控制字,D/A转换时控制字

15、D6位置1;DATA0DATAn:待转换的二进制数;P:总线的终止信号(电平由低到高)。,(2)ADC数据操作格式,S:总线的启始信号;SLAW:总线的8位寻址字节(写);A:应答信号;CONBYT:PCF8591的控制字;SLAR:总线的8位寻址字节(读);DATA0DATAn:A/D转换的结果;:非应答信号(高电平);P:总线的终止信号。,6PCF8591与8051的接口电路,利用PCF8591的A/D转换器从通道0采集信号,再通过D/A转换器将信号输出的程序如下,SLAW0EQU90HSLAR0EQU91HCOMMAND0EQU40HORG0100HMAIN:MOVSP,#70H MOVSLA,#SLAR0MOVNUMBYT,#01HLCALLRDNBYTMOV31H,MRDMOVMTD,#COMMAND0MOVSLA,#SLAW0MOVNUMBYT,#02HLCALLWRNBYTLJMPMAIN,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号