




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7章章MCS-51并行接口并行接口p7.1 MCS-5l内部内部IO口及其应用口及其应用 p7.2 MCS-5l并行并行IO口的扩展口的扩展 ()p7.3 MCS-51内部定时计数器及其应用内部定时计数器及其应用 p7.4 并行口应用并行口应用单片机显示键盘系单片机显示键盘系统统 并口是相对于串口而言的。并口是相对于串口而言的。并行接口并行接口并行通信并行通信: : 各位数据都是并行传输的,它以字节(或字)为单位与各位数据都是并行传输的,它以字节(或字)为单位与I/OI/O设备或被控对象进行数据交换。设备或被控对象进行数据交换。 并行通信由并行接口来完成并行通信由并行接口来完成, ,并行接
2、口是连接并行接口是连接CPUCPU与并行与并行外设的通道。外设的通道。特点:特点: 传输速度快;硬件开销大;只适合近距离传输。一个并传输速度快;硬件开销大;只适合近距离传输。一个并行接口中包括状态信息、控制信息和数据信息。行接口中包括状态信息、控制信息和数据信息。 状态信息状态信息 表示外设当前所处的工作状态。表示外设当前所处的工作状态。 例如:准备好信号表示输入设备已经准备好信息;例如:准备好信号表示输入设备已经准备好信息; 忙信号忙信号(BUSY)表示输出设备正在输出信息,等于指示表示输出设备正在输出信息,等于指示CPU要处于等待状要处于等待状态。态。 控制信息控制信息 控制信息是由控制信
3、息是由CPU发出的,用于控制外设接口的工作方式以及外设的启动发出的,用于控制外设接口的工作方式以及外设的启动和停机信息等。和停机信息等。 数据信息数据信息 CPU与并行外设数据交换的内容。与并行外设数据交换的内容。 状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信息在外设接口中分别存取在不同的端口中。息在外设接口中分别存取在不同的端口中。对于一个外设接口,常常需要几个端口才能满足和协调外部设备的对于一个外设接口,常常需要几个端口才能满足和协调外部设备的工作与要求,图工作与要求,图10.1是一个典型的并行接口与是一个典型
4、的并行接口与CPU、外设的连接图。、外设的连接图。图图10.1 并行接口与并行接口与CPU、外设的连接、外设的连接控制寄存器控制寄存器状态寄存器状态寄存器输入缓冲寄存器输入缓冲寄存器输出缓冲寄存器输出缓冲寄存器CPU总线系统总线系统输输入入设设备备输输出出设设备备数据总线数据总线输出数据准备好输出数据准备好输入数据准备好输入数据准备好中断请求中断请求地地 址址译码器译码器复位复位地址总线地址总线AENCSA0A1IORIOW输入数据输入数据输入数据准备好输入数据准备好输入应答输入应答输出数据输出数据输出数据准备好输出数据准备好输出应答输出应答 2. 2. 并行接口的组成并行接口的组成 状态寄存
5、器状态寄存器 状态寄存器用来存放外设的信息,状态寄存器用来存放外设的信息,CPUCPU通过访问这个寄存器通过访问这个寄存器来了解某个外设的状态。来了解某个外设的状态。 控制寄存器控制寄存器 并行接口中有一个控制寄存器,并行接口中有一个控制寄存器,CPUCPU对外设的操作命令都寄对外设的操作命令都寄存在控制寄存器中。存在控制寄存器中。 数据缓冲寄存器数据缓冲寄存器 在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器,在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器,缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。因为外设与因为外设与C
6、PUCPU交换数据,交换数据,CPUCPU的速度远远高于外设的速度。的速度远远高于外设的速度。7.1 MCS-5l7.1 MCS-5l内部内部I IO O口及其应用口及其应用 51单片机内部有单片机内部有4个个8位双向位双向IO(输入输出输入输出)口。口。它们的内部结构图在前面作过介绍。从特性上看,这它们的内部结构图在前面作过介绍。从特性上看,这4个端口还有所差别。个端口还有所差别。P0口:作一般口:作一般I/O口口;低;低8位地址位地址/数据分时复用功能。数据分时复用功能。P1口:作一般口:作一般I/O接口。接口。P2口:作一般口:作一般I/O接口接口;高;高8位地址。位地址。P3口:作一般
7、口:作一般I/O接口;每根口线有第二功能。接口;每根口线有第二功能。I/OI/O接口的功能是:接口的功能是:2、对输入设备的三态缓冲、对输入设备的三态缓冲 外设传送数据时要占用总线,不传送数据时必须对外设传送数据时要占用总线,不传送数据时必须对总线呈高阻状态。利用总线呈高阻状态。利用I/O接口的三态缓冲功能,可接口的三态缓冲功能,可以实现以实现I/O设备与数据总线的隔离,便于其它设备的设备与数据总线的隔离,便于其它设备的总线挂接。总线挂接。1、对单片机输出的数据锁存、对单片机输出的数据锁存 锁存数据线上瞬间出现的数据,以解决单片机与锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调
8、问题。设备的速度协调问题。3、信号转换、信号转换 信号类型(数字与模拟、电流与电压)、信号电信号类型(数字与模拟、电流与电压)、信号电平(高与低、正与负)、信号格式(并行与串行)等平(高与低、正与负)、信号格式(并行与串行)等的转换。的转换。4、时序协调、时序协调 不同的不同的I/O设备定时与控制逻辑是不同的,并与设备定时与控制逻辑是不同的,并与CPU的时序往往是不一致的,这就需要的时序往往是不一致的,这就需要I/O接口进行接口进行时序的协调。时序的协调。 P0-P3P0-P3口进一步说明:口进一步说明:4个并行个并行I/O口口“输出有锁存,输入有缓冲输出有锁存,输入有缓冲”;输入数据时都要输
9、入数据时都要“先写先写1”;P0口作通用口作通用I/O口,输出级是开漏电路,作输出口应接上口,输出级是开漏电路,作输出口应接上拉电阻;作地址拉电阻;作地址/数据总线不需要上拉电阻;数据总线不需要上拉电阻;P1P3口不需要上拉电阻;口不需要上拉电阻;1 1、5151的的I/OI/O口直接用于输出口直接用于输出p都是准双向口。都是准双向口。p1、直接用于输出、直接用于输出 作输出口时有锁存功能。作输出口时有锁存功能。输出操作:以输出操作:以P0P3为目的操作数的传送指令。为目的操作数的传送指令。例如:例如:MOV P1,AMOV P1,R1MOV P1,R1MOV P1,#55Hp51单片机没有专
10、门的输入输出指令。单片机没有专门的输入输出指令。2 2、5151的的I/OI/O口直接用于输入口直接用于输入p2、直接用于输入、直接用于输入 作输入口时带有输入缓冲器,但没有输入锁存器。作输入口时带有输入缓冲器,但没有输入锁存器。因此要输入的数据必须一直保持在引脚上,直到把数因此要输入的数据必须一直保持在引脚上,直到把数据读走。据读走。在输入数据之前,要先写在输入数据之前,要先写“1” MOV P0, #0FFH MOV A, P0用读引脚的传送指令。用读引脚的传送指令。例如:例如:MOV A, P1MOV R2,P13 3、对锁存器的、对锁存器的“读读- -修改修改- -写写”有一类指令是对
11、有一类指令是对IO口输出锁存器中的数据进行操作,口输出锁存器中的数据进行操作,如对端口数据进行逻辑操作。这一类指令是先读出端口锁如对端口数据进行逻辑操作。这一类指令是先读出端口锁存器中的内容,再按指令的规定进行操作,最后将操作的存器中的内容,再按指令的规定进行操作,最后将操作的结果写回端口锁存器,称之为结果写回端口锁存器,称之为“读一修改一写读一修改一写”指令。指令。 这类指令不是对端口引脚上的数据进行操作。若要这类指令不是对端口引脚上的数据进行操作。若要对引脚上数据进行操作则只能先读入到对引脚上数据进行操作则只能先读入到CPU,然后再进,然后再进行运算。行运算。4 4、MCS-51MCS-5
12、1内部内部I IO O口应用口应用所有所有4个个IO口都是可以位寻址的,就是说,其中每一口都是可以位寻址的,就是说,其中每一位都可以用做输入或输出。位都可以用做输入或输出。由于由于MCS-51的的IO 口只有数据口而没有状态口或控制口只有数据口而没有状态口或控制口,在实际使用时,可以用口,在实际使用时,可以用I0口的某一位口的某一位(或几位或几位)来来作为状态信息的传送者,或者是命令的控制位。作为状态信息的传送者,或者是命令的控制位。例:例:P1口八个灯作跑马灯口八个灯作跑马灯 。?。?例:例:P1P1口八个灯作跑马灯口八个灯作跑马灯 ? start: MOV A,#0FFH; CLR C;
13、MOV R2,#08h;循环八次。循环八次。 loop1:RLC A;带进位左移。带进位左移。 MOV P1,A;输出到输出到P1口。口。 CALL delay;延时一段时间延时一段时间 DJNZ R2,LOOP1;反复循环反复循环 MOV R2,#07h;再往回循环。再往回循环。 loop2:RRC A;带进位右移带进位右移 MOV P1,A;输出到输出到P1口。口。 CALL delay;延时一段时间延时一段时间 DJNZ R2,loop2;反复循环反复循环 LJMP start;重新开始重新开始;延时子程序延时子程序delay:MOV r3,#20 d1:MOV R4,#20 d2:MO
14、V R5,#248 DJNZ R5,$ DJNZ R4,d2 DJNZ R3,d1 RET END 设:设:LED灯共阳极灯共阳极 P0口输出功能应用举例口输出功能应用举例 例例 P0口做通用口做通用I/O输出口,控制输出口,控制8只发光二只发光二极管从左到右依次点亮,再从右到左依次极管从左到右依次点亮,再从右到左依次点亮,电路图如图所示。点亮,电路图如图所示。P00P01P02P03P04P05P06P07RP1L1L2L3L4L5L6L7L8VCC1234567891KP0P0口控制发光二极管电路口控制发光二极管电路#include unsigned char i; unsigned ch
15、ar temp; unsigned char a,b;void delay(void) /循环间隔时间 unsigned char m,n,s; for(m=20;m0;m-) for(n=20;n0;n-) for(s=248;s0;s-); void main(void)while(1) temp=0 xfe; P0=temp;delay(); for(i=1;i8;i+) a=temp(8-i); P0=a|b; delay(); for(i=1;ii; b=temp(8-i); P0=a|b; delay(); P00P01P02P03P04P05P06P07RP1L1L2L3L4L5
16、L6L7L8VCC1234567891KP0P0口控制发光二极管电路口控制发光二极管电路 例例: P3.5口做通用口做通用I/O输出口,控制蜂鸣输出口,控制蜂鸣器断续发声,电路图如图所示。器断续发声,电路图如图所示。BELLVCCU13R181KL21Q98550R194.7KP35蜂鸣器电路蜂鸣器电路 #include sbit BEEP=P35; /蜂鸣器端口蜂鸣器端口 void delayms(unsigned char ms) / 毫秒延时子程序毫秒延时子程序 unsigned char i; while(ms-) for(i = 0; i 120; i+); void main(vo
17、id) /主程序主程序 while(1) /循环程序循环程序 delayms(250); BEEP =1; /启动蜂鸣器启动蜂鸣器 delayms(250);BEEP =0; /熄灭蜂鸣器熄灭蜂鸣器 P2口输入、口输入、P1口输出功能应用举例口输出功能应用举例 例例 利用利用8个拨动开关,把个拨动开关,把8位数据送到位数据送到P2口,程序读入,口,程序读入,然后送然后送P1口显示。如图所示:口显示。如图所示:P101P112P123P134P145P156P167P178RST/VPD9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115
18、P36/WR16P37/RD17XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PROG30EA/VPP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40U12AT89C51Y112MHZC1830pfC1930pfVCCC1722ufR2010kRSTL1L2L3L4L5L6L7L8RSTVCCVCCG19DIR1A12B118A23B217A34B316A45B415A56B514A67B613A78B712A89B811U?74LS245R1330R233
19、0R3330R4330R5330R6330R7330R8330123J?CON3123J?CON3123J?CON3123J?CON3123J?CON3123J?CON3123J?CON3123J?CON3VCC#include#define key P2#define led P1void main()while(1)led=key;7.1 7.1 为什么需要为什么需要I/OI/O扩展扩展原始数据或现场信息要利用输入设备输入到原始数据或现场信息要利用输入设备输入到单片机中,单片机对输入的数据进行处理加单片机中,单片机对输入的数据进行处理加工后,还要输出给输出设备。常用的输入设工后,还要输出给
20、输出设备。常用的输入设备有键盘、开关及各种传感器等,常用的输备有键盘、开关及各种传感器等,常用的输出设备有出设备有LEDLED(或或LCDLCD)显示器、微型打印机显示器、微型打印机及各种执行机构等。及各种执行机构等。 80C51单片机内部有四个并行口和一个串行口,对单片机内部有四个并行口和一个串行口,对于简单的于简单的I/O设备可以直接连接。当系统较为复杂时,设备可以直接连接。当系统较为复杂时,往往要借助往往要借助I/O接口电路(简称接口电路(简称I/O接口)完成单片接口)完成单片机与机与I/O设备的连接。现在,许多设备的连接。现在,许多I/O接口已经系列接口已经系列化、标准化,并具有可编程
21、功能。化、标准化,并具有可编程功能。输入输入/输出及其控制方式输出及其控制方式扩展扩展I/O接口的原因:接口的原因:单片机本身接口功能有限。单片机本身接口功能有限。单片机控制应用中的复杂接口要求。单片机控制应用中的复杂接口要求。 1、速度差异大、速度差异大 2、设备种类繁多、设备种类繁多 3、数据信号形式多样、数据信号形式多样扩展扩展I/O接口电路的功能接口电路的功能 1、速度协调、速度协调 2、输出数据锁存、输出数据锁存 3、输入数据三态缓冲、输入数据三态缓冲 4、数据转换、数据转换7.2 MCS-5l7.2 MCS-5l并行并行I IO O口的扩展口的扩展 常用并口扩展方法:常用并口扩展方
22、法: 用三态缓冲器和锁存器扩展简单用三态缓冲器和锁存器扩展简单I/O口。口。 用专用并口芯片扩展用专用并口芯片扩展I/O口(口(8255,8155等)等) 注意:注意: MCS-51没有专门的外设操作指令和控制信号,没有专门的外设操作指令和控制信号,将外设看将外设看作外部数据存储单元来访问作外部数据存储单元来访问,因此扩展外设占用外部,因此扩展外设占用外部RAM存存储器的地址空间,使用访问外部数据存储器指令对外设进行储器的地址空间,使用访问外部数据存储器指令对外设进行操作。操作。7.2.1 7.2.1 用三态缓冲器和锁存器扩展并口用三态缓冲器和锁存器扩展并口1、8031和三态缓冲器连接扩展输入
23、口和三态缓冲器连接扩展输入口设计原则设计原则输入口具有缓冲作用输入口具有缓冲作用缓冲器。缓冲器。输出口具有锁存作用输出口具有锁存作用锁存器。锁存器。/1G状态状态输入输入/输出输出1高阻高阻隔离隔离0驱动驱动输出输入输出输入 74LS244三态缓冲器功能表三态缓冲器功能表7.2 7.2 单片机简单单片机简单I/OI/O扩展扩展一、利用一、利用TTL、CMOS集成电路来扩展集成电路来扩展1、用锁存器扩展简单的、用锁存器扩展简单的8位输出口位输出口 8031 P2.7 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 /WR74LS377/ED7 Q7D6 Q6D5
24、Q5D4 Q4D3 Q3D2 Q2D1 Q1D0 Q0/CP 输出设备输出设备D7D6D5D4D3D2D1D074LS377为为8D锁存器,八入八出,一时钟锁存器,八入八出,一时钟CP,一锁存允许一锁存允许/E。/E = 0时,时,CP 的上升沿,输入数据并锁存。的上升沿,输入数据并锁存。MOV DPTR,#7FFFH ;指向指向74LS377MOV A,#data ;取输出的数据取输出的数据MOVX DPTR,A ;通过通过74LS377送出数据送出数据P2.7接接 /E , 所以,所以,74LS377的口地址为的口地址为7FFFH。P0口是数据总线口,作口是数据总线口,作I / O口用时只
25、能分时使用,为此,输出口用时只能分时使用,为此,输出数据时需要锁存。数据时需要锁存。2、用锁存器扩展简单的八位输入口、用锁存器扩展简单的八位输入口 外设与单片机在传输数据速度上存在着一定的差异,为了外设与单片机在传输数据速度上存在着一定的差异,为了 保证数据能被单片机正确地接收,应采取以下电路:保证数据能被单片机正确地接收,应采取以下电路:输入设备输入设备STBIN7IN6IN5IN4IN3IN2IN1IN0 8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.00INTRD 74LS373 GQ7 D7Q6 D6Q5 D5Q4 D4Q3 D3Q2
26、D2Q1 D1Q0 D0E1在在STB的下降沿的下降沿,将数据锁存入将数据锁存入74LS373/E控制着控制着74LS373的输出的输出,由由P2.6和和/RD相或控制相或控制,所以所以74LS373的口地址为的口地址为BFFFH。例、设将上图例、设将上图74LS373中数据送入中数据送入8031片内数据存储器中首地片内数据存储器中首地址为址为50H的数据区。写出相应中断系统初始化及中断服务程序。的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:中断系统初始化程序:PINT:SETB IT0 ;/INT0选为下降沿触发方式选为下降沿触发方式 SETB EA ;CPU开中断开中
27、断 MOV R0,#50H ;置数据区首址置数据区首址 SETB EX0 ;/INT0中断允许中断允许中断服务程序:中断服务程序: ORG 0003HPINT0: AJMP INT0 ORG 1000HINT0: MOV DPTR,#0BFFFH ;指向指向74LS373扩展输入扩展输入口口 MOVX A,DPTR ;8031读入数据读入数据 MOV R0,A ;输入数据送数据区输入数据送数据区 INC R0 RETI3、用三态门扩展、用三态门扩展8位输入并行口位输入并行口74LS244是是8位三态门,当位三态门,当/1G、/2G均为低电平时,允许输入均为低电平时,允许输入数据;否则,为高阻态
28、。数据;否则,为高阻态。输入设备输入设备IN7IN6IN5IN4IN3IN2IN1IN0 8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0RD1G2 74LS244 1Y1 1A11Y2 1A21Y3 1A31Y4 1A42Y1 2A12Y2 2A22Y3 2A32Y4 2A4G1G27.2.2 7.2.2 可编程通用并行接口可编程通用并行接口8255A8255A 在与外设相连时,根据不同的初始化编程可用于无条在与外设相连时,根据不同的初始化编程可用于无条件传送、查询式传送、中断式传送,以完成单片机与外设件传送、查询式传送、中断式传送,以完成单
29、片机与外设的数据交换。的数据交换。 8255是一种是一种8位并行位并行I/O接口芯片,接口芯片,8255有有3个个8位的并位的并行口:行口:PA、PB、PC,3种工作方式。其中,种工作方式。其中,PC口具有按口具有按位进行操作功能。位进行操作功能。1、 8255的内部结构和引脚I/OI/OI/OI/OD7D0PA7PA0PC7PC4PC3PC0PB7PB0CS数据总线缓冲A组控制读/写控制逻辑A0A1RESETWRRDA组端口A(8)A组端口C(4)B组端口B(8)B组控制上半部B组端口C(4)下半部双向三态双向三态输入输出都锁存输入输出都锁存输入三态输入三态输出锁存输出锁存和和CPU相连相连
30、和外设相连和外设相连内部控制电路内部控制电路控制控制寄存器寄存器3种工作方式种工作方式3个个8位的并行口位的并行口PA、PB、PC1个控制寄存器个控制寄存器8255的引脚RESET8255APA0PA1PA2PA3PB0PB1PB2PC0PC1PC2PC3PC4PC5PC6PC7RDA0A1CSGNDD0D1D2D3D4D5D6D7PA4PA5PA6PA7PB3PB4PB5PB6PB7WRVCC43211819201415161713121110598673433323130292827403938372122232425363526(1)I/O(1)I/O口线(口线(2424条)条) PA0
31、PA7、PB0PB7、PC0PC7为为24条双向总线,用于条双向总线,用于8255和外设之间传送数据。和外设之间传送数据。PA7PA0:PA口的并行口的并行I/O数据数据线,双向三态。线,双向三态。PB7PB0: PB口的并行口的并行I/O数据数据线,双向三态线,双向三态PC7PC0: PC口的并行口的并行I/O数据数据线,双向三态。线,双向三态。端口端口C既可作为既可作为8位位I/O口,又可作为两个口,又可作为两个4位位I/O口,口,还常用来配合还常用来配合A口和口和B口工作,作口工作,作为控制信号输出、或作为状态信为控制信号输出、或作为状态信号输入。号输入。 8255的引脚 (2)D0D7
32、为数据总线,用于传送CPU和8255之间的数据、命令和状态字。(3)RESET:复位信号,输入高电平有效。复位后,8255所有内部寄存器清0,所有口被置为输入方式。 (4)CS:片选线,输入,低电平有效。当为低电平时8255 被选中。 (5)RD:读信号线,输入,低电平有效。当为低电平时,所选的8255处于读状态, 控制8255把指定口的数据信息或状态信息输出到数据总线D0D7上。 (6)WR:写信号线,输入,低电平有效。当为低电平时控制8255把数据总线D0D7的数据信息或控制信息写入指定口或寄存器中。 (二二) 控制逻辑控制逻辑这是两组根据这是两组根据CPU的编程的编程命令控制命令控制82
33、55A工作的电路,工作的电路,控制寄存器用来接收控制寄存器用来接收CPU送来送来的命令字,以决定的命令字,以决定A组、组、B组组的工作方式,或对的工作方式,或对C口的每一口的每一个位执行位操作。个位执行位操作。A组控制B组控制内部总线内部总线(三三) 数据总线缓冲器数据总线缓冲器是双向三态的是双向三态的8位缓冲器位缓冲器, 用用作作8255A和系统数据总线的接口。和系统数据总线的接口。 1)传送系统对传送系统对8255A的控制字;的控制字; 2)传送各端口的输入、输出数据。传送各端口的输入、输出数据。缓冲器数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑内部总线内部总线至数据端口
34、至控制寄存器(四四) 读读/写控制逻辑写控制逻辑控制总线的开放与关闭;控制总线的开放与关闭;控制信息传送的路径和方向。控制信息传送的路径和方向。(五五) 端口寻址端口寻址A1 A0RDWRCS功能00010端口 A 数据总线01010端口 B 数据总线10010端口 C 数据总线00100数据总线 端口 A01100数据总线 端口 B10100数据总线 端口 C11100数据总线 控制字寄存器8255A端口选择表端口选择表(六六) 方式选择方式选择8255ABCBDBRD WRD7D0 A0 A1 CSPBPAPC88I/OI/O44PB7 PB0PA7 PA0PC3 PC0PC7 PC4I/
35、OI/O88I/OI/OPB7 PB0PA7 PA0PBPAPC控制或I/O控制或I/O88I/OI/OPB7 PB0PA7 PA0PBPAPCI/O控制方式方式0:基本输入输出:基本输入输出方式方式1:选通输入输出:选通输入输出方式方式2:双向传送:双向传送二、二、8255A的控制字的控制字1、方式选择控制字、方式选择控制字8255A有有3种基本的工作方式,在对种基本的工作方式,在对8255A进行初始化编程时,进行初始化编程时,应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。方式选择控制字格式方式选择控制字格式D7 D6 D
36、5 D4 D3 D2 D1 D0下下C口口 I/O1=输入输入0=输出输出B口口I/O1=输入输入0=输出输出B组方式组方式0=方式方式0 1=方式方式1上C口I/O1=输入输入0=输出输出特征位特征位 D7=1A组方式组方式: 00=方式方式0 01=方式方式1 1x=方式方式2A口口I/O1=输入输入0=输出输出例:在一个例:在一个8031系统中,有一片系统中,有一片8255芯片,其各个端口的地芯片,其各个端口的地址分别为址分别为0F8H0FBH,现要求各个端口的工作方式为:现要求各个端口的工作方式为:端口端口A 方式方式0 输入输入端口端口B 方式方式1 输出输出端口端口C(上半部)上半
37、部) PC7 PC4 输出输出端口端口C(下半部)下半部) Bit3 输入输入要求:进行初始化编程要求:进行初始化编程10011001分析:根据分析:根据8255工作模式可确定方式控制字工作模式可确定方式控制字95H初始化编程:初始化编程:MOV A,#95HMOV R0, #0FBHMOVX R0, A2、C口按位置位口按位置位/复位控制字复位控制字端口端口C常用作控制或应答信号,通过对常用作控制或应答信号,通过对8255A的控制口写入按位的控制口写入按位置位置位/复位控制字,可使复位控制字,可使C口的任一个引脚的输出单独置口的任一个引脚的输出单独置1或置或置0。C口按位置位口按位置位/复位
38、控制字格式复位控制字格式D7 D6 D5 D4 D3 D2D1 D01 置位置位 0 复位复位无关位无关位特征位特征位 D7 = 0000 选中选中PC0 001 选中选中PC1 111 选中选中PC7位选位选择择例:要使端口例:要使端口C的的bit3置位的控制字为:置位的控制字为:00000111B; MOV A,00000111B MOV R0, #0FBH MOVX R0, A 而使端口而使端口C的的bit3复位的控制字为:复位的控制字为:00000110B ; MOV A,00000110B MOV R0, #0FBH MOVX R0, A三、三、8255A的工作方式的工作方式1、方式
39、、方式 0基本输入输出方式基本输入输出方式适用于不需要应答信号的简单适用于不需要应答信号的简单I/O场合。场合。A口和口和B口可作为口可作为8位端口,位端口,C口的高口的高4位和低位和低4位可作为两位可作为两个个4位的端口,且每个端口均可作为输入口或输出口用。位的端口,且每个端口均可作为输入口或输出口用。数据输出有锁存,输入无锁存。数据输出有锁存,输入无锁存。例如例如:要求要求8255A的的A口和口和B口均工作于方式口均工作于方式0, A口和下口和下C口口作输入口作输入口, B口和上口和上C口作输出口口作输出口,设设8255A各端口地址为各端口地址为40H43H, 可用下列指令来设置这种工作方
40、式:可用下列指令来设置这种工作方式:MOV A,91H;方式控制字方式控制字10010001BMOV R0, #43H MOVX R0, A ;方式控制字送控制寄存器方式控制字送控制寄存器 方式方式0 0一般用于无条件传送的场合,不需要应答式联络信号,一般用于无条件传送的场合,不需要应答式联络信号,外设总是处于准备好的状态。外设总是处于准备好的状态。 也可以用作查询式传送,查询式传送时,需要有应答信号。也可以用作查询式传送,查询式传送时,需要有应答信号。可以将可以将A A端口、端口、B B端口作为数据口使用。端口作为数据口使用。C C端口则可用来输出一些端口则可用来输出一些控制信息,或输入外设
41、的状态。利用控制信息,或输入外设的状态。利用C C端口配合端口配合A A端口和端口和B B端口完端口完成查询式的成查询式的I/OI/O操作。操作。 当当A A端口和端口和B B端口以方式端口以方式1 1进行输入输出时,必须利用进行输入输出时,必须利用C C端口端口提供的固定的选通和应答信号提供的固定的选通和应答信号, ,该方式也称选通输入该方式也称选通输入/ /输出方式。输出方式。 方式方式1 1的基本定义是:的基本定义是: 分成分成A A组和组和B B组,每组包含一个组,每组包含一个8 8位的数据端口和位的数据端口和1 1个个4 4位的控位的控制制/ /数据端口。数据端口。 可作输入,也可作
42、输出,且输入和输出都可以可作输入,也可作输出,且输入和输出都可以被锁存。被锁存。 2. 2. 方式方式1-1-选通输入选通输入/ /输出方式输出方式规定:规定:PCPC3 3PCPC5 5分配给分配给A A端口作联络线,端口作联络线,PCPC0 0PCPC2 2分配给分配给B B端口作联络线,端口作联络线, C C端口剩下的端口剩下的2 2位位PCPC7 7、PCPC6 6可作为简单的输入可作为简单的输入/ /输出线使用。输出线使用。 1) 1) 选通的输入方式选通的输入方式方式方式1选通输入下对应的控制信号图选通输入下对应的控制信号图(a) 对对A端口;端口;(b) 对对B端口端口1011I
43、/O1011I/O 11111D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0A组工作于方式组工作于方式1输入的控制字输入的控制字A组和组和B组工作于方式组工作于方式1输入的控制字输入的控制字B组工作于方式组工作于方式1输入的控制字输入的控制字方式方式1B端口为输入端口为输入PC7、PC61输入输入0输出输出PC7、PC61输入输入0输出输出A端口为输入端口为输入方式方式1STBAIBFAINTRAI/OPC4PC5PC3INTEA&PC7PC6PA7PA02RD8PC2PC1PC0INTEB&PB7PB0RD8INTRBIBFBSTBB(a)(
44、b)方式方式1 1选通输入方式下各控制信号的意义:选通输入方式下各控制信号的意义: STB(Strobe)STB(Strobe):选通输入信号,低电平有效。:选通输入信号,低电平有效。A A组方式控制字中组方式控制字中对应对应PC4PC4;B B组方式控制字中对应组方式控制字中对应PC2PC2。 IBF(Input Buffer Full)IBF(Input Buffer Full):输入缓冲器满信号,高电平有效。:输入缓冲器满信号,高电平有效。 是是8255A8255A送给外设的联络信号,送给外设的联络信号,A A组方式控制字中对应组方式控制字中对应PC5PC5;B B组组方式控制字中对应方
45、式控制字中对应PC1PC1,该信号可供,该信号可供CPUCPU查询。查询。 该信号在选通输入信号该信号在选通输入信号STBSTB变低后,变低后,300 ns300 ns时间内即变为有时间内即变为有效的高电平。在效的高电平。在RDRD信号撤消后的信号撤消后的300 ns300 ns时间内时间内IBFIBF信号才撤消,信号才撤消,变为无效的低电平,这样保证了数据传输的可靠性。变为无效的低电平,这样保证了数据传输的可靠性。INTR(Interrupt Request)INTR(Interrupt Request):中断请求信号,高电平有效。:中断请求信号,高电平有效。A A组组方式控制字中对应方式控
46、制字中对应PC3PC3;B B组方式控制字中对应组方式控制字中对应PC0PC0。当。当STBSTB信号信号撤消变为高电平后,并且撤消变为高电平后,并且IBFIBF信号也为高电平,信号也为高电平,INTRINTR信号变为有信号变为有效的高电平。效的高电平。 当当CPUCPU发出的发出的RDRD信号有效后,信号有效后,400 ns400 ns的时间内的时间内INTRINTR信号将撤信号将撤消,变为低电平。消,变为低电平。INTE(Interrupt Enable)INTE(Interrupt Enable):中断允许信号,高电平有效。否则:中断允许信号,高电平有效。否则屏蔽中断请求。屏蔽中断请求。
47、 INTEINTE的状态是用软件通过由的状态是用软件通过由C C端口置端口置1/1/置置0 0控制字来控制的,控制字来控制的,在在A A组中,使组中,使PC4PC4置置“1 1”后后INTEAINTEA变高;在变高;在B B组中,使组中,使PCPC2 2置置“1 1”后后INTEBINTEB变高,变高,A A端口和端口和B B端口才允许中断。如果端口才允许中断。如果PCPC4 4和和PCPC2 2都置都置“0 0”,与之对应的与之对应的INTEINTE信号为低,则禁止中断。信号为低,则禁止中断。 输入缓冲器满状态,可供输入缓冲器满状态,可供CPUCPU来查询。在选通输入信号结束来查询。在选通输
48、入信号结束后向后向CPUCPU发出中断请求信号,发出中断请求信号,INTRINTR变高变高( (中断允许情况下中断允许情况下) ) 在中断服务程序中在中断服务程序中CPUCPU发出读信号发出读信号RDRD,RDRD的下降沿清除中断的下降沿清除中断请求。当读信号结束后,使输入缓冲器满信号请求。当读信号结束后,使输入缓冲器满信号IBFIBF变低,变低,IBFIBF变变低表明输入缓冲器已空,通知外设可以输入新的数据。低表明输入缓冲器已空,通知外设可以输入新的数据。选通输入方式的工作过程:选通输入方式的工作过程: 当外设数据已送到当外设数据已送到8255A8255A某个端口的数据线上时,就发出选某个端
49、口的数据线上时,就发出选通输入信号通输入信号STBSTB,将数据通过,将数据通过A A端口或端口或B B端口锁存到端口锁存到8255A8255A的数据输的数据输入寄存器。入寄存器。STBSTB信号变低将使输入缓冲器满信号信号变低将使输入缓冲器满信号IBFIBF变高。输入缓变高。输入缓冲器满意味着将阻止外设输入新的数据。冲器满意味着将阻止外设输入新的数据。A口方式口方式1 选通输入工作示意图选通输入工作示意图/RD选通的输入方式选通的输入方式CPUCPU如何读取数据?如何读取数据?1 1、采用查询式输入,、采用查询式输入,CPUCPU先查询先查询IBFIBF是否为高?是否为高? 若若IBFIBF
50、为高,为高,8255A8255A的输入缓冲器就为满,则的输入缓冲器就为满,则CPUCPU可从可从8255A8255A读入数据。读入数据。2 2、采用中断方式传送数据,先用、采用中断方式传送数据,先用C C端口置端口置1/1/置置0 0的控制字使相应的控制字使相应的端口允许中断,也就是要使的端口允许中断,也就是要使PC4PC4或或PC2PC2置置1 1。 这种方式的工作过程与选通输入的情况相类似。对应的这种方式的工作过程与选通输入的情况相类似。对应的C C端口也是端口也是固定分配固定分配。规定:规定:PCPC3 3、PCPC6 6、PCPC7 7分配给分配给A A端口;端口;PCPC2 2、PC
51、PC1 1、PCPC0 0分配给分配给B B端口,端口,剩下的剩下的2 2位位PCPC4 4、PCPC5 5可作为简单的输入可作为简单的输入/ /输出线使用。输出线使用。 当控制字的当控制字的D D3 3位为位为“1 1”时,时,PCPC4 4、PCPC5 5作输入;当控制字的作输入;当控制字的D D3 3位为位为“0 0”时,时,PCPC4 4、PCPC5 5作输出。作输出。 2) 2) 选通的输出方式选通的输出方式方式方式l输出时输出时C端口对端口对A、B端口的控制图端口的控制图(a) 对对A端口;端口;(b) 对对B端口端口1010I/O1010I/O 10110D7D6D5D4D3D2
52、D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0A组工作于方式组工作于方式1输出的控制字输出的控制字A组和组和B组工作于方式组工作于方式1输出的控制字输出的控制字B组工作于方式组工作于方式1输出的控制字输出的控制字方式方式1B端口为输出端口为输出PC5、PC41输入输入0输出输出PC5、PC41输入输入0输出输出A端口为输出端口为输出方式方式1ACKAOBFAINTRAI/OPC6PC7PC3INTEA&PC5PC4PA7PA02WR8PC2PC1PC0INTEB&PB7PB0WR8INTRBOBFBACKB(a)(b) 方式方式1 1选通输出方式各控制信号的意义:选通
53、输出方式各控制信号的意义: OBF(Output Buffer Fu11)OBF(Output Buffer Fu11):输出缓冲器满信号,低电平有效。:输出缓冲器满信号,低电平有效。A A组方式控制字中对应组方式控制字中对应PCPC7 7;B B组方式控制字中对应组方式控制字中对应PCPC1 1,由,由8255A8255A向向外设发出低电平的外设发出低电平的OBFOBF信号。信号。 输出指令写信号输出指令写信号WRWR的上升沿出现后,将的上升沿出现后,将OBFOBF信号置成有效低电信号置成有效低电平,当应答信号平,当应答信号ACKACK变为有效低电平后,变为有效低电平后,OBFOBF信号撤消
54、变为高电平,信号撤消变为高电平,ACK(Acknowledge)ACK(Acknowledge):数据接收应答信号,低电平有效。:数据接收应答信号,低电平有效。A A组方式控组方式控制字中对应制字中对应PC6PC6;B B组方式控制字中对应组方式控制字中对应PC2PC2,是外设的响应信号。,是外设的响应信号。 ACKACK信号有效后使信号有效后使OBFOBF变成无效的高电平,同时使变成无效的高电平,同时使INTRINTR信号变为有信号变为有效的高电平。效的高电平。INTRINTR:中断请求信号,高电平有效。:中断请求信号,高电平有效。A A组方式控制字中对应组方式控制字中对应PC3PC3;B
55、B组方式控制字中对应组方式控制字中对应PC0PC0。由。由8255A8255A向向CPUCPU发出中断请求,要求发出中断请求,要求CPUCPU输出新的数据。输出新的数据。 当当ACKACK撤消后为高电平,撤消后为高电平,OBFOBF也为高电平,中断允许信号也为高电平,中断允许信号INTEINTE也为高时,也为高时,INTRINTR中断请求信号被置位为高电平,中断请求信号被置位为高电平, 中断请求信号是在中断请求信号是在WRWR有效的下降沿出现后使它变为无效的低有效的下降沿出现后使它变为无效的低电平,电平,INTEINTE:中断允许信号,高电平有效。当该信号为:中断允许信号,高电平有效。当该信号
56、为“1 1”时,允许中时,允许中断。断。INTEINTE是用软件通过对是用软件通过对C C端口置端口置1/1/置置0 0的控制字来设置的。当的控制字来设置的。当PCPC6 6置置1 1时,时,A A端口允许中断;端口允许中断;PCPC2 2置置1 1,B B端口允许中断。反之,不允许端口允许中断。反之,不允许中断。中断。 当当8255A8255A的输出选通方式采用中断与的输出选通方式采用中断与CPUCPU通信时,通信时,CPUCPU响应中响应中断后,就向断后,就向8255A8255A输出数据,输出数据, WRWR信号出现,其上升沿一方面撤信号出现,其上升沿一方面撤消中断请求信号使消中断请求信号
57、使INTRINTR变低,表示变低,表示CPUCPU对上一次中断已经响应过。对上一次中断已经响应过。另一方面使另一方面使OBFOBF信号变为有效的低电平,以通知外设可以接收下信号变为有效的低电平,以通知外设可以接收下一个数据。一个数据。B口方式口方式1选通输出工作示意图选通输出工作示意图/WR 双向方式双向方式8255A可以向外设发送数据,同时可以向外设发送数据,同时CPU通过这通过这8位数位数据线又接收外设的数据。传输过程由据线又接收外设的数据。传输过程由C端口对端口对A端口进行控制,端口进行控制,所以称为带选通的双向传输方式。所以称为带选通的双向传输方式。方式方式2的基本定义:的基本定义:
58、只能适用于只能适用于A端口,一个端口,一个8位的双向端口位的双向端口(A端口端口)和和1个个5位的控位的控制端口制端口(C端口端口)。 A端口的输入和输出都可以被锁存。在这种方式下,端口的输入和输出都可以被锁存。在这种方式下,C端口中端口中高高5位位PC7PC3作为控制信号和状态信息使用,剩下的作为控制信号和状态信息使用,剩下的3位位PC2PC0可作为简单的输入可作为简单的输入/输出线使用。输出线使用。3. 3. 方式方式2-2-带选通的双向传输方式带选通的双向传输方式方式方式2时时C端口对端口对A端口的控制信号图端口的控制信号图PC3&PC2PC0PA7PA0PC7PC6PC4PC5INTE
59、2INTE11&WRRDINTRA8OBFAACKASTBAIBFAI/O11D7D6D5D4D3D2D1D0A组工作于方式组工作于方式1输入的控制字输入的控制字PC2PC01输入输入0输出输出B端口方式端口方式A端口端口方式方式1输入输入0输出输出B组方式组方式0方式方式01方式方式13方式方式2 2各控制信号的意义:各控制信号的意义:STBSTB:选通信号,低电平有效。对应于:选通信号,低电平有效。对应于PCPC4 4,由外设提供给,由外设提供给8255A8255A。该信号负责把外设送到该信号负责把外设送到8255A8255A的数据送入输入锁存器。的数据送入输入锁存器。IBFIBF:输入缓
60、冲器满信号,高电平有效。对应:输入缓冲器满信号,高电平有效。对应PCPC5 5,是,是8255A8255A送给送给CPUCPU的状态信息,供的状态信息,供CPUCPU查询用。当该信号有效时,表示当前已查询用。当该信号有效时,表示当前已经有一个新的数据送到了输入锁存器中,经有一个新的数据送到了输入锁存器中,CPUCPU可以取走。可以取走。OBFOBF:输出缓冲器满信号,低电平有效。对应:输出缓冲器满信号,低电平有效。对应PCPC7 7,由,由8255A8255A发给发给外设的选通信号,当外设的选通信号,当OBFOBF有效时,表明有效时,表明CPUCPU已经将一个数据写入已经将一个数据写入8255
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村土地整治及利用合作合同
- 保险培训班务体系介绍
- 跳舞私教合同协议范本
- 辞快工协议合同
- 送文化下乡演出合同协议
- 郊区公寓租赁协议书模板
- 运煤车租赁合同协议
- 配赠独立车库合同协议
- 云计算数据中心能耗优化协议
- 跨州追捕协议书范本
- 《CRISPR-Cas9及基因技术》课件
- T-CCTAS 68-2023 桥梁结构形变毫米波雷达法检测技术规程
- 【化学】常见的盐(第1课时)-2024-2025学年九年级化学下册(人教版2024)
- 心肌炎课件完整版本
- 儿童故事绘本愚公移山课件模板
- 污水处理厂设备运行的管理及维护措施
- 考务人员培训系统答题
- 2024年江苏省徐州市中考数学真题卷及答案解析
- T∕HGJ 12402-2021 石油化工装置火灾紧急隔离控制阀设计标准
- 1-江苏省冶金等工贸企业安全生产标准化运行质量审计评分表-
- 农产品质量追溯系统方案
评论
0/150
提交评论