第章MCS单片机常用接口00002

上传人:s9****2 文档编号:578408122 上传时间:2024-08-24 格式:PPT 页数:90 大小:2.60MB
返回 下载 相关 举报
第章MCS单片机常用接口00002_第1页
第1页 / 共90页
第章MCS单片机常用接口00002_第2页
第2页 / 共90页
第章MCS单片机常用接口00002_第3页
第3页 / 共90页
第章MCS单片机常用接口00002_第4页
第4页 / 共90页
第章MCS单片机常用接口00002_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第章MCS单片机常用接口00002》由会员分享,可在线阅读,更多相关《第章MCS单片机常用接口00002(90页珍藏版)》请在金锄头文库上搜索。

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

2、1 MCS-51单片机的最小系统单片机的最小系统 所谓最小系统,是指一个真正可用的单所谓最小系统,是指一个真正可用的单片机最小配置系统。对于单片机内部资源已片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。能满足系统需要的,可直接采用最小系统。MCS-51单片机根据片内单片机根据片内有无程序存储器有无程序存储器最小最小系统分两种情况。系统分两种情况。 该最小系统的特点如下:该最小系统的特点如下:(1)P0、P1、P2、P3都可以作都可以作为用户为用户I/O口使用。口使用。(2)片内数据存储器)片内数据存储器128字节,字节,地址空间地址空间00H7FH,没有片外数,没

3、有片外数据存储器。据存储器。(3)内部)内部4KB程序存储器,地址程序存储器,地址空间空间0000H0FFFH,没有片外程,没有片外程序存储器,序存储器,/EA应接高电平应接高电平。(4)两个定时)两个定时/计数器计数器T0和和T1,一个全双工的串行通信接口,一个全双工的串行通信接口,5个个中断源。中断源。XTAL1XTAL1 XTAL2XTAL2 87518751 P0P0P1P1P2P2P3P3 80518051 RESETRESET EAEAGNDGND +5V+5V+5V+5V8 8 8 8 8 88 8 7.1.1 8051/8751的最小系统的最小系统 8051/8751片内分别有

4、片内分别有4KB的的ROM/EPROM,因此,只需,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。要外接晶体振荡器和复位电路就可构成最小系统。 7.1.1 8031最小应用系统最小应用系统 8031片内无程序存储器片,片内无程序存储器片,因此,在构成最小应用系统不仅因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,要外接晶体振荡器和复位电路,还应还应外扩展程序存储器外扩展程序存储器。 P2ALE8031P0EAPSENG74LS373A15-8A7-0D7-0OE2764CE高高8位地址线位地址线(1)由于)由于P0、P2在扩展程序存储在扩展程序存储器时作为地址线和数据线,不能作

5、器时作为地址线和数据线,不能作为为I/O线,因此,只有线,因此,只有P1、P3作为作为用户用户I/O口使用。口使用。(2)片内数据存储器)片内数据存储器128字节,地字节,地址空间址空间00H7FH,没有片外数据,没有片外数据存储器。存储器。(3)内部无程存,但片外扩展的)内部无程存,但片外扩展的程序地址空间随芯片容量不同而不程序地址空间随芯片容量不同而不一样。左图中使用一样。左图中使用2764芯片,容量芯片,容量为为8K字节,地址空间为字节,地址空间为0000H1FFFH。只能使用片外程。只能使用片外程序存储器,序存储器,/EA只能接低电平只能接低电平。(4)可使用两个定时)可使用两个定时/

6、计数器计数器T0和和T1,一个全双工的串行通信接口,一个全双工的串行通信接口,5个中断源。个中断源。 地址锁存地址锁存7.2 存储器扩展存储器扩展7.2.1 存储器扩展概述存储器扩展概述一、一、MCS-51单片机的存储器扩展能力单片机的存储器扩展能力 MCS-51MCS-51单片机单片机地址总线地址总线宽度:宽度:1616 可扩展外部存储器最大容量:可扩展外部存储器最大容量:216=64KB216=64KB 地址:地址:0000HFFFFH0000HFFFFH。注意:注意: 程存和数存是通过不同的控制信号和指令进程存和数存是通过不同的控制信号和指令进行访问行访问( (独立编址独立编址) ),允

7、许两者的,允许两者的地址空间重叠地址空间重叠,所以,所以片外可扩展的程序存储器与数据存储器分别都为片外可扩展的程序存储器与数据存储器分别都为64KB64KB。 1 1、扩充存储器字长:、扩充存储器字长:、扩充存储器字长:、扩充存储器字长:2 2、扩充存储器容量:、扩充存储器容量:、扩充存储器容量:、扩充存储器容量:存储器扩展:存储器扩展:存储器扩展:存储器扩展:2、数据线数据线: 存储器芯片的数据线存储器芯片的数据线-与单片机数据总线与单片机数据总线(P0.0P0.7) (按由低位到高位的顺序顺次相接。按由低位到高位的顺序顺次相接。 )1、控制线控制线:程序存储器:程序存储器: /OE-与单片

8、机与单片机/PSEN相连相连 数据存储器数据存储器: /OE-与单片机与单片机/RD相连相连 /WE-与单片机与单片机/WR相连相连 二、存储器扩展的一般方法二、存储器扩展的一般方法 不论何种存储器芯片,其引脚都呈不论何种存储器芯片,其引脚都呈三总线结构三总线结构,与单片机连接都是三总线对接。与单片机连接都是三总线对接。 另外,另外,电源线电源线接电源线,接电源线,地线地线接地线。接地线。 3、地址线地址线: 芯片的地址线与单片机的地址总线芯片的地址线与单片机的地址总线(A0A15)按由低位到高按由低位到高位的顺序顺次相接。位的顺序顺次相接。 存储器芯片容量存储器芯片容量(Q)与地址线数目与地

9、址线数目(N)满足关系式:满足关系式: Q=2N。4、片选信号线、片选信号线: 存储器芯片的地址线数目总是少于单片机地址总线的存储器芯片的地址线数目总是少于单片机地址总线的数目数目,连接后,单片机的高位地址线总有剩余。,连接后,单片机的高位地址线总有剩余。剩余地址线剩余地址线一般作为译码线一般作为译码线,译码输出与存储器芯片的片选信号线,译码输出与存储器芯片的片选信号线/CS相接。相接。 片选信号线与单片机系统的译码输出相接后,就决定了片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围存储器芯片的地址范围。 总线扩展驱动:总线扩展驱动: 当当单单片片机机外外接接芯芯片片较较多

