ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:132.08KB ,
资源ID:7015852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7015852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AT89C51接口技术.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AT89C51接口技术.docx

1、AT89C51接口技术第8章 AT89C51系统接口技术 难点8255的控制字8255的工作方式1和工作方式2DAC0832工作方式ADC0809工作方式 要求 掌握 :8255接口芯片 MCS-51单片机与D/A转换器的接口连接 MCS-51单片机与A/D转换器的接口连接 初始化编程及应用了解:I/O口扩展的原因 简单I/O口的扩展 单片机的键盘技术 8.1 I/O口扩展概述 8.2 简单I/O口扩展8.3 8255可编程通用并行接口芯片8.4 8155可编程通用并行接口芯片8.1 I/O口扩展概述 8.1.1 I/O口扩展的原因MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、

2、P2和P3。其中P0口一般作地址线的低八位和数据线使用;P2口作地址线的高八位使用;P3是一个双功能口,其第二功能是一些很重要的控制信号,所以P3一般使用其第二功能。这样供用户使用的I/O口就只剩下P1口了。另外,这些I/O口没有状态寄存和命令寄存的功能,因此难以满足复杂的I/O操作要求。由于MCS-51系列单片机I/O口数量和功能有限,所以在实际应用中不得不使用扩展的方法,来增加I/O口的数量,增强I/O口的功能。 8.1.2 I/O口的编址技术用户可以通过对I/O口进行读和写操作来完成数据的输入和输出。例如:P0口的地址为80H。用户可以使用MOV指令对P0口进行写操作。 MOV P0,

3、A8.1.3 单片机I/O传送的方式单片机为了实现数据的输入/输出传送,通常使用3种控制方式。1. 无条件传送方式 当外设和单片机能够同步工作时,可以采用无条件方式进行传送,即数据可以随时进行传送。2. 查询方式 查询方式又称为有条件传送方式,即数据的传送是有条件的。在进行I/O操作之前,用户要通过软件查询外设是否为数据传送做好准备,只有确认外设为数据传送做好准备。单片机才能执行数据的输入/输出(I/O)操作。3. 中断方式 当外设和计算机进行数据交换时,外设向单片机发出中断请求(即通知单片机)。单片机接到中断请求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入/输出服务。当服务完成

4、后,程序返回,单片机再继续执行被中断的程序。 中断方式大大提高了单片机系统的工作效率,所以在单片机中被广泛应用。8.2 简单I/O口扩展 8.2.1 简单输入口扩展 1. 两个输入口扩展 简单输入口扩展使用的集成芯片,比较典型的如74LS244芯片。图8.1为74LS244芯片的引脚。 图8.1 74LS244芯片的引脚 图8.2 74LS244扩展两个输入口 其中,1A11A4,2A12A4,为输入线;1Y11Y4,2Y12Y4,为输出线; , 为片选信号线。该芯片内部有2个4位的三态缓冲器,因此一片74LS244可以扩展两个输入口,其电路连接如图8.2所示。使用时以 作为数据选通信号。2.

5、 多输入口扩展 使用多片74LS244实现多个(例如5个)输入口扩展的电路连接如图8.3。使用或门74LS32的输出作为输入口的选通信号。或门的两个输入端一个是读选通信号 ,另一个则为P2的一条口线(线选法)。当他们都是低电平时,才能得到一个有效的输入选通,使一片74LS244的8位数据进行输入。 图8.3 多个(例如5个)输入口扩展的电路8.2.2 简单输出口扩展输出口的主要功能是进行数据保持,或者说是数据锁存。所以简单输出口扩展应使用锁存器实现。1. 简单输出口扩展使用的典型芯片 简单输出口扩展通常使用74LS377芯片,该芯片是一个具有“使能”控制端的锁存器。其信号引脚如图8.4所示。其

