收藏 分享(赏)

MCS-51单片机原理、系统设计与应用第7章.ppt

上传人:gnk289057 文档编号:7928906 上传时间:2019-05-30 格式:PPT 页数:71 大小:2.29MB
下载 相关 举报
MCS-51单片机原理、系统设计与应用第7章.ppt_第1页
第1页 / 共71页
MCS-51单片机原理、系统设计与应用第7章.ppt_第2页
第2页 / 共71页
MCS-51单片机原理、系统设计与应用第7章.ppt_第3页
第3页 / 共71页
MCS-51单片机原理、系统设计与应用第7章.ppt_第4页
第4页 / 共71页
MCS-51单片机原理、系统设计与应用第7章.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、第7章 数模及模数转换器接口,7.1 D/A转换器,7.2 MCS-51单片机与8位D/A转换器接口技术,7.4 D/A转换器接口技术举例,7.5 A/D转换器,下页,7.6 A/D转换器接口技术举例,上页,下页,回目录,概 述,在微机过程控制和数据采集等系统中,经常要对 过程参数进行测量和控制 。,连续变化的物理量,如: 温度、湿度、流量压力、速度、位移 等等,物理过程,微 机,传感器,A/D,D/A,执行机构,物理过程,v / i,v / i,Data,Data,过程控制示意图,模拟量,桥梁,工作原理:,Di为1时, Si与运放的反相输入端连接,Di为0时, Si与地连接,一、D/A转换原

2、理(T形解码网络),7.1 D/A转换器,上页,下页,回目录,D/ADigital to Analog Converter (DAC),uo = -IO1 RF,倒梯形电阻网络,R,R,R,R,IR = UR /R,上页,下页,回目录,IO1,= D3I3+ D2I2+ D1I1+ D0I0,上页,下页,回目录,若为n位二进制数,则,若RF=R,则,即输出电压的大小正比于输入二进制数的大小,实现了数字量和模拟量的转换,上页,下页,回目录,式中N是DA转换器的位数;D是数字量换算为十进制的数值。,简化公式:,二、 D/A转换器的性能参数,有时也用输入数字量的有效位数来表示分辨率,(1)分辨率,如

3、十位DAC分辨率:,(2)偏移误差,它是指输入数字量为0时,输出模拟量对0的偏移值,(3)线性度,是指D/A转换器的实际转移特性与理想直线之间的 最大误差或最大偏移,上页,下页,回目录,(4)精度,输出模拟电压的实际值与理想值之差。即最大静态转换误差。,(5)转换速度,即每秒钟可以转换的次数, 其倒数为转换时间。,上页,下页,回目录,7.2 MCS-51单片机与8位D/A转换器接口技术,一、0832的技术指标, 分辨率8位; 电流稳定时间1s;(因此可以不考虑转换的时间) 可双缓冲,单缓冲或直接数字输入; 只需在满量程下调整其线性度; 单一电源供电(+5V+15V); 基准电压(参考电压VRE

4、F)范围:-10V +10V; 低功耗,20mW;,二、DAC0832的结构及原理,上页,下页,回目录,上页,下页,回目录,8 位 输 入 锁 存 器,锁存允许,片选,写1,写2,传送,15K,三大部分组成:,一个8位输入寄存器 一个8位DAC寄存器 一个8位D/A转换器 (一个R-2R T型解码网络 ),为寄存命令。当 =1时,寄存器的输出随输入变化;= 0时,数据锁存在寄存器中,而不随输入数据的变 化而变化。,原理:,上页,下页,回目录,引脚功能:,三、DAC0832管脚功能,D0D7 数据线,ILE输入锁存允许信号,CS片选信号,WR1、WR2:写控制,XFER:传递控制信号,I01、I

5、02:电流输出端,Rfb:内部集成反馈电阻,可外接。,VREF:参考电压输入,VCC:数字电路供电电压,AGND:模拟地;DGND:数字地。,上页,下页,回目录,四、8位D/A转换器 接口方法(DAC0832与单片机的连接方法),1、单缓冲型接口方法 (3种),(a), 图7-4(a) 的接口电路是把 DAC寄存器接成 常通状态; 即ILE接高电平,和 接地, 与P2.7口 连接,与单片机的端连接。,上页,下页,回目录,MOVX DPTR, A,0,D0 D1 D2 D3 D4 D5 D6 D7,V0,VCC,(b), 图7-4(b) 的接口电路 是把输入寄存器 接成常通状态; 即ILE接高电

