单片机原理及应用(第二版)第十一章AT89S51单片机与A课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机原理及应用(第二版)第十一章AT89S51单片机与A课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 第二 第十一 AT89S51 课件
- 资源描述:
-
1、第第1111章章 AT89S51AT89S51单片机与单片机与D/AD/A、A/D A/D 转换器的接口转换器的接口12 第第11章章 目录目录11.1 AT89S51单片机与单片机与DAC的接口的接口 11.1.1 D/A转换器简介 11.1.2 AT89S51单片机与8位D/A转换器0832的接口设计 11.1.3 AT89S51单片机与12位D/A转换器AD667的接口设计 11.1.4 AT89S51与串入的12位D/A转换器AD7543的接口设计11.2 AT89S51单片机与单片机与ADC的接口的接口 11.2.1 A/D转换器简介 11.2.2 AT89S51与逐次比较型8位A/
2、D转换器ADC0809的接口 11.2.3 AT89S51与逐次比较型12位A/D转换器AD1674的接口 3 11.2.4 AT89S51与双积分型A/D转换器MC14433的接口11.3 89S51单片机与单片机与V/F转换器的接口转换器的接口 11.3.1 用V/F转换器实现A/D转换的原理 11.3.2 常用V/F转换器LMX31简介 11.3.3 V/F转换器与MCS-51单片机接口 11.3.4 LM331应用举例4内容概要内容概要在单片机测控系统中,被测量被测量的温度、压力、流量、速度等非电物理量非电物理量,须经传感器先转换模拟电信号,必须转换成数字量后才能在单片机中用软件进行处
3、理。模拟量转换成数字量的器件为模拟量转换成数字量的器件为A/D转换器(转换器(ADC)。单片机处理完毕的数字量,有时需转换为转换为模拟信号输模拟信号输出出。器件称为D/A转换器(转换器(DAC)。本章介绍典型的ADC、DAC集成电路芯片,以及与单片机的硬件接口设计及软件设计。11.1 AT89S51单片机与单片机与DAC的接口的接口介绍单片机系统如何输出如何输出模拟量模拟量。目前商品化商品化DAC芯片芯片较多,设计者只需要合理的选用只需要合理的选用合适的芯片合适的芯片,了解它们的功能、引脚外特性以及与单片机的接口设计方法即可。由于现在部分的单片机芯片中集成了D/A转换器,位数一般在10位左右,
4、且转换速度也很快,所以单片的DAC开始向高的位数和高转换速度上转变。低端的产品,如8位的D/A转换器,开始面临被淘汰的危险,但是在实验室或涉及某些工业控制方面的应用,低5端的8位DAC以其优异性价比还是具有相当大的应用空间的。11.1.1 D/A转换器简介转换器简介1概述概述购买和使用D/A转换器时,要注意D/A转换器选择转换器选择的几个问题。(1)D/A转换器的输出形式转换器的输出形式有两种输出形式两种输出形式。一种是电压输出电压输出,即给D/A转换器输入的是数字量,而输出为电压。另一种是电流输出电流输出。6对电流输出的D/A转换器,如需要模拟电压输出,可在其输出端加一个由运算放大器构成的I
5、-V转换转换电路,将电流输出转换为电压输出。(2)D/A转换器与单片机的接口形式转换器与单片机的接口形式单片机与D/A转换器的连接,早期多采用8位数字量并行传输的并行接口,现在除并行接口外除并行接口外,带有串行口的串行口的D/A转换器品种也不断增多转换器品种也不断增多。除了通用的UART串行口串行口外,目前较为流行的还有I2C串行口串行口和SPI串行口串行口等。所以在选择单片D/A转换器时,要考虑单片机与考虑单片机与D/A转换器的转换器的接口接口形式形式。72主要技术指标主要技术指标指标很多,使用者最关心的几个指标如下。(1)分辨率)分辨率指单片机输入给输入给D/A转换器的转换器的单位数字量的
6、变化单位数字量的变化,所,所引起的引起的模拟量输出的变化模拟量输出的变化,通常定义为定义为输出满刻度值与2n之比(n为D/A转换器的二进制位数)。习惯上用输入数字习惯上用输入数字量的二进制位数表示量的二进制位数表示。位数越多,分辨率越高,即D/A转换器对输入量变化的敏感程度越高。例如,例如,8位的D/A转换器,若满量程输出为10V,根据分辨率定义,则分辨率为则分辨率为10V/2n,分辨率为,分辨率为:810V/256=39.1mV,即输入的二进制数最低位的变化可引起输出的模拟电压变化39.1mV,该值占满量程的0.391%,常用符号1LSB表示。同理:10位D/A转换1 LSB=9.77mV=
7、0.1%满量程12位D/A转换1 LSB=2.44mV=0.024%满量程16位D/A转换1 LSB=0.076mV=0.00076%满量程使用时,应根据对根据对D/A转换器分辨率转换器分辨率的需要来选定D/A转换器的位数位数。9(2)建立时间)建立时间描述D/A转换器转换快慢转换快慢的一个参数,用于表明转换表明转换时间或转换速度时间或转换速度。其值为从其值为从输入数字量到输出达到终值误输入数字量到输出达到终值误差差(1/2)LSB时时所需的时间所需的时间。电流输出电流输出的转换时间较短较短,而电压输出电压输出的转换器,由于要加上完成I-V转换的运算放大器的延迟时间,因此转转换时间要长一些换时
8、间要长一些。快速D/A转换器的转换时间可控制在1s以下。10(3)转换精度)转换精度理想情况下,转换精度与分辨率基本一致,位数越多精度越高。但由于电源电压、基准电压、电阻、制造工艺等各种因素存在着误差。严格讲,转换精度与分辨率并不完全一转换精度与分辨率并不完全一致致。只要位数相同,分辨率则相同,但相同位数的不同转但相同位数的不同转换器换器转换精度转换精度会有所不同会有所不同。例如,例如,某种型号的8位DAC精度为0.19%,而另一种型号的8位DAC精度为0.05%。1111.1.2 AT89S51与与8位位D/A转换器转换器0832的接口设计的接口设计1DAC0832芯片介绍芯片介绍(1)DA
9、C0832的特性的特性美国国家半导体公司的DAC0832芯片是具有两个输入数据寄存器的8位DAC,它能直接与AT89S51单片机连接,主主要特性如下要特性如下。分辨率为分辨率为8位。位。电流输出,建立时间为电流输出,建立时间为1 s。12 可双缓冲输入、单缓冲输入或直接数字输入。可双缓冲输入、单缓冲输入或直接数字输入。单一电源供电(单一电源供电(+5V+15V)。)。低功耗,低功耗,20mW。(2)DAC0832的引脚及逻辑结构的引脚及逻辑结构引脚引脚如图图11-1所示,DAC0832的逻辑结构逻辑结构如图图11-2所示。1314图图11-1 DAC0832的引脚图的引脚图15图图11-2 D
10、AC0832的逻辑结构的逻辑结构引脚功能:引脚功能:DI0DI7:8位数字信号输入端,位数字信号输入端,与单片机的数据总线与单片机的数据总线P0口相连口相连,用于接收单片机送来的待转换为模拟量的数字量,用于接收单片机送来的待转换为模拟量的数字量,DI7为最高位。为最高位。:片选端,当片选端,当 为低电平时,本芯片被选中。为低电平时,本芯片被选中。ILE:数据锁存允许控制端,高电平有效。数据锁存允许控制端,高电平有效。:第一级输入寄存器写选通控制,低电平有效。当第一级输入寄存器写选通控制,低电平有效。当 =0,ILE=1,=0时,待转换的数据信号被锁存到时,待转换的数据信号被锁存到第一级第一级8
11、位输入寄存器中。位输入寄存器中。16CSWR1CSWR1 :数据传送控制,低电平有效。:DAC寄存器写选通控制端,低电平有效。当 =0,=0时,输入寄存器中待转换的数据传入8位DAC寄存器中。IOUT1:D/A转换器电流输出1端,输入数字量全为“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。VCC:电源输入端,在+5V+15V范围内。17XFER2WRXFER2WRDGND:数字信号地。AGND:模拟信号地,最好与基准电压共地。DA
12、C0832内部电路如图图11-2所示。“8位输入寄存器位输入寄存器”用于存放单片机送来的数字量,使输入数字量得到缓冲和锁存,由 加以控制;“8位位DAC寄存器寄存器”用于存放待转换的数字量,由 控制;“8位位D/A转换电路转换电路”受“8位DAC寄存器”输出的数字量控制,能输出和数字量成正比的模拟电流。因此,需外接I-V转换转换的运算放大器电路,才能得到模拟输出电压模拟输出电压。18LE12LE2AT89S51单片机与单片机与DAC0832的接口电路设计的接口电路设计设计接口电路时,常用单缓冲方式单缓冲方式或双缓冲方式双缓冲方式的单极性输出。(1)单缓冲方式)单缓冲方式指DAC0832内部的两
13、个数据缓冲器两个数据缓冲器有一个有一个处于处于直通直通方方式式,另一个另一个处于受AT89S51单片机控制的锁存方式锁存方式。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下,可采用单缓冲方式。单缓冲方式单缓冲方式的接口电路如图图11-3所示所示。1920图图11-3 单缓冲方式下单片机与单缓冲方式下单片机与DAC0832的接口电路的接口电路图图11-3所示的是单极性模拟电压输出电路,由于DAC0832是8位(28=256)的D/A转换器,由基尔霍夫定律列出的方程组可解得0832输出电压vo与输入数字量输入数字量B的关系为 显然,输出的模拟电压输出的模拟
14、电压vo和输入的数字量和输入的数字量B以及基准电以及基准电压压VREF成正比成正比,且B为0时,vo也为0,输入数字量为255时,vo为最大的绝对值输出,且不会大于VREF。21REFo256VvB 图图11-3中,中,和和 接地,接地,故DAC0832的“8位DAC寄存器”(见图11-2)工作于直通方式工作于直通方式。“8位输入寄存器”受 和 端控制,而且 由译码器输出端FEH送来(也可由P2口的某一条口线来控制)。因此,单片机执行如下两条指令就可在 和 上产生低电平信号,使DAC0832接收AT89S51送来的数字量。MOVR0,#0FEH;DAC端口地址FEHR0MOVXR0,A;单片机
15、的 和译码器FEH输出端有效22XFERWR2WR1CSWR1CS现举例说明单缓冲方式现举例说明单缓冲方式下DAC0832的应用。【例例11-1】DAC0832用作波形发生器波形发生器。试根据图11-3,分别写出产生锯齿波锯齿波、三角波三角波和矩形波矩形波的程序。在图11-3中,运算放大器A输出端Vout直接反馈到Rfb,故这种接线产生的模拟输出电压是单极性的。产生上述三种波形的参考程序如下。锯齿波的产生锯齿波的产生 ORG2000HSTART:MOVR0,#0FEH;DAC地址FEH R0MOVA,#00H;数字量A23LOOP:MOVX R0,A ;数字量D/A转换器 INCA ;数字量逐
16、次加1SJMP LOOP当输入数字量从输入数字量从0开始,逐次加开始,逐次加1进行进行D/A转换转换,模拟量与其成正比输出。当A=FFH时,再加1则溢出清0,模拟输出又为0,然后又重新重复上述过程,如此循环,输出的波形就是锯齿波,如图图11-4所示所示。实际上,每一上升斜边要分成256个小台阶个小台阶,每个小台小台阶暂留时间阶暂留时间为执行后三条指令所需要的时间后三条指令所需要的时间。因此“INC A”指令后插入NOP指令或延时程序,则可改变锯齿波频率。2425图图11-4 DAC0832产生的锯齿波输出产生的锯齿波输出 三角波的产生。三角波的产生。ORG2000HSTART:MOVR0,#0
17、FEHMOVA,#00HUP:MOVX R0,A;产生三角波的上升边INCAJNZUPDOWN:DECA ;A=0时减1为FFH,产生三角波的下降边26MOVXR0,AJNZDOWN SJMPUP输出的三角波输出的三角波如图图11-5所示所示。图图11-5 DAC0832产生的三角波输出产生的三角波输出27 矩形波的产生矩形波的产生 ORG2000HSTART:MOV R0,#0FEHLOOP:MOVA,#data1 ;#data1为上限电平对应的数字量MOVX R0,A;置矩形波上限电平LCALL DELAY1;调用高电平延时程序MOV A,#data2 ;#data2为下限电平对应的数字量
18、MOVX R0,A;置矩形波下限电平LCALL DELAY2;调用低电平延时程序SJMP LOOP;重复进行下一个周期28 图图11-6 DAC0832产生的矩形波输出产生的矩形波输出输出的矩形波如矩形波如图图11-6所示所示。DELAY1、DELAY2为两个延时程序,分别决定输出的矩形波高、低电平时的持续宽度。矩形波频率也可用延时方法改变。29(2)双缓冲方式)双缓冲方式多路的多路的D/A转换转换要求同步输出同步输出时,必须采用双缓冲同必须采用双缓冲同步方式步方式。此方式工作时,数字量的输入锁存和D/A转换输出是分两步分两步完成的。单片机必须通过 来锁存待转换的数字量,通过 来启动D/A转换
19、(见图图11-2)。因此,双缓冲方式下,DAC0832应该为单片机提供两个I/O端口。AT89S51单片机和DAC0832在双缓冲方式双缓冲方式下的连接如图图11-7所示。30LE1LE231 图图11-7 单片机和两片单片机和两片DAC0832的双缓冲方式接口电路的双缓冲方式接口电路由图11-7可见可见,1#DAC0832因 和译码器FDH相连而占有FDH和FFH两个两个I/O端口地址端口地址(由译码器的连接逻辑来决定),而而2#DAC0832的两个端口地址为FEH和FFH。其中,FDH和和FEH分别为1#和和2#DAC0832的数字量输入控制端口地址,而FFH为动D/A转换的端口地址。其余
20、连接如图图11-7所示所示。若把图11-7中DAC输出的模拟电压模拟电压Vx和和Vy来控制来控制X-Y绘图仪绘图仪,则应把Vx和Vy分别加到X-Y绘图仪的X通道通道和Y通道通道,而X-Y绘图仪由X、Y两个方向的步进电机驱动,其中一个电机控制绘笔沿X方向运动;另一个电机控制绘笔沿Y方向运动。32CS因此对X-Y绘图仪的控制有一基本要求:就是两路模拟信号要同步输出同步输出,使绘制的曲线光滑。如果不同步输出如果不同步输出,例如先输出X通道通道的模拟电压,再输出Y通道通道的模拟电压,则绘图笔先向X方向移动,再向Y方向移动,此时绘制的曲线就是阶梯状的曲线就是阶梯状的。通过本例,也就不难理解DAC设置双缓
21、冲方式的目的所在。33【例例11-2】设AT89S51内部RAM中有两个长度为20的数据块,其起始地址起始地址为分别为addr1和addr2,根据图11-7,编写能把addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。程序中addr1和addr2中的数据,即为绘图仪所绘制曲线的x、y坐标点。由图11-7可知可知,DAC0832各端口地址各端口地址为为:FDH:1#DAC0832数字量输入控制端口FEH:2#DAC0832数字量输入控制端口FFH:1#和2#DAC0832启动D/A转换端口34首先使工作寄存器0区的R1指向addr1;1区的区的R1指向指向addr2;0区工作
22、寄存器的R2存放数据块长度;0区和1区工作寄存器区的R0指向DAC端口地址。程序如下:ORG2000Haddr1DATA 20H;定义存储单元addr2 DATA 40H;定义存储单元DTOUT:MOVR1,#addr1;0区R1指向addr1MOVR2,#20;数据块长度送0区R2SETBRS0 ;切换到工作寄存器1区MOVR1,#addr2;1区R1指向addr2CLRRS0;返回工作寄存器0区NEXT:MOVR0,#0FDH ;0区R0指向1#DAC数字量控制端口MOVA,R1;addr1中数据送A35MOVX R0,A;addr1中数据送1#DACINCR1;修改addr1指针0区R1
23、SETBRS0;转入1区MOVR0,#0FEH;1区R0指向2#DAC0832数字量控制端口MOVA,R1;addr2中数据送AMOVX R0,A;addr2中数据送2#DAC0832INCR1;修改addr2指针1区R1INCR0;1区R0指向DAC的启动D/A转换端口MOVX R0,A;启动DAC进行转换CLRRS0;返回0区DJNZR2,NEXT;若未完,则跳转NEXTLJMPDTOUT;若送完,则循环363DAC0832的双极性的电压输出的双极性的电压输出有些场合则要求DAC0832双极性模拟电压输出,下面介绍如何实现。在双极性电压输出的场合下,可以按照图图11-8所示接线。图中,DA
24、C0832的数字量由单片机送来,A1和A2均为运算放大器,vo通过2R电阻反馈到运算放大器A2输入端,G点为虚拟地,其他电路如图11-8所示。由基尔霍夫定律列出的方程组可解得37REFo(128)128VvB由上式知,当单片机输出单片机输出给DAC0832的数字量数字量B128时,即数字量最高位b7为1,输出的模拟电压vo o为正为正;当单片机输出给DAC0832的数字量B128时,即数字量最高位为0,则vo的输出电压为负的输出电压为负。图图11-8 双极性双极性DAC的接法的接法3811.1.3 AT89S51与与12位位D/A转换器转换器AD667的接口设计的接口设计8位分辨率不够时位分辨
25、率不够时,可以采用高于8位分辨率的DAC,例如,例如,10位、12位、14位、16位(例如AD669)的DAC。AD667是一种分辨率为分辨率为12位位的并行输入、电压输出型并行输入、电压输出型D/A转换器转换器,建立时间建立时间3 s。输入方式输入方式为双缓冲输入双缓冲输入;输出输出方式方式为电压输出电压输出,通过硬件编程可输出可输出+5V、+10V、2.5V、5V和和 10V;内含高稳定的基准电压源,可方便地与4位、8位或16位微处理器接口;双电源工作电压为12V15V。391引脚介绍引脚介绍AD667为28脚双列直插式脚双列直插式封装,图图11-9所示为双列直插式封装引脚图,表表11-1
展开阅读全文