10、多,超超出出总总线线负负载载能能力力,必须加总线驱动器。必须加总线驱动器。单向驱动器单向驱动器74LS24474LS244用于用于地址总线驱动;地址总线驱动;双向驱动器双向驱动器74LS24574LS245用于用于数据总线驱动。数据总线驱动。CPU要实现对存储单元的访问要实现对存储单元的访问 、首先要选择存储芯片,即进行、首先要选择存储芯片,即进行片选片选; 2、从选中的芯片中依地址码选择出相应从选中的芯片中依地址码选择出相应的存储单元,以进行数据的存取的存储单元,以进行数据的存取,这称为,这称为单元单元选选或或字选字选。实现片选译码的方法可分为三种:实现片选译码的方法可分为三种:1 全译码法

11、全译码法2 部分译码法部分译码法3 线选法线选法部分译码:部分译码: 存储器芯片的地址线与单片机系统的地址线顺次存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。相接后,剩余的高位地址线仅用一部分参加译码。 缺点缺点:部分译码使存储器芯片的地址空间有重:部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。叠,造成系统存储器空间的浪费。 部分译码法部分译码法高位地址线不全部参与译码,存储器某一单高位地址线不全部参与译码,存储器某一单元的地址编码不唯一。元的地址编码不唯一。图图2-13 存储器与存储器与CPU的连接方式二的连接方式二(部分译码法部分译

12、码法) A15没有没有参与译码参与译码图中图中A15没有参与译码没有参与译码 IC1地址范围:地址范围:A15 A14 A13 A12 ,A11A1 A0ROM最低地址最低地址 0/1 0 0 0 , 0 0 0 即即0000H或或 8000HROM最高地址最高地址 0/1 0 1 1 , 1 1 1 即即3FFFH或或BFFFH部分译码法部分译码法线译码线译码: 是部分是部分译码法的一个特例:译码法的一个特例: 就是用一根剩余的高位地址线就是用一根剩余的高位地址线直接直接与一块存储与一块存储器芯片的片选信号器芯片的片选信号/CS相连相连。 线选译码线选译码线选法线选法: 用低位地址线对片内的

13、存储单元进行寻址用低位地址线对片内的存储单元进行寻址, 所需的地址线由所需的地址线由片内地址线决定片内地址线决定, 余下的余下的高位地址线分别接至芯片的片选端高位地址线分别接至芯片的片选端,以,以区分各芯片的地址范围。区分各芯片的地址范围。存储器与存储器与CPU的连接方式:线选法的连接方式:线选法 注意:注意:低低8位地址线通过锁存器位地址线通过锁存器与单片机与单片机P0口连接口连接各芯片各芯片的地址的地址范围范围: 1#2#3#线选译码线选译码全译码:全译码: 单片机单片机所有的地址线全用上。所有的地址线全用上。 存储器芯片的地址线与单片机系统的地址线存储器芯片的地址线与单片机系统的地址线顺

14、次相接后,顺次相接后,剩余的高位地址线全部参加译码。剩余的高位地址线全部参加译码。 这种译码方法存储器芯片的地址空间是这种译码方法存储器芯片的地址空间是唯一唯一确定的,但译码电路相对确定的,但译码电路相对复杂复杂。P2.6P2.6P2.5P2.5P2.4P2.4P2.0P2.0ALEALE80318031PSENPSENEAEAGP2.7P2.774LS74LS373373OEOEA0A0A7A7A8A8A12A12CECED0D0D7D7OEOE2764(1)2764(1)A0A0A7A7A8A12CECE2764(2)2764(2)OEOEP0P0888 88 85 58 88 85 5C

15、BAD0D0D7D7GG1G1G2AG2AG2BG2BY3Y3Y2Y2Y1Y1Y0Y08D0D0D7D7OEOE2764(3)2764(3)A0A0A7A7A8A8A12A12CECE8D0D0D7D7OEOECECEA8A8A12A12A0A0A7A72764(4)2764(4)8 858 85 5VccVcc74LS13874LS138 上图为采用上图为采用全译码法全译码法实现的实现的4片片2764扩展成扩展成32KB程序存储器。程序存储器。8031剩余的高剩余的高3位地址总线位地址总线P2.7、P2.6、P2.5通过通过74LS138译码器形译码器形成成4个个2764的片选信号。的片选信

16、号。 由于采用全译码,每片由于采用全译码,每片2764的地址空间都是唯一的。它们分别是:的地址空间都是唯一的。它们分别是:000000000000000000001111111111111,即,即0000H1FFFH;001000000000000000011111111111111,即,即2000H3FFFH;010000000000000000101111111111111,即,即4000H5FFFH;011000000000000000111111111111111,即,即6000H7FFFH。2764(1):2764(2):2764(3):2764(4):存储器的位扩展存储器的位扩展方

17、法:利用芯片的并联方式实现。方法:利用芯片的并联方式实现。1 芯片的地址总线并连芯片的地址总线并连2 读写控制总线并连读写控制总线并连3 片选并连片选并连4 数据线引出并行输出数据线引出并行输出例:用例:用2K1位存储芯片组成位存储芯片组成2K8位存储系统。位存储系统。当地址、片选和读写信号有效,可当地址、片选和读写信号有效,可并行并行存取存取8位信息;共用片选。位信息;共用片选。位扩展位扩展例:用例:用2K82K8位存储器芯片组成位存储器芯片组成2K162K16位存储器系统。位存储器系统。地址、片选和读写引线并联后引出,数据线地址、片选和读写引线并联后引出,数据线并列并列引出。引出。CED

18、D0 07 7D D0 077R/WR/WCECEA A0 01010A A0 01010D07D815R/WA010共用片选共用片选位扩展位扩展存储器的字扩展存储器的字扩展字扩展即字扩展即容量容量(单元数单元数)扩展扩展方法:方法:1 片选线并列输出片选线并列输出2 地址线并连地址线并连3 读写控制线并连读写控制线并连4 数据线并连数据线并连例:例:三片三片8KB8KB的存储器芯片组成的存储器芯片组成 24KB 24KB 容量的存储器。容量的存储器。确定各存储器芯确定各存储器芯确定各存储器芯确定各存储器芯片的地址空间:片的地址空间:片的地址空间:片的地址空间:D D0 07 7R/WCEA

19、A0 01212D07R/WCE1 (A13)A A0 01212CE2(A14)D D0 07 7R/WCEA A0 01212D D0 07 7R/WCEA A0 01212CE3(A15)设设CECE1 1、CECE2 2、CECE3 3分别连接微型机分别连接微型机的高位地址总线的高位地址总线A A1313、A A1414、A A1515。A Ai i: 15 14 13 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 012 11 10 9 8 7 6 5 4 3 2 1 015 14 13 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