6、平,和 接地, 与 P2.7口 连接,与单片机 的 端连接。,上页,下页,回目录,VCC,MOVX DPTR, A,0,D0 D1 D2 D3 D4 D5 D6 D7,V0,(c),上页,下页,回目录,MOVX DPTR, A,D0 D1 D2 D3 D4 D5 D6 D7,V0,0,VCC,图7-5 双缓冲型接口电路,2、 双缓冲型接口方法,上页,下页,回目录,VCC,D0 D1 D2 D3 D4 D5 D6 D7,V0,0,0,MOVX DPTR, A,MOVX DPTR, A,一级锁存,二级锁存,3、直通型接口方法,五、D/A转换器的输出方式,1、单极性输出,上页,下页,回目录,MOV

7、DTPR,#7FFFH MOVX DPTR, A,D0 D1 D2 D3 D4 D5 D6 D7,V0,P267 图7-7 DAC0832单极性输出电路,典型应用电路,表7-1 单极性输出D/A关系,上页,下页,回目录,P267,输出的电压V,与输入的数字量呈正比。,该电路的输出公式:,问题与说明,问题:图7-7中待转换的数字量是通过P0口输出的,而P0口作为地址/数据的复用口,会不会将地址也作为待转换的数字量进行D/A转换输出呢?为什么? 说明:图7-7运放的主要作用是将D/A转换后的电流转化为对应的电压输出。 说明:VREF电压可正可负,为正时输出一负的电压,为负时输出一正的电压。 说明:

8、Rfb和输出端之间可串接一可调电阻,调整输出的满程量。 图中的运放还可由4558,LM324,LF356,OP07等集成电路实现(下同)。,D/A驱动程序: MOV DPTR,#7FFFH ;使P27为 “0” MOV A,# data ;数字送A MOVX DPTR,A ;传送至DAC0832输出,上页,下页,回目录,*,*,以图7-7为例:请分别编写V0输出为三角波和梯形波的驱动程序,上页,下页,回目录,典型应用电路,几点说明,图7-8中,R1=R2=2R3,Rfb和输出端之间可串接一可调电阻,调整输出的满程量;R4是运放的调零电阻,通过改变它的大小可以对D/A芯片进行零点补偿;一般要分两

9、步进行调整,先调整第一级达到要求后再调整第二级。,表7-2 双极性输出D/A关系 ,上页,下页,回目录,P268,一、单极性输出接口系统设计,7.4 D/A转换器接口技术举例,题目要求:若在外部RAM区6000H607FH单元中存放着一个控制模型(128个8位二进制数)。要求实现如下功能:按顺序从6000H开始的存贮区域中取出一个字节的二进制数据送往D/A转换器转换成电压输出。经过t延时后,再取下一个字节数据,转换成电压输出。直到128个字节都转换完毕。再从头重复执行上述过程。,上页,下页,回目录,V0,上页,下页,回目录,P273 图7-13 D/A转换硬件接口电路,BFFFH,V0,D0

10、. . .D7,MOV DPTR,#6000H MOVX A,DPTR,MOV DPTR,#0BFFFH MOVX DPTR,A,MOV DPTR,#0BFFF H ;选输入寄存器 MOVX DPTR,A ;数据送输入寄存器和DAC寄存器;由D/A转换输出电压,完成D/A转换任务的程序为:,ORG 0H LJMP DA0DA0: MOV R7,#128 ;置数据长度MOV DPTR,#6000H ;预置暂存器MOV P2,#0BFH ;置D/A指针高8位MOV R0,#0FFH ;置D/A指针低8位,2. 程序设计,上页,下页,回目录,DA1: MOVX A,DPTR ;取数MOVX R0,A

11、 ;送数INC DPTR ;指向下一个数据ACALL DLY ;调延时tsDJNE R7,DA1 ;128个数未完则转AJMP DA0 ;重新开始SJMP $END ;结束,上页,下页,回目录,12位的D/A接口技术请看本书的P269 272,二、双极性输出接口系统设计,按课本图7-14,5) 正弦波电压输出,C,0,1,2,3,4,5,254,255,三、双路D/A同步控制系统设计,MOV DPTR, 0DFFFH ; 指向DAC0832(1) MOV A, data1 ; data1送入DAC0832(1)中锁存 MOVX DPTR, A ; MOV DPTR, 0BFFFH ; 指向DA

