1、第第9章章 单片机系统扩展及接口技术单片机系统扩展及接口技术n1、扩展三总线、扩展三总线n2、扩展程序存储器、扩展程序存储器n3、扩展数据存储器、扩展数据存储器n4、简单并行、简单并行I/O口的扩展口的扩展n5、扩展、扩展8155可编程外围并行接口芯片可编程外围并行接口芯片n6、扩展、扩展8255可编程外围并行接口芯片可编程外围并行接口芯片n7、用串行口扩展并行、用串行口扩展并行I/O口口9.1 系统扩展、接口概述系统扩展、接口概述1、系统扩展、系统扩展 MCS-51单片机虽然各功能部件齐全,但容量较小,单片机虽然各功能部件齐全,但容量较小,如:片内如:片内ROM、RAM、I/O口,不够用时需
2、要扩展,扩口,不够用时需要扩展,扩展三总线、展三总线、ROM、RAM、I/O口。口。2、系统接口、系统接口 单片机与外设连接因速度不匹配、信号类型不同(脉冲、单片机与外设连接因速度不匹配、信号类型不同(脉冲、模拟)、传输方式不同(串、并),需要有接口电路实现电模拟)、传输方式不同(串、并),需要有接口电路实现电路连接和逻辑联接。路连接和逻辑联接。接口是计算机与外设信息交换的桥梁。接口是计算机与外设信息交换的桥梁。3、接口电路应具备的功能、接口电路应具备的功能 (1)输入有缓冲、输出有锁存;输入有缓冲、输出有锁存;(2)有应答联络信号;)有应答联络信号;(3)有片选、控制信号;)有片选、控制信号
3、;(4)有编程选择工作方式功能。)有编程选择工作方式功能。9.1 系统扩展、接口概述系统扩展、接口概述4、单片机系统的扩展与接口原理结构(如下图)、单片机系统的扩展与接口原理结构(如下图)9.1 扩展三总线的产生扩展三总线的产生一、三总线一、三总线 地址、数据、控制总线地址、数据、控制总线二、三总线的扩展二、三总线的扩展 用用74LS373作为地址锁作为地址锁存器,使数据和地址信号存器,使数据和地址信号分开。分开。74LS373是三态是三态8D触发触发器。器。9.1 扩展三总线的产生扩展三总线的产生地址总线扩展电路及地址锁存器地址总线扩展电路及地址锁存器74LS3739.2 扩展程序存储器扩展
4、程序存储器 存储器采用半导体电路,与单片机具有相同的电路形存储器采用半导体电路,与单片机具有相同的电路形式和电平,工作速度和式和电平,工作速度和CPU基本匹配,因而单片机与存储基本匹配,因而单片机与存储器之间的连接比较简单。器之间的连接比较简单。8031片内无程序存储器,需要扩片内无程序存储器,需要扩展展ROM;8051/8751片内有片内有4kB ROM/EPROM,不够用时,不够用时也需要扩展。也需要扩展。一、访问程序存储器的控制信号一、访问程序存储器的控制信号 ALE-地址锁存信号地址锁存信号 PSEN-片外程序存储器读信号片外程序存储器读信号 EA-片内、外程序存储器访问选择信号片内、
5、外程序存储器访问选择信号二、操作时序二、操作时序9.2 扩展程序存储器扩展程序存储器n1、不执行、不执行“MOVX”指令时的时序指令时的时序9.2 扩展程序存储器扩展程序存储器12.2.1 扩展扩展8KB/16KB EPROM一、常用的程序存储器芯片一、常用的程序存储器芯片 EPROM-紫外线擦除的可编程只读存储器常用的芯片有:紫外线擦除的可编程只读存储器常用的芯片有:2764(8KB,13位位地地址址线线)、27128(16KB,14位位地地址址)、27256(32KB)、27512(64KB)9.2 扩展程序存储器扩展程序存储器9.2 扩展程序存储器扩展程序存储器二、扩展二、扩展8KB/1
6、6KB EPROM注意:控制信号:注意:控制信号:ALE、/PSEN;片选信号:片选信号:/CE;地址信号:地址信号:A0A12;数据信号线:数据信号线:O0O7.9.2 扩展程序存储器扩展程序存储器对于扩展的对于扩展的8KB的的2764的地址范围为(的地址范围为(13位地址线):位地址线):P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1地址范围为:地址范围为:00001FFF
7、HP2.6接片接片选信号选信号CE,为,为0有效。有效。P2.7、P2.5取取0对于扩展的对于扩展的16KB的的27128的地址范围为(的地址范围为(14位地址线):位地址线):P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1地址范围为:地址范围为:00003FFFHP2.6接接片选信号片选信号CE,为,为0有效。有效。P2.7取取09.2 扩展程序存储器扩展程序存储器
8、单单片片机机扩扩展展2716,2732,2764,27128等等EPROM的的方方法法类类似似,差差别别仅仅在在于于不不同同的的芯芯片片的的存存储储容容量量的的大大小小不不同同,因因而而使使用用高高8位地址的位地址的P2端口线的根数不同。端口线的根数不同。扩展扩展2716(2KB)需要需要A8A10 三条高位地址线;三条高位地址线;扩展扩展2732(4KB)需要需要A8A11 四条高位地址线;四条高位地址线;扩展扩展2764(8KB)需要需要A8A12 五条高位地址线;五条高位地址线;扩展扩展27128(16KB)需要需要A8A13 六条高位地址线;六条高位地址线;这是由于存储器其容量这是由于
9、存储器其容量=2N,N为地址线的根数。为地址线的根数。9.2 扩展程序存储器扩展程序存储器一一 地址线地址线n低低8位位地地址址:由由MCS-51 P0.0P0.7与与74LS373端端连连接接,ALE有有效效时时74LS373锁锁存该低存该低8位地址,并从位地址,并从Q0Q7输出,与输出,与EPROM芯片低芯片低8位地址位地址A0A7相连;相连;n高高位位位位地地址址:视视EPROM芯芯片片容容量量大大小小。2764需需5位位,P2.0P2.4与与2764的的A8A12相连,相连,27128需需6位,位,P2.0P2.5与与27128的的A8A13相连。相连。二二 数数据据线线:由由MCS-
10、51地地址址/数数据据复复用用总总线线P0.0P0.7直直接接与与EPROM数数据据总总线线D0D7相连。相连。三三 控制线控制线nALE:与与74LS373门控端门控端G相连,专用于锁存低相连,专用于锁存低8位地址;位地址;n片片选选端端:扩扩展展一一片片EPROM,一一般般不不用用片片选选,EPROM片片选选端端CE直直接接接接地地;多片扩展时,多片扩展时,采用线译码、部分译码和全译码方式实现采用线译码、部分译码和全译码方式实现;n输出允许:输出允许:EPROM的输出允许端的输出允许端OE与与MCS-51的的PSEN端相连;端相连;nEA:有有并并且且使使用用EPROM时时,EA接接Vcc
11、,无无内内ROM或或仅仅使使用用EPROM时时,EA接地。接地。9.2 扩展程序存储器扩展程序存储器 片片间间地地址址译译码码一一般般有有线线译译码码、部部分分译译码码和和全全译译码码等等方方法法。线线译译码码是是直直接接将将某某高高位位地地址址线线接接某某存存储储芯芯片片片片选选端端,该该地地址址线线信信号号为为1时时选选中中所所选选芯芯片片,然然后后再再由由低低位位地地址址对对该该芯芯片片进进行行片片内内寻寻址址。线线译译码码无无需需外外加加逻逻辑辑电电路路,线线路路简简单单,但但不不能能充充分分利利用用系系统统的的存存储储空空间间,可可用用于于小小型型系系统统或或芯片较少时。芯片较少时。
12、全全译译码码是是除除了了地地址址总总线线中中参参与与片片内内寻寻址址的的低低位位地地址址线线外外,其其余余所所有有高高位位地地址址线线全全部部参参与与片片间间地地址址译译码码。全全译译码码法法不不会会产产生生地地址址码码重重叠叠的的存存储区域,对译码电路要求较高。储区域,对译码电路要求较高。部部分分译译码码是是线线选选法法和和全全译译码码相相结结合合的的方方法法,即即利利用用高高位位地地址址线线译译码码产产生生片片选选信信号号时时,有有的的地地址址线线未未参参与与译译码码。这这些些空空闲闲地地址址线线在在需需要要时时还还可以对其他芯片进行线选。部分译码会产生地址码重叠的存储区域。可以对其他芯片
13、进行线选。部分译码会产生地址码重叠的存储区域。9.2 扩展程序存储器扩展程序存储器 9.2 扩展程序存储器扩展程序存储器下图给出了用4个27128芯片构成一个64K存储器系统的连接方法 9.2 扩展程序存储器扩展程序存储器。9.2 扩展程序存储器扩展程序存储器 9.2 扩展程序存储器扩展程序存储器。9.2 扩展程序存储器扩展程序存储器 电电可可擦擦除除只只读读存存储储器器E2PROM即即可可像像EPROM那那样样长长期期非非易易失失地地保保存存信信息息,又又可可像像RAM那那样样随随时时通通电电改改写写,在在单单一一的的+5V电电压压下下写写入入的的新新数数据据即即覆覆盖盖了了旧旧数数据据。特
14、特别别是是近近年年来来出出现现的的FLASH E2PROM,它它们们被被广广泛泛地地用用作作单单片片机机的的程程序序存存储储器器和和数数据存储器。据存储器。目前,常用的目前,常用的E2PROM有如下共同特点:有如下共同特点:n单单+5V供电,电可擦除可改写;供电,电可擦除可改写;n使用次数为使用次数为1万次,信息保存时间为万次,信息保存时间为10年;年;n读出时间为读出时间为ns级,写入时间为级,写入时间为ms级;级;n芯片引脚信号与相应的芯片引脚信号与相应的RAM和和EPROM芯片兼容芯片兼容。9.2 扩展程序存储器扩展程序存储器 E2PROM的扩展方法的扩展方法n地址线、数据线仍按单片机一
15、般扩展外地址线、数据线仍按单片机一般扩展外ROM的方式连接;的方式连接;n片选线一般由单片机高位地址线控制;片选线一般由单片机高位地址线控制;n将将E2PROM用用作作外外程程序序存存储储器器时时,单单片片机机PSEN与与E2PROM OE端端相相连连。由由单单片片机机的的PSEN控控制制E2PROM的的读读出出(输输出出允允许许OE);n将将E2PROM当当作作外外数数据据存存储储器器时时,因因需需要要对对E2PROM进进行行在在线线擦擦写写,因因此此单单片片机机的的WR与与E2PROM WE端端相相连连,RD与与OE相相连连,此此时时应应使使用用MOVX指指令令,且且应应注注意意E2PRO
16、M的的地地址址范范围与外围与外RAM不能重复重迭,否则出错。不能重复重迭,否则出错。9.2 扩展程序存储器扩展程序存储器9.2 扩展程序存储器扩展程序存储器注意:注意:将将E2PROM同时用作外同时用作外ROM和外和外RAMn用作外用作外ROM时,执行时,执行MOVC指令,读选通由指令,读选通由PSEN控制;控制;n用用作作外外RAM时时,执执行行MOVX指指令令,读读选选通通由由RD控控制制,写写选选通由通由WR控制;控制;n读读E2PROM时,速度与时,速度与EPROM相当,完全满足相当,完全满足CPU要求;要求;n写写E2PROM时时,速速度度很很慢慢,因因此此,不不能能将将E2PROM
17、当当作作一一般般RAM使使用用,每每写写入入一一个个(页页)字字节节,要要延延时时10ms以以上上,使使用用时时应予以注意。应予以注意。9.2 扩展程序存储器扩展程序存储器例例:如如右右图图,将将2864的的1000H为为首首地地址址的的16个个数数据据读读出出取取反反后后写入原存储单元。写入原存储单元。编程:编程:MOV R2,#10H MOV DPTR,#7000HLOOP:MOVX A,DPTR CPL A MOVX DPTR,A INC DPTR DJNZ R2,LOOP SJMP$9.3 扩展数据存储器扩展数据存储器 单单片片机机片片内内数数据据存存储储器器小小,仅仅128B,往往往
18、往需需要要扩扩展展。数数据据存存储储器器扩扩展展与与程程序序存存储储器器扩扩展展基基本本相相同同,只只是是数数据据存存储储器器控控制制信信号号一一般般有有输输出出允允许许信信号号OE和和写写控控制制信信号号WE,分分别别与与单单片片机机的的读读控控制制信信号号RD和和写写控控制制信信号号WR相相连连,其其它它信信号号线线的的连连接接与与程程序序存存储器完全相同。储器完全相同。12.3.1 常用的数据存储器芯片简介常用的数据存储器芯片简介 常用的数据存储器芯片有常用的数据存储器芯片有RAM、E2PROM。一、静态一、静态RAM(SRAM)芯片)芯片 常常用用的的有有:6116(2KB)、6264
19、(8KB,13位位地址线)、地址线)、62256(32KB,15位地址线)等。位地址线)等。9.3 扩展数据存储器扩展数据存储器n常用的静态常用的静态RAM芯片引脚如下图芯片引脚如下图:9.3 扩展数据存储器扩展数据存储器二、二、E2PROM E2PROM-电擦除的可编程电擦除的可编程只读存储器。只读存储器。常用的常用的E2PROM有有2816(2KB)、)、2817(2KB)、)、2864A(8KB)。)。E2PROM的特点:的特点:1、单、单5v电源擦写;电源擦写;2、可重复写、可重复写1万次,保留万次,保留20年;年;3、与相同容量的、与相同容量的RAM和和 EPROM在引脚上兼容;在引
20、脚上兼容;4、速度:读、速度:读200ns、写、写20ms左右。左右。E2PROM即可作为即可作为RAM使用,使用,也可作为也可作为ROM使用使用。9.3 扩展数据存储器扩展数据存储器9.3.2 访问片外访问片外RAM的操作时序的操作时序 1、片外、片外RAM读时序读时序9.3 扩展数据存储器扩展数据存储器n2、片外、片外RAM写时序写时序9.3 扩展数据存储器扩展数据存储器9.3.3 8051扩展扩展2KB RAM 扩展方法:扩展方法:数据线:数据线:P0口接口接RAM的的D0D7地址线:地址线:P0口经地址锁存器后接口经地址锁存器后接RAM的的A0A7、P2口接口接RAM的的A8A10控制
21、线:控制线:RD接接RAM的的OE、WR接接RAM的的WE 8051扩展扩展2KB RAM电路如下页图所示。电路如下页图所示。9.3 扩展数据存储器扩展数据存储器9.3 扩展数据存储器扩展数据存储器对于扩展的对于扩展的2KB的的6116 的地址范围为(的地址范围为(11位地址线):位地址线):P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.01 1 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1P2.7、P2.6和和P2.5接接片片选信号选信号
22、CE,为为110有效有效。P2.4 、P2.3取取0或或1 地址范围为地址范围为4个重叠区域:个重叠区域:0B000H0B7FFH 0B800H0BFFFH 0C000H0C7FFH 0C800H0CFFFH9.3 扩展数据存储器扩展数据存储器数据总线数据总线DB D0D7地址总线高地址总线高7位位 A8A14片选线片选线 P2.7地址总线低地址总线低8位位 A0A79.3.4 8031/8051扩展扩展 EPROM 27256和和RAM 622569.3 扩展数据存储器扩展数据存储器 上上述述所所示示MCS-51单单片片机机扩扩展展系系统统(扩扩展展一一片片27256 和和一一片片62256
23、芯芯片片作作为为片片外外数数据据存存储储器器),设设变变量量放放在在27256芯芯片片的的31H单单元元,其其值值为为00H05H之之间间,要要求求编编写写查查表表程程序序,查出变量的立方值,并放入片外查出变量的立方值,并放入片外62256的的31H单元。单元。MAIN:MOV DPTR,#1031H MOVX A,DPTR ADD A,#06H MOVC A,A+PC MOV DPTR,#0031H MOVX DPTR,A SJMP$TAB:DB 0000H,0001H,00008H,0019H,0040H,007CH 9.3 扩展数据存储器扩展数据存储器 某某MCS-51单单片片机机系系统
24、统,拟拟扩扩展展三三片片6116 SDRAM芯芯片片作作为为数数据据存存储储器器,并并将将第第三三片片6116中中0130单单元元开开始始的的10个个数数据据连连续续存存放放到到第第四四片片0130单单元元开开始始的的10个个存存储储单单元元内内,试设计电路,并编写相应程序。试设计电路,并编写相应程序。9.4 简单并行简单并行I/O口的扩展口的扩展 MCS-51单单片片机机的的输输入入/输输出出接接口口是是单单片片机机与与外外围围设设备备交换信息的桥梁。交换信息的桥梁。I/O扩展也属于系统扩展的一部分扩展也属于系统扩展的一部分。虽虽然然MCS-51本本身身具具有有I/O接接口口,但但是是已已经
25、经被被系系统统总总线线(P0口口和和P2口口用用作作16位位地地址址总总线线和和8位位数数据据总总线线)占占用用了了一一部部分分,真真正正用用作作I/O接接口口线线已已不不多多,只只有有P1口口的的8位位线线和和P3口口的的某某些些位位线线可可作作为为输输入入/输输出出线线使使用用。鉴鉴于于MCS-51的的I/O资资源源有有限限,在在实实际际应应用用中中不不得得不不使使用用扩扩展展的的方方法法,以以增增加加I/O口的数量,强化口的数量,强化I/O的功能。的功能。9.4 简单并行简单并行I/O口的扩展口的扩展I/O接口:指单片机与外设间的接口:指单片机与外设间的I/O接口芯片。接口芯片。I/O端
26、端口口:简简称称I/O口口,常常指指I/O接接口口电电路路中中带带有有端端口口地地址址的的寄寄存存器器或或缓缓冲冲器器,单单片片机机通通过过端端口口地地址址就就可可以以对对端端口口中信息进行读写。中信息进行读写。一一个个外外设设通通常常需需要要一一个个I/O接接口口,但但一一个个I/O接接口口可可以以有有多多个个I/O端端口口,传传送送数数据据的的称称为为数数据据口口,传传送送命命令令的的称称为为命命令令口口,传传送送状状态态的的端端口口称称为为状状态态口口。当当然然,并并不不是是所有的外设都需要所有的外设都需要3种端口齐全的种端口齐全的I/O接口。接口。I/O端端口口的的编编址址实实际际上上
27、是是给给所所有有I/O接接口口的的端端口口编编址址,以便以便CPU通过端口地址和外设交换信息。通过端口地址和外设交换信息。9.4 简单并行简单并行I/O口的扩展口的扩展9.4.1 I/O接口的功能接口的功能 常常用用的的I/O端端口口编编址址有有两两种种方方式式:一一种种是是独独立立编编址址方方式式;另另一一种是统一编址方式。种是统一编址方式。n独独立立编编址址方方式式:I/O地地址址空空间间和和数数据据存存储储器器空空间间分分开开进进行行编编址址。要要求求有有专专门门针针对对这这两两种种地地址址空空间间的的各各自自的的读读写写操操作作指指令令,硬硬件件方面还要定义一些专用的控制信号引脚;方面
28、还要定义一些专用的控制信号引脚;n统统一一编编址址方方式式:I/O端端口口的的寄寄存存器器与与数数据据存存储储器器单单元元同同等等对对待待,统一进行编址。优点是不需要专门的,统一进行编址。优点是不需要专门的I/O指令;指令;MCS-51单单片片机机使使用用的的是是统统一一编编址址方方式式,即即I/O口口外外部部数数据据存存储储器器RAM是是统统一一编编址址的的,用用户户把把外外部部64KB的的数数据据存存储储器器RAM空空间间的的一一部部分分作作为为扩扩展展的的I/O接接口口的的地地址址空空间间,每每一一个个接接口口芯芯片片中中的的一一个个功功能能寄寄存存器器(端端口口)的的地地址址就就相相当
29、当于于一一个个RAM存存储储单单元元,CPU可可以以像像访访问问外外部部存存储储器器RAM那那样样访访问问I/O接接口口芯芯片片,对对其其功功能能寄寄存器进行读、写操作。存器进行读、写操作。9.4 简单并行简单并行I/O口的扩展口的扩展9.4.1 I/O接口的功能接口的功能 为为了了实实现现和和不不同同的的外外设设的的速速度度匹匹配配,I/O接接口口必必须须根根据据不不同同外外设设选选择择恰恰当当的的I/O数数据据传传送送方方式式。常常见见的的I/O数数据据传传送送的几种是:的几种是:n无无条条件件传传送送方方式式:类类似似于于单单片片机机和和外外部部数数据据存存储储器器之之间间的的数数据据传
30、传送送,比比较较简简单单。外外设设速速度度和和单单片片机机的的速速度度相相比比拟拟时时,采用无条件传送方式;采用无条件传送方式;n查查询询方方式式:查查询询方方式式下下,单单片片机机需需要要I/O接接口口为为外外设设提提供供状状态态和和数数据据两两个个端端口口,单单片片机机通通过过状状态态口口查查询询外外设设“准准备备好好”后后就就进进行行数数据据传传送送。优优点点是是通通用用性性好好,硬硬件件连连线线和和查查询程序简单,但效率不是很高;询程序简单,但效率不是很高;n中中断断传传送送方方式式:利利用用单单片片机机本本身身的的中中断断功功能能和和I/O接接口口的的中中断断功功能能来来实实现现I/
31、O数数据据的的传传送送。采采用用中中断断方方式式可可使使单单片片机和外设并行工作。机和外设并行工作。9.4 简单并行简单并行I/O口的扩展口的扩展 I/O接口的直接应用接口的直接应用 从从P1.0P1.3输输入入开开关关状状态态,再再经经P1.4P1.7输输出出去去驱驱动动发发光光二二极极管管,使使发发光光二二极极管管显显示示开开关的状态。关的状态。9.4 简单并行简单并行I/O口的扩展口的扩展程序如下:程序如下:ORG 0000H AJMP MAIN ORG 0030HMAIN:MOV P1,#0FFH ;熄灭发光二极管熄灭发光二极管 MOV A,P1 ;读入开关状态读入开关状态 SWAP
32、A ;A高低半字节交换高低半字节交换 MOV P1,A ;开关状态输出开关状态输出 AJMP MAIN END 9.4 简单并行简单并行I/O口的扩展口的扩展 常用的常用的I/O扩展方法包括:扩展方法包括:一一、简简单单I/O口口扩扩展展:采采用用TTL或或CMOS电电路路锁锁存存器器、三三态态门门等等作作 为为 扩扩 展展 芯芯 片片(74LS244、74LS245、74LS273、74LS373、74LS377等等),通过,通过P0口来实现扩展的一种方案。口来实现扩展的一种方案。简单的简单的I/O口扩展主要包括:口扩展主要包括:n缓冲器扩展输入口缓冲器扩展输入口(三态门:三态门:74LS2
33、44、74LS245等等)n锁存器扩展输出口锁存器扩展输出口(锁存器:锁存器:74LS273、74LS373、74LS377等等)二、专用可编程逻辑器件二、专用可编程逻辑器件 不不仅仅具具有有数数据据的的输输入入或或输输出出、具具有有选选通通端端,而而且且还还具具有有地地址址线线和和读读写写控控制制线线的的芯芯片片,他他们们一一般般具具有有片片内内的的状状态态字字寄寄存存器器、命命令令字字寄寄存存器器,允允许许通通过过软软件件编编程程来来改改变变它它的的接接口口功功能能或或状状态态。如如Intel公司的公司的8255、8155等。等。顾名思义,锁存器就是把当前的状态锁存起来,使CPU送出的数据
34、在接口电路的输出端保持一段时间锁存后状态不再发生变化,直到解除锁存。缓冲器,分输入缓冲器和输出缓冲器两种,前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据。9.4 简单并行简单并行I/O口的扩展口的扩展9.4.2 简单简单I/O接口的扩展方法接口的扩展方法 常用常用74LS244作输入接口芯片,起缓冲作用;用作输入接口芯片,起缓冲作用;用74LS273作输出接口作输出接口芯片,起锁存作用。芯片,起锁存作用。9.4 简单并行简单并行I/O口的扩展口的扩展扩展的输入输出口地址均为:扩展的输入输出口地址均为:P2.7 P2.6 P2.5 P2.4
35、 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0 除了除了P2.0以外均取以外均取1,则扩展的输入输出口地址写成,则扩展的输入输出口地址写成16进制数均为:进制数均为:FEFFH 上面电路的功能是:按下某键,对应的上面电路的功能是:按下某键,对应的LED发光。发光。其程序为:其程序为:MOV DPTR,#0FEFFHLP:MOVX A,DPTR MOVX DPTR,A SJMP LP9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片 芯芯片片是是一一多多功功能能的的可可编编程程外外围围接接口口芯芯片片
36、,内内部部资资源源有有256B的的RAM,2个个8位位的的I/O端端口口(A口口、B口口)、1个个6位位的的I/O口口(C口口)和和1个个14位位的的“减减1”定定时时/计计数数器器。8155有有40个个引引脚脚,采采用用双双列列直直插插封装。封装。8155和和单单片片机机的的接接口口非非常常简简单单,甚甚至至不不需需要要一一般般扩扩展展连连接接中中所所需需的的8D锁锁存存器器。目目前前被被广广泛泛应用,它是单片机系统最理想的扩展芯片。应用,它是单片机系统最理想的扩展芯片。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片9.5.1 8155的结构与引脚的结构与引脚9.5 扩
37、展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片1、地地址址/数数据据线线AD0AD7:低低8位位地地址址线线和和数数据据线线的的共共用用总总线线,常常和和单单片片机机的的PO口相连,用于分时传送地址、数据信息;口相连,用于分时传送地址、数据信息;2、I/O口口总总线线(22条条):PA0PA7、PB0PB7分分别别为为A、B口口线线,用用于于和和外外设设之之间间传传递递数数据据;PC0PC5为为C端端口口线线,即即可可与与外外设设传传送送数数据据,也也可可以以作作为为A、B口的控制联络线;口的控制联络线;3、控制总线、控制总线(8条条)nRESET:复复位位线线,与与单单片片机机的
38、的复复位位端端相相连连,复复位位后后,8155的的3个个端端口口都都为为输输入方式入方式。nRD,WR:读:读/写线,控制写线,控制8155的读、写操作。的读、写操作。nALE:地地址址锁锁存存线线:与与单单片片机机的的ALE端端相相连连,在在ALE的的下下降降沿沿将将P0口口输输出出的的低低8位位地地址址信信息息锁锁存存到到8155内内总总的的地地址址锁锁存存器器中中。因因此此,单单片片机机与与8155连连接接时,无需外接时,无需外接锁存器。锁存器。nCE:片选线片选线,低电平有效,低电平有效。nIO/M:RAM或或I/O口口的的选选择择线线。当当0时时,选选中中8155的的256B RAM
39、;当当1时时,选中选中8155片内片内3个个I/O端口及命令端口及命令/状态寄存器和定时状态寄存器和定时/计数器。计数器。nTIMERIN、TIMEOUT:定定时时/计计数数器器的的脉脉冲冲输输入入、输输出出线线。输输入入脉脉冲冲对对8155内内部部的的14位位定定时时/计计数数器器减减1;TIMEROUT为为输输出出线线,当当计计数数器器计计满满回回0时,时,8155从该线输出脉冲或方波,方波形状由计数器的工作方式决定。从该线输出脉冲或方波,方波形状由计数器的工作方式决定。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片一、作片外一、作片外 RAM使用使用 CE=0、IO
40、/M=0,8155只只能能作作片片外外RAM使使用用,共共256B。其其寻寻址址范范围围由由高高8位位地地址址控控制制,低低8位位选选择择RAM的的256个个存存储储单单元元,这这和和前前面面讲讲到到的的片片外外RAM扩扩展展时时完完全全相相同同。当当系系统统同同时时扩扩展展片片外外RAM芯芯片片时时,要要注注意意二二者者的的统统一一编编址址。对对这这256B RAM的操作使用片外的操作使用片外RAM的读的读/写指令写指令”MOVX”。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片二、作扩展二、作扩展I/O口使用口使用 当当 CE=0、IO/M=1,此此时时对对8155片
41、片内内3个个I/O端端口口以以及及命命令令/状状态态寄寄存存器器和和定定时时/计计数数器器进进行行操操作作。与与I/O端端口口和和计计数数器器使用有关的内部寄存器共有使用有关的内部寄存器共有6个,需要三位地址来区分。个,需要三位地址来区分。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片9.5.3 8155的寄存器(的寄存器(6个)个)9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片一、命令寄存器一、命令寄存器 地址:地址:*000B 芯芯片片8155 I/O口口的的工工作作方方式式是是通通过过对对8155的的命命令令寄寄存存器器写写入控制字来实现的。入
42、控制字来实现的。命命令令寄寄存存器器只只能能写写入入不不能能读读出出,也也即即是是说说,控控制制字字只只能能通过指令通过指令MOVX DPTR,A或或MOVX Ri,A写入命令寄存器。写入命令寄存器。8155控制字的格式如下图所示。控制字的格式如下图所示。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片二、状态寄存器二、状态寄存器 1、地址:、地址:*000B 2、格式及各位的意义、格式及各位的意义9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片三、三、PA寄存器寄存器 是是PA口引脚口
43、引脚PA0PA7的映射的映射 地址:地址:*001B四、四、PB寄存器寄存器 是是PB口引脚口引脚PB0PB7的映射的映射 地址:地址:*010B五、五、PC寄存器寄存器 是是PC口引脚口引脚PC0PC7的映射的映射 地址:地址:*011B9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片六、定时器六、定时器/计数器寄存器计数器寄存器 是是一一14位位计计数数器器,对对应应有有两两个个寄寄存存器器,最最高高两两位位设设定定输输出波形。出波形。1、地址:两个寄存器的地址分别为:、地址:两个寄存器的地址分别为:*100B2、寄存器格式、寄存器格式 *101B9.5 扩展扩展815
44、5可编程外围并行接口芯片可编程外围并行接口芯片M2M1的意义(决定输出波形):的意义(决定输出波形):9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片9.5.4 8155芯片的使用芯片的使用一、作片外一、作片外256B RAM用用 低低8位地址范围为:位地址范围为:00HFFH二、作扩展二、作扩展I/O口用口用 PA口、口、PB 口、口、PC 口口注意:工作方式、地址注意:工作方式、地址三、作定时器扩展用三、作定时器扩展用 一般先写计数常数,再写命令字一般先写计数常数,再写命令字。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片9.5.5 MCS-51与
45、与8155的接口及简单编程的接口及简单编程一、一、MCS-51与与8155的连接方法的连接方法n8155的具体地址的具体地址n 8155提供的提供的RAM和和I/O地址地址9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片P2.7=0P2.0=07E00H7EFFH7F00H7F01H7F02H7F04H7F05H7F03HP2.1P2.6均取均取1P2.7=0P2.0=19.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片二、二、8155的基本操作程序段的基本操作程序段 1、对、对8155中的中的RAM进行操作进行操作例例1 (1)向)向8155RAM中的中
46、的5FH单元写入数据单元写入数据32H;(2)从)从8155RAM中的中的98H单元读取数据。单元读取数据。程序段:程序段:(1)写数据:)写数据:MOV DPTR,#7E5FH MOV A,#32H MOVX DPTR,A(2)读数据:读数据:MOV DPTR,#7E98H MOVX A,DPTR9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片2、对、对8155中中的的I/O接口进行接口进行操作操作n基本基本I/O方式方式:无联络线或联络线由程序指定无联络线或联络线由程序指定n选通选通I/O方式:方式:分为选通输入方式和选通输出分为选通输入方式和选通输出方式。由方式。由P
47、C口的低三位作联络线使用,其余位作口的低三位作联络线使用,其余位作I/O口线;各个联络口线;各个联络线为:线为:INTR:中断请求中断请求输出输出标志。输出引脚,与标志。输出引脚,与MCS-51的中断的中断 引脚信号相连。引脚信号相连。IBF:输出引脚,缓冲器满信号:输出引脚,缓冲器满信号 STB:输入引脚,数据选通输入信号:输入引脚,数据选通输入信号 9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片 基基 本本 I/O 方方 式式 9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片 选选 通通 输输 入入 方方 式式 选选 通通 输输 入入 时时 序序
48、9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片 选选 通通 输输 出出 方方 式式 选选 通通 输输 出出 时时 序序 9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片例例 如如下下图图是是MCS-51单单片片机机扩扩展展8155与与打打印印机机接接口口的的电电路路。状状态态信信号号BUSY=1时时,打打印印机机工工作作忙忙,打打印印机机的的数数据据输输入入采采用用选选通通控控制制,当当STB引引脚脚出出现现负负跳跳变变时时数数据据被被打打入入到到打打印印机机,要求编写从片内要求编写从片内20H开始向打印机输出开始向打印机输出10个数据的程序。个数据的
49、程序。9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片例例 如如下下图图是是MCS-51单单片片机机扩扩展展8155与与打打印印机机接接口口的的电电路路。状状态态信信号号BUSY=1时时,打打印印机机工工作作忙忙,打打印印机机的的数数据据输输入入采采用用选选通通控控制制,当当STB引引脚脚出出现现负负跳跳变变时时数数据据被被打打入入到到打打印印机机,要要求求编写从内部编写从内部RAM 20H向打印机输出向打印机输出10个数据的程序。个数据的程序。MOV DPTR,#8000H MOV A,R1 MOV A,#05H MOVX DPTR,A MOVX DPTR,A INC R
50、1 MOV R1,#20H MOV DPTR,#8003H MOV R2,#10 MOV A,#00HL1:MOV DPTR,#8002H MOVX DPTR,A L2:MOVX A,DPTR MOV A,#01H JB ACC.0,L2 MOVX DPTR,A MOV DPTR,#8001H DJNZ R2,L1 9.5 扩展扩展8155可编程外围并行接口芯片可编程外围并行接口芯片例例 如如图图由由8155扩扩展展I/O口口组组成成的的显显示示电电路路。8155的的A口口作作为为扫扫描描口口,经经反反相相驱驱动动7545接接显显示示器器公公共共极极,B口口作作为为段段选选数数据据口口,经经同