20、 012 11 10 9 8 7 6 5 4 3 2 1 0:1101100 0000 0000 00000 0000 0000 00001101101 1111 1111 1111=C000H1 1111 1111 1111=C000HDFFFHDFFFH:1011010 0000 0000 00000 0000 0000 00001011011 1111 1111 1111=A000H1 1111 1111 1111=A000HBFFFH BFFFH :0110110 0000 0000 00000 0000 0000 00000110111 1111 1111 1111=6000H1 1

21、111 1111 1111=6000H7FFFH 7FFFH 字节扩展字节扩展3扩展存储器所需芯片数目的确定扩展存储器所需芯片数目的确定存储器芯片容量存储器芯片容量系统扩展容量系统扩展容量芯片数目芯片数目= 若所若所选选存存储储器芯片字器芯片字长长与与单单片机字片机字长长一致,一致,则则只需只需扩扩展容量展容量。所需芯片数目按下式确定:。所需芯片数目按下式确定: 若所若所选选存存储储器芯片字器芯片字长长与与单单片机字片机字长长不一致,不一致,则则不不仅仅需需扩扩展容量展容量,还还需需位位扩扩展展。所需芯片数目按下式确定:。所需芯片数目按下式确定:存储器芯片字长存储器芯片字长系统字长系统字长存储

22、器芯片容量存储器芯片容量系统扩展容量系统扩展容量芯片数目芯片数目= =一、扩充存储器字长;一、扩充存储器字长;一、扩充存储器字长;一、扩充存储器字长;二、扩充存储器容量。二、扩充存储器容量。二、扩充存储器容量。二、扩充存储器容量。存储器扩展:存储器扩展:2K*832K*832k/2K=162K*832K*16(32k/2K)*(16/8)=327.2.2 程序存储器扩展程序存储器扩展 工作时,工作时,ROM中的信息只能读出,要用特殊中的信息只能读出,要用特殊方式写入方式写入(固化信息固化信息),失电后可保持信息不丢失。,失电后可保持信息不丢失。1.掩膜掩膜ROM:不可改写:不可改写ROM 由生

23、产芯片的厂家固化信息。在最后一道工序用由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读(如掩膜工艺写入信息,用户只可读(如80C51)。)。2.PROM:可编程:可编程ROM 用户可进行一次编程。存储单元电路由熔丝相连,用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。写入,不可再次改写。3.EPROM:可擦除:可擦除PROM 用户可以多次编程。编程加写脉冲后,某些存储单元的用户可以多次编程。编程加写脉冲后,某些存储单元的PN结结表面形成浮动栅,阻挡通路,实现信息写入。用

24、紫外线照射可驱表面形成浮动栅,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写(如散浮动栅,原有信息全部擦除,便可再次改写(如87C51)。)。4.EEPROM:可电擦除:可电擦除PROM 既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备息,具备RAM、ROM的优点。但写入时间较长(如的优点。但写入时间较长(如8951)。)。扩展程序存储器电路常用扩展程序存储器电路常用EPROM芯片:芯片:常用常用EPROM芯片:芯片:Intel 2716 (2KB=2K8位位)、 2732 (4KB)、

25、2764 (8KB)、 27128(16KB)、 27256(32KB)、 27512(64KB)。一单片程序一单片程序存储器的扩展存储器的扩展P2.6P2.6P2.4P2.4P2.3P2.3P2.2P2.2P2.1P2.1P2.0P2.0P0.7P0.7P0.6P0.6P0.5P0.5P0.4P0.4P0.3P0.3P0.2P0.2P0.1P0.1P2.7P2.7P2.5P2.5P0.0P0.0ALEALEVccVcc80318031PSENPSENEAEAVssVss+5V+5VA12A11A10A9A8A7A6A5A4A3A2A1A0D7D7D D5D4D4D3D3D2D2D1D1D0D

26、0OEOED6D6CECEGNDGNDVffVff+5V+5V8D8D7D7D6D6D5D5D4D4D3D3D2D2D1D1DG GOEOE8Q8Q7Q7Q6Q Q5Q5Q4Q4Q3Q3Q2Q2Q1Q1QVccVcc74LS74LS37337327642764其其8个重叠的地址范围为如下:个重叠的地址范围为如下:00000000000000000001111111111111,即,即0000H1FFFH;00100000000000000011111111111111,即,即2000H3FFFH;01000000000000000101111111111111,即,即4000H5FFFH;01

27、100000000000000111111111111111,即,即6000H7FFFH;10000000000000001001111111111111,即,即8000H9FFFH;10100000000000001011111111111111,即,即A000HBFFFH;11000000000000001101111111111111,即,即C000HDFFFH;11100000000000001111111111111111,即,即E000HFFFFH。二多片程序存储器的扩展二多片程序存储器的扩展P2.6P2.6P2.5P2.5P2.4P2.4P2.0P2.0ALEALE8031803

28、1PSENPSENEAEAG GP2.7P2.774LS74LS373373OEOEA0A0A7A7A8A8A12A12 CECED0D0D7D7OEOE2764(1)2764(1)A0A0A7A7A8A8A12A12 CECE2764(2)2764(2)D0D0D7D7OEOEP0P058 888 88 85 58 88 85 5 上图是上图是线选法线选法扩展程序存储器。扩展程序存储器。1、2764的的A0A12与地址总线的与地址总线的A0A12对应相连对应相连2、2764的的D0D7与数据总线与数据总线A0A7对应相连,对应相连,3、两、两2764的的OE连在一起与连在一起与8031的的/

29、PSEN相连。相连。4、第一片、第一片2764的的/CS与与8031地址总线的地址总线的P2.7直接相连直接相连5、第二片、第二片2764的的/CS与与8031地址总线的地址总线的P2.7取反后相连取反后相连 二多片程序存储器的扩展二多片程序存储器的扩展P2.6P2.6P2.5P2.5P2.4P2.4P2.0P2.0ALEALE80318031PSENPSENEAEAG GP2.7P2.774LS74LS373373OEOEA0A0A7A7A8A8A12A12 CECED0D0D7D7OEOE2764(1)2764(1)A0A0A7A7A8A8A12A12 CECE2764(2)2764(2)

30、D0D0D7D7OEOEP0P058 888 88 85 58 88 85 5 其两片的地址空间分别为:其两片的地址空间分别为:第一片:第一片:000000000000000000001111111111111,即,即0000H1FFFH;001000000000000000011111111111111,即,即2000H3FFFH; 010000000000000000101111111111111,即,即4000H5FFFH;011000000000000000111111111111111,即,即6000H7FFFH;第二片:第二片:100000000000000001001111111

