单片机原理及应用蔡启仲第9章51单片机扩展IO接口的设计717_第1页
单片机原理及应用蔡启仲第9章51单片机扩展IO接口的设计717_第2页
单片机原理及应用蔡启仲第9章51单片机扩展IO接口的设计717_第3页
单片机原理及应用蔡启仲第9章51单片机扩展IO接口的设计717_第4页
单片机原理及应用蔡启仲第9章51单片机扩展IO接口的设计717_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第9章 51单片机扩展 I/O接口的设计2 2 第第9章章 目录目录内容概要内容概要9.1 并行I/O接口电路与编址9.2 可编程8255并行I/O接口芯片的扩展 9.2.1 8255芯片简介 9.2.2 8255的工作方式 9.2.3 8255与51单片机的接口及应用9.3 可编程8155并行I/O接口芯片的扩展 9.3.1 8155芯片介绍 9.3.2 8155的I/O端口的工作方式 9.3.3 8155与51单片机的接口及应用习题3 3 内容概要内容概要 51单片机有4个8位并行输入/输出(I/O)端口,在实际的单片机应用系统中,如果需要扩展存储器或其它接口芯片,则只有P1口能够作为通

2、用的I/O口使用。在设计单片机应用系统时,虽然能够选择增强型51单片机,尽可能的避免扩展单片机的外部接口芯片,但对于功能较为复杂的单片机应用系统,仍然会需要扩展I/O接口芯片,其接口电路设计与编程应用是设计单片机应用系统的基本技能之一。本章主要介绍并行并行I/O接口芯片接口芯片8255和和8155与与51单片单片机的接口电路与编程方法机的接口电路与编程方法。49.1 9.1 并行并行I/OI/O接口电路与编址接口电路与编址1. I/O1. I/O接口功能接口功能 (1) (1) 实现实现CUPCUP与外设速度匹配与外设速度匹配 由于外部设备外部设备(如打印机等)的工作速度慢工作速度慢,与单片机

3、微秒级速度相差甚远微秒级速度相差甚远,单片机只有在确认外设已为数据传确认外设已为数据传送做好准备的前提下才能进行数据传送送做好准备的前提下才能进行数据传送。而要知道外设是否准备好,就需要I/O接口电路与外设之间传送状态信息,以实现单片机与外设之间的速度匹配速度匹配。45 1. I/O 1. I/O接口功能接口功能 (2) (2) 输出数据锁存输出数据锁存 与外设相比,由于单片机的工作速度快,数据在数据总线数据在数据总线上保留的时间十分短暂短暂,无法满足慢速外设的数据接收。所以在扩展的I/O接口电路中应有输出数据锁存器输出数据锁存器,以保证输出数据能为慢速的接收设备接收后能够保存能够保存。 (3

4、) (3) 输入数据三态缓冲输入数据三态缓冲 单片机需要经过数据总线从外设输入数据,但数据总线上可能“挂”有多个数据源,为使传送数据传送数据时不发生冲突不发生冲突,只允许当前时刻正在输出或输入数据的外部接口芯片使用数据总线,其它外部接口芯片应处于隔离状态隔离状态,为此要求与数据总线连接的外部接口芯片的电路向单片机输出数据的部件必须具有三态缓冲功能三态缓冲功能。562. I/O2. I/O接口电路的编址接口电路的编址I/OI/O接口:接口:是单片机与外设间的连接电路的总称连接电路的总称。I/OI/O端口端口(简称I/O口):是指I/O接口电路中具有单单元地址元地址的寄存器或缓冲器。一个I/O接口

