版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MCS-51单片机的并行接单片机的并行接 口上口上 第第7章章 MCS-51并行接口并行接口 p7.1 MCS-5l内部内部IO口及其应用口及其应用 p7.2 MCS-5l并行并行IO口的扩展口的扩展 () p7.3 MCS-51内部内部定时计数器定时计数器及其应用及其应用 p7.4 并行口应用并行口应用单片机显示键盘系统单片机显示键盘系统 1 并口是相对于串口而言的。并口是相对于串口而言的。 MCS-51单片机的并行接单片机的并行接 口上口上 并行接口并行接口 并行通信并行通信: : 各位数据都是并行传输的,它以字节(或字)为单位与各位数据都是并行传输的,它以字节(或字)为单位与 I/OI/
2、O设备或被控对象进行数据交换。设备或被控对象进行数据交换。 并行通信由并行接口来完成并行通信由并行接口来完成, ,并行接口是连接并行接口是连接CPUCPU与并行与并行 外设的通道。外设的通道。 特点:特点: 传输速度快;硬件开销大;只适合近距离传输。一个并传输速度快;硬件开销大;只适合近距离传输。一个并 行接口中包括状态信息、控制信息和数据信息。行接口中包括状态信息、控制信息和数据信息。 MCS-51单片机的并行接单片机的并行接 口上口上 状态信息状态信息 表示外设当前所处的工作状态。表示外设当前所处的工作状态。 例如:准备好信号表示输入设备已经准备好信息;例如:准备好信号表示输入设备已经准备
3、好信息; 忙信号忙信号(BUSY)表示输出设备正在输出信息,等于指示表示输出设备正在输出信息,等于指示CPU要处于等待状要处于等待状 态。态。 控制信息控制信息 控制信息是由控制信息是由CPU发出的,用于控制外设接口的工作方式以及外设的启动发出的,用于控制外设接口的工作方式以及外设的启动 和停机信息等。和停机信息等。 数据信息数据信息 CPU与并行外设数据交换的内容。与并行外设数据交换的内容。 状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信状态信息、控制信息和数据信息,通常都是通过数据总线传送,这些信 息在外设接口中分别存取在不同的端口中。息在外设接口中分别存取在不同的端口中。
4、 对于一个外设接口,常常需要几个端口才能满足和协调外部设备的对于一个外设接口,常常需要几个端口才能满足和协调外部设备的 工作与要求,图工作与要求,图10.1是一个典型的并行接口与是一个典型的并行接口与CPU、外设的连接图。、外设的连接图。 MCS-51单片机的并行接单片机的并行接 口上口上 图图10.1 并行接口与并行接口与CPU、外设的连接、外设的连接 控制寄存器控制寄存器 状态寄存器状态寄存器 输入缓冲寄存器输入缓冲寄存器 输出缓冲寄存器输出缓冲寄存器 CPU 总线系统总线系统 输输 入入 设设 备备 输输 出出 设设 备备 数据总线数据总线 输出数据准备好输出数据准备好 输入数据准备好输
5、入数据准备好 中断请求中断请求 地地 址址 译码器译码器 复位复位 地址总线地址总线 AEN CS A0 A1 IOR IOW 输入数据输入数据 输入数据准备好输入数据准备好 输入应答输入应答 输出数据输出数据 输出数据准备好输出数据准备好 输出应答输出应答 MCS-51单片机的并行接单片机的并行接 口上口上 2. 2. 并行接口的组成并行接口的组成 状态寄存器状态寄存器 状态寄存器用来存放外设的信息,状态寄存器用来存放外设的信息,CPUCPU通过访问这个寄存器通过访问这个寄存器 来了解某个外设的状态。来了解某个外设的状态。 控制寄存器控制寄存器 并行接口中有一个控制寄存器,并行接口中有一个控
6、制寄存器,CPUCPU对外设的操作命令都寄对外设的操作命令都寄 存在控制寄存器中。存在控制寄存器中。 数据缓冲寄存器数据缓冲寄存器 在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器,在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器, 缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。缓冲器是用来暂存数据,可以保证输入,输出数据的可靠性。 因为外设与因为外设与CPUCPU交换数据,交换数据,CPUCPU的速度远远高于外设的速度。的速度远远高于外设的速度。 MCS-51单片机的并行接单片机的并行接 口上口上 7.1 MCS-5l内部内部IO口及其应用口及其应用 6 51单片机内部有单片机内
7、部有4个个8位双向位双向IO(输入输出输入输出)口。口。 它们的内部结构图在前面作过介绍。从特性上看,这它们的内部结构图在前面作过介绍。从特性上看,这4 个端口还有所差别。个端口还有所差别。 P0口:作一般口:作一般I/O口;低口;低8位地址位地址/数据分时复用功能。数据分时复用功能。 P1口:作一般口:作一般I/O接口。接口。 P2口:作一般口:作一般I/O接口;高接口;高8位地址。位地址。 P3口:作一般口:作一般I/O接口;每根口线有第二功能。接口;每根口线有第二功能。 MCS-51单片机的并行接单片机的并行接 口上口上 I/O接口的功能是:接口的功能是: 2、对输入设备的三态缓冲、对输
8、入设备的三态缓冲 外设传送数据时要占用总线,不传送数据时必须对外设传送数据时要占用总线,不传送数据时必须对 总线呈高阻状态。利用总线呈高阻状态。利用I/O接口的三态缓冲功能,可接口的三态缓冲功能,可 以实现以实现I/O设备与数据总线的隔离,便于其它设备的设备与数据总线的隔离,便于其它设备的 总线挂接。总线挂接。 1、对单片机输出的数据锁存、对单片机输出的数据锁存 锁存数据线上瞬间出现的数据,以解决单片机与锁存数据线上瞬间出现的数据,以解决单片机与 I/O设备的速度协调问题。设备的速度协调问题。 MCS-51单片机的并行接单片机的并行接 口上口上 3、信号转换、信号转换 信号类型(数字与模拟、电
9、流与电压)、信号电信号类型(数字与模拟、电流与电压)、信号电 平(高与低、正与负)、信号格式(并行与串行)等平(高与低、正与负)、信号格式(并行与串行)等 的转换。的转换。 4、时序协调、时序协调 不同的不同的I/O设备定时与控制逻辑是不同的,并与设备定时与控制逻辑是不同的,并与 CPU的时序往往是不一致的,这就需要的时序往往是不一致的,这就需要I/O接口进行接口进行 时序的协调。时序的协调。 MCS-51单片机的并行接单片机的并行接 口上口上 P0-P3口进一步说明:口进一步说明: 9 4个并行个并行I/O口口“输出有锁存,输入有缓冲输出有锁存,输入有缓冲”; 输入数据时都要输入数据时都要“
10、先写先写1”; P0口作通用口作通用I/O口,输出级是开漏电路,作输出口应接上口,输出级是开漏电路,作输出口应接上 拉电阻;作地址拉电阻;作地址/数据总线不需要上拉电阻;数据总线不需要上拉电阻; P1P3口不需要上拉电阻;口不需要上拉电阻; MCS-51单片机的并行接单片机的并行接 口上口上 1、51的的I/O口直接用于输出口直接用于输出 10 p都是准双向口。都是准双向口。 p1、直接用于输出、直接用于输出 作输出口时有锁存功能。作输出口时有锁存功能。 输出操作:以输出操作:以P0P3为目的操作数的传送指令。为目的操作数的传送指令。 例如:例如: MOV P1,A MOV P1,R1 MOV
11、 P1,R1 MOV P1,#55H p51单片机没有专门的输入输出指令。单片机没有专门的输入输出指令。 MCS-51单片机的并行接单片机的并行接 口上口上 2、51的的I/O口直接用于输入口直接用于输入 11 p2、直接用于输入、直接用于输入 作输入口时带有输入缓冲器,但没有输入锁存器。作输入口时带有输入缓冲器,但没有输入锁存器。 因此要输入的数据必须一直保持在引脚上,直到把数因此要输入的数据必须一直保持在引脚上,直到把数 据读走。据读走。 在输入数据之前,要先写在输入数据之前,要先写“1” MOV P0, #0FFH MOV A, P0 用读引脚的传送指令。用读引脚的传送指令。 例如:例如
12、:MOV A, P1 MOV R2,P1 MCS-51单片机的并行接单片机的并行接 口上口上 3、对锁存器的、对锁存器的“读读-修改修改-写写” 12 有一类指令是对有一类指令是对IO口输出锁存器中的数据进行操作,口输出锁存器中的数据进行操作, 如对端口数据进行逻辑操作。这一类指令是先读出端口锁如对端口数据进行逻辑操作。这一类指令是先读出端口锁 存器中的内容,再按指令的规定进行操作,最后将操作的存器中的内容,再按指令的规定进行操作,最后将操作的 结果写回端口锁存器,称之为结果写回端口锁存器,称之为“读一修改一写读一修改一写”指令。指令。 这类指令不是对端口引脚上的数据进行操作。若要这类指令不是
13、对端口引脚上的数据进行操作。若要 对引脚上数据进行操作则只能先读入到对引脚上数据进行操作则只能先读入到CPU,然后再进,然后再进 行运算。行运算。 MCS-51单片机的并行接单片机的并行接 口上口上 4、MCS-51内部内部IO口应用口应用 13 所有所有4个个IO口都是可以位寻址的,就是说,其中每一口都是可以位寻址的,就是说,其中每一 位都可以用做输入或输出。位都可以用做输入或输出。 由于由于MCS-51的的IO 口只有数据口而没有状态口或控制口只有数据口而没有状态口或控制 口,在实际使用时,可以用口,在实际使用时,可以用I0口的某一位口的某一位(或几位或几位)来来 作为状态信息的传送者,或
14、者是命令的控制位。作为状态信息的传送者,或者是命令的控制位。 例:例:P1口八个灯作跑马灯口八个灯作跑马灯 。?。? MCS-51单片机的并行接单片机的并行接 口上口上例:例:P1口八个灯作跑马灯口八个灯作跑马灯 ? 14 start: MOV A,#0FFH; CLR C; MOV R2,#08h;循环八次。循环八次。 loop1:RLC A;带进位左移。带进位左移。 MOV P1,A;输出到输出到P1口。口。 CALL delay;延时一段时间延时一段时间 DJNZ R2,LOOP1;反复循环反复循环 MOV R2,#07h;再往回循环。再往回循环。 loop2:RRC A;带进位右移带进
15、位右移 MOV P1,A;输出到输出到P1口。口。 CALL delay;延时一段时间延时一段时间 DJNZ R2,loop2;反复循环反复循环 LJMP start;重新开始重新开始 ;延时子程序延时子程序 delay:MOV r3,#20 d1:MOV R4,#20 d2:MOV R5,#248 DJNZ R5,$ DJNZ R4,d2 DJNZ R3,d1 RET END 设:设:LED灯共阳极灯共阳极 MCS-51单片机的并行接单片机的并行接 口上口上 P0口输出功能应用举例口输出功能应用举例 例例 P0口做通用口做通用I/O输出口,控制输出口,控制8只发光二极管只发光二极管 从左到右
16、依次点亮,再从右到左依次点亮,电路从左到右依次点亮,再从右到左依次点亮,电路 图如图所示。图如图所示。 P00 P01 P02 P03 P04 P05 P06 P07 RP1 L1L2L3L4L5L6L7L8 VCC 1 2 3 4 5 6 7 8 9 1K P0P0口控制发光二极管电路口控制发光二极管电路 MCS-51单片机的并行接单片机的并行接 口上口上 #include unsigned char i; unsigned char temp; unsigned char a,b; void delay(void) /循环间隔时间 unsigned char m,n,s; for(m=20
17、;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(); P00 P01 P02 P03 P04 P05 P06 P07 RP1 L1L2L3L4L5L6L7L8 VCC 1 2 3 4 5 6 7 8 9 1K P0P0口控制发光二极管电路口控制发光二极管电路 MCS-51单片机的并行接
18、单片机的并行接 口上口上 例例: P3.5口做通用口做通用I/O输出口,控制蜂鸣器断续输出口,控制蜂鸣器断续 发声,电路图如图所示。发声,电路图如图所示。 BELL VCC U13 R18 1K L21 Q9 8550 R19 4.7K P35 蜂鸣器电路蜂鸣器电路 #include sbit BEEP=P35; /蜂鸣器端口蜂鸣器端口 void delayms(unsigned char ms) / 毫秒延时子程序毫秒延时子程序 unsigned char i; while(ms-) for(i = 0; i 120; i+); void main(void) /主程序主程序 while(1
19、) /循环程序循环程序 delayms(250); BEEP =1; /启动蜂鸣器启动蜂鸣器 delayms(250); BEEP =0; /熄灭蜂鸣器熄灭蜂鸣器 MCS-51单片机的并行接单片机的并行接 口上口上 P2口输入、口输入、P1口输出功能应用举例口输出功能应用举例 例例 利用利用8个拨动开关,把个拨动开关,把8位数据送到位数据送到P2口,程序读入,口,程序读入, 然后送然后送P1口显示。如图所示:口显示。如图所示: P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RST/VPD 9 P30/RXD 10 P31/TXD 11 P32/
20、INT0 12 P33/INT1 13 P34/T0 14 P35/T1 15 P36/WR 16 P37/RD 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/PROG 30 EA/VPP 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U12 AT89C51 Y1 12MHZ C18 30pf C19 30pf VCC C17 22uf R20 10k RST L1
21、 L2 L3 L4 L5 L6 L7 L8 RST VCC VCC G 19 DIR 1 A1 2 B1 18 A2 3 B2 17 A3 4 B3 16 A4 5 B4 15 A5 6 B5 14 A6 7 B6 13 A7 8 B7 12 A8 9 B8 11 U? 74LS245 R1 330 R2 330 R3 330 R4 330 R5 330 R6 330 R7 330 R8 330 1 2 3 J? CON3 1 2 3 J? CON3 1 2 3 J? CON3 1 2 3 J? CON3 1 2 3 J? CON3 1 2 3 J? CON3 1 2 3 J? CON3 1
22、2 3 J? CON3 VCC #include #define key P2 #define led P1 void main() while(1) led=key; MCS-51单片机的并行接单片机的并行接 口上口上 7.1 为什么需要为什么需要I/O扩展扩展 原始数据或现场信息要利用输入设备输入到单片机原始数据或现场信息要利用输入设备输入到单片机 中,单片机对输入的数据进行处理加工后,还要输中,单片机对输入的数据进行处理加工后,还要输 出给输出设备。常用的输入设备有键盘、开关及各出给输出设备。常用的输入设备有键盘、开关及各 种传感器等,常用的输出设备有种传感器等,常用的输出设备有LED(
23、或或LCD)显显 示器、微型打印机及各种执行机构等。示器、微型打印机及各种执行机构等。 80C51单片机内部有四个并行口和一个串行口,对单片机内部有四个并行口和一个串行口,对 于简单的于简单的I/O设备可以直接连接。当系统较为复杂时,设备可以直接连接。当系统较为复杂时, 往往要借助往往要借助I/O接口电路(简称接口电路(简称I/O接口)完成单片接口)完成单片 机与机与I/O设备的连接。现在,许多设备的连接。现在,许多I/O接口已经系列接口已经系列 化、标准化,并具有可编程功能。化、标准化,并具有可编程功能。 输入输入/输出及其控制方式输出及其控制方式 MCS-51单片机的并行接单片机的并行接
24、口上口上扩展扩展I/O接口的原因:接口的原因: 单片机本身接口功能有限。单片机本身接口功能有限。 单片机控制应用中的复杂接口要求。单片机控制应用中的复杂接口要求。 1、速度差异大、速度差异大 2、设备种类繁多、设备种类繁多 3、数据信号形式多样、数据信号形式多样 扩展扩展I/O接口电路的功能接口电路的功能 1、速度协调、速度协调 2、输出数据锁存、输出数据锁存 3、输入数据三态缓冲、输入数据三态缓冲 4、数据转换、数据转换 MCS-51单片机的并行接单片机的并行接 口上口上 7.2 MCS-5l并行并行IO口的扩展口的扩展 21 常用并口扩展方法:常用并口扩展方法: 用三态缓冲器和锁存器扩展简
25、单用三态缓冲器和锁存器扩展简单I/O口。口。 用专用并口芯片扩展用专用并口芯片扩展I/O口(口(8255,8155等)等) 注意:注意: MCS-51没有专门的外设操作指令和控制信号,没有专门的外设操作指令和控制信号,将外设看将外设看 作外部数据存储单元来访问作外部数据存储单元来访问,因此扩展外设占用外部,因此扩展外设占用外部RAM存存 储器的地址空间,使用访问外部数据存储器指令对外设进行储器的地址空间,使用访问外部数据存储器指令对外设进行 操作。操作。 MCS-51单片机的并行接单片机的并行接 口上口上 用三态缓冲器和锁存器扩展并口用三态缓冲器和锁存器扩展并口 22 1、8031和三态缓冲器
26、连接扩展输入口和三态缓冲器连接扩展输入口 设计原则设计原则 输入口具有缓冲作用输入口具有缓冲作用缓冲器。缓冲器。 输出口具有锁存作用输出口具有锁存作用锁存器。锁存器。 /1G状态状态输入输入/输出输出 1高阻高阻隔离隔离 0驱动驱动输出输入输出输入 74LS244三态缓冲器功能表三态缓冲器功能表 MCS-51单片机的并行接单片机的并行接 口上口上 7.2 单片机简单单片机简单I/O扩展扩展 MCS-51单片机的并行接单片机的并行接 口上口上 一、利用一、利用TTL、CMOS集成电路来扩展集成电路来扩展 1、用锁存器扩展简单的、用锁存器扩展简单的8位输出口位输出口 8031 P2.7 P0.7
27、P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 /WR 74LS377 /E D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D1 Q1 D0 Q0 /CP 输出设备输出设备 D7 D6 D5 D4 D3 D2 D1 D0 MCS-51单片机的并行接单片机的并行接 口上口上 74LS377为为8D锁存器,八入八出,一时钟锁存器,八入八出,一时钟CP,一锁存允许一锁存允许/E。 /E = 0时,时,CP 的上升沿,输入数据并锁存。的上升沿,输入数据并锁存。 MOV DPTR,#7FFFH ;指向指向74LS377 MOV A,#data ;取输出的数
28、据取输出的数据 MOVX DPTR,A ;通过通过74LS377送出数据送出数据 P2.7接接 /E , 所以,所以,74LS377的口地址为的口地址为7FFFH。 P0口是数据总线口,作口是数据总线口,作I / O口用时只能分时使用,为此,输出口用时只能分时使用,为此,输出 数据时需要锁存。数据时需要锁存。 MCS-51单片机的并行接单片机的并行接 口上口上 2、用锁存器扩展简单的八位输入口、用锁存器扩展简单的八位输入口 外设与单片机在传输数据速度上存在着一定的差异,为了外设与单片机在传输数据速度上存在着一定的差异,为了 保证数据能被单片机正确地接收,应采取以下电路:保证数据能被单片机正确地
29、接收,应采取以下电路: 输入设备输入设备 STB IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0 8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0INT RD 74LS373 G Q7 D7 Q6 D6 Q5 D5 Q4 D4 Q3 D3 Q2 D2 Q1 D1 Q0 D0 E 1 MCS-51单片机的并行接单片机的并行接 口上口上 在在STB的下降沿的下降沿,将数据锁存入将数据锁存入74LS373 /E控制着控制着74LS373的输出的输出,由由P2.6和和/RD相或控制相或控制,所以所以74LS373 的口地址为的口地址
30、为BFFFH。 例、设将上图例、设将上图74LS373中数据送入中数据送入8031片内数据存储器中首地片内数据存储器中首地 址为址为50H的数据区。写出相应中断系统初始化及中断服务程序。的数据区。写出相应中断系统初始化及中断服务程序。 中断系统初始化程序:中断系统初始化程序: PINT:SETB IT0 ;/INT0选为下降沿触发方式选为下降沿触发方式 SETB EA ;CPU开中断开中断 MOV R0,#50H ;置数据区首址置数据区首址 SETB EX0 ;/INT0中断允许中断允许 MCS-51单片机的并行接单片机的并行接 口上口上 中断服务程序:中断服务程序: ORG 0003H PI
31、NT0: AJMP INT0 ORG 1000H INT0: MOV DPTR,#0BFFFH ;指向指向74LS373扩展输入扩展输入 口口 MOVX A,DPTR ;8031读入数据读入数据 MOV R0,A ;输入数据送数据区输入数据送数据区 INC R0 RETI MCS-51单片机的并行接单片机的并行接 口上口上 3、用三态门扩展、用三态门扩展8位输入并行口位输入并行口 74LS244是是8位三态门,当位三态门,当/1G、/2G均为低电平时,允许输入均为低电平时,允许输入 数据;否则,为高阻态。数据;否则,为高阻态。 输入设备输入设备 IN7 IN6 IN5 IN4 IN3 IN2
32、IN1 IN0 8031 P2.6 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 RD 1 G2 74LS244 1Y1 1A1 1Y2 1A2 1Y3 1A3 1Y4 1A4 2Y1 2A1 2Y2 2A2 2Y3 2A3 2Y4 2A4 G1 G2 MCS-51单片机的并行接单片机的并行接 口上口上 可编程通用并行接口可编程通用并行接口8255A 30 在与外设相连时,根据不同的初始化编程可用于无条在与外设相连时,根据不同的初始化编程可用于无条 件传送、查询式传送、中断式传送,以完成单片机与外设件传送、查询式传送、中断式传送,以完成单片机与外设 的数据交换
33、。的数据交换。 8255是一种是一种8位并行位并行I/O接口芯片,接口芯片,8255有有3个个8位的并位的并 行口:行口:PA、PB、PC,3种工作方式。其中,种工作方式。其中,PC口具有按口具有按 位进行操作功能。位进行操作功能。 MCS-51单片机的并行接单片机的并行接 口上口上 1、 8255的内部结构和引脚 I/O I/O I/O I/O D7D0 PA7PA0 PC7PC4 PC3PC0 PB7PB0 CS 数据 总线 缓冲 A组 控制 读/写 控制 逻辑 A0 A1 RESET WR RD A组 端口A (8) A组 端口C (4) B组 端口B (8) B组 控制 上半部 B组
34、端口C (4) 下半部 31 双向三态双向三态 输入输出都锁存输入输出都锁存 输入三态输入三态 输出锁存输出锁存 和和CPU相连相连和外设相连和外设相连内部控制电路内部控制电路 控制控制 寄存器寄存器 3种工作方式种工作方式 3个个8位的并行口位的并行口 PA、PB、PC 1个控制寄存器个控制寄存器 MCS-51单片机的并行接单片机的并行接 口上口上 8255的引脚 RESET 8255A PA0 PA1 PA2 PA3 PB0 PB1 PB2 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 RD A0 A1 CS GNDD0 D1 D2 D3 D4 D5 D6 D7 PA4
35、PA5 PA6 PA7 PB3 PB4 PB5 PB6 PB7 WR VCC 4 3 2 1 18 19 20 14 15 16 17 13 12 11 10 5 9 8 6 734 33 32 31 30 29 28 27 40 39 38 37 21 22 23 24 25 36 35 26 32 (1)I/O(1)I/O口线(口线(2424条)条) PA0PA7、PB0PB7、PC0 PC7为为24条双向总线,用于条双向总线,用于8255 和外设之间传送数据。和外设之间传送数据。 PA7PA0:PA口的并行口的并行I/O数据数据 线,双向三态。线,双向三态。 PB7PB0: PB口的并行
36、口的并行I/O数据数据 线,双向三态线,双向三态 PC7PC0: PC口的并行口的并行I/O数据数据 线,双向三态。线,双向三态。端口端口C既可作为既可作为8 位位I/O口,又可作为两个口,又可作为两个4位位I/O口,口, 还常用来配合还常用来配合A口和口和B口工作,作口工作,作 为控制信号输出、或作为状态信为控制信号输出、或作为状态信 号输入。号输入。 MCS-51单片机的并行接单片机的并行接 口上口上 8255的引脚 33 (2)D0D7为数据总线,用于传送CPU和8255之间的 数据、命令和状态字。 (3)RESET:复位信号,输入高电平有效。复位后, 8255所有内部寄存器清0,所有口
37、被置为输入方式。 (4)CS:片选线,输入,低电平有效。当为低电平 时8255 被选中。 (5)RD:读信号线,输入,低电平有效。当为低电 平时,所选的8255处于读状态, 控制8255把指定口 的数据信息或状态信息输出到数据总线D0D7上。 (6)WR:写信号线,输入,低电平有效。当为低 电平时控制8255把数据总线D0D7的数据信息或 控制信息写入指定口或寄存器中。 MCS-51单片机的并行接单片机的并行接 口上口上 (二二) 控制逻辑控制逻辑 这是两组根据这是两组根据CPU的编程的编程 命令控制命令控制8255A工作的电路,工作的电路, 控制寄存器用来接收控制寄存器用来接收CPU送来送来
38、 的命令字,以决定的命令字,以决定A组、组、B组组 的工作方式,或对的工作方式,或对C口的每一口的每一 个位执行位操作。个位执行位操作。 A组控制 B组控制 内部总线内部总线 MCS-51单片机的并行接单片机的并行接 口上口上(三三) 数据总线缓冲器数据总线缓冲器 是双向三态的是双向三态的8位缓冲器位缓冲器, 用用 作作8255A和系统数据总线的接口。和系统数据总线的接口。 1)传送系统对传送系统对8255A的控制字;的控制字; 2)传送各端口的输入、输出数据。传送各端口的输入、输出数据。缓冲器 数据 总线 DB o o o RD WR A0 A1 RESET CS 读/写 控制 逻辑 内部总
39、线内部总线 至数据端口 至控制 寄存器 (四四) 读读/写控制逻辑写控制逻辑 控制总线的开放与关闭;控制总线的开放与关闭; 控制信息传送的路径和方向。控制信息传送的路径和方向。 MCS-51单片机的并行接单片机的并行接 口上口上 (五五) 端口寻址端口寻址 A1 A0RDWRCS功能 00010端口 A 数据总线 01010端口 B 数据总线 10010端口 C 数据总线 00100数据总线 端口 A 01100数据总线 端口 B 10100数据总线 端口 C 11100数据总线 控制字寄存器 8255A端口选择表端口选择表 MCS-51单片机的并行接单片机的并行接 口上口上 (六六) 方式选
40、择方式选择 8255 AB CB DB RD WRD7D0 A0 A1 CS PBPA PC 88 I/O I/O4 4 PB7 PB0PA7 PA0 PC3 PC0PC7 PC4 I/O I/O 88I/OI/O PB7 PB0PA7 PA0 PBPAPC 控制或 I/O 控制或 I/O 88I/OI/O PB7 PB0 PA7 PA0 PBPAPC I/O 控制 方式方式0:基本输入输出:基本输入输出 方式方式1:选通输入输出:选通输入输出 方式方式2:双向传送:双向传送 MCS-51单片机的并行接单片机的并行接 口上口上 二、二、8255A的控制字的控制字 1、方式选择控制字、方式选择控
41、制字 8255A有有3种基本的工作方式,在对种基本的工作方式,在对8255A进行初始化编程时,进行初始化编程时, 应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。应向控制寄存器写入方式选择控制字,以规定各端口的工作方式。 方式选择控制字格式方式选择控制字格式 D7 D6 D5 D4 D3 D2 D1 D0 下下C口口 I/O 1=输入输入 0=输出输出 B口口I/O 1=输入输入 0=输出输出 B组方式组方式 0=方式方式0 1=方式方式1 上C口 I/O 1=输入输入 0=输出输出 特征位特征位 D7=1 A组方式组方式: 00=方式方式0 01=方式方式1 1x=方式方式2 A口
42、口I/O 1=输入输入 0=输出输出 MCS-51单片机的并行接单片机的并行接 口上口上例:在一个例:在一个8031系统中,有一片系统中,有一片8255芯片,其各个端口的地芯片,其各个端口的地 址分别为址分别为0F8H0FBH,现要求各个端口的工作方式为:现要求各个端口的工作方式为: 端口端口A 方式方式0 输入输入 端口端口B 方式方式1 输出输出 端口端口C(上半部)上半部) PC7 PC4 输出输出 端口端口C(下半部)下半部) Bit3 输入输入 要求:进行初始化编程要求:进行初始化编程 10011001 分析:根据分析:根据8255工作模式可确定方式控制字工作模式可确定方式控制字 9
43、5H 初始化编程:初始化编程: MOV A,#95H MOV R0, #0FBH MOVX R0, A MCS-51单片机的并行接单片机的并行接 口上口上 2、C口按位置位口按位置位/复位控制字复位控制字 端口端口C常用作控制或应答信号,通过对常用作控制或应答信号,通过对8255A的控制口写入按位的控制口写入按位 置位置位/复位控制字,可使复位控制字,可使C口的任一个引脚的输出单独置口的任一个引脚的输出单独置1或置或置0。 C口按位置位口按位置位/复位控制字格式复位控制字格式 D7 D6 D5 D4 D3 D2D1 D0 1 置位置位 0 复位复位 无关位无关位 特征位特征位 D7 = 0 0
44、00 选中选中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 MCS-51单片机的并行接单片机的并行接 口上口上 三、三、8255A的工作方式的工作方式 1、方式、方式 0基本输入输出方式基本输入输出方式 适用于不需要应答信号的简单适
45、用于不需要应答信号的简单I/O场合。场合。 A口和口和B口可作为口可作为8位端口,位端口,C口的高口的高4位和低位和低4位可作为两位可作为两 个个4位的端口,且每个端口均可作为输入口或输出口用。位的端口,且每个端口均可作为输入口或输出口用。 数据输出有锁存,输入无锁存。数据输出有锁存,输入无锁存。 例如例如:要求要求8255A的的A口和口和B口均工作于方式口均工作于方式0, A口和下口和下C口口 作输入口作输入口, B口和上口和上C口作输出口口作输出口,设设8255A各端口地址为各端口地址为 40H43H, 可用下列指令来设置这种工作方式:可用下列指令来设置这种工作方式: MOV A,91H;
46、方式控制字方式控制字10010001B MOV R0, #43H MOVX R0, A ;方式控制字送控制寄存器方式控制字送控制寄存器 MCS-51单片机的并行接单片机的并行接 口上口上 方式方式0 0一般用于无条件传送的场合,不需要应答式联络信号,一般用于无条件传送的场合,不需要应答式联络信号, 外设总是处于准备好的状态。外设总是处于准备好的状态。 也可以用作查询式传送,查询式传送时,需要有应答信号。也可以用作查询式传送,查询式传送时,需要有应答信号。 可以将可以将A A端口、端口、B B端口作为数据口使用。端口作为数据口使用。C C端口则可用来输出一些端口则可用来输出一些 控制信息,或输入
47、外设的状态。利用控制信息,或输入外设的状态。利用C C端口配合端口配合A A端口和端口和B B端口完端口完 成查询式的成查询式的I/OI/O操作。操作。 MCS-51单片机的并行接单片机的并行接 口上口上 当当A A端口和端口和B B端口以方式端口以方式1 1进行输入输出时,必须利用进行输入输出时,必须利用C C端口端口 提供的固定的选通和应答信号提供的固定的选通和应答信号, ,该方式也称选通输入该方式也称选通输入/ /输出方式。输出方式。 方式方式1 1的基本定义是:的基本定义是: 分成分成A A组和组和B B组,每组包含一个组,每组包含一个8 8位的数据端口和位的数据端口和1 1个个4 4
48、位的控位的控 制制/ /数据端口。数据端口。 可作输入,也可作输出,且输入和输出都可以可作输入,也可作输出,且输入和输出都可以 被锁存。被锁存。 2. 2. 方式方式1-1-选通输入选通输入/ /输出方式输出方式 MCS-51单片机的并行接单片机的并行接 口上口上 规定:规定:PCPC3 3PCPC5 5分配给分配给A A端口作联络线,端口作联络线, PCPC0 0PCPC2 2分配给分配给B B端口作联络线,端口作联络线, C C端口剩下的端口剩下的2 2位位PCPC7 7、PCPC6 6可作为简单的输入可作为简单的输入/ /输出线使用。输出线使用。 1) 1) 选通的输入方式选通的输入方式
49、 MCS-51单片机的并行接单片机的并行接 口上口上 方式方式1选通输入下对应的控制信号图选通输入下对应的控制信号图 (a) 对对A端口;端口;(b) 对对B端口端口 1011I/O1011I/O 11111 D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0 A组工作于方式组工作于方式1输入的控制字输入的控制字A组和组和B组工作于方式组工作于方式1输入的控制字输入的控制字B组工作于方式组工作于方式1输入的控制字输入的控制字 方式方式1 B端口为输入端口为输入 PC7、PC6 1输入输入 0输出输出 PC7、PC6 1输入输入 0输出输出 A端口为
50、输入端口为输入 方式方式1 STBA IBFA INTRA I/O PC4 PC5 PC3 INTE A & PC7PC6 PA7PA0 2RD 8 PC2 PC1 PC0 INTE B & PB7PB0 RD 8 INTRB IBFB STBB (a)(b) MCS-51单片机的并行接单片机的并行接 口上口上 方式方式1 1选通输入方式下各控制信号的意义:选通输入方式下各控制信号的意义: STB(Strobe)STB(Strobe):选通输入信号,低电平有效。:选通输入信号,低电平有效。A A组方式控制字中组方式控制字中 对应对应PC4PC4;B B组方式控制字中对应组方式控制字中对应PC2
51、PC2。 IBF(Input Buffer Full)IBF(Input Buffer Full):输入缓冲器满信号,高电平有效。:输入缓冲器满信号,高电平有效。 是是8255A8255A送给外设的联络信号,送给外设的联络信号,A A组方式控制字中对应组方式控制字中对应PC5PC5;B B组组 方式控制字中对应方式控制字中对应PC1PC1,该信号可供,该信号可供CPUCPU查询。查询。 该信号在选通输入信号该信号在选通输入信号STBSTB变低后,变低后,300 ns300 ns时间内即变为有时间内即变为有 效的高电平。在效的高电平。在RDRD信号撤消后的信号撤消后的300 ns300 ns时间
52、内时间内IBFIBF信号才撤消,信号才撤消, 变为无效的低电平,这样保证了数据传输的可靠性。变为无效的低电平,这样保证了数据传输的可靠性。 MCS-51单片机的并行接单片机的并行接 口上口上 INTR(Interrupt Request)INTR(Interrupt Request):中断请求信号,高电平有效。:中断请求信号,高电平有效。A A组组 方式控制字中对应方式控制字中对应PC3PC3;B B组方式控制字中对应组方式控制字中对应PC0PC0。当。当STBSTB信号信号 撤消变为高电平后,并且撤消变为高电平后,并且IBFIBF信号也为高电平,信号也为高电平,INTRINTR信号变为有信号
53、变为有 效的高电平。效的高电平。 当当CPUCPU发出的发出的RDRD信号有效后,信号有效后,400 ns400 ns的时间内的时间内INTRINTR信号将撤信号将撤 消,变为低电平。消,变为低电平。 INTE(Interrupt Enable)INTE(Interrupt Enable):中断允许信号,高电平有效。否则:中断允许信号,高电平有效。否则 屏蔽中断请求。屏蔽中断请求。 INTEINTE的状态是用软件通过由的状态是用软件通过由C C端口置端口置1/1/置置0 0控制字来控制的,控制字来控制的, 在在A A组中,使组中,使PC4PC4置置“1 1”后后INTEAINTEA变高;在变高
54、;在B B组中,使组中,使PCPC2 2置置“1 1”后后 INTEBINTEB变高,变高,A A端口和端口和B B端口才允许中断。如果端口才允许中断。如果PCPC4 4和和PCPC2 2都置都置“0 0”, 与之对应的与之对应的INTEINTE信号为低,则禁止中断。信号为低,则禁止中断。 MCS-51单片机的并行接单片机的并行接 口上口上 输入缓冲器满状态,可供输入缓冲器满状态,可供CPUCPU来查询。在选通输入信号结束来查询。在选通输入信号结束 后向后向CPUCPU发出中断请求信号,发出中断请求信号,INTRINTR变高变高( (中断允许情况下中断允许情况下) ) 在中断服务程序中在中断服
55、务程序中CPUCPU发出读信号发出读信号RDRD,RDRD的下降沿清除中断的下降沿清除中断 请求。当读信号结束后,使输入缓冲器满信号请求。当读信号结束后,使输入缓冲器满信号IBFIBF变低,变低,IBFIBF变变 低表明输入缓冲器已空,通知外设可以输入新的数据。低表明输入缓冲器已空,通知外设可以输入新的数据。 选通输入方式的工作过程:选通输入方式的工作过程: 当外设数据已送到当外设数据已送到8255A8255A某个端口的数据线上时,就发出选某个端口的数据线上时,就发出选 通输入信号通输入信号STBSTB,将数据通过,将数据通过A A端口或端口或B B端口锁存到端口锁存到8255A8255A的数
56、据输的数据输 入寄存器。入寄存器。STBSTB信号变低将使输入缓冲器满信号信号变低将使输入缓冲器满信号IBFIBF变高。输入缓变高。输入缓 冲器满意味着将阻止外设输入新的数据。冲器满意味着将阻止外设输入新的数据。 MCS-51单片机的并行接单片机的并行接 口上口上 49 A口方式口方式1 选通输入工作示意图选通输入工作示意图 /RD MCS-51单片机的并行接单片机的并行接 口上口上 选通的输入方式选通的输入方式CPUCPU如何读取数据?如何读取数据? 1 1、采用查询式输入,、采用查询式输入,CPUCPU先查询先查询IBFIBF是否为高?是否为高? 若若IBFIBF为高,为高, 8255A8
57、255A的输入缓冲器就为满,则的输入缓冲器就为满,则CPUCPU可从可从8255A8255A读入数据。读入数据。 2 2、采用中断方式传送数据,先用、采用中断方式传送数据,先用C C端口置端口置1/1/置置0 0的控制字使相应的控制字使相应 的端口允许中断,也就是要使的端口允许中断,也就是要使PC4PC4或或PC2PC2置置1 1。 MCS-51单片机的并行接单片机的并行接 口上口上 这种方式的工作过程与选通输入的情况相类似。对应的这种方式的工作过程与选通输入的情况相类似。对应的C C 端口也是端口也是固定分配固定分配。 规定:规定:PCPC3 3、PCPC6 6、PCPC7 7分配给分配给A
58、 A端口;端口; PCPC2 2、PCPC1 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) 选通的输出方式选通的输出方式 MCS-51单片机的并行接单片机的并行接 口上口上 方式方式l输出时输出时C端口对端口对A、B端口的控制图端口的控制图 (a) 对对A
59、端口;端口;(b) 对对B端口端口 1010I/O1010I/O 10110 D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0 A组工作于方式组工作于方式1输出的控制字输出的控制字A组和组和B组工作于方式组工作于方式1输出的控制字输出的控制字B组工作于方式组工作于方式1输出的控制字输出的控制字 方式方式1 B端口为输出端口为输出 PC5、PC4 1输入输入 0输出输出 PC5、PC4 1输入输入 0输出输出 A端口为输出端口为输出 方式方式1 ACKA OBFA INTR A I/O PC6 PC7 PC3 INTE A & PC5PC4 PA7
60、PA0 2WR 8 PC2 PC1 PC0 INTE B & PB7PB0 WR 8 INTR B OBFB ACKB (a)(b) MCS-51单片机的并行接单片机的并行接 口上口上 方式方式1 1选通输出方式各控制信号的意义:选通输出方式各控制信号的意义: OBF(Output Buffer Fu11)OBF(Output Buffer Fu11):输出缓冲器满信号,低电平有效。:输出缓冲器满信号,低电平有效。A A 组方式控制字中对应组方式控制字中对应PCPC7 7;B B组方式控制字中对应组方式控制字中对应PCPC1 1,由,由8255A8255A向向 外设发出低电平的外设发出低电平的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南充科技职业学院单招职业技能测试题库及答案详解一套
- 2026年包头铁道职业技术学院单招职业技能考试题库带答案详解(a卷)
- 花艺环境设计师安全演练测试考核试卷含答案
- 感光材料乳剂熔化工班组管理考核试卷含答案
- 出河机司机复试能力考核试卷含答案
- 合成树脂生产工安全防护强化考核试卷含答案
- 生猪屠宰加工工7S考核试卷含答案
- 珂罗版制版员岗前冲突解决考核试卷含答案
- 妇女职业规划方案
- 乙烯-乙烯醇树脂装置操作工安全宣教水平考核试卷含答案
- 2025年山东圣翰财贸职业学院单招职业技能考试模拟测试卷带答案解析
- GB 6441-2025生产安全事故分类与编码
- 湖北2025年湖北省京剧院招聘笔试历年参考题库附带答案详解
- 2026年长沙卫生职业学院单招职业技能测试题库附答案
- 2026年春季第二学期学校教导处工作计划及安排表:马驰新岁研为径素养深耕品自高
- GB/T 42706.3-2025电子元器件半导体器件长期贮存第3部分:数据
- 2026年及未来5年市场数据中国高压电器检测市场发展前景预测及投资战略咨询报告
- 建筑施工绿色建材应用方案
- 光伏组件课件
- 汽车空调 第2版 课件 项目三 任务3新能源汽车空调热交换系统组成及原理
- 数学课程标准(2025年版)考试题库及答案
评论
0/150
提交评论