31、111111,即,即8000H9FFFH;101000000000000001011111111111111,即,即A000HBFFFH;110000000000000001101111111111111,即,即C000HDFFFH;111000000000000001111111111111111,即,即E000HFFFFH。2764(1):2764(2):P2.6P2.6P2.5P2.5P2.4P2.4P2.0P2.0ALEALE80318031PSENPSENEAEAGP2.7P2.774LS74LS373373OEOEA0A0A7A7A8A8A12A12CECED0D0D7D7OEOE

32、2764(1)2764(1)A0A0A7A7A8A12CECE2764(2)2764(2)OEOEP0P0888 88 85 58 88 85 5CBAD0D0D7D7GG1G1G2AG2AG2BG2BY3Y3Y2Y2Y1Y1Y0Y08D0D0D7D7OEOE2764(3)2764(3)A0A0A7A7A8A8A12A12CECE8D0D0D7D7OEOECECEA8A8A12A12A0A0A7A72764(4)2764(4)8 858 85 5VccVcc74LS13874LS138 上图为采用上图为采用全译码法全译码法实现的实现的4片片2764扩展成扩展成32KB程序存储器。程序存储器。8

33、031剩余的高剩余的高3位地址总线位地址总线P2.7、P2.6、P2.5通过通过74LS138译码器形译码器形成成4个个2764的片选信号。的片选信号。 由于采用全译码,每片由于采用全译码,每片2764的地址空间都是唯一的。它们分别是:的地址空间都是唯一的。它们分别是:000000000000000000001111111111111,即,即0000H1FFFH;001000000000000000011111111111111,即,即2000H3FFFH;010000000000000000101111111111111,即,即4000H5FFFH;011000000000000000111

34、111111111111,即,即6000H7FFFH。2764(1):2764(2):2764(3):2764(4):7.2.3 数据存储器扩展数据存储器扩展1、与程序存储器扩展基本相同。、与程序存储器扩展基本相同。2、数据存储器控制信号一般有输出允许信号、数据存储器控制信号一般有输出允许信号/OE和和写控制信号写控制信号/WE,分别与单片机的片外数据存储器,分别与单片机的片外数据存储器的读控制信号的读控制信号/RD和写控制信号和写控制信号/WR相连。相连。 /OE-/RD/WE-/WR3、其它信号线的连接与程序存储器完全相同。、其它信号线的连接与程序存储器完全相同。 扩展数据存储器电路常用扩

35、展数据存储器电路常用RAM芯片:芯片:常用常用RAM芯片:芯片:Intel 6116(2KB)、 6264(8KB)、 62256(32KB)等。等。8031(8051)扩展单片)扩展单片2KB RAM Intel 6116扩展单片扩展单片6116数据存储器数据存储器P2.6P2.5P2.4P2.0ALE8051RDEAGP2.774LS373OEA0A7 A8A12CE1D0D7OE6264(1)A0A7A8A12CE16264(2)D0D7OEP058885885WRWEWE8CE2CE2 下图是两片数据存储器芯片下图是两片数据存储器芯片6264与与8051单片机的连接。单片机的连接。62

36、64是是8K 8的静态数据存储器芯片,有的静态数据存储器芯片,有13根地址线,数据线根地址线,数据线8根,一根输出根,一根输出允许信号允许信号/OE和一根写控制信号和一根写控制信号/WE ,两根片选信号,两根片选信号/CE1和和/CE2 ,使,使用时都应为低电平。用时都应为低电平。 P2.7为低电平为低电平0,两片,两片6264芯片的地址空间为:芯片的地址空间为:第一片:第一片:010000000000000000101111111111111,即,即4000H5FFFH;第二片:第二片:001000000000000000011111111111111,即,即2000H3FFFH;P2.7为

37、高电平为高电平1,两片,两片6264芯片的地址空间为:芯片的地址空间为:第一片:第一片:110000000000000001101111111111111,即,即C000HDFFFH;第二片:第二片:101000000000000001011111111111111,即,即A000HBFFFH;P2.6P2.5P2.4P2.0ALE8051RDEAGP2.774LS373OEA0A7 A8A12CE1D0D7OE6264(1)A0A7A8A12CE16264(2)D0D7OEP058885885WRWEWE8CE2CE2存储器综合扩展存储器综合扩展:数据存储器和程序存储器的综合扩展。数据存储器

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

39、 6264 各一片。各一片。同时扩展两种存储器同时扩展两种存储器7.3 输入输入/输出口扩展输出口扩展IO端口的编址方式:端口的编址方式:一、与存储器地址:统一编址一、与存储器地址:统一编址 I/O接口共用存储器的地址空间,每个接口共用存储器的地址空间,每个I/O端口视为一端口视为一个存储单元。个存储单元。二、专用二、专用I/O地址:独立编址地址:独立编址 有专用有专用I/O控制信号和控制信号和I/O指令。指令。I/O接口独立编址,不接口独立编址,不占用存储器的地址空间。如:占用存储器的地址空间。如:Z80。 MCS-51、96为存储器地址方式(统一编址)。为存储器地址方式(统一编址)。MCS

40、-51单片机有片内单片机有片内I/O接口和扩展接口和扩展I/O接口。接口。1 片内片内I/O接口接口寄存器在寄存器在SFR中,使用中,使用片内片内数据存储数据存储器空间;器空间;2 扩展扩展I/O接接口使用口使用片外片外数据存储器地址空间:数据存储器地址空间: 输出指令:输出指令:输入指令:输入指令:片内寻址:片内寻址:MOV P1,A MOV A,P1片外寻址:片外寻址:MOVX DPTR,AMOVX A,DPTR MOVX R0,AMOVX A,R0I/O设备与设备与CPU的通信方式:的通信方式:一、无条件传送(同步程序传送)方式一、无条件传送(同步程序传送)方式已知已知I/O设备准备就绪

41、,可直接进行数据传送。设备准备就绪,可直接进行数据传送。适用:适用:1、具有常驻的或变化缓慢的数据信号、具有常驻的或变化缓慢的数据信号 的设备。的设备。 如:指示灯、数码管等;如:指示灯、数码管等; 2、工作速度快,足以和单片机同步工作、工作速度快,足以和单片机同步工作 的设备。的设备。 如:如:DAC等。等。二、查询方式二、查询方式 (有条件传送方式)(有条件传送方式)先查询先查询I/I/O设备当前状态,设备当前状态,若准备就绪,则交换数据,若准备就绪,则交换数据,否则循环查询状态。否则循环查询状态。1.硬件查询电路硬件查询电路设置状态锁存和数据锁存电路。设置状态锁存和数据锁存电路。DBAB