12、C0832(2) MOV A, data2 ; data2送入DAC0832(2)中锁存 MOVX DPTR, A MOV DPTR, 7FFFH ; 给0832(1)和(2)提供WR信号 MOVX DPTR, A ; 同时完成D/A转换输出,7.3 MCS-51单片机与12位D/A转换器接口技术,一.DAC1210的技术指标,二.DAC1210的结构与原理,三.单片机与DAC1210接口技术,控制程序:,作业,设DAC0832按单缓冲方式与51单片机接口,DAC0832在系统中的地址为EFFFH,且以单极性输出,设VREF=-5V,试编程产生如下的周期性梯形波(不考虑t1的时间, t2由延时

13、子程序DELAY实现,可直接调用)。,7.5 A/D转换器,一、双积分型A/D转换器原理,上页,下页,回目录,输入电压越大,反向积分时间越长。 用标准时钟来测量这个时间,反向积分时间内对应标准时钟的计数值即是相应于输入电压的数字量。,VX,数字量,A/D Analog to Digital Converter(ADC),A,B,B,A,双积分型A/D转换器特点:, 抗干扰性好 (针对噪声),上页,下页,回目录, 精度高, 速度慢(几百ms),可用于智能仪表,二、逐位逼近型A/D转换器原理,上页,下页,回目录,1)给N位寄存器清零;,2)将N位寄存器最高位置“1”;即dn-1=1;,3)DAC将

14、N位寄存器输出的数字量转换为模拟量VS;,4)当US UX ,置数控制逻辑电路使该位“1”保留;,当US UX ,置数控制逻辑电路使该位“1”清除,即该位置“0”;,5)将N位寄存器次高位置“1”;即dn-2=1;重复步骤3)、4)、5),转换过程:,上页,下页,回目录,ADC的主要技术指标,3、相对精度:,以输出二进制代码的位数表示分辨率。位数越多, 量化误差越小,转换精度越高,完成一次A/D转换所需要的时间。即从它接到转换 命令起直到输出端得到稳定的数字量输出所需要的时间,实际转换值和理想特性之间的最大偏差。,1、分辨率:,2、转换速度:,4、其它:偏移误差、线性误差、绝对精度等基本概念。

15、请看P280的论述。,上页,下页,回目录,从使用观点来说,AD转换器可以分为通用廉价、高性能(精度和速度)、高速、高分辨率、低功耗等类型。逐次逼近式A/D转换器是一种速度较快, 精度较高的转换器, 其转换时间大约在几微秒到几百微秒之间。常用的这种芯片有: (1) ADC0801ADC0805型 8 位(指的是分辨率)MOS型A/D转换器; (含15个模拟输入通道) (2) ADC0808/0809 型 8 位MOS型A/D转换器; (含8个模拟输入通道) (3) ADC0816/0817 型 8 位MOS型A/D转换器;(含16个模拟输入通道),7.6 MCS-51单片机与8位A/D转换器接口

16、技术,一、ADC0809的主要功能:, 分辨率为8位。 总的不可调误差在(1/2)LSB和1LSB范围内。 典型转换时间为100s。 具有锁存控制的8路多路开关。 具有三态缓冲输出控制。 单一+5V供电,此时输入范围为05V。 输出与TTL兼容。 工作温度范围4085。,上页,下页,回目录,图 ADC0809的内部结构,二、ADC0809的的组成及工作原理,上页,下页,回目录,End of Conversion,Output Enable,Address Latch Enable,640kHZ,通道地址,引脚,图 7-20 ADC0809引脚图,三、ADC0809引脚及功能,1、引脚功能,IN

17、oIN7:8路模拟信号输入端。ALE:地址锁存器允许信号输入端。当它为高电平时,地址信号进入地址锁存器中。CLOCK:外部时钟输入端。时钟频率典型值为640kHz,允许范围为(101280)kHz。时钟频率降低时,A/D转换速度也降低。START:A/D转换信号输入端。有效信号为一正脉冲。在脉冲上升沿,A/D转换器内部寄存器均被清零,在其下降沿开始A/D转换。EOC:A/D转换结束信号。在START信号上升沿之后0(2us+8个时钟周期)时间内,EOC变为低电平。这一点在启动A/D转换后查询EOC信号时须加注意。当A/D转换结束后,EOC立即输出一正阶跃信号,可用来作为A/D转换结束的查询信号

