《【精品】MCS-51扩展IO接口的设计精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】MCS-51扩展IO接口的设计精品ppt课件.ppt(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MCS-51扩展IO接口的设计常用的外围常用的外围I/OI/O接口芯片有:接口芯片有:(1 1)8255A8255A:可编程的通用并行接口电路(:可编程的通用并行接口电路(3 3个个8 8位位I/OI/O口)。口)。(2 2)8155H8155H:可编程的:可编程的IO/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口口,1,1个个6 6位位I/OI/O口口,256256个个RAMRAM字节单元,字节单元,1 1个个1414位的减法定时器位的减法定时器/计数器计数器)。)。可与可与MCS-51MCS-51单片机单片机直接连接直接连接,接口逻辑十分简单,接口逻辑十
2、分简单 此外,此外,74LS74LS系列的系列的TTLTTL电路电路也可以作为也可以作为MCS-51MCS-51的扩展的扩展I/OI/O口,如口,如74LS24474LS244、74LS27374LS273等。等。9.3 9.3 用用74LSTTL74LSTTL电路扩展并行电路扩展并行I/OI/O口口 利用利用74LS27374LS273和和74LS24474LS244,将,将P0P0口扩展成简单的输入、口扩展成简单的输入、输出口的电路输出口的电路。74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,以显示发光二极管,以显示8 8个按个按钮开关状态,某位低电平时二极管
3、发光。钮开关状态,某位低电平时二极管发光。74LS24474LS244是缓冲驱动器,扩展输入口,接是缓冲驱动器,扩展输入口,接8 8个按钮开个按钮开关。关。74LS27374LS273和和74LS24474LS244的工作受的工作受80318031的的P2.0P2.0、RDRD*、WRWR*三条控制线控制。三条控制线控制。电路的工作原理如下电路的工作原理如下:当当P2.0=0,WRP2.0=0,WR*=0(RD=0(RD*=)选中写选中写74LS27374LS273,80318031通过通过P0P0口输出数据到口输出数据到74LS27374LS273,;,;当当P2.0=0,RDP2.0=0,
4、RD*=0(WR=0(WR*=1)=1)时选中读时选中读74LS244,74LS244,某开关某开关按下时则对应位输入为按下时则对应位输入为“0”0”。输出程序段:MOV A,#data;数据AMOV DPTR,#0FEFFH;I/O地址DPTRMOVX DPTR,A;WR*为低,数据经74LS273口输出输入程序段:MOV DPTR,#0FEFFH;I/O地址DPTR MOVX A,DPTR;RD*为低,74LS244口 ;数据读入内部RAM图6-21 8155A的结构框图 8155口地址分布AD0AD7选选 中中 寄寄 存存 器器A7 A6 A5 A4 A3A2A1A0 000内部命令寄存
5、器内部命令寄存器 001通用通用I/O口口A寄存器寄存器 010通用通用I/O口口B寄存器寄存器 011口口C:通用通用I/O口或控制口口或控制口 100定时定时/计数器的低计数器的低8位寄存器位寄存器 101定时定时/计数器的高计数器的高8位寄存器位寄存器3)引脚功能 图图6-23 8155A命令寄存器格式命令寄存器格式 4)控制字和状态字 48155片内RAM的使用(1)命令寄存器的用法表格63C口工作方式方式位方式位ALTIALT2ALT3ALT4PC0输入输入方式方式输出输出方式方式AINTR(A口中断)口中断)AINTR(A口中断)口中断)PC1ABF(A口缓冲器满)口缓冲器满)AB
6、F(A口缓冲器满)口缓冲器满)PC2ASTB*(A口选通)口选通)ASTB*(A口选通)口选通)PC3输出方式输出方式BINTR(B口中断)口中断)PC4BBF(B口缓冲器满)口缓冲器满)PC5BSTB*(B口选通)口选通)备注备注A口口B口为口为基本基本I/O口口A口口B口为口为基本基本I/O口口A口为选通输入口为选通输入B口为基本口为基本I/O口口A口、口、B口为选通口为选通输入输入/输出方式输出方式图6128155方式4的逻辑结构图图图6-24 8155A状态标志寄存器格式状态标志寄存器格式 D7D6D5D4D3D2D1D0TIMERINTBBFBINTRBINTEABFAINTRA5)
7、内部定时器(8155A定时器的格式如下)图图6-26 8155A定时器输出方式定时器输出方式 8155A定时器的格式中M2、M1用于设置定时器的输出方式,具体如图所示。6)8031与8155A的接口电路 由于8155A内部设有地址锁存器,因此,它与8031的接口电路非常简单,不需任何附加电路。图6-27(见下页)是8031与8155A的一种接口电路,其RAM和I/O口的地址分配如下:数据存储器的地址:7E00H7EFFHI/O口的地址:命令/状态寄存器 7FF8HPA口 7FF9HPB口 7FFAHPC口 7FFBH定时器低8位 7FFCH定时器高8位 7FFDH图图6-27 8031与与81
8、55A接口电路接口电路 分析:设8155A的A口、B口为基本输入输出方式,A口为输入,B口为输出,定时器输出连续方波,输入脉冲24分频,则8155A的初始化程序段为:MOV DPTR,#7FFCH ;写计数初值低8位MOV A,#18HMOVX DPTR,AINC DPTR ;写定时器高6位和工作方式MOV A,#40H ;定时器为连续方波输出MOVX DPTR,AMOV DPTR,#7FF8HMOV A,#0C2H ;置命令控制字:A口基本输入,B口基本输出MOVX DPTR,A ;启动定时器9.2 MCS-519.2 MCS-51与可编程并行与可编程并行I/OI/O芯片芯片8255A825
9、5A的接口的接口9.2.1 8255A9.2.1 8255A芯片介绍芯片介绍 8255A8255A是是IntelIntel公司生产的公司生产的可编程可编程并行并行I/OI/O接口芯片,接口芯片,具有具有3 3个个8 8位的并行位的并行I/OI/O口,口,3 3种工作方式种工作方式,可通过编程,可通过编程改变其功能,因而改变其功能,因而使用灵活方便,通用性强使用灵活方便,通用性强。1.1.引脚说明引脚说明4040只引脚,双列直插式封装,引脚功能如下:只引脚,双列直插式封装,引脚功能如下:D7D7D0D0:三态双向数据线,与单片机数据总线连接三态双向数据线,与单片机数据总线连接CSCS*:片选信号
10、线,低电平有效,表示本芯片被选中片选信号线,低电平有效,表示本芯片被选中RDRD*:读出信号线,控制读出信号线,控制8255A8255A中数据的读出高中数据的读出高WRWR*:写入信号线,控制向写入信号线,控制向8255A8255A数据的写入。数据的写入。VccVcc:+5V+5V电源。电源。PA7PA7PA0PA0:A A口输入口输入/输出线。输出线。PB7PB7PB0PB0:B B口输入口输入/输出线。输出线。PC7PC7PC0PC0:C C口输入口输入/输出线。输出线。A1A1、A0A0:地址线,用来选择地址线,用来选择8255A8255A内部的内部的4 4个端口。个端口。2.2.内部结
11、构内部结构(1 1)端口)端口A A、B B、C C功能和结构上有些差异功能和结构上有些差异 PAPA口口:输出锁存和缓冲;输入锁存:输出锁存和缓冲;输入锁存 PBPB口口:输出锁存和缓冲;输入缓冲:输出锁存和缓冲;输入缓冲 PCPC口口:输出锁存;数据输入缓冲:输出锁存;数据输入缓冲 PCPC口可在软件的控制下,口可在软件的控制下,分为两个分为两个4 4位端口位端口,作为,作为PAPA口、口、PBPB口选通方式操作时的状态控制信号。口选通方式操作时的状态控制信号。(2)A(2)A组和组和B B组控制电路组控制电路A A组:组:PAPA口和口和PCPC口的上半部(口的上半部(PC7PC7PC4
12、PC4););B B组:组:PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0),可根据可根据“命命 令字令字”对对PCPC口口按位按位“置置1”1”或或“清清0”0”。(3)(3)数据总线缓冲器线线数据总线缓冲器线线 三态双向,作为三态双向,作为8255A8255A与单片机数据线之间接口,与单片机数据线之间接口,传送数据、指令、控制命令及外部状态信息。传送数据、指令、控制命令及外部状态信息。(4)(4)读读/写控制逻辑电路线写控制逻辑电路线 该电路接收该电路接收CPUCPU发来的控制信号、发来的控制信号、RESETRESET、地址信、地址信号号A1A1、A0A0等。对端
13、口进行读写。等。对端口进行读写。各端口的工作状态与控制信号的关系各端口的工作状态与控制信号的关系如表如表9-19-1所示。所示。表表9-1 8255A9-1 8255A端口工作状态选择端口工作状态选择A1A1A0A0RDRD*WRWR*CSCS*工作状态工作状态0 00 00 01 10 0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据:总线数据A A口口写端口
14、写端口B B:总线数据:总线数据B B口口写端口写端口C C:总线数据:总线数据C C口口写控制字:总线数据写控制字:总线数据控制字寄存控制字寄存器器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态9.2.2 9.2.2 工作方式选择控制字及工作方式选择控制字及C C口置位口置位/复位控制字复位控制字8255A8255A有三种工作方式:有三种工作方式:(1)(1)方式方式0 0:基本输入输出;基本输入输出;(2)(2)方式方式1
15、 1:选通输入输出;选通输入输出;(3)(3)方式方式2 2:双向传送(仅双向传送(仅A A口有)。口有)。1.1.工作方式选择控制字工作方式选择控制字三种工作方式由方式控制字来决定。三种工作方式由方式控制字来决定。控制字格式如下。控制字格式如下。C C口上半部分(口上半部分(PC7PC7PC4PC4)随)随A A口称为口称为A A组组,C C口下半部分(口下半部分(PC3PC3PC0PC0)随)随B B口称为口称为B B组组。其中其中A A口口可工作于方式可工作于方式0 0、1 1、和、和2 2,而,而B B口口只能工作在只能工作在方式方式0 0和和1 1。例如:例如:写入工作方式写入工作方
16、式控制字控制字95H95H可将可将8255A8255A编程为:编程为:A A口口方式方式0 0输入输入,B B口口方式方式1 1输出输出,C C口的上半部分(口的上半部分(PC7PC7 PC4PC4)输出,)输出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)输入。)输入。2.C2.C口按位置位口按位置位/复位控制字复位控制字可对可对C C口口8 8位中的任一位置位中的任一位置“1”1”或清或清“0”0”。用于。用于位控位控。例如:例如:控制字控制字07H07H写入控制口,置写入控制口,置“1”PC31”PC3;08H08H写入控制口,清写入控制口,清“0”PC40”PC4。9.2
17、.3 8255A9.2.3 8255A的三种工作方式的三种工作方式1.1.方式方式0 0基本的输入基本的输入/输出方式。输出方式。外设的外设的I/OI/O数据可在数据可在8255A8255A的各端口得到锁存和缓冲的各端口得到锁存和缓冲MCS-51MCS-51可对可对8255A8255A进行数据的进行数据的无条件传送无条件传送 例如例如:从口线从口线读入一组开关状态读入一组开关状态,向端口输出数字,向端口输出数字量,量,控制一组指示灯的亮、灭。控制一组指示灯的亮、灭。不需要联络信号不需要联络信号,基本功能为:基本功能为:(1 1)具有两个)具有两个8 8位端口(位端口(A A、B B)和两个)和
18、两个4 4位端口(位端口(C C的上半部分和下半部分)。的上半部分和下半部分)。(2 2)任一个端口都可以设定为输入或输出,各端口)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成的输入、输出可构成1616种组合。种组合。(3 3)数据输出锁存,输入不锁存。)数据输出锁存,输入不锁存。例例 假设假设8255A8255A的的控制字寄存器地址控制字寄存器地址为为FF7FHFF7FH,则令,则令A A口口和和C C口的高口的高4 4位工作在方式位工作在方式0 0输出,输出,B B口和口和C C口的低口的低4 4位位工作于方式工作于方式0 0输入输入,初始化程序:初始化程序:MOV DPTR
19、MOV DPTR,#0FF7FH#0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H#83H ;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A ;83H83H送控制字寄存器送控制字寄存器9.2.4 MCS-519.2.4 MCS-51单片机和单片机和8255A8255A的接口的接口1.1.硬件接口电路硬件接口电路 如图如图9-109-10是是80318031扩展扩展1 1片片8255A8255A的电路图。的电路图。74LS37374LS373是地是地址锁存器,址锁存器,P0.1P0.1、P0.0P0
20、.0经经74LS37374LS373与与8255A8255A的地址线的地址线A1A1、A0A0连接;连接;P0.7P0.7经经74LS37374LS373与片选端相连,其他地址线悬空。与片选端相连,其他地址线悬空。2.2.端口地址确定端口地址确定图图9-109-10中中8255A8255A各端口寄存器的地址为:各端口寄存器的地址为:A A口:口:FF7CHFF7CHB B口:口:FF7DHFF7DHC C口:口:FF7EHFF7EH控制寄存器:控制寄存器:FF7FHFF7FH3.3.软件编程软件编程例例9-19-1 要求要求8255A8255A工作在方式工作在方式0 0,且,且A A口作为输入
21、,口作为输入,B B口、口、C C口作为输出,口作为输出,程序如下:程序如下:MOV A,#90H ;A口方式0输入,B口、;C口输出的控制字送AMOV DPTR,#0FF7FH ;控制寄存器地址DPTRMOVX DPTR,A ;方式控制字控制寄存器MOV DPTR,#0FF7CH ;A口地址DPTRMOVX A,DPTR ;从A口读数据MOV DPTR,#0FF7DH ;B口地址DPTRMOV A,#DATA1 ;要输出的数据DATA1AMOVX DPTR,A ;将DATA1送B口输出MOV DPTR,#0FF7EH ;C口地址DPTRMOV A,#DATA2 ;DATA2AMOVX DPT
22、R,A ;将数据DATA2送C口输出9.3 9.3 用用74LSTTL74LSTTL电路扩展并行电路扩展并行I/OI/O口口 利用利用74LS27374LS273和和74LS24474LS244,将,将P0P0口扩展成简单的输入、口扩展成简单的输入、输出口的电路输出口的电路。74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,以显示发光二极管,以显示8 8个按个按钮开关状态,某位低电平时二极管发光。钮开关状态,某位低电平时二极管发光。74LS24474LS244是缓冲驱动器,扩展输入口,接是缓冲驱动器,扩展输入口,接8 8个按钮开个按钮开关。关。74LS27374LS
23、273和和74LS24474LS244的工作受的工作受80318031的的P2.0P2.0、RDRD*、WRWR*三条控制线控制。三条控制线控制。电路的工作原理如下电路的工作原理如下:当当P2.0=0,WRP2.0=0,WR*=0(RD=0(RD*=)选中写选中写74LS27374LS273,80318031通过通过P0P0口输出数据到口输出数据到74LS27374LS273,;,;当当P2.0=0,RDP2.0=0,RD*=0(WR=0(WR*=1)=1)时选中读时选中读74LS244,74LS244,某开关某开关按下时则对应位输入为按下时则对应位输入为“0”0”。输出程序段:MOV A,#
24、data;数据AMOV DPTR,#0FEFFH;I/O地址DPTRMOVX DPTR,A;WR*为低,数据经74LS273口输出输入程序段:MOV DPTR,#0FEFFH;I/O地址DPTR MOVX A,DPTR;RD*为低,74LS244口 ;数据读入内部RAMMOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行;反复连续执行DDIS:MOV DPTR,#0FEFFH;输入口地址DPTRLP:MOVX A,DPTR ;按钮开关状态读入A中例9-6 编写程序把按钮开关状态通过图9-20中的发光二极管显示出来。程序
25、如下:7-3 显示器键盘接口 n单片机应用系统需要人机对话n键盘和显示器是最常用的人机交互设备7.3.4 LED显示器接口1LED显示器结构与原理LED显示块是由发光二极管显示字段的显示器件。在微机应用系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图7-21所示。七段显示块与微机接口非常容易。如表7-4所示。(a)共阴极 (b)共阳极 (c)管脚配置图7-21 七段LED显示块表7-4七段LED的段选码2LED显示器与显示方式n在微机应用系统中使用LED显示块构成N位LED显示器。图7-21是4位显示器的构成原理。图724 用锁存器设计的分时扫描显示电路A15A14A13A1
26、2A11A10A9A8A7A6A5A4A3A2A1A0U1*01*U1U23LED显示器接口实例n从LED显示器的原理可知,为了显示字母与数字,必须最终转换成相应的段选码。这种转换可以通过硬件译码器或软件进行译码。l 硬件译码器LED显示器接口(如图7-25所示)l 软件译码LED显示器接口(如图7-21所示)图7-25 利用硬件译码器的七段LED接口电路 7.3 键盘接口技术n在设计键盘接口时,解决以下几个问题:n开关状态的可靠输入可设计硬件去抖动电路或设计去抖动软件。n键盘状态的监测方法中断方式还是查询方式。7.3.1 独立式键盘接口1独立式按键结构独立式按键是指直接用I/O口线构成的单个
27、按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。独立式按键电路如图7-13所示。2独立式按键的软件结构包括按键查询、键功能程序转移。图7-13 独立式按键电路 7.3.2 行列式键盘1键盘工作原理 行列式键盘电路原理如右图所示。按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。2键盘工作方式(如图7-167-19所示)键盘的工作方式:编程扫描方式、定时扫描方式、中断扫描方式三种。在键盘
28、扫描子程序中完成下述几个功能。(1)判断键盘上有无键按下(2)去键的机械抖动影响。(3)求按下键的键号。(4)键闭合一次仅进行一次键功能操作。图7-17 键扫描子程序框图图7-19 中断方式键盘接口3键盘扫描方式扫描法:在判定有键按下后逐列(或逐行)置低电平,同时读入行(或列)的状态,如果行(或列)的状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。特点是逐列(或逐行)扫描查询。这时相应行(或列)应有上拉电阻接高电平。第第8 8章章 MCS-51 MCS-51与与D/AD/A转换器、转换器、A/D A/D转换器的接口转换器的接口 非电物理量(温度、压力、流量、速度等),须经传感器转
29、换成模拟电信号(电压或电流),必须转换成数字量,才能在单片机中处理。A/D转换器(ADC):模拟量数字量的器件,D/A转换器(DAC):数字量模拟量的器件。数字量,也常常需要转换为模拟信号。只需合理选用商品化的大规模ADC、DAC芯片,了解引脚及功能以及与单片机的接口设计。8.1 MCS-51与DAC的接口8.1.1 D/A转换器概述1.概述 输入:数字量,输出:模拟量。转换过程:送到DAC的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。使用D/A转换器时,要注意区分:*D/A转换器的输出形式;*内部是否带有锁存器。(1)输出形式 两种输出形式:电
30、压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-V转换电路。(2)D/A转换器内部是否带有锁存器 D/A转换需要一定时间,这段时间内输入端的数字量应稳定,为此应在数字量输入端之前设置锁存器,以提供数据锁存功能。选择DA芯片时,应该尽可能选择带锁存器的型号内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与MCS-51的P0口直接相接。2.主要技术指标(1)分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。例如,若满量程为10
31、V,根据定义则分辨率为10V/2n。设8位D/A转换,即n=8,分辨率为10V/2n=39.1mV,该值占满量程的0.391%,用1LSB表示。同理:10位 D/A:1 LSB=9.77mV=0.1%满量程 12位 D/A:1 LSB=2.44mV=0.024%满量程根据对DAC分辨率的需要,来选定DAC的位数。(2)建立时间 描述DAC转换快慢的参数,表明转换速度。定义:为从输入数字量到输出达到终值误差(1/2)LSB(最低有效位)时所需的时间。电流输出时间较短,电压输出的,加上I-V转换的时间,因此建立时间要长一些。快速DAC可达1s以下。(3)精度 理想情况,精度与分辨率基本一致,位数越
32、多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,精度与分辨率并不完全一致。8.1.2 MCS-51与与8位位DAC0832的接口的接口1.DAC0832芯片介绍(1)DAC0832的特性 美国国家半导体公司产品,具有两个输入数据寄存器的8位DAC,能直接与MCS-51单片机相连。主要特性如下:*分辨率为8位;*电流输出,稳定时间为1s;*可双缓冲输入、单缓冲输入或直接数字输入;*单一电源供电(+5+15V);(2)DAC0832的引脚及逻辑结构引脚:DAC0832DAC0832的的逻辑结构逻辑结构:引脚功能:DI0DI7:8位数字信号输入端CS*:片选端。ILE:数据锁存允许控
33、制端,高电平有效。WR1*:输入寄存器写选通控制端。当CS*=0、ILE=1、WR1*=0时,数据信号被锁存在输入寄存器中。XFER*:数据传送控制。WR2*:DAC寄存器写选通控制端。当XFER*=0,WR2*=0时,输入寄存器状态传入DAC寄存器中。IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。Rfb:外部反馈信号输入端,内部已有反馈电阻Rfb,根据需要也可外接反馈电阻。Vcc:电源输入端,可在+5V+15V范围内。DGND:数字信号地。AGND:模拟信号地。“8位
34、输入寄存器”用于存放CPU送来的数字量,使输入 数字量得到缓冲和锁存,由LE1*控制;“8位DAC寄存器”存放待转换的数字量,由LE2*控制;“8位D/A转换电路”由T型电阻网络和电子开关组成,T 型电阻网络输出和数字量成正比的模拟电流。2.DAC的应用接口与DAC的具体应用有关。(1)单极性电压输出 单极性模拟电压输出,可采用图11-5或图11-9所示接线。输出电压Vout与输入数字量B的关系:Vout=(B/256)*VRFE 式中,B=b727+b626+b121+b020;B为0时,Vout也为0,输入数字量为255时,Vout为最大值,单极性。(2)双极性电压输出 双极性电压输出,采
35、用图11-3接线:Vout=(B128)*(VREF/128)由上式,在选用+VREF时,(1)若输入数字量b71,则Vout为正;(2)若输入数字量b70,则Vout为负。在选用-VREF时,Vout与+VREF时极性相反。3.MCS-51与DAC0832的接口电路(1)单缓冲方式 DAC0832的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。在不要求多路输出同步的情况下,可采用单缓冲方式。单缓冲方式的接口如图11-5:由图,WR2*和XFER*接地,故DAC0832的“8位DAC寄存器”(图11-2)处于直通方式。“8位输入寄存器”受CS*和WR1*端控制,且由译码器输出端F
36、EH送来(也可由P2口的某一根口线来控制)。因此,8031执行如下两条指令就可在WR1*和CS*上产生低电平信号,使0832接收8031送来的数字量。MOV dptr,#00FEH;DAC地址FEHR0 MOVX dptr,A;WR*和译码器FEH输出端有效例11-1 DAC0832用作波形发生器。分别写出产生锯齿波、三角波和矩形波的程序。(1)锯齿波的产生锯齿波的产生 ORG 2000HSTART:MOV dptr,#00FEH;DAC地址地址FEH R0MOV A,#00H;数字量数字量ALOOP:MOVX dptr,A;数字量数字量D/A转换器转换器INC A;数字量逐次加数字量逐次加1
37、SJMP LOOP 输入数字量从0开始,逐次加1,为FFH时,加1则清0,模拟输出又为0,然后又循环,输出锯齿波,如图11-6。每一上升斜边分256个小台阶,每个小台阶暂留时间为执行后三条指令所需要的时间。(2)三角波的产生ORG 2000HSTART:MOV dptr,#00FEHMOV A,#00HUP:MOVXdptr,A ;三角波上升边INC AJNZ UPDOWN:DEC A;A=0时再减1又为FFHMOVX dptr,AJNZ DOWN ;三角波下降边SJMP UP(3)矩形波的产生矩形波的产生 ORG 2000HSTART:MOV dptr,#00FEHLOOP:MOV A,#d
38、ata1MOVX dptr,A;置矩形波上限电平置矩形波上限电平LCALL DELAY1;调用高电平延时程序调用高电平延时程序MOV A,#data2MOVX dptr,A;置矩形波下限电平LCALL DELAY2;调用低电平延时程序SJMP LOOP;重复进行下一个周期 DELAY1、DELAY2为两个延时程序,决定矩形波高、低电平时的持续时间。频率也可采用延时长短来改变。8.2 MCS-51与ADC的接口8.2.1 A/D转换器概述 模拟量转换成数字量,便于计算机进行处理。随着超大规模集成电路技术的飞速发展,大量结构不同、性能各异的A/D转换芯片应运而生。1.A/D转换器的分类 根据转换原
39、理可将A/D转换器分成两大类(1)直接型A/D转换器(2)间接型A/D转换器。A/D转换器的分类如下:目前使用较广泛的有:逐次比较式转换器、双积分式转换器、-式转换器和V/F转换器。逐次比较型:精度、速度和价格都适中,是最常用的A/D转换器件。双积分型:精度高、抗干扰性好、价格低廉,但转换速度慢,得到广泛应用。-型:具有积分式与逐次比较式ADC的双重优点。对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,但比双积分ADC的转换速度快,与逐次比较式ADC相比,有较高的信噪比,分辨率高,线性度好不需采样保持电路。因此,-型得到重视。V/F转换型:适于转换速度要求不太高,远距离信号传输。2
40、.A/D转换器的主要技术指标(1)转换时间和转换速率 完成一次转换所需要的时间。转换时间的倒数为转换速率。并行式:2050ns,速率为5020M次/s(1M=106);逐次比较式:0.4s,速率为2.5M次/s。(2)分辨率 用输出二进制位数或BCD码位数表示。例如AD574,二进制12位,即用212个数进行量化,分辨为1LSB,百分数表示1/212=0.24。又如双积分式A/D转换器MC14433,分辨率为三位半。若满字位为1999,其分辨率为1/1999=0.05%。量化过程引起的误差为量化误差,是由于有限位数字对模拟量进行量化而引起的误差。量化误差理论上规定为1个单位分辨率,提高分辨率可
41、减少量化误差。(3)转换精度 定义为一个实际ADC与一个理想ADC在量化值上的差值。可用绝对误差或相对误差表示。3.A/D转换器的选择 按输出代码的有效位数分:8位、10位、12位等。按转换速度分为超高速(1ns)、高速(1s)中速(1ms)、低速(1s)等。为适应系统集成需要,将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供方便。(1)A/D转换器位数的确定 系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其他
42、环节所能达到的精度相适应。只要不低于它们就行,太高无意义,且价高。8位以下:低分辨率,912位:中分辨率,13位以上:高分辨率。(2)A/D转换器转换速率的确定 从启动转换到转换结束,输出稳定的数字量,需要一定的时间,这就是A/D转换器的转换时间。低速:转换时间从几ms到几十ms。中速:逐次比较型的A/D转换器的转换时间可从几s 100s左右。高速:转换时间仅20100ns。适用于雷达、数字通讯、实时光谱分析、实时瞬态纪录、视频数字转换 系统等。如用转换时间为100s的集成A/D转换器,其转换速率为10千次/秒。根据采样定理和实际需要,一个周期的波形需采10个点,最高也只能处理1kHz的信号。
43、把转换时间减小到10s,信号频率可提高到10kHz。(3)是否加采样保持器 直流和变化非常缓慢的信号可不用采样保持器。其他情况都要加采样保持器。(4)工作电压和基准电压 选择使用单一+5V工作电压的芯片,与单片机系统共用一个电源就比较方便。基准电压源是提供给A/D转换器在转换时所需要的参考电压,在要求较高精度时,基准电压要单独用高精度稳压电源供给。8.2.2 MCS-51与ADC 0809(逐次比较型)的接口1.ADC0809引脚及功能 逐次比较式8路模拟输入、8位输出的A/D转换器。引脚如图。共28脚,双列直插式封装。主要引脚功能如下:(1)IN0IN7:8路模拟信号输入端。(2)D0D7:
44、8位数字量输出端。(3)C、B、A:控制8路模拟通道的切换,C、B、A=000111分别对应IN0IN7通道。(4)OE、START、CLK:控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。(5)VR(+)和VR(-):参考电压输入端。2.ADC0809结构及转换原理 结构如图11-15。0809完成1次转换需100s左右,可对05V信号进行转换。3.MCS-51与ADC0809的接口 单片机如何来控制ADC?首先用指令选择0809的一个模拟输入通道,当执行MOVX DPTR,A时,单片机的WR*信号有效,产生一个启动信号给0809的START脚,对选中通道转
45、换。转换结束后,0809发出转换结束EOC信号,该信号可供查询,也可向单片机发出中断请求;当执行指令:MOVX A,DPTR,单片机发出RD*信号,加到OE端高电平,把转换完毕的数字量读到A中。查询和中断控制两种工作方式。(1)查询方式0809与8031单片机的接口如图11-16。对8路模拟信号轮流采样一次,采用软件延时的方式,并依次把结果转储到数据存储区。MAIN:MOV R1,#data;置数据区首地址置数据区首地址MOVDPTR,#7FF8H;端口地址送端口地址送DPTR,P2.7=0,;且指向通道且指向通道IN0 MOVR7,#08H;置转换的通道个数置转换的通道个数LOOP:MOVX DPTR,A;启动启动A/D转换转换MOVR6,#0AH;软件延时,等待转换结束软件延时,等待转换结束DELAY:NOP NOPNOP DJNZR6,DELAY MOVX A,DPTR;读取转换结果读取转换结果MOVR1,A;存储转换结果存储转换结果INCDPTR;指向下一个通道指向下一个通道INCR1;修改数据区指针修改数据区指针DJNZR7,LOOP;8个通道全采样完否?未完则继续个通道全采样完否?未完则继续