42、微型机微型机AB数据数据端口端口状态状态端口端口外部外部设备设备I/O接口接口D6 2.软件查询程序软件查询程序INPUT:MOV DPTR,#SATUS ;状态口地址状态口地址 WAIT:MOVX A,DPTRJB ACC.6,WAITMOV DPTR,#DATA ;数据口地址数据口地址MOVX A,DPTR查询状态查询状态输入输入/ 输出数据输出数据准备就绪准备就绪?YN查询方式只适用:查询方式只适用:单道作业、规模比较小的单片机系统。单道作业、规模比较小的单片机系统。先输入状态,决定是否进行数据传送。先输入状态,决定是否进行数据传送。三、中断方式(程序中断方式)三、中断方式(程序中断方式

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

44、数据传输,不需直接数据传输,不需CPU的介入。的介入。7.3.1 简单简单I/O口扩展口扩展(系系统总线方式扩展统总线方式扩展) 通常通过数据缓冲器、锁存器来扩展简单通常通过数据缓冲器、锁存器来扩展简单I/O接口。接口。例如:例如:74LS373、74LS244、74LS273、74LS245等芯片都可以作简单等芯片都可以作简单I/O扩展。扩展。 实际上,只要实际上,只要具有输入三态、输出锁存具有输入三态、输出锁存的电的电路,就可以用作路,就可以用作I/O口扩展。口扩展。 IO接口扩展常用的芯片接口扩展常用的芯片74LS373 -具有具有3态功能的态功能的8D锁存器锁存器74LS273 -8上

45、升沿上升沿D触发器触发器具有三态功能的具有三态功能的8D锁存器锁存器74LS373/OE:三态控制。:三态控制。 低电平:低电平:允许数据输出,三态门允许数据输出,三态门通;高电平:三态门关通;高电平:三态门关闭,输出高阻。闭,输出高阻。G:数据锁存控制。数据锁存控制。 高电平时,输出随高电平时,输出随输入变化;输入变化; 低电平时,低电平时,Q端将端将被锁存(低电平锁存)。被锁存(低电平锁存)。 D7 Q7 74LS373D0 Q0 G /OE G /OE 数据数据 输入端输入端数据数据 输出端输出端8上升沿上升沿D触发器触发器 74LS273clock:D触发器时钟输入端触发器时钟输入端

46、上升沿触发锁存上升沿触发锁存 D7 Q7D7 Q7 74LS27374LS273D0 Q0D0 Q0clockclock数据数据 输入端输入端数据数据 输出端输出端通过锁存器、触发器扩展通过锁存器、触发器扩展5151输出口输出口原则:原则: 1 1、一般用上升沿触发器,而不是用下降沿的、一般用上升沿触发器,而不是用下降沿的锁存器。锁存器。 2 2、触发器送数时钟信号、触发器送数时钟信号( (上升沿上升沿) )由由 1-1-外部外部RAMRAM写选通信号写选通信号/WR/WR 2- 2-地址译码信号地址译码信号 (注意注意:译码器输入可以是单片机任何一条地址译码器输入可以是单片机任何一条地址总线

47、总线-一般是一般是P2P2口高口高8 8位地址线,若是位地址线,若是低低8位地址线,位地址线,要外接要外接373锁存器锁存器 ) 经过经过“或非门或非门产生前沿是上升沿的正脉冲产生前沿是上升沿的正脉冲或或非非门门总线方式扩展总线方式扩展51输出端口输出端口 用上升沿触发器的用上升沿触发器的原因:原因: MCS51MCS51写写外部外部RAMRAM或或IOIO时,用时,用/WR/WR作为写选通信号。作为写选通信号。 在时序上,数据输出有效到在时序上,数据输出有效到/WR/WR有效之间的最小值为零,而有效之间的最小值为零,而/WR/WR无效无效到数据输出无效到数据输出无效( (即数据保持即数据保持

48、) )时间不超过时间不超过1 1个个时钟时钟周期。周期。 地址有效地址有效如果后沿触发如果后沿触发CLK由由/WR和地址译码信号经过和地址译码信号经过“与门与门”或或“或或非门非门产生产生 则:则:CLK信号存在一定的延迟,可能造成输出无效数据信号存在一定的延迟,可能造成输出无效数据 结论:最好利用结论:最好利用/WR的前沿将数据锁存到触发器中。的前沿将数据锁存到触发器中。 地址有效地址有效常使用:常使用:74Ls273(八上升沿触发器八上升沿触发器)74Lsl74(六上升沿触发器六上升沿触发器)、74LS374(八上升沿触发器,三态八上升沿触发器,三态)来扩展来扩展MCS51的输出口的输出口

49、修改输出口中个别位的状态修改输出口中个别位的状态 扩展输出口的状态不能读出,扩展输出口的状态不能读出, 要修改输出口要修改输出口中个别位的状态可用具有中个别位的状态可用具有位寻址功能的内部位寻址功能的内部RAM单元单元作为作为映像地址。映像地址。 采用间接方式访问,即先对映像地址单元进行采用间接方式访问,即先对映像地址单元进行“读读改改写写”操作,再将映像地址单元内容送操作,再将映像地址单元内容送外部端口。外部端口。 例如,通过如下指令即可将例如,通过如下指令即可将B000H口的口的b0位取反:位取反:PORTP6 DATA 28H;使用;使用28H单元作为单元作为B000H端口的映像地址端口

50、的映像地址MOV A,PORTP6;AccB000H端口映像地址端口映像地址CPL Acc.0;对;对b0位取反位取反MOV PORTP6,A;回写映像地址单元;回写映像地址单元MOV DPTR,#0B000H;DPTR端口地址端口地址MOVX DPTR,A;端口映像内容;端口映像内容b0位取反后位取反后送送74LS273输出端输出端CPL PORTP6.0MOV A,PORTP62 扩展输入口扩展输入口: 作为输入口时,无须锁存,原则上作为输入口时,无须锁存,原则上三态门电路、三态门电路、具有三态输出具有三态输出的的总线缓冲器总线缓冲器、驱动器驱动器、锁存器锁存器( (如如74LS24474

51、LS244,74LS373)74LS373)等均可以作为输入口扩展芯片。等均可以作为输入口扩展芯片。 由于数据的输入使能脉冲信号一般是下降沿有由于数据的输入使能脉冲信号一般是下降沿有效,故一般通过效,故一般通过或门或门产生一个产生一个前沿前沿是是下降沿的负脉冲下降沿的负脉冲信号信号,作为选通输入信号。,作为选通输入信号。 或门的输入:或门的输入:1-1-外部外部RAMRAM读选通信号读选通信号/RD/RD 2- 2-地址译码信号地址译码信号 (注意注意:译码器输入可以是单片机任何一条地址总线译码器输入可以是单片机任何一条地址总线-一般是一般是P2P2口高口高8 8位地址线,若是位地址线,若是低

52、低8位地址线,要外接位地址线,要外接373锁存器锁存器 ) 经过经过“或门或门产生产生前沿前沿是下降沿的负脉冲是下降沿的负脉冲P0.7P0.7P0.6P0.6P0.5P0.5P0.4P0.4P0.3P0.3P0.2P0.2P0.1P0.1P0.0P0.08051WRWRD0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7G GOEOEQ0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q774LS273P2.0P2.0RDRDQ0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q71G1G2G2G74LS244+L1L1L2L2L3L3L4L4L5L5L6L6L7L

