第章MCS单片机常用接口00001.ppt

上传人:sccc 文档编号:5284134 上传时间:2023-06-22 格式:PPT 页数:90 大小:2.59MB
返回 下载 相关 举报
第章MCS单片机常用接口00001.ppt_第1页
第1页 / 共90页
第章MCS单片机常用接口00001.ppt_第2页
第2页 / 共90页
第章MCS单片机常用接口00001.ppt_第3页
第3页 / 共90页
第章MCS单片机常用接口00001.ppt_第4页
第4页 / 共90页
第章MCS单片机常用接口00001.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第章MCS单片机常用接口00001.ppt》由会员分享,可在线阅读,更多相关《第章MCS单片机常用接口00001.ppt(90页珍藏版)》请在三一办公上搜索。

1、第7章 MCS-51单片机常用接口,7.1 MCS-51单片机的最小系统7.2 存储器扩展7.3 输入/输出口扩展,单片机,MCS-51单片机系统扩展包括:1、程序存储器扩展;2、数据存储器扩展;3、I/O口扩展;4、定时/计数器扩展;5、中断系统扩展;6、串行口扩展。在本章中只介绍应用较多的程序存储器扩展、数据存储器扩展和I/O口扩展。,7.1 MCS-51单片机的最小系统,所谓最小系统,是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。MCS-51单片机根据片内有无程序存储器最小系统分两种情况。,该最小系统的特点如下:(1)P0、P1、P2、P

2、3都可以作为用户I/O口使用。(2)片内数据存储器128字节,地址空间00H7FH,没有片外数据存储器。(3)内部4KB程序存储器,地址空间0000H0FFFH,没有片外程序存储器,/EA应接高电平。(4)两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,7.1.1 8051/8751的最小系统,8051/8751片内分别有4KB的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。,7.1.1 8031最小应用系统,8031片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。,(1)由于P0、P2在扩展程序

3、存储器时作为地址线和数据线,不能作为I/O线,因此,只有P1、P3作为用户I/O口使用。(2)片内数据存储器128字节,地址空间00H7FH,没有片外数据存储器。(3)内部无程存,但片外扩展的程序地址空间随芯片容量不同而不一样。左图中使用2764芯片,容量为8K字节,地址空间为0000H1FFFH。只能使用片外程序存储器,/EA只能接低电平。(4)可使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,地址锁存,7.2 存储器扩展,7.2.1 存储器扩展概述,一、MCS-51单片机的存储器扩展能力,MCS-51单片机地址总线宽度:16 可扩展外部存储器最大容量:216=64K

4、B 地址:0000HFFFFH。注意:程存和数存是通过不同的控制信号和指令进行访问(独立编址),允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别都为64KB。,1、扩充存储器字长:,2、扩充存储器容量:,存储器扩展:,2、数据线:存储器芯片的数据线-与单片机数据总线(P0.0P0.7)(按由低位到高位的顺序顺次相接。),1、控制线:程序存储器:/OE-与单片机/PSEN相连 数据存储器:/OE-与单片机/RD相连/WE-与单片机/WR相连,二、存储器扩展的一般方法,不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。,3、地

5、址线:芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。存储器芯片容量(Q)与地址线数目(N)满足关系式:Q=2N。,4、片选信号线:存储器芯片的地址线数目总是少于单片机地址总线的数目,连接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线/CS相接。,片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。,总线扩展驱动:,当单片机外接芯片较多,超出总线负载能力,必须加总线驱动器。,单向驱动器74LS244用于地址总线驱动;双向驱动器74LS245用于数据总线驱动。,CPU要实现对存储单元的访问、首先要选择存储芯片

6、,即进行片选;2、从选中的芯片中依地址码选择出相应的存储单元,以进行数据的存取,这称为单元选或字选。,实现片选译码的方法可分为三种:1 全译码法2 部分译码法3 线选法,部分译码:存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。缺点:部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,部分译码法,高位地址线不全部参与译码,存储器某一单元的地址编码不唯一。,图2-13 存储器与CPU的连接方式二(部分译码法),A15没有参与译码,图中A15没有参与译码,IC1地址范围:A15 A14 A13 A12,A11A1 A0,ROM最低地址 0/1 0