6、中:1D8D为8位数据输入线,1Q8Q为8位数据输出线,CK为时钟信号上升沿数据锁存, 为使能控制信号,低电平有效。VCC为5V电源。74LS377的逻辑电路如图8.5所示。图8.4 74LS377引脚图 图8.5 74LS377的逻辑电路 由逻辑电路可知,74LS377是由D触发器组成的,D触发器在上升沿输入数据,即在时钟信号(CK)由低电平跳变为高电平时,数据进入锁存器。其功能表如表7-1所示。 表7-1 74LS377功能表 CK D Q 1 Q0 0 1 1 0 0 0 0 Q0 从功能表可知: 若 1,不管数据和时钟信号(CK)是什么状态,锁存器输出锁存的内容(Q0)。 只有在 0时

7、,时钟信号才起作用,即时钟信号正跳变时,数据进入锁存器,也就是说输出端反映输入端的状态。 若CK=0,则不论 为何状态,锁存器输出锁存的内容(Q0),不受D端状态影响。输出口扩展连接: 扩展单输出口只需要一片74LS377,其连接电路如图8.6所示。图8.6 74LS377作输出口扩展 输出扩展使 作输出选通,因此,以MCS-51单片机的 信号在地址信号的配合下接CK。因为在 信号由低变高时,数据线上出现的正是输出的数据,因此 接CK正好控制输出数据进入锁存器。此外,74LS377的 信号接地,其目的是使锁存器的工作只受CK( )信号的控制。8.3 8255可编程通用并行接口芯片8.3.1 8

8、255的外部引脚和内部结构1. 外部引脚 8255的外部引脚如图8.7所示,其中:A口的输入输出信号线。该口是输入还是输出或双向,由软件决定。:B口的输入输出信号线。该口是输入还是输出,由软件决定。:C口信号线。该口可作输入、输出、控制和状态线使用,由软件决定。 :双向数据信号线,用来传送数据和控制字。:读信号线。 :写信号线。:片选信号线,低电平(有效)时, 才选中该芯片,才能对8255进行操作。RESET:复位输入信号,高电平有效时,复位8255。复位后8255的A口、B口和C口均被定为输入。表7-2 地址编码 端口 0 0 A口 0 1 B口 1 0 C口 1 1 控制寄存器 :口地址选

9、择信号线。8255内部共有三个口,A口、B口、C口和一个控制寄存器供用户编程 的不同编码可分别选择上述三个口和一个控制寄存器。地址编码如表7-2所示。图8.7 8255外部引脚由 、 、 和 可以确定A口、B口、C口和控制寄存器的,如表7-3所示。表7-3 读写逻辑 所选断口 操作 0 0 0 0 1 A口 读A口 0 0 0 1 0 A口 写A口 0 0 1 0 1 B口 读B口 0 0 1 1 0 B口 写B口 0 1 0 0 1 C口 读C口 0 1 0 1 0 C口 写C口 0 1 1 1 0 控制寄存器 写控制寄存器 1 高阻状态 2. 内部结构 8255的内部结构框图如图8.8所示

10、。从图可以看到,左边的信号与系统总线相连。而右边是与外设相连接的三个口。三个口均为8位。其中A口输出有锁存能力,输入亦有锁存能力。B口输入输出均有锁存能力。C口输出有锁存能力,输入没有锁存能力,在使用上要注意到这一点。 图8.8 8255的内部结构框图 为了控制方便,将8255的三个口分成A,B两组。其中A组包括A口的8条口线和C口的高四位 。B组包括B口的8条口线和C口的低四位 。A组和B组分别由软件编程来加以控制。8.3.2 8255的扩展逻辑电路MCS-51单片机可 以和8255直接连接,图8.9给出了一种扩展电路。 图8.9 8255的扩展逻辑电路 8255的数据线和8031的P0直接