5、芯片可以有多个I/O端口,如数据口,命令口,状态口数据口,命令口,状态口。当然,并不是所有的外设都一定需要3种端口齐全的I/O接口。每个I/OI/O接口中的端口接口中的端口都要有地址都要有地址,以便51单片机通过读写端口来和外设交换信息和外设交换信息。常用的I/OI/O端口编址端口编址有两种方式,独立编址方式独立编址方式与统一编址方式统一编址方式。67 (1) (1) 独立编址独立编址 I/O端口地址空间和存储器地址空间分开编址分开编址。优点是I/O地址空间和存储器地址空间相互独立,界限分明。但需要设置一套专专门的读写门的读写I/OI/O端口的指令和控制信号端口的指令和控制信号。 (2) (2

6、) 统一编址统一编址 把I/O端口与外部数据存储器的存储单元同等对待。I/O端口和外部数据存储器RAM统一编址统一编址。因此外部数据存储器的地址空间和I/O端口的地址空间属于同一个地址空间同一个地址空间。优点是不需专门的I/O指令。缺点是需要把数据存储器单元地址与数据存储器单元地址与I/OI/O端口地址进行地址端口地址进行地址配置,划分清楚,避免数据冲突配置,划分清楚,避免数据冲突。5151单片机单片机采用采用的是统一编址的方的是统一编址的方式式。783. I/O3. I/O并行接口的特点并行接口的特点 能够用于I/O接口的芯片主要分为两种分为两种:一是应用不可编程的不可编程的锁存器集成芯片锁

7、存器集成芯片,比如74LS373作为8位输出口扩展,74LS244作为8位输入口扩展,每一个每一个I/OI/O口都必须编址口都必须编址,在51单片机的 信号的控制下完成数据的输入/输出。对扩展的I/O口的操作只能够使用MOVXMOVX类型的数据传输指令。用于扩展8位输入口的芯片与51单片机数据总线连接的8位端口必须具有三态功能三态功能,在选择扩展8位数据输入接口芯片时尤其要注意这一点。二是应用多功能可编程并行多功能可编程并行I/OI/O接口芯片接口芯片,其特点是能够直接与51单片机的总线连接,有多个工作方式多个工作方式可以选选择择,在任何时刻任何时刻,只能工作于其中的一种工作方式只能工作于其中

8、的一种工作方式,工作方式的选择通过编程设置命令寄存器的每一位的状态来实现。899.2 9.2 可编程可编程82558255并行并行I/OI/O接口芯片的扩展接口芯片的扩展9.2.1 82559.2.1 8255芯片简介芯片简介 82558255(82C5582C55)是Intel公司生产的通用可编程并行输通用可编程并行输入入/ /输出接口芯片输出接口芯片,能够直接与单片机应用系统的总线连总线连接接,它有1 1个命令寄存器个命令寄存器,3 3个个8 8位并行输入输出端口位并行输入输出端口,有3 3种工作方式种工作方式,对命令寄存器进行设置选择其工作方式。8255使用方便,通用性强,获得广泛的应用

9、。91010111 1引脚说明引脚说明共4040个引脚个引脚,引脚功能如下引脚功能如下:D7D7D0D0:三态双向数据线,与单片机的P0口连接,用来与单片机之间传送数据信息。 :片选信号线,低有效,表示本芯片被选中。 :读信号线,低有效,读8255端口数据的控制信号。 :写信号线,低电平有效,用来向8255写入端口数据的控制信号。 V VCCCC:+5V电源。11CSRDWR12PA7PA7PA0PA0:端口A输入/输出线。PB7PB7PB0PB0:端口B输入/输出线。PC7PC7PC0PC0:端口C输入/输出线。A1A1、A0A0:地址线,用来选择82C55内部的4个端口。RESETRESE

10、T:复位引脚,高电平有效。2 282558255内部结构内部结构 如图图9-29-2所示所示,3 3个并行数据输入个并行数据输入/ /输出端口输出端口,两组控两组控制电路制电路,1个读/写控制逻辑电路和1个8位数据总线缓冲器。部件的功能如下:1213 (1)(1) I/O I/O端口的端口端口的端口A A、端口、端口B B和端口和端口C C 端口A、端口B和端口C都是8位端口,可以选择作为输入或输出口。端口端口C C还可分开设置分开设置为高高4 4位位和低低4 4位位的两个两个4 4位端位端口口,分别作为端口A、端口B在选通工作方式操作时的状态控制信号。 (2)(2) 内部控制逻辑电路内部控制