7、 0 0,0 0 0 即0000H或 8000HROM最高地址 0/1 0 1 1,1 1 1 即3FFFH或BFFFH,部分译码法,线译码:是部分译码法的一个特例:就是用一根剩余的高位地址线直接与一块存储器芯片的片选信号/CS相连。,线选译码,线选法:用低位地址线对片内的存储单元进行寻址,所需的地址线由片内地址线决定,余下的高位地址线分别接至芯片的片选端,以区分各芯片的地址范围。,存储器与CPU的连接方式:线选法,注意:低8位地址线通过锁存器与单片机P0口连接,各芯片的地址范围:,1#,2#,3#,线选译码,全译码:单片机所有的地址线全用上。存储器芯片的地址线与单片机系统的地址线顺次相接后,

8、剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。,上图为采用全译码法实现的4片2764扩展成32KB程序存储器。8031剩余的高3位地址总线P2.7、P2.6、P2.5通过74LS138译码器形成4个2764的片选信号。,由于采用全译码,每片2764的地址空间都是唯一的。它们分别是:000000000000000000001111111111111,即0000H1FFFH;001000000000000000011111111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5F

9、FFH;011000000000000000111111111111111,即6000H7FFFH。,2764(1):2764(2):2764(3):2764(4):,部分译码法例题:存储器芯片容量2KB,地址线11根与单片机地址总线的低11位A0A10相连,用于选中芯片内的单元。单片机地址总线的A11、A12、A13、A14四根地址线参加译码的选中芯片,四根地址总线的状态为0100时选中该芯片。地址总线A15不参加译码,当地址总线A15为0、1两种状态都可以选中该存储器芯片。,当A15=0时,芯片占用的地址是00010000000000000001011111111111,即1000H17F

10、FH。当A15=1时,芯片占用的地址是10010000000000001001011111111111,即9000H97FFH。,存储器的位扩展,方法:利用芯片的并联方式实现。1 芯片的地址总线并连2 读写控制总线并连3 片选并连4 数据线引出并行输出,例:用2K1位存储芯片组成2K8位存储系统。,当地址、片选和读写信号有效,可并行存取8位信息;共用片选。,位扩展,例:用2K8位存储器芯片组成2K16位存储器系统。,地址、片选和读写引线并联后引出,数据线并列引出。,CE,D07,D07,R/W,R/W,CE,CE,A010,A010,D07,D815,R/W,A010,共用片选,位扩展,存储器

11、的字扩展,字扩展即容量(单元数)扩展方法:1 片选线并列输出2 地址线并连3 读写控制线并连4 数据线并连,例:三片8KB的存储器芯片组成 24KB 容量的存储器。,确定各存储器芯片的地址空间:,D07,R/W,CE,A012,D07,R/W,CE1(A13),A012,CE2(A14),D07,R/W,CE,A012,D07,R/W,CE,A012,CE3(A15),设CE1、CE2、CE3分别连接微型机的高位地址总线A13、A14、A15。,Ai:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1

12、 0:1100 0000 0000 00001101 1111 1111 1111=C000HDFFFH:1010 0000 0000 00001011 1111 1111 1111=A000HBFFFH:0110 0000 0000 00000111 1111 1111 1111=6000H7FFFH,字节扩展,例:用1K4位存储器芯片组成4K8位存储器系统。,3扩展存储器所需芯片数目的确定,若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需位扩展。所需芯片数目按下式确定:,一、扩充存储器字长;,二、

13、扩充存储器容量。,存储器扩展:,2K*832K*832k/2K=16,2K*832K*16(32k/2K)*(16/8)=32,7.2.2 程序存储器扩展,工作时,ROM中的信息只能读出,要用特殊方式写入(固化信息),失电后可保持信息不丢失。1.掩膜ROM:不可改写ROM 由生产芯片的厂家固化信息。在最后一道工序用掩膜工艺写入信息,用户只可读(如80C51)。2.PROM:可编程ROM 用户可进行一次编程。存储单元电路由熔丝相连,当加入写脉冲,某些存储单元熔丝熔断,信息永久写入,不可再次改写。,3.EPROM:可擦除PROM 用户可以多次编程。编程加写脉冲后,某些存储单元的PN结表面形成浮动栅