11、相连,8255的片选信号 、A0、A1分别和8031的P2.7、P0.0、P0.1相连,所以8255的A口、B口、C口、控制寄存器的地址分别为7FFCH、7FFDH、7FFEH、7FFFH。8255的读写线 、 分别和8031的读写选通线 、 相连。8255的复位端RESET与8031的RST端相连。8.3.3 8255的工作方式 8255共有三种工作方式,这些工作方式可用软件编程来指定。1. 工作方式0,又称基本输入输出方式 在此方式下,A口的8条线,B口的8条线,C口的高四位对应的4条线和C口的低四位对应的4条线这四部分可分别定义为输入或输出。上述四部分的输入或输出是相互独立的,因此它们的

12、输入或输出共有16种组合,方式0可将内部数据并行写到(输出)某个端口锁存,也可将外部数据通过某个端口缓冲后并行读入(输入)CPU。在方式0下,C口还有按位复位和按位置位的功能。有关C口的按位操作在后面再作详述。2. 工作方式1,又称选通输入输出方式 在这种方式下,A口和B口仍作为数据的输出或输入口而同时要利用C口的某些位作为控制和状态信号,从而实现这种工作方式。A口和B口所使用的C口的各引线是固定不变的。A口要利用 、 、 ,B口要利用 、 、 。A口和B口可任意由程序指定是输入口还是输出口。为了阐述问题的方便,我们分别以A口、B口均为输入或均为输出加以说明。 (1)方式1下,A口和B口均为输

13、出 各条控制引线的定义如图8.10所示。 各控制信号的含义如下::输出缓冲器满信号,低电平有效。用来告诉外设,在规定的接口上CPU已输出一个有效的数据,外设可以从该口取走此数据。:外设响应信号,低电平有效。用来通知接口外设已经将数据接收,并使 。INTR:中断请求信号,高电平有效。当外设已从接口取走数据,口的缓冲器变空,且接口允许中断时,INTR有效。即 , 且允许中断,则INTR=1。方式1下,数据的输出过程可描述为:当CPU向接口输出数据,并将数据锁存到输出缓冲器中。此时, 有效。有效的 通知外设接收数据。一旦外设将数据取走,就送出一个有效的 信号。该信号使 无效,同时产生中断请求(INT

14、R=1),请求CPU输出下一个数据。如此循环进行数据的输出。图8.10 A口和B口作输出口时,C口提供的控制引线 (2)方式1下,A口和B口均为输入 这种情况和两口均为输出类似,各条控制引线的定义如图8.11所示。图8.11 A口和B口作输入口时,C口提供的控制引线 各控制信号的含义如下:输入选通信号,低电平有效。它由外设提供,利用该信号可以将外设数据锁存于8255的口锁存器中。:输入缓冲器满信号,高电平有效。当它有效时,表示已有一个有效的外设数据锁存于8255的口锁存器中。可用此信号通知外设数据已锁存于接口中,尚未被CPU读走,暂不能向接口输入数据。INTR:中断请求信号,高电平有效。当外设

15、将数据锁存于接口之中,且又允许中断请求发生时,就会产生中断请求。方式1下,数据的输入过程可描述为:当外设有数据需要输入时,将数据送到8255的接口上,同时利用输出信号 将数据锁存于口的数据锁存器中。 使 有效,如果此时接口允许中断,则产生中断请求信号INTR.。CPU响应中断,去读8255的有关接口,将数据读到CPU中。CPU读走数据后,IBF变为无效,表示输入缓冲器已空,可以再次接收外设提供的下一个数据。3. 工作方式2,又称双向输入输出方式I/O操作 只有A口才能工作在方式2。A口工作方式2时要利用C口的5条线才能实现。此时,B口只能工作在方式0或者方式1下,而C口剩余的3条线可作为输入线

16、、输出线或B口方式1之下的控制线。C口提供的控制线如图8.12所示。图8.12 工作方式2时,C口提供的控制线 8.3.4 8255的控制字及初始化程序 8255是编程接口芯片,通过控制字(控制寄存器)对其端口的工作方式和C口各位的状态进行设置。8255共有两个控制字,一个是工作方式控制字,另一个是C口置位/复位控制字。这两个控制字共用一个地址,通过最高位来选择使用那个控制字。1. 工作方式控制字 主要功能:确定8255接口的工作方式及数据的传送方向。各位的控制功能如图8.13所示。图8.13 8255工作方式控制字 对工作方式控制字作如下说明: A口可工作在方式0、方式1和方式2,B口可工作