11、逻辑电路 两组内部控制逻辑电路包括A A组控制组控制与B B组控制组控制两部分。 A A组控制逻辑组控制逻辑:控制端口A(PA口)的PA7PA0和端口C(PC口)的高4位PC7PC4; B B组控制逻辑组控制逻辑:控制端口B(PB口)的PB7PB0和端口C(PC口)的低4位PC3PC0。 命令寄存器命令寄存器:设置A组控制和B组控制的功能,还可以对端口端口C C实现按位置位按位置位或按位复位按位复位的操作。1314 (4) (4) 读读/ /写控制逻辑电路写控制逻辑电路 接收接收5151单片机发来单片机发来的控制信号控制信号 、 、RESETRESET、地址信号地址信号A1A1、A0A0等,然

12、后根据控制信号的要求,端口数据被51单片机读出,或者将51单片机送来的数据写入端口。 各端口工作状态与控制信号的关系见表表9-19-1。14RDWR (3) 数据总线缓冲器 数据总线缓冲器是一个8位三态数据缓冲器,作为8255与单片机系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。1515RDWRCS169.2.2 82559.2.2 8255工作方式工作方式1 1工作方式选择控制字工作方式选择控制字8255有3 3种种基本工作方式:(1) (1) 方式方式0 0基本输入/输出;(2) (2) 方式方式1 1选通输入/输出;(3) (3) 方式方式2 2双向传送(仅PA口有此

13、工作方式)。3种工作方式由命令寄存器的方式控制字来决定。格式格式如图图9-39-3所示所示。最高位D7=1D7=1,为本方式控制字的标志标志,以便与另一控制字相区别(最高位D7 = 0)。161717图图9-3 82C55的方式控制字格式的方式控制字格式 PC PC口分两部分口分两部分,随,随PAPA口口称为称为A A组组,随,随PBPB口口称为称为B B组组。其中。其中PAPA口口可工作于方式可工作于方式0 0、1 1和和2 2,而,而PBPB口口只能工作在只能工作在方式方式0 0和和1 1。18 例例9191 设8255命令寄存器的地址为FF7FH,试编写其初始化程序,使PA口工作于方式0

14、输出,PB口工作于方式0输入,PC口的PC7PC4为输出,PC口的PC3PC0为输入。 依题意,按照图93,设置命令寄存器设置命令寄存器的D7=1,D6D5=00,D4=D3=0,D2=0,D1=D0=1;则8255的控制字为:10000011B=83H,初始化程序如下:MOV DPTR, #0FF7FH ;命令寄存器的地址FF7FHDPTRMOV A, #87H ;方式控制字83H送AMOVXDPTR, A ;方式控制字送命令寄存器18192 2PCPC口按位置位口按位置位/ /复位控制字复位控制字 8255的PC口具有对任意一位任意一位的位控位控功能,即单片机向8255命令寄存器写入一个按

15、位置位/复位控制字对PC口的某一位进行置1或复0,而PC口的其它位状态不变。PC口按位置位/复位控制字格式如图94所示。 例例9 92 2 设8255命令寄存器的地址为FF7FH,编写8255初始化程序,使PC口的PC2引脚置成高电平输出,其它位不变。 依题意,按照图94,控制字设置为00000101B= 05H,初始化程序段为:MOVDPTR, #0FF7FH MOVA, #05H ;控制字05H累加器AMOVXDPTR, A ;控制字05H命令寄存器,PC2置1192020图图9-4 PC口按位置位口按位置位/复位控制字格式复位控制字格式213. 82553. 8255的的3 3种工作方式

16、种工作方式 (1)(1) 方式方式0 0 基本输入基本输入/ /输出方式输出方式 8255工作于方式0和外设交换数据时,无须选通信号无须选通信号。如果设置命令寄存器D6D5=00D6D5=00,则PA口和PC口的PC7PC4设置成设置成基本输入基本输入/ /输出方式输出方式;如果D2=0D2=0,则PB口和PC口的PC3PC0设置设置成基本输入成基本输入/ /输出方式输出方式,基本输入/输出方式适用于同步或无条件数据传送应用场合。若作为输出端口,输出数据被锁存;若作为输入端口,输入数据没有锁存仅有缓冲。 (2)(2) 方式方式1 1 选通输入输出方式选通输入输出方式 方式方式1 1:采用应答联