14、,阻挡通路,实现信息写入。用紫外线照射可驱散浮动栅,原有信息全部擦除,便可再次改写(如87C51)。4.EEPROM:可电擦除PROM 既可全片擦除也可字节擦除,可在线擦除信息,又能失电保存信息,具备RAM、ROM的优点。但写入时间较长(如8951)。,扩展程序存储器电路常用EPROM芯片:,常用EPROM芯片:Intel 2716(2KB=2K8位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。,一单片程序存储器的扩展,其8个重叠的地址范围为如下:00000000000000000001111111111111,即0000H

15、1FFFH;00100000000000000011111111111111,即2000H3FFFH;01000000000000000101111111111111,即4000H5FFFH;01100000000000000111111111111111,即6000H7FFFH;10000000000000001001111111111111,即8000H9FFFH;10100000000000001011111111111111,即A000HBFFFH;11000000000000001101111111111111,即C000HDFFFH;111000000000000011111111

16、11111111,即E000HFFFFH。,二多片程序存储器的扩展,上图是线选法扩展程序存储器。1、2764的A0A12与地址总线的A0A12对应相连2、2764的D0D7与数据总线A0A7对应相连,3、两2764的OE连在一起与8031的/PSEN相连。4、第一片2764的/CS与8031地址总线的P2.7直接相连5、第二片2764的/CS与8031地址总线的P2.7取反后相连,二多片程序存储器的扩展,其两片的地址空间分别为:第一片:000000000000000000001111111111111,即0000H1FFFH;001000000000000000011111111111111,

17、即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,即6000H7FFFH;第二片:100000000000000001001111111111111,即8000H9FFFH;101000000000000001011111111111111,即A000HBFFFH;110000000000000001101111111111111,即C000HDFFFH;111000000000000001111111111111111,即E000HFFFFH。,2764(1)

18、:,2764(2):,上图为采用全译码法实现的4片2764扩展成32KB程序存储器。8031剩余的高3位地址总线P2.7、P2.6、P2.5通过74LS138译码器形成4个2764的片选信号。,由于采用全译码,每片2764的地址空间都是唯一的。它们分别是:000000000000000000001111111111111,即0000H1FFFH;001000000000000000011111111111111,即2000H3FFFH;010000000000000000101111111111111,即4000H5FFFH;011000000000000000111111111111111,

19、即6000H7FFFH。,2764(1):2764(2):2764(3):2764(4):,7.2.3 数据存储器扩展,1、与程序存储器扩展基本相同。2、数据存储器控制信号一般有输出允许信号/OE和写控制信号/WE,分别与单片机的片外数据存储器的读控制信号/RD和写控制信号/WR相连。/OE-/RD/WE-/WR3、其它信号线的连接与程序存储器完全相同。,扩展数据存储器电路常用RAM芯片:,常用RAM芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)等。,8031(8051)扩展单片2KB RAM Intel 6116,扩展单片6116数据存储器,P2.6,P2.

20、5,P2.4P2.0,ALE,8051,RD,EA,G,P2.7,74LS373,OE,A0A7,A8A12,CE1,D0D7,OE,6264(1),A0A7,A8A12,CE1,6264(2),D0D7,OE,P0,5,8,8,8,5,8,8,5,WR,WE,WE,8,CE2,CE2,下图是两片数据存储器芯片6264与8051单片机的连接。6264是8K8的静态数据存储器芯片,有13根地址线,数据线8根,一根输出允许信号/OE和一根写控制信号/WE,两根片选信号/CE1和/CE2,使用时都应为低电平。,P2.7为低电平0,两片6264芯片的地址空间为:第一片:0100000000000000

21、00101111111111111,即4000H5FFFH;第二片:001000000000000000011111111111111,即2000H3FFFH;P2.7为高电平1,两片6264芯片的地址空间为:第一片:110000000000000001101111111111111,即C000HDFFFH;第二片:101000000000000001011111111111111,即A000HBFFFH;,存储器综合扩展:,同时扩展程序存储器和数据存储器,单片机连接 8KB EPROM 2764 和 8KB RAM 6264 各一片。,同时扩展两种存储器,7.3 输入/输出口扩展,IO端口的

22、编址方式:一、与存储器地址:统一编址 I/O接口共用存储器的地址空间,每个I/O端口视为一个存储单元。二、专用I/O地址:独立编址 有专用I/O控制信号和I/O指令。I/O接口独立编址,不占用存储器的地址空间。如:Z80。MCS-51、96为存储器地址方式(统一编址)。,MCS-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,R0,I/O设备与

23、CPU的通信方式:,一、无条件传送(同步程序传送)方式已知I/O设备准备就绪,可直接进行数据传送。适用:1、具有常驻的或变化缓慢的数据信号 的设备。如:指示灯、数码管等;2、工作速度快,足以和单片机同步工作 的设备。如:DAC等。,二、查询方式(有条件传送方式)先查询I/O设备当前状态,若准备就绪,则交换数据,否则循环查询状态。1.硬件查询电路设置状态锁存和数据锁存电路。,2.软件查询程序,INPUT:MOV DPTR,#SATUS;状态口地址 WAIT:MOVX A,DPTRJB ACC.6,WAITMOV DPTR,#DATA;数据口地址MOVX A,DPTR,查询方式只适用:单道作业、规