17、在方式0和方式1 在方式1或方式2下,对C口的定义(输入或输出)不影响作为控制信号使用的C口各位功能 最高位是标志位,作为方式控制字使用时,其值固定为1。2. 置位/复位控制字 在某些情况下,C口用来定义控制信号和状态信号,因此C口的每一位都可以 进行置位或复位。对C口的置位或复位是由置位/复位控制字进行的。各位的功能如图8.14所示。其中,最高位必须固定为“0”。 图8.14 8255置位/复位控制字3. 8255初始化 8255初始化就是向控制寄存器写入工作方式控制字和C口置位/复位控制字。例如,对8255各口作如下设置:A口方式0输入,B口方式1输出,C口高位部分为输出,低位部分为输入。

18、设8255的扩展电路如图8.8所示,则控制寄存器的地址为7FFFH。按各口的设置要求,工作方式控制字为10010101,即95H。所以初始化程序应为:MOV DPTR, #7FFFHMOV A, #95HMOVX DPTR, A8.3.5 8255的应用举例1. 光二极管显示器的工作原理 发光二极管简称为LED(Light Emiting Diode)。通常所说的LED显示器由7个发光二极管组成,因此也称之为七段LED显示器,其排列形状如图8.15(a)所示。此外,显示器中还有一个小圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以

19、及其它符合。LED显示器中的发光二极管共有两种连接方法,一种是共阴极连接,另一种共阳极连接。其连接图如图8.15(b)所示。 图8.15 七段LED显示器 使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。用LED显示器显示16进制数的编码已列在表7-4所示。 表7-4 LED显示器16进制数编码 通常使用的LED显示器都是多位的。对多位LED显示器,通常采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。 为了实现LED显示器的动态扫描除了要给显示器提供段码(字形编码

20、)的输入之外,还要对显示器加位的控制(控制LED显示器亮灭),这就是通常所说的位控和段控。 2. 应用举例 具体要求: 6个LED采用共阴极连接 79H7EH分别存放6位显示器的显示数据(09) 8255的A口接LED显示器位控 8255的B口接LED显示器段控(1) 电路设计经分析知:8255的A口、B口、C口、控制寄存器的地址分别为7FFCH、7FFDH、7FFEH、7FFFH。 (2) 编写程序 MOV DPTR,#7FFFH MOV R0, #79H MOV A,#80H MOVX DPTR, A ;写控制字 MOV R3, #0FEH MOV A, R3 LD: MOV DPTR,

21、#7FFCH MOVX DPTR, A ;最左边灯亮 INC DPTR ;指向B口 MOV A, R0 ;取显示数据 ADD A, #13H MOVC A, A+PC ;查数据编码 MOVX DPTR, A ;写B口 ACALL DELAY ;延时 INC R0 MOV A, R3 JNB ACC.5, ED RL A MOV R3, A AJMP LD LEDTAB: DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DELAY: MOV R7, #02H MOV R6, #FFH LOOP: DJNZ R6, LO

