《第7章MCS-51单片机系统的扩展课件.ppt》由会员分享,可在线阅读,更多相关《第7章MCS-51单片机系统的扩展课件.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第7章 MCS-51单片机系统的扩展1总体要求:总体要求:l了解MCS-51单片机系统扩展的必要性和可行性l熟练掌握译码电路及其程序存储器和数据存储器的扩展方法l掌握简单I/O口的扩展l掌握8255A可编程并行接口的应用特性以及与MCS-51的接口方法l了解FLASH存储器的应用l能够独立完成本章作业 学习重点:学习重点:l程序存储器和数据存储器与MCS-51的连接l8255A与MCS-51的连接及其基本应用第第7 7章章 MCS-51MCS-51单片机系统的扩展单片机系统的扩展 第7章 MCS-51单片机系统的扩展27.1 存储器扩展基础存储器扩展基础7.2 程序存储器扩展程序存储器扩展7
2、.3 数据存储器扩展数据存储器扩展7.4 并行并行I/O接口的扩展接口的扩展 第7章 MCS-51单片机系统的扩展37.1 7.1 存储器扩展基础存储器扩展基础7.1.1 7.1.1 存储器概述存储器概述 存储器是计算机系统中的记忆设备,用来存放程序和数据。构成存储器的存储介质,目前主要采用半导体器件和一些新型材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管构成的存储元,它可存储一位二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。 第7章 MCS-51单片机系统的扩展41. 只读存储器(ROM) 这类存储器的特点是当把信息写入以后,能长期
3、保存,不会因电源断电而丢失。 根据写入或擦除方式的不同,ROM可分为掩膜ROM、可编程ROM(PROM)、紫外线擦除可编程ROM(EPROM)、电擦除可编程ROM(EEPROM或E2PROM)和快擦写型存储器(Flash Memory)。 第7章 MCS-51单片机系统的扩展5(1)掩膜ROM 它是由生产厂家用掩膜工艺来写入信息的,用户不能再作更改。掩膜ROM集成度高,成本低,适合用于大批量生产的产品中。(2)可编程ROM(PROM) PROM芯片在出厂前未写入信息,用户使用时可根据要求自行写入信息(即编程)。编程是在专用的编程器上进行的。一旦编程后,芯片内容不能再作更改。(3)紫外线擦除可编
4、程ROM(EPROM) EPROM是用户用编程器写入信息的,其内容可以更改。当需要更改时,先将芯片放在专用擦除器中,在紫外线照射下使其MOS电路复位,原来信息被擦除,然后重新编程。EPROM能反复多次使用。它广泛应用于各种微机系统中。 第7章 MCS-51单片机系统的扩展6(4)电擦除可编程ROM(E2PROM) E2PROM在使用特性上与EPROM的区别是采用电的方法擦除。(5)快擦写型存储器(Flash Memory) 快擦写型存储器是一种新型的可擦除、非易失性存储器。 第7章 MCS-51单片机系统的扩展72.随机存取存储器(RAM) 这类存储器在计算机运行时可以随时读出或写入信息,故又
5、称为读写存储器。 RAM现多采用MOS型器件构成。根据其基本存储电路的结构和特性,分为静态RAM(SRAM Startic RAM)和动态RAM(DRAM Dynamic RAM)两大类。 第7章 MCS-51单片机系统的扩展8(1)静态RAM(SRAM) 静态RAM的基本存储单元是MOS双稳态触发器。一个触发器可以存储一位二进制信息。SRAM能可靠地保持所存信息,不需要刷新操作;只要电源不掉电,信息是不会丢失的。(2)动态RAM(DRAM) 动态RAM利用MOS管的栅极和源极之间的极间电容来保存信息。由于栅源极间电容的电荷量会逐渐泄漏,因此一般要求2ms左右就要对所存的信息全部刷新一遍。动态
6、RAM需要加有专门的刷新电路。 DRAM芯片具有集成度高、功耗小、价格低的特点,但有关电路较复杂,广泛用于存储容量较大的微机系统。 第7章 MCS-51单片机系统的扩展9(3)集成RAM(iRAM) 集成RAM(iRAM Integrated RAM),由于它自带刷新逻辑电路,因而简化了与微处理器的连接电路,使用它和使用SRAM一样方便。(4)非易失性RAM(NVRAM) 非易失性RAM(NVRAM Non-Volatile RAM),其存储体由SRAM和E2PROM两部分组合而成。正在读写时,SRAM工作。当要保存信息时(如电源掉电),控制电路将SRAM的内容复制到E2PROM中保存。存入E
7、2PROM中的信息又能恢复到SRAM中。 NVRAM既有随机存取,又具有非易失性,适合用于需要掉电保护的场合。目前芯片容量还不能做得很大,另外由于E2PROM的擦写次数有限,因而影响了NVRAM的使用寿命。 第7章 MCS-51单片机系统的扩展107.1.2 MCS-517.1.2 MCS-51存储器扩展系统的组成存储器扩展系统的组成 单片机内部集成了计算机的基本功能部件,因而一块单片机(如8051/8751)往往就是一个最小微机系统。MCS-51系列单片机具有很强的系统扩展能力,可以扩展64KB的程序存储器和64KB的数据存储器或输入/输出接口。 用单片机组成应用系统时,首先应该考虑单片机所
8、具有的各种功能是否满足应用系统的需要,如果满足需要,则称这样的系统为最小系统,对于片内没有ROM(或EPROM)的单片机例如8031,其最小系统应包括外接扩展的程序存储器芯片。 单片机系统有三种总线:数据总线、地址总线、控制总线,系统中的所有部件均以一定方式通过三总线连接在一起,构成计算机系统。下面对各总线简单说明。 第7章 MCS-51单片机系统的扩展11 1.地址总线(AB) 由P2口提供高8位地址线,P2口具有输出锁存功能,能保留地址信息。由P0口提供低8位地址线。由于P0口是地址、数据分时使用的通道口,为了保存地址信息,需外加地址锁存器锁存低8位地址信息。一般采用ALE正脉冲信号的下降
9、沿控制锁存低8位地址信 2.数据总线(DB) 由P0口提供。P0口是双向、输入三态控制的通道. 3.控制总线(CB) 扩展系统时常用的控制信号为地址锁存信号ALE,片外程序存储器取指信号 以及数据存储器RAM和外围接口共用的读写控制信号、等。如图7-1所示为MCS-51 单片机的总线结构图。 第7章 MCS-51单片机系统的扩展12图7-1 MCS-51单片机的总线结构图 第7章 MCS-51单片机系统的扩展137.1.3 7.1.3 片选方式和地址分配片选方式和地址分配 存储系统常需要使用多个存储器芯片来扩充容量,也就是需要扩充存储器的地址范围,在进行“地址扩充”。利用存储器芯片的片选端对多
10、个存储器芯片(组)进行寻址,从而选择对应地址范围的存储器芯片。这个过程就是片选方式。 产生片选信号的方式不同,存储器的地址分配也不同。片选方式有线选方式和译码方式两种。 第7章 MCS-51单片机系统的扩展14 1. 线选方式(一维地址译码) 所谓线选法,就是直接以系统的地址作为存储芯片的片选信号,为此只需把高位地址线与存储器芯片的片选信号直接连接即可。其特点是简单明了,不需增加另外电路。缺点是各存储器芯片之间的地址可能不连续。这种片选方式适用于小规模单片机系统的存储器扩展。 第7章 MCS-51单片机系统的扩展15 例7.1 现使用4片存储容量为2KB存储器芯片,扩展成为8KB的存储器,存储
11、器结构采用线选法进行扩展。从附录C图2-24和图2-26中可知对于2K的存储器无论是SRAM型的6116或是EPROM型的2716,其引脚中的地址线都为A0A10共11根地址线和1根片选CE信号线。这时采用线选方式扩展存储器与8031的连接如图7-2所示。每个存储器芯片的地址范围就由A10A0提供的片内地址和A14A11提供的片选信号组合而成。CE 第7章 MCS-51单片机系统的扩展16图7-2 用线选方式实现片选 第7章 MCS-51单片机系统的扩展17 第7章 MCS-51单片机系统的扩展182. 译码方式 所谓译码法就是使用译码器对系统的高位地址进行译码,以其译码输出作为存储芯片的片选
12、信号。这是一种最常用的存储器编址方法,能有效地利用空间,其特点是各存储器芯片之间的地址连续,既存储空间连续,这种片选方式适于多存储芯片构成大容量存储器的扩展。 常用的译码芯片有:74LS138(3-8译码器)和74LS139(双2-4译码器)。如图7-3和7-4所示。 第7章 MCS-51单片机系统的扩展19 例7.2同例7.1一样,现有4片2KB的存储器芯片,需扩展为8KB的存储器。但采用译码法进行扩展。 扩展连线图如图7-5所示。P2.3、P2.4作为“2-4”译码器译码地址,译码输出作为扩展4个存储器芯片的片选信号,P2.5、P2.6、P2.7悬空。 第7章 MCS-51单片机系统的扩展
13、20图7-5 采用译码器扩展8KB存储器连线图 第7章 MCS-51单片机系统的扩展21表7-4 总线与CPU连接 第7章 MCS-51单片机系统的扩展22四个芯片的地址分配如表7-5所示。 第7章 MCS-51单片机系统的扩展237.1.4 7.1.4 存储器系统设计要点存储器系统设计要点 存储器系统设计时,其主要考虑的内容和设计步骤如下: 1. 确定存储器的类型和容量 根据存储器的功能要求来确定存储器的大类,如存储固定信息采用ROM,存储随机读写信息采用RAM,然后再进一步选定具体类型。根据程序量和数据量来确定存储器的容量,要留一定的余量。 2. 选择合适的存储器芯片 选择时主要考虑存取时
14、间、功耗等性能和货源、价格情况,一般从常用芯片中选定,并尽量减少芯片数量。 存储器的存取时间应满足CPU的操作时序要求。 第7章 MCS-51单片机系统的扩展24 存储器的功耗,对于几十KB以下的小容量存储系统来说是无关要紧的。如果存储容量达到几百KB,功耗大不仅增加供电电源的负担,而且会产生散热问题,这时就要选用功耗小的存储器芯片。 减少存储器芯片的数量,不仅可以降低对总线的负载要求,而且因为连线少,减少了分布电容,从而减小了附加延时,提高了存取速度。 3.分配存储器的地址空间 根据所用微处理器的寻址范围和系统要求,分配好ROM和RAM的地址空间,同时要兼顾I/O接口和外围设备所占用的地址。
15、 4.设计片选逻辑 首先确定片选信号的产生方式,然后设计其逻辑电路。 第7章 MCS-51单片机系统的扩展25 5.核算对系统总线的负载要求 微机的系统总线的负载能力是有限定的,一般按能带动几个标准TTL门来计算。如果考虑了存储器和其它负载以后,总负载超过了总线的负载能力,就要接入总线驱动器。 6.校验存储器的存取速度 根据存储器和微处理器资料提供的数据,将存储器的存取时间加上有关电路的延迟时间与微处理器的存储器读/写操作时序所要求的存取时间作比较,如果前者小于后者,存储器能正常工作;否则应采取调整措施,如改选存取速度更快的存储器芯片、降低微处理器的时钟频率、加等待电路延长微处理器的存储器读/
16、写操作时间等。实际上在进行这项校验工作时,通常是参考现有微机系统的情况作出判断。 第7章 MCS-51单片机系统的扩展267.2 7.2 程序存储器扩展程序存储器扩展 7.2.1 7.2.1 常用的程序存储器常用的程序存储器 MCS-51单片机的程序存储器的寻址空间为64K字节,其中8051、8751片内包含有4K字节的ROM或EPROM,8031内不带ROM。当片内ROM不够使用或采用8031芯片时,需要扩展程序存储器。常用的程序存储器芯片有EPROM、E2PROM和Flash ROM 。 第7章 MCS-51单片机系统的扩展27 1. EPROM 常用的紫外线擦除可编程只读存储器 EPRO
17、M芯片是Intel公司的系列产品,其品种有2716(2K8)、2732(4K8)、2764(8K8)、27128(16k8)、27256(32k8)、27512(64k8),其主要性能见表7-6。 第7章 MCS-51单片机系统的扩展28注:EPROM的读出时间按型号而定,一般在100300ns间,表中列出的为典型值。表7-6 EPROM芯片的主要性能 第7章 MCS-51单片机系统的扩展29 2E2PROM芯片 EPROM的优点是一个芯片可以多次擦写使用,其缺点是无论擦除或者写入都需要专用设备,即使是写错一个字节,也必须把芯片拨下来,全片擦掉之后重写,这给使用者带来很多麻烦。实际上,需要将整
18、片内容改写的情况比较少,大多数情况是要求以字节为单位进行改写。 常用E2PROM芯片有Intel公司产生的2816、2816A、2817、2817A和2864A等几种,其主要性能见表7-7,从表中数据可见,这些芯片的读出时间是较短的,擦除和写入时间还是比较长。型号不带“A”的是早期产品,其擦/写操作电压高于5V,而型号带“A”的改型芯片的擦/写操作电压为5V。 第7章 MCS-51单片机系统的扩展30表7-7 E2PROM主要性能 第7章 MCS-51单片机系统的扩展31 3闪速存储器(Flash Memory) AT29C256芯片的容量为32KB,引脚数量为28条,其引脚排列如图7-7所示
19、。图7-7AT29C256芯片引脚排列图 第7章 MCS-51单片机系统的扩展32主要引脚功能如下:A0A14:地址输入线I/O0I/O7:双向三态数据线;CE:片选信号输入线;OE:读选通信号输入线;WE:写允许信号输入线; 第7章 MCS-51单片机系统的扩展337.2.2 7.2.2 程序存储器的扩展程序存储器的扩展 1EPROM扩展 以扩展一片2764(8KB)为例说明EPROM的扩展。 (1)在读出方式下,电源电压5V,最大功能500mW,信号电平与TTL电平兼容,最大读出时间为250ns。 (2)推荐的擦除过程是在波长为0.1380nm的短波紫外光线下曝光,擦除的总曝光量不小于15
20、W.s/cm2。当使用功率为12mW/cm2的紫外线灯时,擦除时间约为1520min。写好的芯片其窗口应贴上一层不透光的胶纸,以防在强光照射下片内信息被破坏。 (3)芯片的工作方式。2764的各种工作方式见表7-7。 第7章 MCS-51单片机系统的扩展(4)2764工作方式说明: 读出方式 维持方式 编程方式 程序校验方式 禁止编程方式34 第7章 MCS-51单片机系统的扩展35PSENPSENPSENPSEN()程序存储器2764扩展的基本方法 连接图如图7-8所示。由图分析可知: 地址总线AB:地址线根数:由于8K = 213,所以地址线为13根 A0A12。其中低8位地址A0A7从P
21、0口(P0.0P0.7)输出,由于P0口是复用口,所以需要通过74LS373锁存。高5位地址A8A12直接从P2口(P2.0P2.4)输出。 数据总线DB:直接由P0口输出,即D0D7。 控制总线CB:与程序存储器有关的控制信号有地址锁存信号ALE和程序存储器读取信号PSEN。 第7章 MCS-51单片机系统的扩展36图7-8 2764与8031的连接扩展 第7章 MCS-51单片机系统的扩展37 存储器地址分析:分析存储器在存储空间中占据的地址范围,实际上就是根据连接情况确定其最低地址和最高地址。 由于P2.7、P2.6、P2.5的状态与2764芯片的寻址无关,所以P2.7、P2.6、P2.
22、5可为任意值。从000111共有8种组合,如果A15A14A13值是000,则2764芯片的地址范围是:0000H1FFFH,共占用了8KB的存储空间。 第7章 MCS-51单片机系统的扩展38 2E2PROM扩展 E2PROM的扩展方法和地址分析与EPROM相同。在此仅举例说明。 例7.3 现假设对2817A中nnH个连续字节的内容进行改写,改写字节的起始地址为addr,要写入的新数据的起始存放地址为BUF。这段改写程序如下: 第7章 MCS-51单片机系统的扩展39START: MOV R0,nnH ;改写字节数送R0 MOV DPTR,BUF ;数据起始地址送DPTR MOV P2,ad
23、drH ;改写字节起始地址高位送P2口 MOV R1,addrL ;改写字节起始地址低位送R1LOOP: MOV A,0FFH ;全1送A MOVX R1,A ;字节擦 ACALL D15MS ;延时15ms MOVX A,DPTR ;取数据 MOVX R1,A ;字节写入 ACALL D15MS ;延时15ms INC R1 ;指向下一个改写字节 CJNE R1,00H,LOOP1;低8位地址满了吗? INC P2 ;若满,高8位地址加上LOOP1: DJNZ R0,LOOP ;nnH个字节完否,未完继续BUF: DB ;要写入的数据,共nnH个字节D15MS: ;15ms延时程序 第7章
24、MCS-51单片机系统的扩展40 3闪速存储器及其扩展(Flash Memory) 选用存储容量为32KB的闪速存储器AT29C256芯片与80C51连接,扩展程序存储器。如图7-9所示。80C51单片机的和相“与”后与AT29C256芯片的端相连,和相连,这样的连接可实现对AT29C256芯片读写信号的选通。以上扩展的方法与数据存储器的扩展方法相同,单片机访问它时,也使用MOVX指令。 第7章 MCS-51单片机系统的扩展41注注:存储器地址分析 分析存储器在存储空间中占据的地址范围方法同EPROM。图7-9 80C51单片机与AT29C256芯片的接口电路 第7章 MCS-51单片机系统的
25、扩展42 4外部程序存储器的扩展要点 (1)对于无片内ROM的8031单片机来说,EA端应固定接低电平,外部程序存储器的地址空间为64K字节,即0000HFFFFH。 (2)由于P0口兼用作低8位地址线和数据线,为了锁存低8位地址信号,P0口必须接锁存器。 (3)根据上述外部程序存储器的读周期时序,可以用ALE信号作为地址锁存器的选通信号,用PSEN作为外部程序存储器的选通信号。 (4)单片机应用系统中的程序存储器大多使用EPROM,近年来也逐渐采用E2PROM和Flash Memory。 第7章 MCS-51单片机系统的扩展437.3 7.3 数据存储器扩展数据存储器扩展7.3.1 常用的数
26、据存储器 MCS-51单片机中的8051、8031和8751片内含有128B的数据存储器。但在实时数据采集和处理的MCS-51应用系统中,仅片内提供的数据存储器往往不够用,这就需要常常在片外适当地扩展数据存储器。常用的数据存储器有静态RAM(SRAM)动态RAM(DRAM)和E2PROM,其中E2PROM前面已作过介绍,下面介绍SRAM和DRAM。常用的SRAM芯片是Intel公司的系列产品:6116、6264、62256等,其主要性能见表7-10。6264的引脚排列如图7-10所示。 第7章 MCS-51单片机系统的扩展447.3.2 7.3.2 数据存储器的扩展数据存储器的扩展 1. 80
27、31 1. 8031单片机数据存储器的扩展单片机数据存储器的扩展 扩展一片6264(8KB)SRAM,如图7-11所示。 第7章 MCS-51单片机系统的扩展45图7-11 8031扩展一片6264作为外部数据存储器的连接图 第7章 MCS-51单片机系统的扩展46 2. 2.外部数据存储器的扩展要点外部数据存储器的扩展要点 (1) MCS-51单片机的外部数据存储器的地址空间为64K字节,地址范围从0000HFFFFH,与程序存储器的空间完全重叠,但因各自使用不同的指令和控制信号,因而是严格分开的。 (2)扩展外部数据存储器仍然需要在P0口连接地址锁存器,以锁存低8位地址信号。 (3)从图7
28、-11可见,在外部数据存储器读/写周期中,信号无效,代之以或信号有效,因此应将和信号作为外部数据存储器的读/写控制信号。 (4)外部数据存储器的扩展芯片大多采用SRAM,根据需要也可采用E2PROM或其它RAM芯片。 第7章 MCS-51单片机系统的扩展477.3.3 7.3.3 多片存储器的扩展多片存储器的扩展多片存储器的扩展,包括多片程序存储器、多片数据存储器和程序数据存储器的混合扩展。如图7-12就是扩展一片RAM6264和一片EPROM2764的连接图。 第7章 MCS-51单片机系统的扩展48它们的地址分配如下: 6264:0000H1FFFH 2764:8000H9FFFH图7-1
29、2 同时扩展程序和数据存储器 第7章 MCS-51单片机系统的扩展497.4 7.4 并行并行I/OI/O接口的扩展接口的扩展 MCS-51系列单片机内部有4个双向的并行I/O端口P0P3,共占32根引脚。有关4个端口的结构、功能及驱动能力等详细说明,在前面的有关章节中已作介绍,这里不再赘述。 在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。在具有片外扩展存储器的系统中, P0口分时地作为低8位地址线和数据线,P2口作为高8位地址线,这时,P0口和P2口无法再作通用I/O口了。P3口具有第二功能,在应用系统中也常被使用。因此在大多数的应用系统中,真正能够提供给用户使用的
30、只有P1和部分P3口。 第7章 MCS-51单片机系统的扩展50 在51单片机中扩展的I/O口采用与片外数据存储器相同的寻址方法,所有扩展的I/O口,以及通过扩展I/O口连接的外设都与片外RAM统一编址,因此对片外I/O口的输入输出指令就是访问片外RAM的指令,即: MOVX DPTR,A MOVX Ri,A MOVX A,DPTR MOVX A,Ri 第7章 MCS-51单片机系统的扩展517.4.1 单片机I/O口的直接应用 并行I/O口的直接使用 MCS-51单片机有四个8位的双向I/O口,用户在使用时要注意它们特性上的差别。 第7章 MCS-51单片机系统的扩展52 例7.4 P1口的
31、低4位作为输入线接4个微动开关(开关合上接低电平),高4位作为输出线接4个发光二极管,用其高电平点亮。即P1.3P1.0的开关依次对应P1.7P1.4的发光二极管,哪个开关合上则其对应的灯点发光二极管。电路请读者自己画出。程序如下: 第7章 MCS-51单片机系统的扩展53 ORG0000HMAIN:MOVP1,0FH ;置P1口低4位为输入,灭4个灯 MOVA ,P1 ;输入开关状态 CPLA SWAPA ;移入高4位 MOVP1, A ;点亮对应的发光二极管 ACALL DELAY LJMPMAIN END 第7章 MCS-51单片机系统的扩展547.4.2 简单的I/O口扩展 这种方法,
32、通常是采用TTL或CMOS电路锁存器、三态门等作为扩展芯片,通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。 1.扩展实例 如图7-13是一个采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。 第7章 MCS-51单片机系统的扩展55图7-13 简单I/O口扩展电路 第7章 MCS-51单片机系统的扩展56 4.编程应用 下述程序实现的功能是当按下任意键时对应的LED发光。CONT:MOV DPTR 0FEFFH ;数据指针指向口地址 MOVXA,DPTR ;检测按键,从244读入数据 MOVXDPTR,A ;向273输出数据,驱动LED A
33、CALL DELAY ;延时 SJMPCONT ;循环 第7章 MCS-51单片机系统的扩展577.4.3 采用8255扩展I/O口 所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。 8255和MCS-51相连,可以为外设提供3个8位的I/O端口,A口(PA口)、B口(PB口)和C口(PC口),三个端口的功能完全由编程来决定。 1.8255的内部结构和引脚排列 第7章 MCS-51单片机系统的扩展58 (a)8255的引脚排列 (b)8255的内部结构 图7-14 8255的引脚和内部结构图 第7章 MCS-51单片机
34、系统的扩展59(1)引脚)引脚 数据线(8条) D0D7为数据总线,用于传送CPU和8255之间的数据、命令和状态字。 控制线和寻址线(6条) RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。 RD和WR:读写信号线,输入,低电平有效。当RD为0时(WR必为1),所选的8255处于读状态,8255送出信息到CPU。反之亦然。 CS :片选线,输入,低电平有效。 第7章 MCS-51单片机系统的扩展60 A0、A1:地址输入线。当CS=0芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。
35、 I/O口线(24条) PA0PA7、PB0PB7、PC0PC7为24条双向三态I/O总线,分别对应PA口、PB口和PC口,用于8255和外设之间传送数据。 电源线(2条) Vcc为+5V,GND为地线。 第7章 MCS-51单片机系统的扩展61(2)内部结构)内部结构8255可编程接口由以下可编程接口由以下4个逻辑结构组成个逻辑结构组成: PA口、PB口和PC口 PA口、PB口和PC口均为8位I/O数据口,但结构上略有差别。 A、B组控制电路 这是两组根据CPU的命令字控制8255工作方式的电路。 数据缓冲器 这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。 读
36、写控制逻辑 这部分电路接收MCS-51送来的读写命令和选口地址,用于控制对8255的读写。 第7章 MCS-51单片机系统的扩展62 2. 8255的控制字 8255的三个端口具体工作在什么方式下,是通过CPU对控制口写入控制字来决定的。8255有两个控制字:方式选择控制字和PC口置位/复位控制字。用户通过程序把这两个控制字送到8255的控制寄存器(A0 A1=11)来选择其工作方式。这两个控制字以 D7来作为标志位。 (1)方式选择控制字 第7章 MCS-51单片机系统的扩展63 a) 方式选择控制字 b) C口置位/复位控制字图7-15 8255控制字的格式和定义 第7章 MCS-51单片
37、机系统的扩展64(2)C口置位/复位控制字 其格式和定义如图7-15b所示。C口具有位操作功能,把一个置/复位控制字送入8255的控制寄存器,就能将C口的某一位置“1”或清“0”而不影响其他位的状态。 第7章 MCS-51单片机系统的扩展65 3. 8255的工作方式 8255有3种工作方式:方式0、方式1、方式2。方式的选择是通过上述写控制字的方法来完成的。 (1 1)方式)方式0 0(基本输入/输出方式) PA口、PB口及PC口高4位、低4位都可以设置输入或输出,不需要选通信号。 (2 2)方式)方式1 1(选通输入/输出方式) PA口和PB口都可以独立的设置为方式1,在这种方式下,825
38、5的PA口和PB口通常用于传送和它们相连外设的I/O数据,C口作为PA口和PB口的握手联络线,以实现中断方式传送I/O数据。C口各位作为联络线的分配是Intel公司在设计8255时规定好的。分配表见表7-12 。 第7章 MCS-51单片机系统的扩展66表7-12 8255 C口联络信号分配表 第7章 MCS-51单片机系统的扩展67 (3) (3)方式方式2 2(双向数据传送方式) 只有PA口才能在方式2下工作,为双向选通输入/输出方式,即PA口既可输入数据又可输出数据。此时需要PC口的PC3PC7五位口线作为联络信号控制线,如表7-12所示。8255的方式2是为多机并行通信而设的。当PA口
39、工作在方式2时,PB口和PC口的低3位还可工作在方式0或方式1下。 第7章 MCS-51单片机系统的扩展68 4. 8255与MCS-51的接口 8255和单片机的接口十分简单,只需要一个8位的地址锁存器即可。锁存器用来锁存P0口输出的低8位地址信息。图7-16为8255扩展的接口电路。 (1)连线说明 数据线 控制线 寻址线 I/O口线 第7章 MCS-51单片机系统的扩展69图7-16 8051和8255的接口电路 第7章 MCS-51单片机系统的扩展70(2)地址确定根据上述接法,假设无关位根据上述接法,假设无关位中中P2.7P2.7取取“1”1”其余的都取其余的都取“0”0”,这样,这
40、样82558255的的PAPA、PBPB、PCPC口以及控制口的地址分别为口以及控制口的地址分别为8000H8000H、8001H8001H、8002H8002H和和8003H8003H。 第7章 MCS-51单片机系统的扩展71(3)程序设计举例 例7.7现以PA口作为输出口,接8个发光二极管LED,PB口作输入口,接8个按键开关,以LED的亮灭反映开关的闭合和断开状态。PC口未用。程序如下: ORG 0000H AJMP MAIN ORG0030HMAIN:MOV DPTR,8003H ;指向控制口 MOV A,10000010B;控制字为PA口输出,PB口输入 MOVX DPTR,A ;
41、写控制字 MOVDPTR,8001H ;指向B口 第7章 MCS-51单片机系统的扩展72 MOVX A,DPTR ;读取开关状态值 MOV 30H,A;送入片内30H单元 MOV A,30H ;读出,用于检查片内RAM工作的可靠性 MOV DPTR,8000H ;指向A口 MOVX A,DPTR ;输出显示 LCALL DELAY;调延时程序 LJMP MAINDELAY:MOV R3,0C0HLOOP: MOV R4,0F0H DJNZ R4,$ DJNZ R3,LOOP RET 第7章 MCS-51单片机系统的扩展73 58255方式1的应用 我们首先需要分析8255工作在方式1时PC口
42、各位作为联络线的分配情况。查看表7-12可知: STB为外设提供的输入选通信号。当外部设备准备好时,向8255发出该有效信号, 同时将数据输入锁存在PA口或PB口。 IBF为8255向外设输出的输入缓冲器满信号。当IBF=1时表示单片机还未读取锁存 在端口的数据,通知外设不应发送新数据。 INTR为8255向CPU发出的中断请求信号。当8255接受外设的新数据后,由低变高,IBF=1时,产生中断请求信号,向单片机发出中断请求,要求单片机读取PA口或PB口的数据。 第7章 MCS-51单片机系统的扩展74 方式1输出时,PA口使用PC3、PC6、PC7,PB口使用PC0、PC1、PC2,联络信号
43、的功能定义如下。 OBF为8255发给外设的输出缓冲器满信号。当单片机将数据输出到端口时, OBF有效(低电平),通知外设把数取走。 ACK为外设响应信号。是外设从端口取走数据,并处理完毕后发回的响应信号,告诉单片机可以发送下一个数据。 INTR为中断请求信号。若输出缓冲器空OBF=1,则该信号有效向单片机发出中断请求,要求发送下一个数据。 第7章 MCS-51单片机系统的扩展75 图7-17 工作方式1下8255芯片与单片机的连接 第7章 MCS-51单片机系统的扩展76 本章主要内容是介绍存储器的基本知识,讲述只读存储器ROM和随机存取存储器RAM与MCS-51单片机的连接方法,及其I/O接口的扩展。 (1)存储器的基本知识讲述了只读存储器和随机存取存储器的特点,用途和分类,存储器的组成及其地址空间的分配。 (2)程序存储器讲述了常用存储器芯片EPROM芯片和E2PROM芯片,以及它们的工作方式,MCS-51单片机的程序存储器的扩展方法。 (3)数据存储器讲述了常用的SRAM芯片及其工作方式,MCS-51单片机的数据存储器的扩展方法。 (4)I/O扩展讲述了IO接口的直接使用及简单扩展,讨论了8255的工作方式,MCS-51单片机与8255A的连接方法以及基本应用。 第7章 MCS-51单片机系统的扩展77返回首页返回首页
限制150内