24、模比较小的单片机系统。,先输入状态,决定是否进行数据传送。,三、中断方式(程序中断方式)大多数时间计算机与外设并行工作,计算机不必因等待而浪费资源。当外设准备就绪,向CPU发出中断请求信号。CPU暂停当前程序,执行I/O操作。当I/O操作结束,CPU仍继续被中断的工作。,四、直接存储器访问方式(DMADirect Memory Access)用于计算机与高速外设进行大批量数据交换,由DMA控制器接管总线控制权,RAM与外设之间直接数据传输,不需CPU的介入。,7.3.1 简单I/O口扩展(系统总线方式扩展),通常通过数据缓冲器、锁存器来扩展简单I/O接口。例如:74LS373、74LS244、

25、74LS273、74LS245等芯片都可以作简单I/O扩展。实际上,只要具有输入三态、输出锁存的电路,就可以用作I/O口扩展。,IO接口扩展常用的芯片,74LS373-具有3态功能的8D锁存器74LS273-8上升沿D触发器,具有三态功能的8D锁存器74LS373,/OE:三态控制。低电平:允许数据输出,三态门通;高电平:三态门关闭,输出高阻。G:数据锁存控制。高电平时,输出随输入变化;低电平时,Q端将被锁存(低电平锁存)。,D7 Q7 74LS373D0 Q0 G/OE,数据 输入端,数据 输出端,8上升沿D触发器 74LS273,clock:D触发器时钟输入端 上升沿触发锁存,D7 Q7

26、74LS273D0 Q0clock,数据 输入端,数据 输出端,通过锁存器、触发器扩展51输出口原则:1、一般用上升沿触发器,而不是用下降沿的锁存器。2、触发器送数时钟信号(上升沿)由 1-外部RAM写选通信号/WR 2-地址译码信号(注意:译码器输入可以是单片机任何一条地址总线-一般是P2口高8位地址线,若是低8位地址线,要外接373锁存器)经过“或非门产生前沿是上升沿的正脉冲,书中例题:利用74LS373(改为273)扩展并行输出口,74LS244扩展并行输入口。74LS273是一个8上升沿D触发器.8个输入端D0D7,8个输出端Q0Q7,clock上升沿触发锁存/OE低电平时把锁存器中的

27、内容通过输出端输出。74LS244是单向数据缓冲器,带两个控制端1G和2G,当它们为低电平时,输入端D0D7的数据输出到Q0Q7。,或非门,总线方式扩展51输出端口,用上升沿触发器的原因:MCS51写外部RAM或IO时,用/WR作为写选通信号。在时序上,数据输出有效到/WR有效之间的最小值为零,而/WR无效到数据输出无效(即数据保持)时间不超过1个时钟周期。,地址有效,如果后沿触发CLK由/WR和地址译码信号经过“与门”或“或非门产生 则:CLK信号存在一定的延迟,可能造成输出无效数据 结论:最好利用/WR的前沿将数据锁存到触发器中。,地址有效,常使用:74Ls273(八上升沿触发器)74Ls

28、l74(六上升沿触发器)、74LS374(八上升沿触发器,三态)来扩展MCS51的输出口,如图 A15A14A13A12A11为100110时,U3译码输出/Y6有效,或非门U4A等效于反相器,CPU写外部RAM选通信号,延迟了1个门电路延迟时间(约15ns),写端口地址为9800H,执行如下命令即可将累加器Acc内容锁存到74LS273的输出端。,MOV DPTR,#09800H,MOVX DPTR,A,输出端口,修改输出口中个别位的状态,扩展输出口的状态不能读出,要修改输出口中个别位的状态可用具有位寻址功能的内部RAM单元作为映像地址。采用间接方式访问,即先对映像地址单元进行“读改写”操作