53、7L0L0+5V+5VD0D0D1D1D2D2D3D3D4D4D5D5D6D6D7D7K1K1K2K2K3K3K4K4K5K5K6K6K7K7K0K0D触发器触发器缓冲器缓冲器高电平把输入端的数据锁存高电平把输入端的数据锁存clock或或非非门门或或门门输输出出端端口口输输入入端端口口端口地端口地址译码址译码线线 图中,扩展的输入口接了图中,扩展的输入口接了K0K7 8个开关,扩个开关,扩展的输出口接了展的输出口接了L0L7 8个发光二极管,如果要实个发光二极管,如果要实现现K0K7开关的状态通过开关的状态通过L0L7发光二极管显示,发光二极管显示,则相应的则相应的汇编程序汇编程序为:为:LO

54、OP:MOV DPTR,#0FEFFH MOVX A,DPTR MOVX DPTR,A SJMP LOOP注意:输入和输出注意:输入和输出端口地址相同:端口地址相同: A8=1即可,其即可,其余位任意余位任意如果用如果用C语言语言编程,相应程序段为:编程,相应程序段为:#include /定义绝对地址访问定义绝对地址访问#define uchar unsigned char uchar i;i=XBYTE0xfeff;XBYTE0xfeff=i; 扩展输入输出口:扩展输入输出口:U4: 1 0 0 0 0 0 * * * * * * * * * *U5: 1 0 0 0 0 1 * * * *