17、络应答联络的输入输入/ /输出工作方式输出工作方式,只有PA口和PB口可工作于这种方式,可以设置为输入或输出。选通输入输出方式能够实现中断方式向单片机传送I/O数据。2122 (1) (1) 方式方式1 1输入输入 方式1输入应答联络信号如图图9-59-5所示所示。其中 与IBFIBF为一对一对应答联络信号。各应答联络信号应答联络信号的功能功能如下。n :是由输入外设输入外设发给8255的选通输入信号选通输入信号,低有效。nIBFIBF:输入缓冲器满,应答信号。8255通知外设已收到外设发来的且已进入输入缓冲器的数据,高有效。nINTRINTR:由8255向单片机发出的中断请求信号,高有效。n

18、INTEINTEA A:控制PAPA口是否允许中断口是否允许中断的控制信号,由PC4PC4的置位/复位来控制。22STBSTB23nINTEINTEB B:控制PB口是否允许中断的控制信号,由PC2PC2的置位/复位来控制。方式方式1 1输入的工作过程输入的工作过程: : 当外设向8255输入一个数据并送到PA7PA0时,外设自动在 上向8255发送一个低电平选通信号。 8255收到 后,先把PA7PA0输入的数据存入存入PA口的输入数据缓冲/锁存器,然后使输出应答线IBFIBF变为高,通知输入外设,PA口已收到它送来的数据。 8255检测到 由低电平变为高电平、IBFA(PC5)为“1”状态

19、和中断允许INTEA(PC4)=1时,使INTRINTRA A(PC3PC3)变为高电平)变为高电平,向单片机发出中断请求。23STBSTBSTB24INTEA的状态可由用户通过指令对PC4PC4的单一置位/复位控制字来控制。 单片机响应中断后,进入中断服务子程序进入中断服务子程序来读取读取PAPA口的外设发来的输入数据口的外设发来的输入数据。当输入数据被单片机读走后,8255撤销撤销INTRINTRA A上的中断请求上的中断请求,并使IBFIBFA A变低低,通知输入外通知输入外设设可传送下一个输入数据。242525262627 方式方式1 1输出工作过程输出工作过程方式1输出时,应答联络信

20、号如图图9-79-7所示所示。 与与 构成一对一对应答联络信号应答联络信号,应答联络信号功能如下。n :端口输出缓冲器满信号,低有效,它是8255发给外设的联络信号,表示外设可以将数据取走。n :外设应答信号,低有效。表示外设已把8255发出的数据取走。nINTRINTR:中断请求信号,高有效。表示该数据已被外设取走,向单片机单片机发出中断请求,如果51单片机响应该中断,在中断服务子程序中向8255写入要输出的下一数据。27OBFACKOBFACK28nINTEINTEA A控制PA口是否允许中断,由PC6PC6控制。nINTEINTEB B控制PB口是否允许中断,由PC2PC2控制。方式1输

21、出工作示意如图图9-89-8所示所示。以PBPB口的方式口的方式1 1输出输出为例,介绍工作过程。 51单片机可以通过“MOVX RMOVX Ri i,A A”指令把输出数据送到B口的输出数据锁存器,8255收到后便令输出缓冲器满引脚 (PC1)变低,以通知输出设备输出的数据已在PB口的PB7PB0上。 输出外设收到 上低电平后,先从PB7PB0上取走输出数据,然后使 B B 变低电平,以通知8255输出外设已收到8255输出的数据。28OBFACKOBF2929303031 8255从应答输入线 B B收到低电平后就对 B B 和中断允许控制位INTEINTEB B状态进行检测,若皆为高电平

22、,则INTRINTRB B变为高电平变为高电平而向单片机请求中断。 单片机响应响应INTRINTRB B上中断请求后便可通过中断服务程序把下一个输出数据下一个输出数据送到PB口的输出数据锁存器。重复上述过程,完成数据的输出。 (3)(3) 方式方式2 2 选通双向输入输出方式选通双向输入输出方式 只有PA口才有方式2。方式方式2 2是是方式方式1 1输入输入和和输出输出组合组合。PA7PA7PA0PA0为双向I/O总线。当作为输入口使用,PA7PA0受STBSTBA A 和IBFIBFA A控制;当作输出端口输出端口使用,PA7PA0受 A A 、 A A 控制。31ACKOBFACKOBF3