29、,再将映像地址单元内容送外部端口。,例如,通过如下指令即可将B000H口的b0位取反:PORTP6 DATA 28H;使用28H单元作为B000H端口的映像地址MOV A,PORTP6;AccB000H端口映像地址CPL Acc.0;对b0位取反MOV PORTP6,A;回写映像地址单元MOV DPTR,#0B000H;DPTR端口地址MOVX DPTR,A;端口映像内容b0位取反后送74LS273输出端,CPL PORTP6.0MOV A,PORTP6,2 扩展输入口:,作为输入口时,无须锁存,原则上三态门电路、具有三态输出的总线缓冲器、驱动器、锁存器(如74LS244,74LS373)等均

30、可以作为输入口扩展芯片。由于数据的输入使能脉冲信号一般是下降沿有效,故一般通过或门产生一个前沿是下降沿的负脉冲信号,作为选通输入信号。,或门的输入:1-外部RAM读选通信号/RD 2-地址译码信号(注意:译码器输入可以是单片机任何一条地址总线-一般是P2口高8位地址线,若是低8位地址线,要外接373锁存器)经过“或门产生前沿是下降沿的负脉冲,高电平把输入端的数据锁存,clock,或非门,或门,输出端口,输入端口,端口地址译码线,图中,扩展的输入口接了K0K7 8个开关,扩展的输出口接了L0L7 8个发光二极管,如果要实现K0K7开关的状态通过L0L7发光二极管显示,则相应的汇编程序为:LOOP

31、:MOV DPTR,#0FEFFH MOVX A,DPTR MOVX DPTR,A SJMP LOOP,注意:输入和输出端口地址相同:A8=1即可,其余位任意,如果用C语言编程,相应程序段为:#include/定义绝对地址访问#define uchar unsigned char uchar i;i=XBYTE0 xfeff;XBYTE0 xfeff=i;,扩展输入输出口:,U4:1 0 0 0 0 0*U5:1 0 0 0 0 1*,A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0,这里接总线即P0口的D0D7,这里输入端口,一个实用的输入/输出口扩展电路,一般通

32、过或非门产生上升沿,或门产生下降沿,7.3.2 可编程I/O扩展(8255A),一、8255A电气特性:8255A有3个8位的并行输入输出端口,端口A、B、C;可利用编程的方法设置3个端口是输入端口还是输出端口;三种工作方式:方式0、方式1和方式2;三种数据传送方式:无条件传送方式、查询传送方式和中断传送方式;可以对端口C的具体位进行单独操作。,二、8255A内部结构框图,8255的三个并行数据端口,端口A:PA0PA78位输入锁存缓冲器、8位输出锁存/缓冲器。端口B:PB0PB78位输入缓冲器、8位输入输出锁存/缓冲器。端口C:PC0PC78位输入缓冲器、8位输出锁存/缓冲器。,总结:1、端

33、口A、B、C 输出都可以锁存 2、输入时,所有端口都可以缓冲3、同时端口A和端口B工作在方式1时也可以锁存。而端口C则输入时只有缓冲功能。,A组控制和B组控制,控制端口:分A组控制部件,控制A和C口上半部;B组控制部件,控制B和C口下半部,控制字寄存器的内容CPU只能写不能读。功能:接收CPU写入的控制字,实现对A、B、C口的控制。,读写控制逻辑,性质:由逻辑译码电路组成。功能:控制CPU送来的控制字或输出数据送至相应端口,把外设的状态信息或输入数据通过相应的端口送至CPU。,数据总线缓冲器,性质:8位双向三态门电路。功能:I/O端口数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个

34、缓冲器传送的。数据总线缓冲器的8根数据线D7D0一般与8086CPU低8位数据线相连。,8255A芯片的40条引脚,大致可分为三类:电源与地线共2条:Vcc、GND。(2)与外设相连的共24条:PA7PA0:端口A数据信号。PB7PB0:端口B数据信号。PC7PC0:端口C数据信号。,三、8255A的芯片引脚信号,(3)与CPU相连的共14条:RESET:复位信号,高电平有效。当RESET信号有效时,所有内部寄存器都被清除。D7D0:双向数据线,与系统的8位数据总线相连。,8255A的芯片引脚信号,/CS:片选信号,低电平有效。该信号来自译码器的输出,只有当/CS有效时,读信号/RD和写信号/

35、WR才对8255A有效。/RD:读信号,低电平有效。它控制从8255读出数据或状态信息。/WR:写信号,低电平有效。它控制把数据或控制命令字写入8255A。,8255A的芯片引脚信号,A1、A0:端口选择信号。8255A内部共有4个端口(即寄存器):3个数据端口(端口A、端口B、端口C)和1个控制端口,当片选信号/CS有效时,规定A1、A0为00、01、10、11时,分别选中端口A、端口B、端口C和控制端口。,8255A的芯片引脚信号,/CS、/RD、/WR、A1、A0 这五个信号的组合决定了对三个数据端口和一个控制端口的读写操作,如表所示。,8255A的芯片引脚信号,四、8255A的读写操作

