1 / 52

第 6 章 MCS-51 单片机系统扩展

单片机. 第 6 章 MCS-51 单片机系统扩展. 6.1 MCS-51 单片机的最小系统 6.2 存储器扩展 6.3 输入 / 输出口扩展. MCS-51 单片机系统扩展包括: 1 、程序存储器扩展; 2 、数据存储器扩展; 3 、 I/O 口扩展; 4 、定时 / 计数器扩展; 5 、中断系统扩展; 6 、串行口扩展。 在本章中只介绍应用较多的程序存储器扩展、数据存储器扩展和 I/O 口扩展。. 6.1 MCS-51 单片机的最小系统.

paytah
Download Presentation

第 6 章 MCS-51 单片机系统扩展

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 单片机 第6章 MCS-51单片机系统扩展 • 6.1 MCS-51单片机的最小系统 • 6.2 存储器扩展 • 6.3 输入/输出口扩展

  2. MCS-51单片机系统扩展包括: 1、程序存储器扩展; 2、数据存储器扩展; 3、I/O口扩展; 4、定时/计数器扩展; 5、中断系统扩展; 6、串行口扩展。 在本章中只介绍应用较多的程序存储器扩展、数据存储器扩展和I/O口扩展。

  3. 6.1 MCS-51单片机的最小系统 所谓最小系统,是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。MCS-51单片机根据片内有无程序存储器最小系统分两种情况。

  4. 8 XTAL1 P0 8751 8051 8 P1 XTAL2 8 P2 RESET P3 8 GND EA +5V +5V 6.1.1 8051/8751的最小系统 8051/8751片内分别有4KB的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。 该最小系统的特点如下: (1)由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O口使用。 (2)片内数据存储器有128字节,地址空间00H~7FH,没有片外数据存储器。 (3)内部有4KB程序存储器,地址空间0000H~0FFFH,没有片外程序存储器,EA应接高电平。 (4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。

  5. 高8位地址线 A15-8 P2 ALE G 74LS 373 A7-0 8031 CE 2764 P0 D7-0 PSEN OE EA 该最小系统特点如下: (1)由于P0、P2在扩展程序存储器时作为地址线和数据线,不能作为I/O线,因此,只有P1、P3作为用户I/O口使用。 (2)片内数据存储器同样有128字节,地址空间00H~7FH,没有片外数据存储器。 (3)内部有无程序存储器,但片外扩展了程序存储器,其地址空间随芯片容量不同而不一样。左图中使用的是2764芯片,容量为8K字节,地址空间为0000H~1FFFH。由于片内没有程序存储器,只能使用片外程序存储器,EA只能接低电平。 (4)同样可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。 6.1.1 8031最小应用系统 8031片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。

  6. 6.2 存储器扩展 6.2.1 存储器扩展概述 一、MCS-51单片机的存储器扩展能力 MCS-51单片机地址总线宽度为16位,片外可扩展的存储器最大容量为64KB,地址为0000H~FFFFH。因为程序存储器和数据存储器是通过不同的控制信号和指令进行访问,允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别都为64KB。 存储器扩展: 1、扩充存储器字长: 2、扩充存储器容量:

  7. 二、存储器扩展的一般方法 不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。 1、控制线:对于程序存储器,一般来说,具有输出允许控制线 /OE,它与单片机的/PSEN信号线相连。对于数据存储器,一般都有输出允许控制线/OE和写控制线 /WE,它们分别与单片机的读信号线/RD和写信号线/WR相连。 2、数据线:存储器芯片的数据线的数目由芯片的字长决定。连接时,存储器芯片的数据线与单片机的数据总线(P0.0~P0.7)按由低位到高位的顺序顺次相接。 3、地址线:存储器芯片的地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N。存储器芯片的地址线与单片机的地址总线(A0~A15)按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,因此连接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线/CS相接。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。

  8. 总线扩展驱动: 当单片机外接芯片较多,超出总线负载能力,必须加总线驱动器。 • 单向驱动器74LS244、 74LS245用于 • 地址总线驱动; • 双向驱动器74LS255用于 • 数据总线驱动。

  9. 存储器编址分两个层次: • 1、存储芯片的选择(译码); • 2、芯片内部存储单元的选择(地址线)。 译码有两种方法:部分译码法和全译码法。 部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。 部分译码法的一个特例是线译码。所谓线译码就是直接用一根剩余的高位地址线与一块存储器芯片的片选信号/CS相连。 全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。

  10. 地址译码线 与存储器芯片连接的地址线 A15  A14 0 A13 0 A12 1 A11 0 A10  A9  A8  A7  A6  A5  A4  A3  A2  A1  A0  如下图,存储器芯片容量为2KB,地址线为11根,与地址总线的低11位A0~A10相连,用于选中芯片内的单元。地址总线的A11、A12、A13、A14四根地址线参加译码的选中芯片,设这四根地址总线的状态为0100时选中该芯片。地址总线A15不参加译码,当地址总线A15为0、1两种状态都可以选中该存储器芯片。 当A15=0时,芯片占用的地址是 0001000000000000~0001011111111111, 即1000H~17FFH。 当A15=1时,芯片占用的地址是 1001000000000000~1001011111111111, 即9000H~97FFH。

  11. 例:用2K×1位存储芯片组成2K×8位存储系统。 当地址、片选和读写信号有效,可并行存取8位信息;共用片选。

  12. D0~7 D8~15 D0~7 R/W R/W 共用片选 CE CE A0~10 A0~10 D0~7 R/W CE A0~10 例:用2K×8位存储器芯片组成2K×16位存储器系统。 地址、片选和读写引线并联后引出,数据线并列引出。

  13. 例:用1K×4位存储器芯片组成4K×8位存储器系统。例:用1K×4位存储器芯片组成4K×8位存储器系统。

  14. D0~7 D0~7 R/W R/W Ⅰ CE CE1 (AB13) A0~12 A0~12 D0~7 R/W Ⅱ CE CE2 (AB14) A0~12 D0~7 R/W Ⅲ CE3 (AB15) CE A0~12 例:三片8KB的存储器芯片组成 24KB 容量的存储器。 设CE1、CE2、CE3分别连接微型机的高位地址总线AB13、AB14、AB15。 • 确定各存储器芯 • 片的地址空间: ABi:15141312 11109 8 7 6 5 4 3 2 1 0~15141312 11109 8 7 6 5 4 3 2 1 0 Ⅰ:1100 0000 0000 0000~1101 1111 1111 1111=C000H~DFFFH Ⅱ:1010 0000 0000 0000~1011 1111 1111 1111=A000H~BFFFH Ⅲ:0110 0000 0000 0000~0111 1111 1111 1111=6000H~7FFFH

  15. 系统扩展容量 = 芯片数目 存储器芯片容量 系统扩展容量 系统字长 = × 芯片数目 存储器芯片容量 存储器芯片字长 3.扩展存储器所需芯片数目的确定 存储器扩展: 一、扩充存储器字长; 二、扩充存储器容量。 若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定: 若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:

  16. 6.2.2 程序存储器扩展 • 工作时,ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不丢失。 • 1.掩膜ROM:不可改写ROM • 由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读(如80C51)。 • 2.PROM:可编程ROM • 用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。 • 3.EPROM:可擦除PROM • 用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写(如87C51)。 • 4.EEPROM:可电擦除PROM • 既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、ROM的优点。但写入时间较长(如8951)。

  17. 扩展程序存储器电路常用EPROM芯片: • 常用EPROM芯片: • Intel 2716 (2KB=2K×8位)、 • 2732 (4KB)、 • 2764 (8KB)、 • 27128(16KB)、 • 27256(32KB)、 • 27512(64KB)。

  18. P2.7 P2.6 P2.5 P2.4 A12 P2.3 A11 P2.2 A10 P2.1 Vcc Vff A9 +5V P2.0 A8 +5V Vcc P0.7 8D 8Q A7 P0.6 7D 7Q A6 P0.5 6D 6Q A5 74LS 373 P0.4 5D 5Q A4 P0.3 4D 4Q A3 2764 P0.2 3D 3Q A2 P0.1 8031 2D 2Q A1 P0.0 1D 1Q A0 G OE ALE D7 CE D6 D5 EA D4 GND D3 Vss D2 D1 D0 PSEN OE 其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即0000H~1FFFH; 0010000000000000~0011111111111111,即2000H~3FFFH; 0100000000000000~0101111111111111,即4000H~5FFFH; 0110000000000000~0111111111111111,即6000H~7FFFH; 1000000000000000~1001111111111111,即8000H~9FFFH; 1010000000000000~1011111111111111,即A000H~BFFFH; 1100000000000000~1101111111111111,即C000H~DFFFH; 1110000000000000~1111111111111111,即E000H~FFFFH。 一.单片程序存储器的扩展

  19. 最低地址:8000H; 最高地址:87FFH。 地址范围:8000H~87FFH。 单片机程序存储器扩展连接图

  20. P2.7 P2.6 P2.5 5 P2.4~P2.0 74LS 373 G ALE 8 5 8 8 5 8031 OE A0~A7 A8~A12 CE A0~A7 A8~A12 CE 2764(1) 2764(2) EA D0~D7 D0~D7 OE OE 8 8 8 P0 PSEN 二.多片程序存储器的扩展 上图是通过线选法实现的两片2764扩展成16KB程序存储器。两片2764的地址线A0~A12与地址总线的A0~A12对应相连,2764的数据线D0~D7与数据总线A0~A7对应相连,两片2764的输出允许控制线连在一起与8031的/PSEN相连。第一片2764的片选线/CS与8031地址总线的P2.7直接相连,第二片2764的片选线/CS与8031地址总线的P2.7取反后相连。 其两片的地址空间分别为: 第一片:00000000000000000~0001111111111111,即0000H~1FFFH; 00100000000000000~0011111111111111,即2000H~3FFFH; 01000000000000000~0101111111111111,即4000H~5FFFH; 01100000000000000~0111111111111111,即6000H~7FFFH; 第二片:10000000000000000~1001111111111111,即8000H~9FFFH; 10100000000000000~1011111111111111,即A000H~BFFFH; 11000000000000000~1101111111111111,即C000H~DFFFH; 11100000000000000~1111111111111111,即E000H~FFFFH。 2764(1): 2764(2):

  21. Vcc G1 G 74LS138 G2A Y3 G2B Y2 C P2.7 Y1 B P2.6 A Y0 P2.5 P2.4~P2.0 ALE G 74LS 373 8 5 8 8 5 8 5 5 8 A0~A7 A0~A7 A0~A7 OE A0~A7 CE CE CE CE 8031 A8~A12 A8~A12 A8~A12 A8~A12 2764(4) 2764(2) 2764(1) 2764(3) D0~D7 D0~D7 OE OE D0~D7 D0~D7 OE OE 8 8 8 8 8 P0 EA PSEN 上图为采用全译码法实现的4片2764扩展成32KB程序存储器。8031剩余的高3位地址总线P2.7、P2.6、P2.5通过74LS138译码器形成4个2764的片选信号。 由于采用全译码,每片2764的地址空间都是唯一的。它们分别是: 00000000000000000~0001111111111111,即0000H~1FFFH; 00100000000000000~0011111111111111,即2000H~3FFFH; 01000000000000000~0101111111111111,即4000H~5FFFH; 01100000000000000~0111111111111111,即6000H~7FFFH。 2764(1):2764(2): 2764(3): 2764(4):

  22. 6.2.3 数据存储器扩展 • 数据存储器扩展与程序存储器扩展基本相同,只是数据存储器控制信号一般有输出允许信号/OE和写控制信号/WE,分别与单片机的片外数据存储器的读控制信号/RD和写控制信号/WR相连,其它信号线的连接与程序存储器完全相同。

  23. 扩展数据存储器电路常用RAM芯片: • 常用RAM芯片: • Intel 6116(2KB)、 • 6264(8KB)、 • 62256(32KB)等。

  24. 扩展单片6116数据存储器 8031(8051)扩展单片2KB RAM Intel 6116

  25. P2.7 P2.6 P2.5 5 P2.4~P2.0 G ALE 74LS 373 8 5 8 8 5 OE A8~A12 A0~A7 A0~A7 A8~A12 CE1 CE1 8051 CE2 6264(2) CE2 6264(1) D0~D7 OE WE D0~D7 OE WE 8 8 8 P0 RD EA WR 下图是两片数据存储器芯片6264与8051单片机的连接。6264是8K8的静态数据存储器芯片,有13根地址线,数据线8根,一根输出允许信号/OE和一根写控制信号/WE ,两根片选信号/CE1和/CE2 ,使用时都应为低电平。 P2.7为低电平0,两片6264芯片的地址空间为: 第一片:01000000000000000~0101111111111111,即4000H~5FFFH; 第二片:00100000000000000~0011111111111111,即2000H~3FFFH; P2.7为高电平1,两片6264芯片的地址空间为: 第一片:11000000000000000~1101111111111111,即C000H~DFFFH; 第二片:10100000000000000~1011111111111111,即A000H~BFFFH;

  26. 数据存储器和程序存储器的综合扩展。 1、同时扩展数据存储器和程序存储器: 程序存储器的读操作有PSEN信号控制, 数据存储器的读和写分别由RD和WR信号控制。 不会造成操作上的混乱。 2、通过扩展可读写存储器: (1)利用EEPROM芯片扩展;(速度较慢) 如:可扩展2816或2817等。 (2)改造RAM存储芯片。 如:可改造6116等。 存储器综合扩展:

  27. 同时扩展两种存储器 同时扩展程序存储器和数据存储器 单片机连接 8KB EPROM 2764 和 8KB RAM 6264 各一片。

  28. 片外存储器读信号= PSEN · RD 与门 扩展既可读又可写的程序存储器 EEPROM 既能作为程序存储器又能作数据存储器。 将程序存储器与数据存储器的空间合二为一。

  29. 60KB 128B 128B 64KB 128B 4KB 4KB MCS-51存储器结构和地址空间

  30. 8051(4KB) 60KB(1000H-FFFFH) 8031 存储空间的区分: 内外程序存储器的衔接:

  31. 6.3 输入/输出口扩展 • 需要编址的子系统:存储器和接口电路。 • 一、存储器地址方式:统一编址 • I/O接口共用存储器的地址空间,每个I/O端口视为一个存储单元。 • 二、专用I/O地址方式:独立编址 • 有专用I/O控制信号和I/O指令。I/O接口独立编址,不占用存储器的地址空间。如:Z80。 • MCS-51、96为存储器地址方式(统一编址)。 • MCS-51单片机有片内I/O接口和扩展I/O接口。 • 片内I/O接口寄存器在SFR中,使用片内数据存储器空间; • 扩展I/O接口使用片外数据存储器地址空间: • 输出指令: 输入指令: • 片内寻址:MOV P1,A MOV A,P1 • 片外寻址:MOVX @DPTR,A MOVX A,@DPTR • MOVX @R0,A MOVX A,@R0

  32. I/O控制方式: • 一、无条件传送(同步程序传送)方式 • 已知I/O设备准备就绪,可直接进行数据传送。 • 适用:1、具有常驻的或变化缓慢的数据信号 • 的设备。 • 如:指示灯、数码管等; • 2、工作速度快,足以和单片机同步工作 • 的设备。 • 如:DAC等。

  33. 查询状态 N 准备就绪? Y 数据端口 DB AB 微型机 AB 外部设备 D6 输入/ 输出数据 状态端口 I/O接口 二、查询方式 (有条件传送方式) 先查询I/O设备当前状态, 若准备就绪,则交换数据, 否则循环查询状态。 1.硬件查询电路 设置状态锁存和数据锁存电路。 2.软件查询程序 • 先输入状态,决定是否进行数据传送。 INPUT:MOV DPTR,#SATUS ;状态口地址 WAIT:MOVX A,@DPTR JB ACC.6,WAIT MOV DPTR,#DATA ;数据口地址 MOVX A,@DPTR 查询方式只适用: 单道作业、规模比较小的单片机系统。

  34. 三、中断方式(程序中断方式) 大多数时间计算机与外设并行工作,计算机不必因等待而浪费资源。当外设准备就绪,向CPU发出中断请求信号。CPU暂停当前程序,执行I/O操作。当I/O操作结束,CPU仍继续被中断的工作。 • 四、直接存储器访问方式 • (DMA—Direct Memory Access) • 用于计算机与高速外设进行大批量数据交换,由DMA控制器接管总线控制权,RAM与外设之间直接数据传输,不需CPU的介入。

  35. 6.3.1 简单I/O口扩展 通常通过数据缓冲器、锁存器来扩展简单I/O接口。例如:74LS373、74LS244、74LS273、74LS245等芯片都可以作简单I/O扩展。实际上,只要具有输入三态、输出锁存的电路,就可以用作I/O口扩展。 下图是利用74LS373和74LS244扩展的简单I/O口,其中74LS373扩展并行输出口,74LS244扩展并行输入口。74LS373是一个带输出三态门的8位锁存器,8个输入端D0~D7,8个输出端Q0~Q7,G为数据锁存控制端,G为高电平,则把输入端的数据锁存于内部的锁存器,/OE为输出允许端,低电平时把锁存器中的内容通过输出端输出。74LS244是单向数据缓冲器,带两个控制端1G和2G ,当它们为低电平时,输入端D0~D7的数据输出到Q0~Q7。

  36. Q0 D0 P0.0 L0 Q1 +5V D1 L1 P0.1 Q2 L2 D2 P0.2 74LS 373 Q3 D3 L3 P0.3 Q4 D4 L4 P0.4 Q5 D5 L5 P0.5 Q6 L6 D6 P0.6 D7 Q7 L7 P0.7 G 锁存器 OE 8051 Q0 D0 K0 Q1 D1 K1 Q2 D2 K2 + Q3 D3 K3 Q4 D4 K4 Q5 D5 WR K5 Q6 D6 K6 P2.0 Q7 D7 K7 74LS 244 RD 1G + 缓冲器 2G

  37. 图中,扩展的输入口接了K0~K7 8个开关,扩展的输出口接了L0~L7 8个发光二极管,如果要实现K0~K7开关的状态通过L0~L7发光二极管显示,则相应的汇编程序为: LOOP:MOV DPTR,#0FEFFH MOVX A,@DPTR MOVX @DPTR,A SJMP LOOP 如果用C语言编程,相应程序段为: #include <absacc.h> //定义绝对地址访问 #define uchar unsigned char …… uchar i; i=XBYTE[0xfeff]; XBYTE[0xfeff]=i; ……

  38. 6.3.2 可编程I/O扩展(8255A) 一、8255A(可编程通用并行接口芯片)的结构与功能

  39. 二、结构: 1、 3个8位并行I/O接口PA、PB和PC: 包含I/O数据锁存器,控制寄存器和状态寄存器。 2、 2组控制:A组:PA和PC0~3; B组:PB和PC4~7: 三、工作方式: 1、方式0(基本I/O方式): A口、B口、C口均为数据I/O。输出锁存,输入三态,不用联络信号。 适用于无条件或查询方式的数据传送。 2、方式1(选通I/O方式): A口和B口用于数据I/O,输入/输出均锁存, C口用于传送联络信号,读C口可了解外设当前状态。 适用于查询或中断方式的数据I/O。 3、方式2(双向数据传送方式): A口为数据I/O,B口只能为方式0,C口用作A口双向传送的联络信号线。 适用于查询或中断方式的数据I/O。

  40. 四、8255A的引脚信号 1.数据线: D0~7:传送计算机与8255之间的数据、控制字和状态字。 PA0~7 PB 0~7 PC0~7:传送8255与外设之间的数据和联络 信息,PC0~7可用作数据线或联络线。 2.地址线: CS:片选线 A1、A0:口选线,寻址 PA、PB、PC数据口和控制口。 3.读写控制线: RD、WR控制计算机与8255之间的信息传送和流向。 4.复位线: RESET高电平复位,使内部寄存器全部清零。 40脚

  41. 373 Q0 P0 P2.7 80C51 A0 A1 CS 8255 Q1 例题: 例:求8255的口地址: 解:A口 (7F00H); B口 (7F01H); C口 (7F02H); 控制口(7F03H)。 ABi: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 A口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 07F00H B口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 17F01H C口: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 07F02H 控制口:0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 17F03H

  42. 0 D6 D5 D4 D3 D2 D1 D0 特征位0 0:复位 1:置位 这三位不用 位选择位 000:C口0位 001:C口1位 …… 111:C口7位 五、8255A的控制字 8255A有两个控制字:工作方式控制字和C口按位置位/复位控制字。 方式选择控制字:D7=1 C口置位/复位控制字:D7=0 1、C口按位置位/复位控制字 D7位为特征位。D7=0表示为C口按位置位/复位控制字。 D6、D5、D4这三位不用 D3、D2、D1这三位用于选择C口当中的某一位。 D0用于置位/复位设置,D0=0则复位,D0=1则置位。

  43. 2、方式选择控制字: • 8255A方式选择注意: • 有三种基本工作方式: • 方式0——基本的输入输出方式 • 方式1——选通的输入输出方式 • 方式2——双向传输方式 • 只有端口A能工作在方式2; • 同一组的两端口可分别工作在输入和输出方式。

  44. +5V K0 PA0 PA1 PA2 PA3 PA4 PA5 PA6 系统总线 PA7 8051 8255A K7 L0 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 L7 +5V 六、8255A的工作方式 1.方式0 方式0是一种基本的输入/输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式0特点如下: (1)具有两个8位端口(A、B)和两个4位端口(C口的高4位和C口的低4位)。 (2)任何一个端口都可以设定为输入或者输出。 (3)每一个端口输出时是锁存的,输入是不锁存的。 方式0输入/输出时没有专门的应答信号,通常用于无条件传送。例如:左图是8255A工作于方式0的例子,其中A口输入,B口输出。

  45. 8 8 PB0~PB7 PA0~PA7 INTE INTE PC2 STBB STBA PC4 PC1 IBFB IBFA PC5 & & PC3 INTRA PC0 INTRB PC6、PC7 I/O B口输入 A口输入 2.方式1 方式1是一种选通输入/输出方式。在这种工作方式下,端口A和B作为数据输入/输出口,端口C用作输入/输出的应答信号。A口和B口既可以作输入,也可作输出,输入和输出都具有锁存能力。 方式1输入: 无论是A口输入还是B口输入,都用C口的三位作应答信号,一位作中断允许控制位。 2 各应答信号含义如下: /STB:外设送给8255A的“输入选通”信号,低电平有效。 IBF:8255A送给外设的“输入缓冲器满”信号,高电平有效。 INTR:8255A送给CPU的“中断请求”信号,高电平有效。 INTE:8255A内部为控制中断而设置的“中断允许”信号。INTE由软件通过对PC4(A口)和PC2(B口)的置位/复位来允许或禁止。

  46. 8 8 PA0~PA7 PB0~PB7 INTE INTE PC2 ACKB OBFA PC7 PC1 OBFB PC6 ACKA & & PC3 INTRA PC0 INTRB 2 I/O PC4、PC5 A口输出 B口输出 方式1输出: 无论是A口输出还是B口输出,也都用C口的三位作应答信号,一位作中断允许控制位。 应答信号含义如下: /OBF:8255A送给外设的“输出缓冲器满”信号,低电平有效。 /ACK:外设送给8255A的“应答”信号,低电平有效。 INTR:8255A送给CPU的“中断请求”信号,高电平有效。 INTE:8255A内部为控制中断而设置的“中断允许”信号,含义与输入相同,只是对应C口的位数与输入不同,它是通过对PC7(A口)和PC2(B口)的置位/复位来允许或禁止。

  47. PA0~PA7 PC5 IBFA INTE1 PC4 STBA & PC6 INTE2 ACKA PC7 OBFA & PC3 INTRA 1 3.方式2 方式2是一种双向选通输入/输出方式。只适合于端口A。这种方式能实现外设与8255A的A口双向数据传送,并且输入和输出都是锁存的。它使用C口的5位作应答信号,两位作中断允许控制位。

  48. WR WR RD RD P2.0 CS P0.7 D7 Q7 P0.6 D6 Q6 PA7-PA0 P0.5 D5 Q5 74LS 373 P0.4 D4 Q4 P0.3 D3 Q3 P0.2 D2 D2 Q2 A1 P0.1 D1 Q1 PB7-PB0 P0.0 DO G OE Q0 A0 D7 D6 D5 PC7-PC0 D4 8051 D3 D2 D1 D0 8255 ALE EA GND GND 七、8255A与MCS-51单片机的接口 1.硬件接口: 8255A与MCS-51单片机的连接包含数据线、地址线、控制线的连接。 图中,8255A的数据线与8051单片机的数据总线相连,读、写信号线对应相连,地址线A0、A1与单片机的地址总线的A0和A1相连,片选信号/CS与8051的P2.0相连。则8255A的A口、B口、C口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。

More Related