23、2 方式方式2 2特别适用于像键盘、显示器一类的外部设备特别适用于像键盘、显示器一类的外部设备,因为有时需要把键盘上输入的编码信号通过PA口送给单片机,有时又需把单片机发出的数据通过PA口送给显示器显示。9.2.3 82559.2.3 8255与与5151单片机的接口及应用单片机的接口及应用1 1硬件接口电路硬件接口电路 如图图9-99-9为51单片机扩展一片8255的电路。P0.1P0.1、P0.0P0.0经经74LS37374LS373与与82C5582C55的的A1A1、A0A0连接连接;P0.7经74LS373与8255片选端 相连,其它地址线悬空;8255的控制线 、 直接与单片机

24、和和 端相连;单片机数据总线P0.0P0.7与8255数据线D0D7连接。32CSRDWRRDWR332 2确定确定82558255端口地址端口地址 图图9-99-9中中82558255只有只有3 3条线与条线与5151单片机地址线相接,片单片机地址线相接,片选端选端 、端口地址选择端、端口地址选择端A1A1、A0A0,分别接于,分别接于P0.7P0.7、P0.1P0.1和和P0.0P0.0,其他地址线全悬空。显然只要保证,其他地址线全悬空。显然只要保证P0.7P0.7为低为低电平时,电平时,即可选中即可选中82558255;若;若P0.1P0.1、P0.0P0.0再为再为“0000”,则选,

25、则选中中82558255的的PAPA口。同理口。同理P0.1P0.1、P0.0P0.0为为“0101”、“1010”、“1111”分别选中分别选中PBPB口、口、PCPC口及控制口。口及控制口。 若端口地址用若端口地址用1616位表示,其他无用端全设为位表示,其他无用端全设为“1 1”(也可把无用端全设为(也可把无用端全设为“0 0”),则),则82558255的的A A、B B、C C及控制及控制口口地址地址分别为分别为FF7CHFF7CH、FF7DHFF7DH、FF7EHFF7EH、FF7FHFF7FH。33CS343435 例例9393 根据图99电路,要求从8255的PC口的PC3输出

26、一个正脉冲,试编写该功能的子程序。 分析分析:假设单片机应用系统外部扩展使用了16位地址线,PC3输出低电平的控制字为:06H=00000110B;PC3输出高电平的控制字为07H=00000111B,子程序如下:MAICH:MOV DPTR, # 0FF7FH MOV A, #06H MOVX DPTR, A MOV A, #07 MOVX DPTR, A MOV A, #06H MOVX DPTR,A RET3536 例例9494 根据图99电路,假设PA口接一组开关,PB口接一组指示灯,将单片机工作寄存器R7的内容送指示灯,将开关状态读入工作寄存器R2,试编写实现该功能的子程序。 分析分

27、析:依题意,PA口、PB口均为不需应答联络信号的基本输入/输出,故可初始化8255的PA口为方式0输入,PB口为方式0输出,PC口的输入/输出方式没有要求,控制字相应位置0,因此8255工作方式控制字为10010000B=90H。假设单片机应用系统外部扩展只使用了8位地址线,编制的子程序如下:ZHSHD: MOV R0, #7FH ;命令寄存器地址R0MOV A, #90H ;8255工作方式控制字90H累加器AMOVX R0, A ;方式控制字写入8255命令寄存器MOV R0, #7CH ;PA口地址R0MOVX A, R0 ;读PA口开关状态MOV R2, A ;将PA口内容R2MOV

28、R0, #7DH ;PB口地址R0MOV A, R7MOVX R0, A ;将R7内容PB口RET36379.3 9.3 可编程8155并行I/O接口芯片的扩展37 9.3.1 8155芯片介绍芯片介绍 8155(81C55)是Intel公司生产的可编程接口芯片,具有40个引脚,与单片机的接口简单,功能较强,是单片机应用系统中广泛使用的I/O接口芯片。 18155的结构的结构 逻辑结构如图图9-10。38 8155芯片的内部逻辑结构主要由以下三部分构成三部分构成: (1) I/O(1) I/O接口接口:两个可编程两个可编程的8 8位并行位并行I/OI/O端口端口A A(A口:PA7PA0)、端

