《单片机原理、应用及c51程序设计》第8章__MCS-51与DA、AD的接口

上传人:guoc****ang 文档编号:243158326 上传时间:2024-09-17 格式:PPT 页数:25 大小:245KB
返回 下载 相关 举报
《单片机原理、应用及c51程序设计》第8章__MCS-51与DA、AD的接口_第1页
第1页 / 共25页
《单片机原理、应用及c51程序设计》第8章__MCS-51与DA、AD的接口_第2页
第2页 / 共25页
《单片机原理、应用及c51程序设计》第8章__MCS-51与DA、AD的接口_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,8,章,MCS-51,与,D/A,、,A/D,的接口,第,8,章,MCS-51,与,D/A,、,A/D,的接口,8.1 MCS-51,单片机与,ADC,的接口,8.1.1 A/D,转换器概述,一,A/D,转换器的类型及原理,A/D,转换器(,ADC,)的作用是把模拟量转换成数字量,以便于计算机进行处理。,随着超大规模集成电路技术的飞速发展,现在有很多类型的,A/D,转换器芯片,不同的芯片,它们的内部结构不一样,转换原理也不同,各种,A/D,转换芯片根据转换原理可分为计数型,A/D,转换器、逐次比较式、双重积分型和并行式,A/D,转换器等;按转换方法可分为直接,A/D,转换器和间接,A/D,转换器;按其分辨率可分为,416,位的,A/D,转换器芯片。,1,计数型,A/D,转换器,计数型,A/D,转换器由,D/A,转换器、计数器和比较器组成,工作时,计数器由零开始计数,每计一次数后,计数值送往,D/A,转换器进行转换,并将生成的模拟信号与输入的模拟信号在比较器内进行比较,,若前者小于后者,则计数值加,1,,重复,D/A,转换及比较过程,依此类推,直到当,D/A,转换后的模拟信号与输入的模拟信号相同,则停止计数,这时,计数器中的当前值就为输入模拟量对应的数字量。这种,A/D,转换器结构简单、原理清楚,但它的转换速度与精度之间存在矛盾,当提高精度时,转换的速度就慢,当提高速度时,转换的精度就低,所以在实际中很少使用。,2,逐次逼近型,A/D,转换器,逐次逼近型,A/D,转换器是由一个比较器、,D/A,转换器、寄存器及控制电路组成部分。与计数型相同,也要进行比较以得到转换的数字量,但逐次逼近型是用一个寄存器从高位到低位依次开始逐位试探比较。转换过程如下:开始时寄存器各位清,0,,转换时,先将最高位置,1,,送,D/A,转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则,1,保留,如果转换的模拟量比输入模拟量大,则,1,不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的数字量。一个,n,位的逐次逼近型,A/D,转换器转换只须要比较,n,次,转换时间只取决于位数和时钟周期。逐次逼近型,A/D,转换器转换速度快,在实际中广泛使用。,双重积分型,A/D,转换器将输入电压先变换成与其平均值成正比的时间间隔,然后再把此时间间隔转换成数字量,它属于间接型转换器。它的转换过程分为采样和比较两个过程。采样即用积分器对输入模拟电压进行固定时间的积分,输入模拟电压值越大,采样值越大,比较就是用基准电压对积分器进行反向积分,直至积分器的值为,0,,由于基准电压值固定,所以采样值越大,反向积分时积分时间越长,积分时间与输入电压值成正比,最后把积分时间转换成数字量,则该数字量就为输入模拟量对应的数字量。由于在转换过程中进行了两次积分,因此称为双重积分型。双重积分型,A/D,转换器转换精度高,稳定性好,测量的是输入电压在一段时间的平均值,而不是输入电压的瞬间值,因此它的抗干扰能力强,但是转换速度慢,双重积分型,A/D,转换器在工业上应用也比较广泛。,3,双重积分型,A/D,转换器,二,A/D,转换器的主要性能指标,1,分辨率,2,转换时间,3,量程,4,转换精度,8.1.2 ADC0809,与,MCS-51,的接口,一,ADC0809,芯片,ADC0809,是,CMOS,单片型逐次逼近型,A/D,转换器,具有,8,路模拟量输入通道,有转换起停控制,模拟输入电压范围为,0+5V,,转换时间为,100,s,,它的内部结构如图所示。,IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7,ADDA,ADDB,ADDC,ALE,通道,选择,开关,地址锁存和译码,定时和控 制,逐次逼近寄存器,SAR,8,位,三 态,锁 存,缓冲器,DAC,OE,EOC,CLOCK,START,VCC,GND,VREF+,VREF-,ADC0809,D0,D1,D2,D3,D4,D5,D6,D7,二,ADC0809,的引脚,ADC0809,芯片有,28,个引脚,采用双列直插式封装,如图。,其中:,IN0IN7,:,8,路模拟量输入端。,D0D7,:,8,位数字量输出端。,ADDA,、,ADDB,、,ADDC,:,3,位地址输入线,用于选择,8,路模拟通道中的一路,选择情况见表。,ADDC,ADDB,ADDA,选择通道,0,0,0,IN0,0,0,1,IN1,0,1,0,IN2,0,1,1,IN3,1,0,0,IN4,1,0,1,IN5,1,1,0,IN6,1,1,1,IN7,ALE,:地址锁存允许信号,输入,由低电平变高电平锁存。,START,:,A/D,转换启动信号,输入,由高电平变低电平启动。,EOC,:,A/D,转换结束信号,输出。当启动转换时,该引脚为低电平,当,A/D,转换结束时,该线脚输出高电平。,OE,:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从,D0D7,送出。,CLK,:时钟脉冲输入端。要求时钟频率不高于,640KHZ.,REF+,、,REF-,:基准电压输入端。,Vcc,:电源,接,+5V,电源。,GND,:地。,三,ADC0809,的工作流程,ADC0809,的工作流程如图所示:,1,输入,3,位地址,并使,ALE=1,,将地址存入地址锁存器中,经地址译码器译码从,8,路模拟通道中选通一路模拟量送到比较器。,2,送,START,一高脉冲,,START,的上升沿使逐次逼近寄存器复位,下降沿启动,A/D,转换,并使,EOC,信号为低电平。,3,当转换结束时,转换的结果送入到输出三态锁存器,并使,EOC,信号回到高电平,通知,CPU,已转换结束。,4,当,CPU,执行一读数据指令,使,OE,为高电平,则从输出端,D0D1,读出数据。,四,ADC0809,与,MCS-51,单片机的接口,下图是一个,ADC0809,与,8051,的一个接口电路图。,1,硬件连接,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,ALE,WR,P2.7,RD,INTO,+,+,+5V,GND,D0,D1,D2,D3,D4,D5,D6,D7,ADDA,ADDB,ADDC,CLK,ALE,START,OE,EOC,IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7,VREF+,VREF-,ADC0809,8051,分,频,器,2,软件编程,设接口电路用于一个,8,路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内,RAM,的,30H37H,单元中。采样完一遍后停止采集。,汇编语言编程:,ORG 0003H,LJMP INT0,ORG 0100H,;主程序,MOV R0,,,#30H,;设立数据存储区指针,MOV R2,,,#08H,;设置,8,路采样计数值,SETB IT0,;设置外部中断,0,为边沿触发方式,SETB EA,;,CPU,开放中断,SETB EX0,;允许外部中断,0,中断,MOV DPTR,,,#0000H,;送入口地址并指向,IN0,LOOP,:,MOVX DPTR,,,A,;启动,A/D,转换,,A,的值无意义,HERE,:,SJMP HERE,;等待中断,ORG 0200H,;中断服务程序,INT0,:,MOVX A,,,DPTR,;读取转换后的数字量,MOV R0,,,A,;存入片内,RAM,单元,INC DPTR,;指向下一模拟通道,INC R0,;指向下一个数据存储单元,DJNZ R2,,,NEXT,;,8,路未转换完,则继续,CLR EA,;已转换完,则关中断,CLR EX0,;禁止外部中断,0,中断,RETI,;中断返回,NEXT,:,MOVX DPTR,,,A,;再次启动,A/D,转换,RETI,;中断返回,C,语言编程:,#include ,#include /,定义绝对地址访问,#define,uchar,unsigned char,#define IN0 XBYTE0x0000 /,定义,IN0,为通道,0,的地址,static,uchar,data x8; /,定义,8,个单元的数组,存放结果,uchar,xdata,*,ad_adr,; /,定义指向通道的指针,uchar,i=0;,void,main(void,),IT0=1; /,初始化,EX0=1;,EA=1;,i=0;,ad_adr,= /,指针指向通道,0,*,ad_adr,=i; /,启动通道,0,转换,for (;) ; /,等待中断,void,int_adc(void,) interrupt 0 /,中断函数,xi,=*,ad_adr,; /,接收当前通道转换结果,i+;,ad_adr,+; /,指向下一个通道,if (i8),*,ad_adr,=i; /8,个通道未转换完,启动下一个通道返回,else,EA=0;EX0=0; /8,个通道转换完,关中断返回,8.2 MCS-51,单片机与,DAC,的接口,8.2.1 D/A,转换器概述,一,D/A,转换器的性能指标,1,分辨率。,2,精度,3,线性度,4,温度灵敏度,5,建立时间,二,D/A,转换的分类,D/A,转换器的品种繁多、性能各异。按输入数字量的位数分:,8,位、,10,位、,12,位和,16,位等;按输入的数码分:二进制方式和,BCD,码方式;按传送数字量的方式分:并行方式和串行方式;按输出形式分:电流输出型和电压输出型,电压输出型又有单极性和双极性;按与单片机的接口分:带输入锁存的和不带输入锁存的。下面介绍几种常用的,D/A,转换芯片。,三,D/A,转换器与单处机的连接,1,数据线的连接,D/A,转换器与单片机的数据线的连接主要考虑两个问题:一是位数,当高于,8,位的,D/A,转换器与,8,位数据总线的,MCS-51,单片机接口时,,MCS-51,单片机的数据必须分时输出,这时必须考虑数据分时传送的格式和输出电压的“毛刺”问题;二是,D/A,转换器有无输入锁存器的问题,当,D/A,转换器内部没有输入锁存器时,必须在单片机与,D/A,转换器之间增设锁存器或,I/O,接口。,2,地址线的连接,一般的,D/A,转换器只有片选信号,而没有地址线。这时单片机的地址线采用全译码或部分译码,经译码器输出来控制,D/A,转换器的片选信号,也可由某一位,I/O,线来控制,D/A,转换器的片选信号。,3,控制线的连接,D/A,转换器主要有片选信号、写信号及启动转换信号等,一般由单片机的有关引脚或译码器提供。,8.2.2 MCS-51,与,8,位,DAC0832,的接口,一,DAC0832,芯片,DAC0832,是一种电流型,D/A,转换器,数字输入端具有双重缓冲功能,可以双缓冲、单缓冲或直通方式输入,它的内部结构如图。,与,与,与,DI0DI7,ILE,CS,WR1,WR2,XFER,输入,寄,存,器,DAC,寄,存,器,D/A,转,换,器,LE1,LE2,V,REF,R,FB,I,out1,I,out2,AGND,V,CC,DGND,DAC0832,二,DAC0832,的引脚,DAC0832,有,20,引脚,采用双列直插式封装,如图所示。,CS,WR1,AGND,DI3,DI2,DI2,DI0,VREF,RFB DGND,VCC,ILE,WR2,XFER,DI4,DI5,DI6,DI7,IOUT1,IOUT2,1,2,3,4,5,6,7,8,9,10,20,19,18,17,16,15,14,13,12,11,其中:,DI0,DI7,(,DI0,为最低位):,8,位数字量输入端。,ILE,:数据允许控制输入线,高电平有效。,:片选信号。,:写信号线,1,。,:写信号线,2,。,:数据传送控制信号输入线,低电平有效。,IOUT1,:模拟电流输出线,1,。它是数字量输入为“,1”,的模拟电流输出端。,IOUT2,:模拟电流输出线,2,,它是数字量输入为“,0”,的模拟电流输出端,采用单极性输出时,,IOUT2,常常接地。,Rfb,:片内反馈电阻引出线,反馈电阻制作在芯片内部,用作外接的运算放大器的反馈电阻。,VREF,:基准电压输入线。电压范围为,10V,10V,。,VCC,:工作电源输入端,可接,5V,15V,电源。,AGND,:模拟地。,DGND,:数字地。,三,DAC0832,的工作方式,DAC0832,有三种方式:直通方式、单缓冲方式和双缓冲方式。,1,直通方式:,、 、 、 直接接地,,ILE,接电源,,DAC0832,工作于直通方式,此时,,8,位输入寄存器和,8,位,DAC,寄存器都直接处于导通状态,,8,位数字量到达,DI0DI7,,就立即进行,D/A,转换,从输出端得到转换的模拟量。,当引脚,2,单缓冲方式:,当连接引脚,、 、 、 ,使得两个锁存器的一个处于直通状态,另一个处于受控制状态,或者两个被控制同时导通,,DAC0832,就工作于单缓冲方式,例如下图就是一种单缓冲方式的连接,对于下图的单缓冲连接,只要数据,DAC0832,写入,8,位输入锁存器,就立即开始转换,转换结果通过输出端输出。,Vout,-,VCC,ILE,CS,WR1,DI0DI7,WR2,XFER,DGND AGND,VREF,Rfb,IOUT1,IOUT2,+5V,-,-5V,-,-,A,+,-,P2.7,WR,P0.0P0.7,8051,3,双缓冲方式:,当,8,位输入锁存器和,8,位,DAC,寄存器分开控制导通时,,DAC0832,工作于双缓冲方式,双缓冲方式时单片机对,DAC0832,的操作分两步,第一步,使,8,位输入锁存器导通,将,8,位数字量写入,8,位输入锁存器中;第二步,使,8,位,DAC,寄存器导通,,8,位数字量从,8,位输入锁存器送入,8,位,DAC,寄存器。第二步只使,DAC,寄存器导通,在数据输入端写入的数据无意义。下图就是一种双缓冲方式的连接。,P2.7,P2.6,WR,P0.0P0.7,8051,Vout,-,VCC,ILE,CS,XFER,WR1,WR2,DI0DI7,DGND AGND,VREF,Rfb,IOUT1,IOUT2,+5V,-,-5V,-,-,A,+,-,四,DAC0832,的应用,D/A,转换器在实际中经常作为波形发生器使用,通过它可以产生各种各样的波形。它的基本原理如下:利用,D/A,转换器输出模拟量与输入数字量成正比这一特点,通过程序控制,CPU,向,D/A,转换器送出随时间呈一定规律变化的数字,则,D/A,转换器输出端就可以输出随时间按一定规律变化的波形。,【,例,8-1】,根据图,8.9,编程从,DAC0832,输出端分别产生锯齿波、三角波和方波。,根据单缓冲方式图的连接,,DAC0832,的口地址为,7FFFH,。,汇编语言编程:,锯齿波,MOV DPTR,,,#7FFFH,CLR A,LOOP,:,MOVX DPTR,,,A,INC A,SJMP LOOP,三角波:,MOV DPTR,,,#7FFFH,CLR A,LOOP1,:,MOVX DPTR,,,A,INC A,CJNE A,,,#0FFH,,,LOOP1,LOOP1,:,MOVX DPTR,,,A,DEC A,JNZ LOOP2,SJMP LOOP1,方波:,MOV DPTR,,,#7FFFH,LOOP,:,MOV A,,,#00H,MOVX DPTR,,,A,ACALL DELAY,MOV A,,,#FFH,MOVX DPTR,,,A,ACALL DELAY,SJMP LOOP,DELAY,:,MOV R7,,,#0FFH,DJNZ R7,,,$,RET,C,语言编程:,锯齿波:,#include /,定义绝对地址访问,#define,uchar,unsigned char,#define DAC0832 XBYTE0x7FFF,void main(),uchar,i;,while(1),for (i=0;i0xff;i+),DAC0832=i;,三角波:,#include /,定义绝对地址访问,#define,uchar,unsigned char,#define DAC0832 XBYTE0x7FFF,void main(),uchar,i;,while(1),for (i=0;i0;i-),DAC0832=i;,方波:,#include /,定义绝对地址访问,#define,uchar,unsigned char,#define DAC0832 XBYTE0x7FFF,void,delay(void,);,void main(),uchar,i;,while(1),DAC0832=0; /,输出低电平,delay(); /,延时,DAC0832=0xff; /,输出高电平,delay(); /,延时,void delay() /,延时函数,uchar,i;,for (i=0;i0xff;i+) ;,作业,习题,2,、,3,、,4,、,5,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!