36、控制,五、8255的工作方式,1、方式0(基本I/O方式):A口、B口、C口均为数据I/O。输出锁存,输入三态,不用联络信号。适用于无条件或查询方式的数据传送。2、方式1(选通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单片机的连接包含数据线、地址线、控制线的连接。,图中,8255A的数据线与8051单片

37、机的数据总线相连,读、写信号线对应相连,地址线A0、A1与单片机的地址总线的A0和A1相连,片选信号/CS与8051的P2.0相连。则8255A的A口、B口、C口和控制口的地址分别是:FEFCH,FEFDH,FEFEH,FEFFH。,六、8255与单片机的连接,8255与单片机的连接,例:求8255的口地址:解:A口(7F00H);B口(7F01H);C口(7F02H);控制口(7F03H)。,Ai:15 14 13 12 11 10 9 8 7 6 5 4 3 21 0A口:0 1 1 1 1 1 1 1 0 0 0 0 0 00 0 7F00HB口:0 1 1 1 1 1 1 1 0 0

38、0 0 0 00 1 7F01HC口:0 1 1 1 1 1 1 1 0 0 0 0 0 01 0 7F02H控制口:0 1 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 D0,二、8255A端口C的置位/复位命令字,8255A端口C的置位/复位命令字可实现对端口C的每一位进行控制,D7位为特征位。D7=0表示为C口按位置位/复位控制字。D6、D5、D4这三位不用D3、D2、D1这三位用于选择C口当中的某一位。D0用于置

39、位/复位设置,D0=0则复位,D0=1则置位。,2、方式选择控制字:,8255A方式选择注意:有三种基本工作方式:方式0基本的输入输出方式 方式1选通的输入输出方式 方式2双向传输方式 只有端口A能工作在方式2;同一组的两端口可分别工作在输入和输出方式。,八、8255A的工作方式,1方式0,方式0是一种基本的输入/输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式0特点如下:(1)具有两个8位端口(A、B)和两个4位端口(C口的高4位和C口的低4位)。(2)任何一个端口都可以设定为输入或者输出。(3)每一个端口输出时是锁存的,输入是不锁存的。,方式0没有专门

40、的应答信号,通常用于无条件传送。例如:左图8255A工作于方式0,其中A口输入,B口输出。,2方式1,方式1是一种选通输入/输出方式。在这种工作方式下,端口A和B作为数据输入/输出口,端口C用作输入/输出的应答信号。A口和B口既可以作输入,也可作输出,输入和输出都具有锁存能力。,方式1输入:,无论是A口输入还是B口输入,都用C口的三位作应答信号,一位作中断允许控制位。,各应答信号含义如下:,/STB:外设送给8255A的“输入选通”信号,低电平有效。,IBF:8255A送给外设的“输入缓冲器满”信号,高电平有效。,INTR:8255A送给CPU的“中断请求”信号,高电平有效。,INTE:825

41、5A内部为控制中断而设置的“中断允许”信号。INTE由软件通过对PC4(A口)和PC2(B口)的置位/复位来允许或禁止。,2,方式1输出:,无论是A口输出还是B口输出,也都用C口的三位作应答信号,一位作中断允许控制位。,应答信号含义如下:,/OBF:8255A送给外设的“输出缓冲器满”信号,低电平有效。,/ACK:外设送给8255A的“应答”信号,低电平有效。,INTR:8255A送给CPU的“中断请求”信号,高电平有效。,INTE:8255A内部为控制中断而设置的“中断允许”信号,含义与输入相同,只是对应C口的位数与输入不同,它是通过对PC7(A口)和PC2(B口)的置位/复位来允许或禁止。

42、,3方式2,方式2是一种双向选通输入/输出方式。只适合于端口A。这种方式能实现外设与8255A的A口双向数据传送,并且输入和输出都是锁存的。它使用C口的5位作应答信号,两位作中断允许控制位。,九、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。,2软件编程,如果设定8255A的A口为方式0输入,B口为方式0输出,则初始化程序为:汇编程序段:MOV A,#90HMOV DPTR,#0FEFFHMOVX DPTR,AC语言程序段:#include#include/定义绝对地址访问XBYTE0 xfeff=0 x90;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号