29、口端口B B(B口:PB7PB0)和一个可编程的6 6位并行位并行I/OI/O端口端口C C(C口:PC5PC0) (2) (2) 随机存储器:随机存储器:256字节的静态RAM。 (3)(3) 定时定时/ /计数器:计数器:1个14位二进制减法计数器,可以用于定时、计数或分频。 8155内部还有一个命令/状态寄存器,命令寄存器只命令寄存器只能够写入能够写入,状态寄存器只能够读出状态寄存器只能够读出。38392 281558155的引脚功能的引脚功能40引脚,采用双列直插式封装,如图图9-119-11所示所示。39图图9-11 8155的引脚图的引脚图40 (1)(1) AD7 AD7AD0A

30、D0:地址地址/ /数据线数据线,与51单片机的P0口相连,用于分时传送地址/数据信息。 (2)(2) I/O I/O总线(总线(2222条):条): PA7 PA7PA0PA0:8 8位通用位通用I/OI/O端口端口,数据传送方向由写入8155的命令字决定; PB7 PB7PB0PB0: 8 8位通用位通用I/OI/O端口端口,用于传送PB口上的外设数据,数据传送方向也由写入8155的控制字决定。 PC5 PC5PC0PC0: 6 6位通用位通用I/OI/O端口、端口、数据数据/ /控制线控制线。通用I/O方式:传送I/O数据;选通I/O方式:用作传送命令/状态信息。4041 (3) (3)

31、 控制引脚控制引脚nRESETRESET:复位输入线复位输入线,在RESET线上输入一个大于600ns宽的正脉冲时,8155即可处于复位状态,PA、PB、PC三口也定义为输入方式。n 、IO/ IO/ : 为片选线,若 =0,则51单片机选中本8155工作;否则,本8155未被选中。IOIO/ 为I/O端口或RAM存储器选择线,若IO/ IO/ =0:选中8155片内的RAM存储器;若IO/ IO/ =1:选中8155的某一I/O端口。n 和和 :当 =0且 =1时,8155被读出数据状态;当 =1且 = 0时,8155被写入数据。41CEMCECEMMRDWRRDWRRDWRM42nALEA

32、LE:允许地址输入线允许地址输入线,8155内部设有地址锁存器,在ALE的下降沿将单片机P0P0口输出口输出的低低8 8位地址位地址信息、片选信号 及IO/ 信号都锁存到8155内部锁存器。 nTIMERINTIMERIN和和 :TIMERINTIMERIN是计数器脉冲输入线脉冲输入线,输入的脉冲上跳沿用于对8155片内的14位计数器减1。 :计数器输出线计数器输出线,当14位计数器减为0时就 可以在该引线上输出脉冲或方波输出脉冲或方波,输出脉冲或方波与所选的计数器工作方式有关。 (4)(4) 电源线电源线。V VCCCC为+5V电源输入线,V VSSSS接地。42TIMEROUTTIMERO

33、UTCEM4343, 3 381558155端口及端口及RAMRAM单元地址编码单元地址编码 8155内部共有6个端口,需要单片机低8位地址中的A2A0的不同组合的编码来加以区分,8155端口低8位地址由AD7AD0确定。 表表9-29-2为端口地址分配以及RAM单元的选择。44449.3.2 81559.3.2 8155的的I/OI/O端口的工作方式端口的工作方式 8155 8155的控制字的控制字(1)(1) TM2(D7)TM2(D7)、TM1(D6)TM1(D6)位:设置定时设置定时/ /计数器的操作计数器的操作。TM2、TM1=0000:空操作,不影响计数操作TM2、TM1=0101

34、:停止定时/计数器计数TM2、TM1=1010:若定时/计数器正在计数,计数值减为0时停止计数 TM2、TM1=1111:装入方式和计数值后,立即启动定时/计数器,若 定时/计数器正在运行,则达到计数值后,按新的 方式和计数初值予以启动。45 (2) (2) IEB(D5) IEB(D5)位位:确定端口B以选通输入/输出方式工作时是否允许中 断请求,“0” 禁止;“1” 允许。 (3) (3) IEA(D4) IEA(D4)位位:确定端口A以选通输入/输出方式工作时是否允许中 断请求,“0” 禁止;“1” 允许。 (4)(4) PC2(D3) PC2(D3)、PC1(D2)PC1(D2)位位:

