1、 2022-7-2612022-7-262【基本知识点与要求【基本知识点与要求】(1)了解了解51系列单片机的数据总线、地址总线和控制总线构成。系列单片机的数据总线、地址总线和控制总线构成。(2)掌握掌握51系列单片机扩展程序和数据存储器的方法。系列单片机扩展程序和数据存储器的方法。(3)掌握掌握 51系列系列单片机扩展简单并行单片机扩展简单并行I/O接口和可编程并行接口和可编程并行I/O接口的方法。接口的方法。(4)了了解利用解利用51系列单片机串口进行并行系列单片机串口进行并行I/O接口扩展的方法。接口扩展的方法。【重点与难点【重点与难点】重点是重点是51系列单片机程序存储器和数据存储器的
2、扩展方法、可编系列单片机程序存储器和数据存储器的扩展方法、可编程程I/O接口的扩展方法。接口的扩展方法。难点是难点是51系列单片机系统扩展后的存储器和系列单片机系统扩展后的存储器和I/O端口地址确定和访问方法。端口地址确定和访问方法。单片机内部集成了单片机内部集成了CPU、ROM、RAM、I/O接口和定时器接口和定时器/计数器计数器等基本功能部件,在较为复杂的应用系统中资源显得不足,等基本功能部件,在较为复杂的应用系统中资源显得不足,需要扩展。需要扩展。首先介绍首先介绍程序和数据存储器的扩展方法程序和数据存储器的扩展方法;其次介绍简单并行;其次介绍简单并行I/O接接口和可编程口和可编程I/O接
3、口接口(8255A和和8155)的)的扩展方法扩展方法;然后介绍用;然后介绍用51系列系列单片机单片机串口扩展并行串口扩展并行I/O接口接口的扩展。的扩展。2022-7-2637.1.1 7.1.1 总线扩展总线扩展 紧凑型系统:紧凑型系统:如果只有如果只有P0口被用作第二功能,而口被用作第二功能,而P2口可以口可以用作第一功能,此时的单片机系统只扩展了部分的空间,称之;用作第一功能,此时的单片机系统只扩展了部分的空间,称之;大系统:大系统:51系列单片机系统中,如果系列单片机系统中,如果P0口和口和P2口全部用作口全部用作第二功能,即都作为总线口,这样的系统规模较大,称之;第二功能,即都作为
4、总线口,这样的系统规模较大,称之;一般单片机的片内都具有一定的资源,包括程序存储器、一般单片机的片内都具有一定的资源,包括程序存储器、数据存储器、数据存储器、I/O口等。但是片内资源有限,在一些复杂的应用口等。但是片内资源有限,在一些复杂的应用场合,通常需要进行系统扩展,场合,通常需要进行系统扩展,扩展的规模由应用系统的需求扩展的规模由应用系统的需求和单片机的内部资源所确定。和单片机的内部资源所确定。最小系统:最小系统:51系列单片机系统中,如果系列单片机系统中,如果P0口和口和P2口全部用口全部用作第一功能,即不作为总线口,这样的系统称之;作第一功能,即不作为总线口,这样的系统称之;2022
5、-7-264 三总线:三总线:把地址总线、数据总线和控制总线称为单片机的三把地址总线、数据总线和控制总线称为单片机的三总线,如图总线,如图7-1所示是以所示是以51系列单片机中的系列单片机中的AT89S51为例,所构成为例,所构成的三总线结构。的三总线结构。、这里主要讨论这里主要讨论大系统的扩展大系统的扩展,扩展时,扩展时51系列单片机的系列单片机的P0口口用作用作地址总线的低地址总线的低8位位(AB0AB7)和)和8位数据总线位数据总线(DB0DB7),P2口口用作用作地址总线的高地址总线的高8位位(AB8AB15),P3口口的的 和控制和控制线线 、ALE共同组成控制总线(共同组成控制总线
6、(CB)。)。RDWREAPSEN 51系列单片机系列单片机的的程序存储器和数据存储器是分开来编址的程序存储器和数据存储器是分开来编址的,由于可构成由于可构成16位地址线,所以位地址线,所以51系列单片机分别有系列单片机分别有64KB的程序的程序存储器和数据存储器空间。存储器和数据存储器空间。2022-7-2655151系列单片机的三总线结构示意图系列单片机的三总线结构示意图 2022-7-266片选的方法通常有线选法和译码法。片选的方法通常有线选法和译码法。1.线选法线选法 芯片都有片选信号端,只有片选信号有效,芯片才能被选中,芯片都有片选信号端,只有片选信号有效,芯片才能被选中,才能由单片
7、机来控制并操作。才能由单片机来控制并操作。所谓线选法所谓线选法就是用芯片地址线以外就是用芯片地址线以外的高位地址线作为扩展芯片的片选信号的选片方法,如图的高位地址线作为扩展芯片的片选信号的选片方法,如图a所示。所示。线选法的线选法的优点是优点是电路结构简单,不需要专门的逻辑电路,电路结构简单,不需要专门的逻辑电路,缺点是缺点是芯片占用的存储空间不紧凑,浪费了地址空间。适用于单片机外芯片占用的存储空间不紧凑,浪费了地址空间。适用于单片机外部扩展存储器芯片较少的情况。部扩展存储器芯片较少的情况。2.译码法译码法 译码法译码法就是采用译码器就是采用译码器(常用常用3-8或或2-4译码器译码器)对芯片
8、地址线对芯片地址线以外的高位地址线进行译码,译码输出作为存储器芯片的片选信以外的高位地址线进行译码,译码输出作为存储器芯片的片选信号的方法,如图号的方法,如图b所示。所示。采用译码法可以克服地址空间浪费的缺采用译码法可以克服地址空间浪费的缺点,但是需要增加译码器点,但是需要增加译码器。适用于扩展多块存储器芯片和。适用于扩展多块存储器芯片和I/O器件器件的应用系统。的应用系统。2022-7-2677.1.2 7.1.2 典型程序存储器芯片典型程序存储器芯片 单片机系统扩展的程序存储器常用的芯片是单片机系统扩展的程序存储器常用的芯片是Intel公司生产的公司生产的27*EPROM存储器系列和存储器
9、系列和28*EEPROM存储器系列。存储器系列。2022-7-268 27*系列存储器是紫外线擦除(窗口式)电可编程的只读系列存储器是紫外线擦除(窗口式)电可编程的只读存储器,是非易失性存储器。存储器,是非易失性存储器。28*系列是电擦除电可编程的只系列是电擦除电可编程的只读存储器,能在应用系统中进行在线改写,并能在断电情况下保读存储器,能在应用系统中进行在线改写,并能在断电情况下保存信息而不需要保护电源。存信息而不需要保护电源。1.常用的常用的27*EPROM存储器存储器 图示给出了图示给出了27512和和27128的引脚信息。的引脚信息。A0Ai:地址输入信号线,:地址输入信号线,i不大于
10、不大于15;O0O7:三态数据总线;三态数据总线;:选片信号输入线;:选片信号输入线;CE :读选通信号输入线;:读选通信号输入线;OE :编程脉冲信号输入线;:编程脉冲信号输入线;PGM VPP:编程电源输入,不同的:编程电源输入,不同的型号产品有不同的标准,有型号产品有不同的标准,有25V、21V、12.5V等几种;等几种;VCC:芯片供电电源为:芯片供电电源为+5V;GND:接地端;:接地端;2022-7-2692022-7-2610 2.28 2.28*EEPROM EEPROM存储器存储器 2022-7-26117.1.3 程序存储器扩展举例程序存储器扩展举例 A0Ai:地址输入信号
11、线,:地址输入信号线,i不大于不大于15;I/O0I/O7:双向三态数据总线;:双向三态数据总线;:写选通信号输入线;:写选通信号输入线;WE NC:空脚;:空脚;VCC:芯片供电电源为芯片供电电源为+5V;GND:接地端;:接地端;:选片信号输入线;:选片信号输入线;CE :读选通信号输入线;:读选通信号输入线;OE2022-7-2612 51系列单片机可扩展的片外程序存储器的最大容量为系列单片机可扩展的片外程序存储器的最大容量为64KB,地址为地址为0000HFFFFH。程序存储器扩展的关键是芯片的数据总线、。程序存储器扩展的关键是芯片的数据总线、地址总线、控制总线和片选线与单片机三总线的
12、连接问题。地址总线、控制总线和片选线与单片机三总线的连接问题。【例题【例题7-1】AT89S51扩展一片扩展一片27256,即,即32KB程序存储器,画程序存储器,画出逻辑电路图并确定芯片的地址。出逻辑电路图并确定芯片的地址。解:解:(1)数据线的连接数据线的连接 由于由于51系列单片机的数据总线是三态的,所以可以直接和系列单片机的数据总线是三态的,所以可以直接和27256的数据总线相连接。即的数据总线相连接。即AT89S51的数据总线的数据总线DB0DB7和和27256的数据总线的数据总线O0O7直接连接。直接连接。(2)地址线的连接地址线的连接 27256芯片是芯片是32KB8,32KB=
13、321024B=25210B=215B,因此,需要因此,需要15根地址线,即根地址线,即AB0AB14。由于单片机的。由于单片机的P0口是分口是分时复用口,既作低时复用口,既作低8位地址总线又作为数据总线用,所以低位地址总线又作为数据总线用,所以低8位地位地址信号需要加锁存器。址信号需要加锁存器。2022-7-2613 常用的地址锁存器有:常用的地址锁存器有:74373和和74573系列。经过锁存的低系列。经过锁存的低8位地址线和位地址线和27256芯片的低芯片的低8位地址线位地址线A0A7连接;单片机的高位连接;单片机的高位地址地址AB8AB14和和27256的的A8A14直接连接。直接连接
14、。(3)控制线的连接控制线的连接 27256有有两个控制信号两个控制信号,片选信号和读选通信号片选信号和读选通信号。本例中只扩。本例中只扩展一片展一片27256,采用线选法采用线选法比较简单,只需将比较简单,只需将27256未用到的单片未用到的单片机的高位地址线机的高位地址线AB15和和27256的的 片选信号连接即可;片选信号连接即可;27256的的读选通信号读选通信号 和和AT89S51的外部程序存储器读选通信号的外部程序存储器读选通信号 连接连接即可。其逻辑电路如图所示。即可。其逻辑电路如图所示。OECEPSEN (4)芯片地址的确定芯片地址的确定 图中程序存储器的地址范围可以按以下方式
15、确定:图中程序存储器的地址范围可以按以下方式确定:AB15和片和片选信号选信号 连接,要选中该芯片,连接,要选中该芯片,AB15必须为必须为0。CE2022-7-2614AB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 因此,存储器芯片因此,存储器芯片27256的地址范围为:的地址范围为:0000H7FFFH,共,共计计32KB存储容量。存储容量。查表访问时使用查表访问时使用MO
16、VC指令指令。2022-7-2615【例题【例题7-2】AT89S51扩展一片扩展一片2864A,即,即8KB程序存储器,画出程序存储器,画出逻辑电路图并确定芯片的地址。逻辑电路图并确定芯片的地址。解:解:(1)数据线的连接数据线的连接 AT89S51单片机的数据总线是三态的,可以直接和单片机的数据总线是三态的,可以直接和2864A的的双向三态数据总线相连接。即双向三态数据总线相连接。即AT89S51的数据总线的数据总线DB0DB7和和2864A的数据总线的数据总线I/O0I/O7直接连接。直接连接。(2)地址线的连接地址线的连接 2864A E2PROM是是8KB芯片芯片,8KB=81024
17、B=23210B=213B,因此,需要因此,需要13根地址线,即根地址线,即AB0AB12。AT89S51单片机的单片机的P0口口是分时复用口,既作低是分时复用口,既作低8位地址总线又作为数据总线用,所以低位地址总线又作为数据总线用,所以低8位地址信号需要加锁存器,经过锁存的低位地址信号需要加锁存器,经过锁存的低8位地址线和位地址线和2864A的低的低8位地址线位地址线A0A7连接;连接;AT89S51单片机高位地址单片机高位地址AB8AB12和和2864A的的A8A12直接连接。直接连接。2022-7-2616 (4)芯片地址的确定芯片地址的确定 图中程序存储器的地址范围可以按以下方式确定:
18、图中程序存储器的地址范围可以按以下方式确定:AB13和片和片选信号选信号 连接,要选中该芯片,连接,要选中该芯片,AB13必须为必须为0。CE (3)控制线的连接控制线的连接 2864A有三个控制信号,片选信号、读和写选通信号。本例中有三个控制信号,片选信号、读和写选通信号。本例中只扩展一片只扩展一片2864A,所以采用线选法,将,所以采用线选法,将2864A未用到的未用到的AT89S51单片机的高位地址信号线单片机的高位地址信号线AB13和和2864A的片选信号的片选信号 连接即可;连接即可;2864A的写选通信号的写选通信号 和单片机的和单片机的 相联,这样单片机可以向相联,这样单片机可以
19、向2864A写入数据;单片机的信号写入数据;单片机的信号 和和 信号相与后,再与信号相与后,再与2864A的读选通信号的读选通信号 联接。这种连接方式既可以读取联接。这种连接方式既可以读取2864A中中的指令信息,也可以读取数据信息。电路连接如图所示,这样的指令信息,也可以读取数据信息。电路连接如图所示,这样2864A既可以存储数据信息也可以存储程序。既可以存储数据信息也可以存储程序。CEOEPSENWERDWR2022-7-2617AB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 *0 0 0 0 0
20、0 0 0 0 0 0 0 0 0 *0 1 1 1 1 1 1 1 1 1 1 1 1 1其中其中“*”表示与表示与2864A引脚无关,值取引脚无关,值取0或或1(地址范围不是唯一的),(地址范围不是唯一的),通常取通常取0。因此,存储器芯片。因此,存储器芯片2864A的地址范围为:的地址范围为:0000H1FFFH,共,共计计8KB存储容量。存储容量。2022-7-26187.2.1 典型数据存储器芯片典型数据存储器芯片 常用的数据存储器有常用的数据存储器有62*系列静态随机读写存储器芯片,如系列静态随机读写存储器芯片,如6264(8K8)、)、62128(16K8)、)、62256(32
21、K8)等。图)等。图是是6264和和62256芯片的引脚图。引脚说明如下:芯片的引脚图。引脚说明如下:片外可扩展数据存储器的容量最大不超过片外可扩展数据存储器的容量最大不超过64KB,地址为,地址为0000H0FFFFH。其读和写由。其读和写由 和和 信号控制,而程序存储器由信号控制,而程序存储器由读选通信号读选通信号 控制。两者虽然地址空间相同,但是不会发生冲突。控制。两者虽然地址空间相同,但是不会发生冲突。数据存储器数据存储器(RAM)可分为)可分为动态存储器动态存储器(DRAM)和和静态存储器静态存储器(SRAM)。静态存储器存取速度快、使用方便、价格低,一旦掉电其。静态存储器存取速度快
22、、使用方便、价格低,一旦掉电其内部所有信息都会丢失;动态存储器需要定时刷新。单片机中主要内部所有信息都会丢失;动态存储器需要定时刷新。单片机中主要采用静态数据存储器。采用静态数据存储器。RDWRPSEN2022-7-2619 A0Ai:地址输入信号线,:地址输入信号线,i不大于不大于15;I/O0I/O7:三态数据总线:三态数据总线;:写选通信号输入线;:写选通信号输入线;:选片信号输入线;:选片信号输入线;VCC:芯片供电电源为:芯片供电电源为+5V;:读选通信号输入线;:读选通信号输入线;GND:接地端;:接地端;CEOEWE2022-7-2620【例题【例题7-3】AT89S51扩展一片
23、扩展一片62128数据存储器芯片,画出、数据存储器芯片,画出、逻辑电路图并确定芯片地址。逻辑电路图并确定芯片地址。解:解:(1)数据线的连接数据线的连接 51单片机的数据总线是三态的,可以直接和单片机的数据总线是三态的,可以直接和62128的数据总线的数据总线相连接。即相连接。即AT89S51的数据总线的数据总线D0D7和和62128的数据总线的数据总线I/O0I/O7直接连接。直接连接。(2)地址线的连接地址线的连接62128 SRAM是是16KB芯片,芯片,16KB=161024B=24210B=214B,因此,需要因此,需要14根地址线,即根地址线,即AB0AB13。AT89S51单片机
24、的单片机的P0口口是分时复用口,既作低是分时复用口,既作低8位地址总线又作为数据总线用,所以低位地址总线又作为数据总线用,所以低8位位地址信号需要加锁存器,经过锁存的低地址信号需要加锁存器,经过锁存的低8位地址线和位地址线和62128的低的低8位位地址线地址线A0A7连接;单片机的高位地址连接;单片机的高位地址AB8AB13可以和可以和62128的的A8A13直接连接。直接连接。2022-7-2621 (4)芯片地址的确定芯片地址的确定 AB14、AB15经过经过2-4译码器译码后,用译码器译码后,用Y0作为作为62128的片选的片选信号。因此,信号。因此,AB14 AB15必须为必须为00。
25、(3)控制线的连接控制线的连接 62128有三个控制信号,片选信号和读、写选通信号,本例中有三个控制信号,片选信号和读、写选通信号,本例中选用译码法,将选用译码法,将62128未用到的高位地址信号线未用到的高位地址信号线AB14、AB15经过经过2-4译码器译码后,将译码器译码后,将Y0和和62128的片选信号的片选信号 连接;连接;62128的读的读选通信号选通信号 、和和AT89S51的的 、对应连接。芯片与单片机对应连接。芯片与单片机的连接逻辑电路如图所示。的连接逻辑电路如图所示。CEOEWERDWRAB15 AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB
26、6 AB5 AB4 AB3 AB2 AB1 AB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 12022-7-2622扩展的扩展的16kB数据存储器,采用译码法,根据地址连线,知其地数据存储器,采用译码法,根据地址连线,知其地址范围为:址范围为:0000H3FFFH。访问外部数据存储器使用。访问外部数据存储器使用MOVX指令指令 2022-7-2623 接口接口是指计算机与外设之间在信息传送方面的通道,其功能是是指计算机与外设之间在信息传送方面的通道,其功能是通过电路实现的,因此称为通过电路实现的,因此称为接口电
27、路接口电路。在在接口电路中接口电路中通常通常包含数据寄存器、状态寄存器和控制命令寄包含数据寄存器、状态寄存器和控制命令寄存器。存器。数据寄存器保存输入输出数据,状态寄存器保存外设状态、数据寄存器保存输入输出数据,状态寄存器保存外设状态、控制命令寄存器保存来自控制命令寄存器保存来自CPU的有关数据传送的控制命令。数据传的有关数据传送的控制命令。数据传送过程中,送过程中,CPU需要对这些寄存器进行寻址,因此,需要对这些寄存器进行寻址,因此,把接口中这些把接口中这些已经编址并能进行读操作或者写操作的寄存器称之为已经编址并能进行读操作或者写操作的寄存器称之为端口(端口(PortPort),简称为口。简
28、称为口。一个接口电路中可能包括有多个端口,也就有多个端口地址一个接口电路中可能包括有多个端口,也就有多个端口地址。对端口编址主要是为了进行对端口编址主要是为了进行I/O操作,因此也称为操作,因此也称为I/O编址。编址。常用的常用的I/O编址方式编址方式有有独立编址独立编址和和统一编址统一编址。2022-7-2624 独立编制方式独立编制方式是是指指I/O地址空间地址空间和和存储器空间存储器空间相互独立相互独立;统统一编址一编址是指把系统中的是指把系统中的I/O空间空间和和存储器空间统一进行编址存储器空间统一进行编址。这。这样计算机把样计算机把接口中的寄存器与存储器中的存储单元接口中的寄存器与存
29、储器中的存储单元同等对待同等对待。I/O接口电路就是输入接口电路就是输入/输出接口电路的简称。单片机输出接口电路的简称。单片机扩展的扩展的I/O接口和片外数据存储器接口和片外数据存储器采用采用统一编址,统一编址,具有相同的寻址方法,访具有相同的寻址方法,访问片外问片外RAM的指令均适用于访问扩展的的指令均适用于访问扩展的I/O接口。接口。1.实现和不同外设的速度匹配实现和不同外设的速度匹配 大多数的外设的速度很慢,无法和计算机的速度相比。计算机大多数的外设的速度很慢,无法和计算机的速度相比。计算机只有在确认外设已为数据传送做好准备的前提下才能进行只有在确认外设已为数据传送做好准备的前提下才能进
30、行I/O操作。操作。若需要知道外设是否准备好,就需要若需要知道外设是否准备好,就需要I/O接口电路与外设之间传送接口电路与外设之间传送状态信息。状态信息。7.3.1 I/O7.3.1 I/O接口电路的功能接口电路的功能 2022-7-2625 2.2.输出数据锁存输出数据锁存 由于计算机工作速度快,数据在数据总线上保留的时间十分短由于计算机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。因此,暂,无法满足慢速外设的数据接收。因此,I/O电路应具有数据锁电路应具有数据锁存器,以保证接收设备接收数据。存器,以保证接收设备接收数据。3.3.输入数据三态缓冲输入数据三态缓冲
31、 当某输入设备向计算机输入数据时,数据总线上可能当某输入设备向计算机输入数据时,数据总线上可能“挂挂”接接多多个数据源,为了解决冲突,只允许当前正在进行数据传送的数据源个数据源,为了解决冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的数据源应处于高阻态以便和数据线隔离。使用数据总线,其余的数据源应处于高阻态以便和数据线隔离。4.4.解决计算机信号与外设信号的不一致解决计算机信号与外设信号的不一致 在多数应用中,计算机的信号和外设需要或提供的信号是不一在多数应用中,计算机的信号和外设需要或提供的信号是不一致的,如:计算机通常以并行的方式传送数据,而外设有时只能串致的,如:计算机通常以
32、并行的方式传送数据,而外设有时只能串行的接收或发送数据。这就需要接口电路来完成并行到串行或者串行的接收或发送数据。这就需要接口电路来完成并行到串行或者串行到并行数据的转换;计算机处理的是数字信号,而实际的物理量行到并行数据的转换;计算机处理的是数字信号,而实际的物理量多为模拟信号,此时就需要多为模拟信号,此时就需要A/D或或D/A转换接口实现模拟信号和数转换接口实现模拟信号和数字信号之间的转换。等等这些都需要不同的字信号之间的转换。等等这些都需要不同的I/O接口电路加以解决接口电路加以解决.2022-7-26267.3.2 7.3.2 简单并行简单并行I/OI/O接口扩展接口扩展 所谓所谓简单
33、简单I/OI/O接口接口,是指,是指不需要通过编程来改变其输入或输出不需要通过编程来改变其输入或输出性质的性质的I/O接口接口,通常采用,通常采用TTL电路或电路或CMOS电路锁存器、三态门电电路锁存器、三态门电路等作为简单路等作为简单I/O接口扩展芯片。如,接口扩展芯片。如,74LS373(8D锁存器)、锁存器)、74LS377(带使能的(带使能的8D触发器)、触发器)、74LS244(三态(三态8位缓冲驱动位缓冲驱动器)、器)、74LS245(8位双向总线收发器)、位双向总线收发器)、74LS273(8D触发器)触发器)等等。等等。74LS244具有两个四位的三态缓冲器,为选通信号,低电平
34、有具有两个四位的三态缓冲器,为选通信号,低电平有效。效。即:即:1或或 =1,输出端呈高阻状态;,输出端呈高阻状态;0且且 =0,输出端,输出端 (1Y1、1Y2、1Y3、1Y4、2Y1、2Y2、2Y3、2Y4)与对应输入端()与对应输入端(1A1、1A2、1A3、1A4、2A1、2A2、2A3、2A4)信号相同。)信号相同。1.1.简单输入接口扩展简单输入接口扩展 CE1CE2CE2CE1CE2CE1CE22022-7-26272022-7-2628 当当P2.4=0时,和外设时,和外设A相连的相连的74LS244即被选中,所以端口地即被选中,所以端口地址为址为0EFFFH,(,(“0”为有
35、效选通信号时,其余位与选通无关位均为有效选通信号时,其余位与选通无关位均取取“1”)。同理外设)。同理外设B、外设、外设C、外设、外设D端口地址分别为端口地址分别为0DFFFH、0BFFFH、7FFFH。2.2.简单输出接口扩展简单输出接口扩展 扩展简单输出接口使用扩展简单输出接口使用8D锁存器、触发器等即可实现。如用锁存器、触发器等即可实现。如用74LS377(带使能的(带使能的8D触发器)进行简单输出接口扩展。图是触发器)进行简单输出接口扩展。图是74LS377引脚图,表给出了引脚图,表给出了74LS377功能表,使用功能表,使用74LS377扩展简扩展简单输出接口的连接电路如图。单输出接
36、口的连接电路如图。2022-7-2629GCKD(输入端)(输入端)Q(输出端)(输出端)1XX不变不变0110000不变不变2022-7-2630 利用利用 的上升沿将的上升沿将P0口数据送入对应锁存器,从而输出数据。口数据送入对应锁存器,从而输出数据。图中外设图中外设A、B、C、D的口地址是的口地址是0EFFFH、0DFFFH、0BFFFH、7FFFH。完成访问的指令是使用。完成访问的指令是使用MOVX指令。指令。WR2022-7-26317.3.3 8255A7.3.3 8255A可编程并行可编程并行I/OI/O接口扩展接口扩展 8255A 8255A是是IntelIntel公司生产的可
37、编程并行公司生产的可编程并行I/OI/O接口芯片,有接口芯片,有3 3个个8 8位位的并行的并行I/OI/O端口:端口:A A口(口(PAPA口)、口)、B B口(口(PBPB口)、口)、C C口(口(PCPC口),口),3 3种种工作方式,可通过编程选择工作方式。工作方式,可通过编程选择工作方式。(1)8255A引脚功能引脚功能 A1、A0:端口地址输入线,用:端口地址输入线,用来选择来选择8255A内部的内部的4个端口寄存器。个端口寄存器。D7D0:三态双向数据线,与:三态双向数据线,与单片机数据总线连接。单片机数据总线连接。:片选信号线,低电平有效。:片选信号线,低电平有效。PA7PA0
38、:A口输入口输入/输出线。输出线。PB7PB0:B口输入口输入/输出线。输出线。PC7PC0:C口输入口输入/输出线。输出线。CS2022-7-2632 RESET:复位信号输入线,高电平有效,复位后,复位信号输入线,高电平有效,复位后,PA、PB、PC均置为输入方式。均置为输入方式。:读选通信号输入线,低电平有效。:读选通信号输入线,低电平有效。:写选通信号输入线,低电平有效。:写选通信号输入线,低电平有效。VCC、GND:电源电源+5V和接地端。和接地端。RDWR(2)8255A(2)8255A内部结构内部结构 8255A内部结构包括内部结构包括4个基本的组成部分:数据总线缓冲器、个基本的
39、组成部分:数据总线缓冲器、3个个8位并行位并行I/O端口、读写控制逻辑、端口、读写控制逻辑、A组和组和B组控制电路。组控制电路。端口端口A、B、C在功能和结构上稍有差异在功能和结构上稍有差异 PA口:口:8位数据输入位数据输入/输出端口或双向输入输出端口或双向输入/输出口,输入锁存,输出口,输入锁存,输出锁存输出锁存/缓冲。缓冲。PB口:口:8位数据输入位数据输入/输出端口,输入缓冲,输出锁存输出端口,输入缓冲,输出锁存/缓冲。缓冲。PC口:口:8位数据输入位数据输入/输出端口,输入缓冲,输出锁存输出端口,输入缓冲,输出锁存/缓冲。缓冲。PC口可分为两个口可分为两个4位端口。还可作为位端口。还
40、可作为PA口、口、PB口选通方式操口选通方式操作时的状态控制信号。作时的状态控制信号。2022-7-26332022-7-2634 A组和组和B组控制电路组控制电路 A组:由组:由PA口和口和PC口的上半部(口的上半部(PC7PC4)组成;)组成;B组:由组:由PB口和口和PC口的下半部(口的下半部(PC3PC0)组成,可根据)组成,可根据“命令字命令字”对对PC口按位置口按位置“1”或清或清“0”。数据总线缓冲器数据总线缓冲器 数据总线缓冲器是三态、双向数据总线缓冲器是三态、双向8位总线,它和单片机数据线相位总线,它和单片机数据线相连,传送数据、控制命令及外部状态信息。连,传送数据、控制命令
41、及外部状态信息。读读/写控制逻辑电路写控制逻辑电路 该电路接收来自该电路接收来自CPU的控制信号,包括:片选信号、读的控制信号,包括:片选信号、读/写信写信号、号、RESET、地址信号、地址信号A1、A0等。各端口的工作状态与控制信号、等。各端口的工作状态与控制信号、地址信号的关系如表所示地址信号的关系如表所示:2022-7-2635A1 A0 RD WR CS 工作状态 0 0 0 1 0 读端口 A:A 口数据?数据总线 0 1 0 1 0 读端口 B:B 口数据?数据总线 1 0 0 1 0 读端口 C:C 口数据?数据总线 0 0 1 0 0 写端口 A:总线数据?A 口 0 1 1
42、0 0 写端口 B:总线数据?B 口 1 0 1 0 0 写端口 C:总线数据?C 口 1 1 1 0 0 写控制字:总线数据?控制字寄存器 1 数据总线为三态 1 1 0 1 0 非法状态 1 1 0 数据总线为三态 2022-7-2636 8255A有三种工作方式:有三种工作方式:方式方式0:基本输入输出方式;:基本输入输出方式;方式方式1:选通输入输出方式(应答:选通输入输出方式(应答I/O方式);方式);方式方式2:双向数据传送方式(仅:双向数据传送方式(仅PA口有);口有);2.2.工作方式选择控制字及工作方式选择控制字及C C口按位置位口按位置位/复位控制字复位控制字 (1)工作方
43、式选择控制字工作方式选择控制字 2022-7-2637 PA口可工作于方式口可工作于方式0、1、和、和2,而,而PB口只能工作在方式口只能工作在方式0和和1。例如:写入工作方式控制字例如:写入工作方式控制字95H95H可将可将8255A8255A编程为:编程为:PAPA口方式口方式0 0输入,输入,PBPB口方式口方式1 1输出,输出,PCPC口的上半部分(口的上半部分(PC7PC7PC4PC4)输出,)输出,PCPC口的下半口的下半部分(部分(PC3PC3PC0PC0)输入。)输入。(2)PC(2)PC口按位置位口按位置位/复位控制字复位控制字 对对PC口口8位中的任一位进行置位中的任一位进
44、行置“1”或清或清“0”操作,用于位控。操作,用于位控。PC口控制字如图所示,其中,最高位口控制字如图所示,其中,最高位D7=0为为PC口按位置位口按位置位/复位复位控制字的标志位。控制字的标志位。D3D2D1选择端口选择端口C要进行置位要进行置位/复位的位。例如:复位的位。例如:控制字控制字07H写入控制口,写入控制口,PC3置置“1”;08H写入控制口,写入控制口,PC4清清“0”。2022-7-26383.8255A3.8255A的三种工作方式的三种工作方式 (1)方式方式0(基本输入基本输入/输出方式输出方式)微处理器可对微处理器可对8255A进行进行无条件数据传送,例如:从端无条件数
45、据传送,例如:从端口读入一组开关状态,向端口口读入一组开关状态,向端口输出数字量去控制一组指示灯输出数字量去控制一组指示灯的亮、灭。这样,不需要联络的亮、灭。这样,不需要联络信号,外设的信号,外设的I/O数据可在数据可在8255A的各端口得到锁存和缓冲。的各端口得到锁存和缓冲。2022-7-2639基本功能为:基本功能为:具有两个具有两个8位端口位端口(A、B)和两个和两个4位端口位端口(C上半部分和下半上半部分和下半部分部分)。任一个端口都可以设定为输入或输出,各端口的输入、输任一个端口都可以设定为输入或输出,各端口的输入、输出可构成出可构成16种组合。种组合。数据输出、输入锁存。数据输出、
46、输入锁存。(2)方式方式1(应答应答I/O方式方式)方式方式1是一种选通输入是一种选通输入/输出工作方式,也称为应答方式。在输出工作方式,也称为应答方式。在这种方式下,这种方式下,A口和口和B口通常用于口通常用于I/O数据传送(单向),数据传送(单向),C口的一口的一些位作为些位作为A口和口和B口的联络线、其余的线作为口的联络线、其余的线作为I/O线。以中断或者线。以中断或者查询方式传送数据。查询方式传送数据。方式方式1(输入)(输入)2022-7-2640 INTR(Interrupt Request):PC3(A口的联络信号口的联络信号)或或PC0(B口的联络信号口的联络信号),中断请求信
47、号,输出、高电平有效。由,中断请求信号,输出、高电平有效。由8255A输出可向单片机发中断请求。输出可向单片机发中断请求。INTEA(Interrupt Enable A):端口:端口A中断允许信号,可由中断允许信号,可由用户对用户对PC4的置位实现。的置位实现。在方式在方式1输入时,输入时,与与IBF构成了一对应答联络信号,各个控构成了一对应答联络信号,各个控制联络信号的功能如下:制联络信号的功能如下:(StroBe):PC4(A口的联络信号口的联络信号)或或PC2(B口的联络信口的联络信号号)。选通输入,是由输入外设送来的输入信号。选通输入,是由输入外设送来的输入信号。的下降沿将的下降沿将
48、端口数据线上的信息打入端口锁存器。端口数据线上的信息打入端口锁存器。IBF(Input Buffer Full):PC5(A口的联络信号口的联络信号)或或PC1(B口的联络信号口的联络信号),输入缓冲器满信号,输出至外设、高电平有效。,输入缓冲器满信号,输出至外设、高电平有效。有效时,表示数据已送入有效时,表示数据已送入8255A的输入锁存器。它由的输入锁存器。它由 信号的下信号的下降沿置位,当降沿置位,当CPU读取端口数据后,读取端口数据后,IBF变成低电平。变成低电平。STBSTBSTBSTB2022-7-2641 INTEB(Interrupt Enable B):端口:端口B中断允许信
49、号,可由中断允许信号,可由用户对用户对PC2的置位实现。的置位实现。数据输入过程:数据输入过程:当外设准备好数据输入后,发出信号当外设准备好数据输入后,发出信号STB,输入的数据送入输入的数据送入8255A端口输入缓冲器。然后,端口输入缓冲器。然后,IBF信号有效,输信号有效,输出给外设,阻止外设送入新的数据。若使用查询方式,则出给外设,阻止外设送入新的数据。若使用查询方式,则IBF作为作为状态信号供查询用;若使用中断方式,状态信号供查询用;若使用中断方式,IBF信号由低变高后,在信号由低变高后,在INTE有效的情况下,产生有效的情况下,产生INTR信号,向信号,向CPU申请中断(中断允申请中
50、断(中断允许的话。许的话。CPU相应中断后执行中断服务程序读入数据,清除中断相应中断后执行中断服务程序读入数据,清除中断请求,使请求,使IBF信号变低。表示输入缓冲器已空,通知外设输入新的信号变低。表示输入缓冲器已空,通知外设输入新的数据。数据。方式方式1 1(输出)(输出)OBFACK用于方式用于方式1输出时,输出时,与与构成了一对应答联络信号。构成了一对应答联络信号。2022-7-2642 (Output Buffer Full):PC7(A口的联络信号口的联络信号)或或PC1(B口口的联络信号的联络信号),输出缓冲器满信号,输出,输出缓冲器满信号,输出,8255A给外设的联络信号。给外设