22、OP DJNZ R7, DELAY RET ED: AJMP ED 8.1 MCS-51单片机与D/A转换器的接口和应用8.1.1典型D/A转换器芯片DAC0832 DAC0832是一个8位D/A转换器芯片,单电源供电,从+5V+15V均可正常工作,基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。其内部结构如图8.1所示,它由1个8位输入寄存器、1个8位DAC寄存器和1个8位D/A转换器组成和引脚排列如图8.2所示。 该D/A转换器为20引脚双列直插式封装,各引脚含义如下:(1)D7D0转换数据输入。(2)片选信号(输入),低电平有效。(3)ILE数据锁存允许信号(输

23、入),高电平有效。(4)第一信号(输入),低电平有效。该信号与ILE 信号共同控制输入寄存器是数据直通方式还是数据锁存方式:当ILE=1和=0时,为输入寄存器直通方式;当ILE=1和=1时,为输入寄存器锁存方式。(5)第2写信号(输入),低电平有效.该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式:当=0和=0时,为DAC寄存器直通方式; 当=1和=0时,为DAC寄存器锁存方式。(6)数据传送控制信号(输入),低电平有效 。(7)Iout2电流输出“1”。当数据为全“1”时,输出电流最大;为全“0”时输出电流最小。(8)Iout2电流输出“2”。DAC转换器的特性之一是:Io

24、ut1 +Iout2=常数。(9)Rfb反馈电阻端 既运算放大器的反馈电阻端,电阻(15K)已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,Rfb 即为运算放大器的反馈电阻,运算放大器的接法如图8.3所示。(10)Vref基准电压,是外加高精度电压源,与芯片内的电阻网络相连接,该电压可正可负,范围为-10V+10V.(11)DGND数字地(12)AGND模拟地8.1.2 DAC0832工作方式 DAC0832利用、ILE、 控制信号可以构成三种不同的工作方 式。1.直通方式 =0时,数据可以从输入端经两个寄存器直接 进入D

25、/A转换器。2.单缓冲方式 两个寄存器之一始终处于直通,即=0或 =0,另一个寄存器处于受控状态。 3.双缓冲方式 两个寄存器均处于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。 8.1.3 单缓冲方式的接口与应用1 单缓冲方式连接 所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个(多位DAC寄存器)处于直通方式,而另一个处于受控锁存方式。在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求输出同步的情况下,就可采用单缓冲方式。单缓冲方式连接 如图8.3所示。 为使DAC寄存器处于直通方式,应使=0和=0。为此可把这两个信号 固定接地,或如电路中把与相连,

26、把与相连。 为使输入寄存器处于受控锁存方式,应把接80C51的,ILE接高电平。 此外还应把接高位地址线或地址译码输出,以便于对输入寄存器进行选择。 图8.3 DAC0832单缓冲方式接口2 单缓冲方式应用举例【例8.1】锯齿波电压发生器 在一些控制应用中,需要有一个线性增长的电压(锯齿波)来控制检测过程、移动记录笔或移动电子束等。对此可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现,其电路连接图如图8.4所示。图8.4 用DAC0832产生锯齿波电路 图中的DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为7FFFH,产生锯齿

27、波的程序清单如下:MOV A, #00H ;取下限值MOV DPTR,#7FFFH ;指向0832口地址MM: MOVX DPTR,A ;输出INC A ;延时NOPNOPNOPSJMP MM ;反复执行上述程序就可得到如图8.5所示的锯齿波。 图8.5 D/A 转换产生的锯齿波几点说明:(1) 程序每循环一次,A加1,因此实际上锯齿波的上升边是由256个小阶梯构成的,但由于阶梯很小,所以宏观上看就如图中所画的先行增长锯齿波。 (2) 可通过循环程序段的机器周期数,计算出锯齿波的周期。并可根据需要,通过延时的方法来改变波形周期。若要改变锯齿波的频率,可在AJMP MM指令前加入延迟程序即可。延时较短时可用NOP指令实现(本程序就是如此),需要延时较长时,可以使用一个延长子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。(3) 通过A加1,可得到正向的锯齿波,反之A减1可得到负向的锯齿波。(4) 程序中A的变化范围是0255,因此得到的锯齿波是满幅度的。如要求得到非满幅锯齿波,可通过计算求的数字量的处置和终值,然后在程序中通过置初值和终值的方法实现。【例8.2】 矩形波电压发生器采用单缓冲方式,口地址设为FEFFH.参考程序如下:ORG 1100HSTART: MOV DPTR , #00FEH ;送DAC0832口地址LOOP: MOV A , #dataH ;送高电平数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1