55、 * * * * * *A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0这里接总线这里接总线即即P0口的口的D0D7这里输入端口这里输入端口一个实用的输入一个实用的输入/输出口扩展电路输出口扩展电路一般通过或非门产生上升沿一般通过或非门产生上升沿,或门产生下降沿或门产生下降沿7.3.2 可编程可编程I/O扩展(扩展(8255A) 一 、8255A电气特性:电气特性:8255A有有3个个8位的并行输入输出端口,端口位的并行输入输出端口,端口A、B、C;可利用编程的方法设置可利用编程的方法设置3个端口是输入端口还是输出端口;个端口是输入端口还是输出端口;三种工作方式:方

56、式三种工作方式:方式0、方式、方式1和方式和方式2;三种数据传送方式:无条件传送方式、查询传送方式和中断传三种数据传送方式:无条件传送方式、查询传送方式和中断传送方式;送方式;可以对端口可以对端口C的具体位进行单独操作。的具体位进行单独操作。数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制端口端口A端口端口C上部上部B组组控制控制端口端口B端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET二、二、8255A内部结构框图内部结构框图8255的三个并行数据端口的三个并行数据端口n端口端口

57、A:PA0PA7n8位位输输入入锁锁存存缓缓冲冲器器、8位位输输出出锁锁存存/缓冲器缓冲器。n端口端口B:PB0PB7n8位位输输入入缓缓冲冲器器、8位位输输入入输输出出锁锁存存/缓冲器缓冲器。n端口端口C:PC0PC7n8位位输输入入缓缓冲冲器器、8位位输输出出锁锁存存/缓缓冲器冲器。总结:总结: 1、 端口端口A、B、C 输出都可以锁存输出都可以锁存 2、 输入时,所有输入时,所有端口都可以缓冲端口都可以缓冲3、同时、同时端口端口A和端和端口口B工作在方式工作在方式1时也可以锁存。时也可以锁存。而端口而端口C则输入则输入时只有缓冲功能。时只有缓冲功能。A组控制和组控制和B组控制组控制控制端

58、口:控制端口: 分分A A组控制部件,组控制部件,控制控制A A和和C C口上半部;口上半部;B B组控制部件,控制组控制部件,控制B B和和C C口下半部,控制字口下半部,控制字寄存器的内容寄存器的内容CPUCPU只能只能写不能读。写不能读。功能:功能: 接收接收CPUCPU写入的控写入的控制字,实现对制字,实现对A A、B B、C C口的控制。口的控制。读写控制逻辑读写控制逻辑 性质:性质: 由逻辑译码电路组成。由逻辑译码电路组成。功能:功能: 控制控制CPU送来的控送来的控制字或输出数据送至相制字或输出数据送至相应端口,把外设的状态应端口,把外设的状态信息或输入数据通过相信息或输入数据通

59、过相应的端口送至应的端口送至CPU。数据总线缓冲器数据总线缓冲器性质:性质: 8位双向三态门位双向三态门电路。电路。功能:功能: I/O端口数据、端口数据、CPU输出的控制字以及输出的控制字以及CPU输入的状态信息都输入的状态信息都是通过这个缓冲器传送是通过这个缓冲器传送的。的。 数据总线缓冲器的数据总线缓冲器的8根数据线根数据线D7D0一般一般与与8086CPU低低8位数据位数据线相连。线相连。8255A芯片的芯片的40条引脚,大致条引脚,大致可分为三类:可分为三类:(1)电源与地线共电源与地线共2条:条: Vcc、GND。(2) 与外设相连的共与外设相连的共24条:条:PA7PA0: 端口

60、端口A数据信号。数据信号。PB7PB0: 端口端口B数据信号。数据信号。PC7PC0: 端口端口C数据信号。数据信号。三、8255A的芯片引脚信号 (3) 与与CPU相连的共相连的共14条:条:RESET : 复位信号,高电平复位信号,高电平有效。当有效。当RESET信号有效时,信号有效时,所有内部寄存器都被清除。所有内部寄存器都被清除。D7D0 :双向数据线,与:双向数据线,与系统的系统的8位数据总线相连。位数据总线相连。8255A的芯片引脚信号的芯片引脚信号 / CS:片选信号,低电片选信号,低电平有效。该信号来自译码平有效。该信号来自译码器的输出,只有当器的输出,只有当/CS有效有效时,

61、读信号时,读信号/RD和写信号和写信号/WR才对才对8255A有效。有效。 /RD:读信号,低电平:读信号,低电平有效。它控制从有效。它控制从8255读出读出数据或状态信息。数据或状态信息。 /WR:写信号,低电平:写信号,低电平有效。它控制把数据或控有效。它控制把数据或控制命令字写入制命令字写入8255A。8255A的芯片引脚信号的芯片引脚信号A1、A0: 端口选择信号。端口选择信号。 8255A内部共有内部共有4个端个端口口(即寄存器即寄存器): 3个数据端个数据端口口(端口端口A、端口、端口B、端口、端口C) 和和1个控制端口个控制端口,当片选信号当片选信号/CS有效时,规定有效时,规定

62、A1、 A0为为00、01、10、11时,分时,分别选中别选中端口端口A、端口、端口B、端、端口口C和控制端口和控制端口。8255A的芯片引脚信号的芯片引脚信号/CS、/RD、/WR、A1、A0 这五个信号的组合决定这五个信号的组合决定了对三个数据端口和一个了对三个数据端口和一个控制端口的读写操作,如控制端口的读写操作,如表所示。表所示。8255A的芯片引脚信号的芯片引脚信号/CSA1A0/RD/WRI/O操作操作00001读读A口寄存器内容到数据口寄存器内容到数据总线总线00101读读B口寄存器内容到数据口寄存器内容到数据总线总线01001读读C口寄存器内容到数据口寄存器内容到数据总线总线0

63、0010数据数据总线总线上内容写到上内容写到A口寄存器口寄存器00110数据数据总线总线上内容写到上内容写到B口寄存器口寄存器01010数据数据总线总线上内容写到上内容写到C口寄存器口寄存器01110数据数据总线总线上内容写到控制口寄存器上内容写到控制口寄存器四、四、8255A的读写操作控制的读写操作控制五、五、8255的工作方式的工作方式1、方式、方式0(基本(基本I/O方式):方式): A口、口、B口、口、C口均为数据口均为数据I/O。输出锁存,。输出锁存,输入三态,不用联络信号。输入三态,不用联络信号。 适用于无条件或查询方式的数据传送。适用于无条件或查询方式的数据传送。2、方式、方式1

64、(选通(选通I/O方式):方式): A口和口和B口用于数据口用于数据I/O,输入,输入/输出均锁存,输出均锁存, C口用于传送联络信号,读口用于传送联络信号,读C口可了解外设当前状口可了解外设当前状态。态。 适用于查询或中断方式的数据适用于查询或中断方式的数据I/O。8255的工作方式的工作方式3、方式、方式2(双向数据传送方式):(双向数据传送方式): A口为数据口为数据I/O,B口只能为方式口只能为方式0,C口用作口用作A口双向传送的联络信号线。口双向传送的联络信号线。 适用于查询或中断方式的数据适用于查询或中断方式的数据I/O。1硬件接口:硬件接口: 8255A与与MCS-51单片机的连

65、接包含数据线、地址线、控制线的连接。单片机的连接包含数据线、地址线、控制线的连接。WRWRRDRDP2.0P2.0P0.7P0.7P0.6P0.6P0.5P0.5P0.4P0.4P0.3P0.3P0.2P0.2P0.1P0.1P0.0P0.08051ALEALEEAEAGNDGNDD7D7D6D6D5D5D4D4D3D3D2D2D2D2D1D1DO GDO GQ7Q7Q6Q6Q5Q5Q4Q4Q3Q3Q2Q2Q1Q1Q0Q0WRWRRDRDCSCSA1A1A0A0D7D7D6D6D5D5D4D4D3D3D2D2D1D1GNDGNDPA7-PA0PA7-PA0PB7-PB0PB7-PB0PC7-P

66、C0PC7-PC0OEOED0D0825574LS373 图中,图中,8255A的数据线与的数据线与8051单片机的数据总线相连,读、写信号线对单片机的数据总线相连,读、写信号线对应相连,地址线应相连,地址线A0、A1与单片机的地址总线的与单片机的地址总线的A0和和A1相连,片选信号相连,片选信号/CS与与8051的的P2.0相连。则相连。则8255A的的A口、口、B口、口、C口和控制口的地址分别是:口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。 六、六、8255与单片机的连接与单片机的连接8255与单片机的连接与单片机的连接例:例:求求8255的口地址:的口地址:解

67、:解:A口口 (7F00H); B口口 (7F01H); C口口 (7F02H); 控制口控制口(7F03H)。 P0 P2.780C51A0A1CS8255373Q0Q1A Ai i : 15 14 13 15 14 13 12 11 10 9 8 7 6 5 4 3 212 11 10 9 8 7 6 5 4 3 2 1 0A A口:口: 0 0 1 1 1 1 1 1 1 0 0 0 0 0 01 1 1 1 1 1 1 0 0 0 0 0 00 0 7F00HB B口:口: 0 0 1 1 1 1 1 1 1 0 0 0 0 0 01 1 1 1 1 1 1 0 0 0 0 0 00

68、1 7F01HC C口:口: 0 0 1 1 1 1 1 1 1 0 0 0 0 0 01 1 1 1 1 1 1 0 0 0 0 0 01 0 7F02H控制口:控制口:0 0 1 1 1 1 1 1 1 0 0 0 0 0 01 1 1 1 1 1 1 0 0 0 0 0 01 1 7F03H七、七、8255A的控制字的控制字两个:两个: 1、工作方式控制字、工作方式控制字 2、C口按位置位口按位置位/复位控制字。复位控制字。 一、一、8255A的的方式方式选择选择控制字控制字D7 D6 D5 D4 D3 D2 D1 D0D7=1A组工作方式选择:组工作方式选择:00=方式方式0, 01=

69、方式方式1, 1X=方式方式2 A口工作状态为:口工作状态为:基本输入输出基本输入输出 选通输入输出选通输入输出 双向选通输入输出双向选通输入输出 A口输入输出选择:口输入输出选择: 0=输出输出 1=输入输入C口高口高4位输入输出选择:位输入输出选择: 0=输出输出 1=输入输入B组工作方式选择:组工作方式选择:0=方式方式0 基本输入输出基本输入输出 1=方式方式1 选通输入输出选通输入输出 B口输入输出选择:口输入输出选择:0=输出输出 1=输入输入C口低口低4位输入输出选择:位输入输出选择: 0=输出输出 1=输入输入二、8255A端口C的置位/复位命令字 8255A8255A端口端口

70、C C的置位的置位/ /复位命令字可实现对端口复位命令字可实现对端口C C的每一位进行控制的每一位进行控制 特征位特征位0这三位不用这三位不用位选择位位选择位000:C口口0位位001:C口口1位位111:C口口7位位0:复位:复位1:置位:置位 0 D 6 D 5 D 4 D 3 D 2 D 1 D 0D7位为特征位。位为特征位。D7=0表示为表示为C口按位置位口按位置位/复位控制字。复位控制字。D6、D5、D4这三位不用这三位不用D3、D2、D1这三位用于选择这三位用于选择C口当中的某一位。口当中的某一位。D0用于置位用于置位/复位设置,复位设置,D0=0则复位,则复位,D0=1则置位。则

71、置位。八、八、8255A的工作方式的工作方式1方式方式0 方式方式0是一种基本的输入是一种基本的输入/输出方式。在这种方式下,三个端口都可输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式以由程序设置为输入或输出,没有固定的应答信号。方式0特点如下:特点如下:(1)具有两个)具有两个8位端口(位端口(A、B)和两个)和两个4位端口(位端口(C口的高口的高4位和位和C口口的低的低4位)。位)。(2)任何一个端口都可以设定为输入或者输出。)任何一个端口都可以设定为输入或者输出。(3)每一个端口输出时是锁存的,输入是不锁存的。)每一个端口输出时是锁存的,输入是不锁