35、设置端口A、B、C的工作方式。 PC2PC2、PC1=00PC1=00:方式方式1 1,A口、B口作为基本输入基本输入/ /输出输出,C C口口 作为输入作为输入; PC2PC2、PC1=11PC1=11:方式方式2 2,A口、B口作为基本输入基本输入/ /输出输出,C C口口 作为输出作为输出。45 PC2PC2、PC1=01PC1=01:方式方式3 3,A口:选通输入/输出,B口:基本输 入/输出;PC0:A口中断信号线(AINTR); PC1:A口缓冲器满信号线(ABF);PC2:A口 选通信号线,PC5PC3作为输出。46 PC2PC2,PC1=10PC1=10:方式4,A口、B口作为

36、选通输入/输出,PC0作为 A口中断信号线(AINTR),PC1作为A口缓冲器满信号线(ABF), PC2作为A口选通信号线;PC3作为B口中断信号线(BINTR),PC4 作为B口缓冲器满信号线(BBF),PC5作为B口选通信号线。 (5) (5) PB(D1) PB(D1):设置端口端口B B的输入输出工作方式,“0 0” 输入输入; “1 1” 输出输出 (6)(6) PA(D0) PA(D0):设置端口端口A A的输入输出工作方式,“0 0” 输入输入; “1 1” 输出输出46472. 81552. 8155状态字格式状态字格式(1)(1) TIMER(D6) TIMER(D6)位:

37、位:定时/计数器中断标志,“0” 在读状态字后或 硬件复位后,“1” 定时/计数器溢出,中断发生。(2)(2) INTEB(D5) INTEB(D5)位:位:B口允许中断标志,“0” 禁止,“1” 允许(3)(3) BBF(D4) BBF(D4)位:位:B口缓冲器状态标志,“0” 空,“1” 满(4)(4) INTRB(D3) INTRB(D3)位:位:B口中断请求标志,“0” 无中断请求, “1” 有中断请求(5)(5) INTEA(D2) INTEA(D2)位:位:A口允许中断标志,“0” 禁止,“1” 允许(6)(6) ABF(D1) ABF(D1)位:位:A口缓冲器状态标志,“0” 空

38、,“1” 满(7)(7) INTRA(D0) INTRA(D0)位:位:A口中断请求标志,“0” 无中断请求, “1” 有中断请求47483. 81553. 8155工作方式工作方式8155可工作于存储器方式和I/O方式。(1) (1) 存储器方式存储器方式 , :8155工作于存储器方式,用于对8155片内RAM的256个单元进行读/写操作,单片机可通过AD7AD0上的地址选择RAM存储器中的任意单元进行读和写。(2) (2) 输入输入/ /输出方式输出方式 , :8155工作于工作于I/OI/O方式方式,I/O方式分为基本输入/输出和选通输入/输出两种方式。在I/O方式下,8155可选择片

39、内任意端口寄存器进行读/写,端口地址端口地址由A2A2、A1A1、A0A0三位决定。 基本基本I/OI/O方式方式。端口A、端口B、端口C均用作输入/输出,通过设置控制字决定。例如,若把00001101B=0DH的控制字写入8155命令寄存器,则8155的B口设定为输入方式,A口和C口设定为输出方式。48/0IO M =0CE/1IO M =0CE49 选通选通I/OI/O方式方式。A口和B口都可独立工作于这种方式,常用作数据口,C口用作A口和B口的应答联络信号控制。C口各位应答联络信号线的定义如表95所示。选通选通I/OI/O方式又方式又可分为可分为选通选通I/OI/O数据输入数据输入和和选

40、通选通I/OI/O数据输出数据输出两种方式两种方式。495050ASTBASTBBSTB a. 选通I/O数据输入 A口口和B口都可设定为选通数据输入工作方式口都可设定为选通数据输入工作方式。若设置控制字中D0(PA)=0且D3(PC2)、D2(PC1)=01(工作方式3)或10(工作方式4),则A口设定为该工作方式;若控制字中D1(PB)=0且D3、D2=10(工作方式4),则B口设定为该工作方式。以A口为例,说明8155选通I/O数据输入工作过程,A口选通数据输入工作过程示意图如图912所示。51 (1)(1) 当外设向8155的A口发送一个数据时,外设自动在 上向8155发送一个低电平选