18、或中断请求信号。转换时间:(6673).TCLK,时钟频率为640kHz时,转换时间约等于100us-110us。,OE:输出允许信号。当OE端输入高电平信号时,三态输出锁存器将AD转换结果输出。 D0D7:数字量输出端。D0为最低有效位(LSB),D7为最高有效位(MSB)。 REF(+)、REF(一):正负基准电压输入端。基准电压的中心值即1/2(VREF(+)+VREF(-)应接近于1/2VCC,其偏差值不应超过0.1V,正负基准电压的典型值分别为+5V和0V。 Vcc:电源电压(+5V)输入端。GND:地。,表 地址码与输入通道的对应关系,上页,下页,回目录,2、工作原理(时序),锁存

19、,启动,100S,ADC08080809的数字量输出值D(换算到十进制)与模拟量输入值VIN之间的关系,用下式表示:通常VREF(-)=0,所以有例:当VREF(+)=5V, VIN=4V时,D=(4/5)256=205=1100 1101B=0BDH,上页,下页,回目录,四、ADC0809与8031的接口设计,CH0 CH1 CH7 +5V接地,0,0,0,0,MOVX DPTR,A,;令(DPTR)= 7FF8H,P27= 0,MOVX A,DPTR,CBA= 000,CH0,写,读,单片机的时钟频率为6MHz,1、图中引脚连接的说明,(1)输出数据线的连接:ADC 08080809的输出

20、部分有三态锁存器,因此其输出数据线能直接与8031的数据线相连。 (2)控制信号的连接: 图中将AD转换器作为8031的一个扩展I/O口,用高位地址线P2.7(结合WR或RD)选通芯片。模拟输入通道地址的译码输入信号A、B、C,由低位地址线P0.0P0.2经过锁存器后提供。这样,输入通道INoIN7 的端口地址为7FF8H7FFFH (设地址的其它无关位全为”1”)。 启动信号START由P2.7结合WR提供。ALE直接与START相连。当8031执行外部RAM(端口地址为7FF8H7FFFH)的写操作时,就能启动A/D转换。 转换结束信号EOC经过非门接到8031的INT0,当转换结束EOC

21、变高时,用来申请中断。也可以采用查询EOC或程序延时方法等待A/D转换结束。 输出允许信号OE由P2,7结合RD提供,当8031执行外部RAM读操作时,就能读取A/D转换结果。,(3)时钟和基准电源的连接这个电路中,AD的时钟信号借用803l的ALE。前面提到,当MCS-51不执行外部数据存储器读写操作时,ALE的频率为单片机时钟频率的16。当单片机的时钟频率为6MHz时,ALE的频率为1MHz,这对ADC 08080809来说是允许的。如果外部时钟频率太高,可以进行分频处理。基准电压接到+5V电源,这是一种简便接法。AD转换的精度直接受到+5V电源电压变动的影响。当精度要求较高时,应将基准电

22、压另接高精度稳压电源。,2、AD转换过程和程序设计步骤(一),(1)启动AD转换 方法是8031向A/D芯片所选通道地址执行一次输出操作。假设选通IN0,启动转换的指令如下:MOV DPTR,#7FF8H ;0通道地址送DPTRMOVX DPTR,A ;启动A/D转换执行第二条指令的目的是利用其地址信号(P2.7,P0.0P0.2)和WR信号来选择所需通道,提供ALE和START信号;而数据总线所传送的数据是没有意义的。注:在上述第一条指令的DPTR中应反映出所选的通道地址.,AD转换过程和程序设计步骤(二),(2)等待A/D转换结束 EOC既能用于中断方式(EOC先取反),也能用于查询方式或

23、定时等待方式。 选择外部中断方式时,应采用边沿触发。 若选择查询方式,应在启动AD转换后稍有延时(避开(2us+8个时钟周期)的高电平时间)再开始查询。 另外,还可以采用定时等待方式(如上图中的EOC可不外接),对于ADC08080809来说,等待时间约100us(和fosc有关)。等待时间tc=(6673)fclk,一般fclk和fALE有关,fALE和单片机的晶振频率fosc有关,fALE=fosc/6 。,AD转换过程和程序设计步骤(三),(3)读取转换结果 AD转换结束后,8031可用下列指令读取转换结果:MOV DPTR, #7FF8H MOVX A,DPTR然后存入某一存储单元。

24、注:上述第一条指令中DPTR的取值只要确保OE有效即P2.7有效即可,三态缓冲输出锁存器中的值,此时与哪一通道无关。,上页,下页,回目录,例7-1 图7-22中,模拟量由通道0输入,转换成的数字量存入内部RAM的40H单元中.,2、延时方式 (将上述红色的两条指令用下面的指令代替)MOV R7,#25 ;延时常数DJNZ R7, $ ;重复执行一次4S,3、举例,上页,下页,回目录,3、中断方式(程序可分为3部分) 例7.3 图7-22,采用中断方式对IN0依次采16个点,存在内部70H-7F中.ORG 0000HAJMP STARTORG 0003HAJMP INT0P 对中断 及其工作单元

25、初始化 START:MOV R0,#70H ;RAM首地址MOV R7,#16 ;计数器,采样16次MOV SP,#3F ;设堆栈SETB IT0 ;设边沿触发SETB EX0 ;开中断SETB EA ;CPU开中断,主程序:启动A/D转换 MAIN0: MOV DPTR,#7FF8H ; 选A/D及其0通道CH0 MAIN: CLR F0MOVX DPTR,A ;启动A/D转换,P286,上页,下页,回目录,中断服务程序 (即数据采集或者叫做采样)INT0P:PUSH ACC ;A进栈SETB F0MOVX A, DPTR ;读A/D数据MOV R0,A ;A/D数据送RAMINC R0 ;

26、地址加“1”POP ACC ;A出栈RETI ;返主,P286,TEST: JNB F0, DONEDJNZ R7,MAIN ;如求平均值等DONE: ;执行其它程序SJMP TEST,例:图7-22,采用延时的方式, 分别对 8 路模拟信号轮流采样一次, 并依次把结果转存到数据存储区的采样转换程序。,MOV R1, data ; 置数据区首址MOV DPTR, 7FF8H ; P2.7=0, 指向通道 0MOV R7, 08H ; 置通道数 LP1: MOVX DPTR, A ; 启动A/D转换MOV R6, 0AH ; 软件延时 DALY: NOPNOPNOP,DJNZ R6, DALY

27、MOVX A, DPTR ; 读取转换结果 MOV R1, A ; 存储数据 INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针 DJNZ R7, LP1 ; 8 个通道全采样完了吗? RET,4、ADC0809与单片机的其它接口电路(1),左图,通道地址A、B、C 直接接至P0口,不经地址锁存器,此时A、B、C中的值取决于0809的ALE有效(即WR有效时)时的P0口的低3位(即送出数据(A)的低3位)。,MOV DPTR,#7FFXH ;ADC器件任一通道地址送DPTR MOV A,#08H ;选择IN0通道,应使D2D1D0=000 MOVX DPTR,A ;启动AD

28、C JNB P32,$ ;课本用两条NOP 代替 JB P3.2,$ MOVX A,DPTR MOV 40H,A,课本例7-4同此.,ADC0809与单片机的其它接口电路(2),左图中,通道选择端ADDA、ADDB、ADDC三端分别与P2.0、P2.1、P2.2相连,IN0IN7的地址分别为78FFH、79FFH7FFFH,与P0口内容无关(P2口只输出高8位地址,且一直锁存)。,对通道0启动A/D转换的操作为: MOV DPTR,#78FFH MOVX DPTR , A,作业(补充),下图为A/D转换的硬件连接图,两位数码管为共阴极。实现:当开关S1断开时,ADC不进行转换,LED灯不亮,两

29、位数码管都没有任何的显示(段码为00H);当开关S1闭合时,ADC进行转换,LED灯亮,两位数码管实时显示出当前模/数转换的结果(十六进制的数字量)。设D1MS为延时1毫秒的子程序,可直接调用;单片机选用的晶振频率为12MHZ;0F的共阴极段码分别是:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H。要求: (1).D触发器(U3)的作用是什么? (2).要使LED灯亮,P3.1应输出”0”还是”1”?S1闭合时P3.0是”0”还是”1”? (3).U1的ALE引脚在单片机执行非MOVX操作符的指令时,该信号的频率是多少? (4).画出程序流程图。 (5).请编写完整的控制程序。,电路图,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报