72、存的。 方式方式0没有专门的没有专门的应答信号,通常用应答信号,通常用于于无条件传送无条件传送。例如:左图例如:左图8255A工作于方式工作于方式0,其中,其中A口输入,口输入,B口输出。口输出。 8051系统总线系统总线8255APA0PA0PA1PA1PA2PA2PA3PA3PA4PA4PA5PA5PA6PA6PA7PA7PB0PB0PB1PB1PB2PB2PB3PB3PB4PB4PB5PB5PB6PB6PB7PB7+5V+5V+5V+5VK0K0K7K7L0L0L7L72方式方式1 方式方式1是一种选通输入是一种选通输入/输出方式。在这种工作方式下,端口输出方式。在这种工作方式下,端口A

73、和和B作为数据输入作为数据输入/输出口,端口输出口,端口C用作输入用作输入/输出的应答信号。输出的应答信号。A口口和和B口既可以作输入,也可作输出,输入和输出都具有锁存能力。口既可以作输入,也可作输出,输入和输出都具有锁存能力。 方式方式1输入:输入: 无论是无论是A口输入还是口输入还是B口输入,都用口输入,都用C口的三位作应答信号,一口的三位作应答信号,一位作中断允许控制位。位作中断允许控制位。 INTE&PC4PC5PC3PC6、PC7PA0PA7STBAIBFAI/OINTRAB口输入口输入INTE&A口输入口输入PC2PC1PC088IBFBSTBBPB0PB7INTRB各应答信号含义

74、如下:各应答信号含义如下:/STB:外设送给:外设送给8255A的的“输入选通输入选通”信号,低电平有效。信号,低电平有效。 IBF:8255A送给外设的送给外设的“输入缓冲器满输入缓冲器满”信号,高电平有效。信号,高电平有效。 INTR:8255A送给送给CPU的的“中断请求中断请求”信号,高电平有效。信号,高电平有效。 INTE:8255A内部为控制中断而设置的内部为控制中断而设置的“中断允许中断允许”信号。信号。INTE由由软件通过对软件通过对PC4(A口)和口)和PC2(B口)的置位口)的置位/复位来允许或禁止。复位来允许或禁止。 2 2方式方式1输出:输出: 无论是无论是A口输出还是

75、口输出还是B口输出,也都用口输出,也都用C口的三位作应答信号,一口的三位作应答信号,一位作中断允许控制位。位作中断允许控制位。 INTE&PC7PC6PC3PC4、PC5PA0PA7ACKAOBFAI/OINTRAB口输出口输出INTE&A口输出口输出PC2PC1PC088OBFBACKBPB0PB7INTRB2应答信号含义如下:应答信号含义如下:/OBF:8255A送给外设的送给外设的“输出缓冲器满输出缓冲器满”信号,低电平有效。信号,低电平有效。 /ACK:外设送给:外设送给8255A的的“应答应答”信号,低电平有效。信号,低电平有效。 INTR:8255A送给送给CPU的的“中断请求中断

76、请求”信号,高电平有效。信号,高电平有效。 INTE:8255A内部为控制中断而设置的内部为控制中断而设置的“中断允许中断允许”信号,含信号,含义与输入相同,只是对应义与输入相同,只是对应C口的位数与输入不同,它是通过对口的位数与输入不同,它是通过对PC7(A口)和口)和PC2(B口)的置位口)的置位/复位来允许或禁止。复位来允许或禁止。 3方式方式2 方式方式2是一种双向选通输入是一种双向选通输入/输出方式。只适合于输出方式。只适合于端口端口A。这种方式能实现外设与。这种方式能实现外设与8255A的的A口双向数口双向数据传送,并且输入和输出都是锁存的。它使用据传送,并且输入和输出都是锁存的。

77、它使用C口的口的5位作应答信号,两位作中断允许控制位。位作应答信号,两位作中断允许控制位。 &INTE1INTE2& 1PC5PC4PC6PC7PC3PA0PA7ACKAOBFAINTRASTBAIBFA九、九、8255A与与MCS-51单片机的接口单片机的接口1硬件接口:硬件接口: 8255A与与MCS-51单片机的连接包含数据线、地址线、控制线的连接。单片机的连接包含数据线、地址线、控制线的连接。WRWRRDRDP2.0P2.0P0.7P0.7P0.6P0.6P0.5P0.5P0.4P0.4P0.3P0.3P0.2P0.2P0.1P0.1P0.0P0.08051ALEALEEAEAGNDG

78、NDD7D7D6D6D5D5D4D4D3D3D2D2D2D2D1D1DO GDO GQ7Q7Q6Q6Q5Q5Q4Q4Q3Q3Q2Q2Q1Q1Q0Q0WRWRRDRDCSCSA1A1A0A0D7D7D6D6D5D5D4D4D3D3D2D2D1D1GNDGNDPA7-PA0PA7-PA0PB7-PB0PB7-PB0PC7-PC0PC7-PC0OEOED0D0825574LS373 图中,图中,8255A的数据线与的数据线与8051单片机的数据总线相连,读、写信号线对单片机的数据总线相连,读、写信号线对应相连,地址线应相连,地址线A0、A1与单片机的地址总线的与单片机的地址总线的A0和和A1相连,片选信号相连,片选信号/CS与与8051的的P2.0相连。则相连。则8255A的的A口、口、B口、口、C口和控制口的地址分别是:口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。 2软件编程软件编程 如果设定如果设定8255A的的A口为方式口为方式0输入,输入,B口为口为方式方式0输出,则初始化程序为:输出,则初始化程序为:汇编程序段:汇编程序段:MOV A,#90HMOV DPTR,#0FEFFHMOVX DPTR,AC语言程序段:语言程序段:#include #include /定义绝对地址访问定义绝对地址访问XBYTE0xfeff=0x90;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号