41、通信号。 (2) (2) 8155收到 低电平信号后,把输入的数据存入到A口的输入数据缓冲/锁存器,然后使输出应答线ABF变为高电平,通知外设A口已收到数据。 (3) (3) 由低电平变为高电平,AINTR(PC0)被置为高电平,向单片机发出中断请求。 (4) (4) 单片机响应8155的中断请求后,读取A口的输入数据。当输入数据被单片机读走后,8155撤销AINTR上的中断请求,并使ABF变低,通知外设可传送下一个输入数据。51ASTBASTBASTB52b. b. 选通选通I/OI/O数据输出数据输出 A A口口和B B口都可设定为选通数据输出工作方式口都可设定为选通数据输出工作方式。若设

42、置控制字中D0(PA)=1且D3(PC2)、D2(PC1)=01(工作方式3)或10(工作方式4),则A口设定为该工作方式;若控制字中D1(PB)= 1且D3、D2=10(工作方式4),则B口设定为该工作方式。以A口为例,说明8155选通I/O数据输出工作过程,A口选通数据输出工作过程示意图如图913所示。5253 (1) (1) 单片机向8155端口A发送数据,8155收到后置ABF=1,通知外设数据已在A口的PA7PA0上。 (2) (2) 外设收到ABF高电平信号后,从A口取走数据,并置 =0,通知8155外设已收到数据。 (3) (3) 由低电平变为高电平,8155将AINTR(PC0

43、)置为高电平,向单片机发出中断请求。 (4) (4) 单片机响应8155中断请求后便可通过中断服务程序把下一个输出数据送到A口。重复上述过程,完成所有数据的输出。53ASTBASTB544. 81554. 8155的定时的定时/ /计数器计数器 8155内部的定时/计数器是一个1414位的减法计数器位的减法计数器,它对TIMER INTIMER IN端输入脉冲进行减端输入脉冲进行减1 1计数计数,当计数结束计数结束(即减1计数至“0”)时,由TIMER OUTTIMER OUT端输出方波或脉冲端输出方波或脉冲。TIMER IN接外部脉冲:计数方式计数方式; TIMER IN连接振荡时钟信号:定

44、时方式定时方式。 定时/计数器由两个8位定时/计数器的寄存器寄存器T TL L 和T TH H构成, TL 和TH 的低低1414位组成位组成1414位位11计数器计数器, 剩下的两个高位两个高位(M2,M1)用于定义输出方式定义输出方式。其格式如表96和表97所示。 T13T0:计数器的计数位计数器的计数位; M2、M1:设置设置8155定时/计数器的输出方式输出方式,共有4 4种工作种工作方式方式,其对应的引脚输出波形如图914所示。545555569.3.3 81559.3.3 8155与与5151单片机的接口及应用单片机的接口及应用 8155可以直接与51单片机总线连接,接口电路如图9

45、15所示。根据图915可知,假设8155未用的无关地址位无关地址位置为置为1 1,则8155的命令/状态寄存器口地址口地址:7FF8H;A A口、口、B B口、口、C C口地址口地址分别为:7FF9H、7FFAH、7FFBH;RAMRAM地址空间范围地址空间范围:7E00H7EFFH,定时/计数器低8位和高8位地址:7FFCH和7FFDH。56575758 例例9595 根据图915电路,将51单片机片内RAM 30H3FH单元的内容,按照地址顺序传送到8155片内RAM的7E40H7E4FH单元中。设置8155的A口为基本输入方式,B口为基本输出方式,C口为输入方式,定时/计数器对输入脉冲进行48分频,输出方波。 设置8155的控制字如表98,控制字为11000010B=C2H。 分析分析:根据8155定时/计数器的计数与控制输出方式格式,48分频的计数初值为48=0030H,还需要在最高两位(M2、M1)加上控制定时/计数器输出方式的01(连续方波),则定时/计数器的计数初值及控制定时/计数器输出方式的16位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论