1、13.7第第第第第第9 9 9章章章章章章 80C5180C5180C51单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术 单片机系统扩展概述单片机系统扩展概述9.1数据存储器的扩展数据存储器的扩展9.2并行并行I/O口的扩展口的扩展 9.3键盘接口技术键盘接口技术9.4LCD液晶显示器与单片机的接口液晶显示器与单片机的接口 9.512:412 单片微机,在一片芯片上集成了计算机的基本功能部单片微机,在一片芯片上集成了计算机的基本功能部件,理应独立作为计算机使用,更好地发挥其件,理应独立作为计算机使用,更好地发挥其体积小、重体积小、重
2、量轻、价格低、耗电少量轻、价格低、耗电少的优点。然而,在组成计算机系统的优点。然而,在组成计算机系统时,时,有时在使用过程中会嫌单片机本身的功能部件容量还有时在使用过程中会嫌单片机本身的功能部件容量还不够,不够,这就需要予以扩展。这就需要予以扩展。9.1 单片机系统扩展概述单片机系统扩展概述单片机单片机实物实物微处微处理器理器存储存储器器I/O接口接口定时器定时器/计数器计数器中断中断系统系统12:413复习复习:单片机最小:单片机最小应用系统应用系统 单片机单片机最小应用系统最小应用系统就是能使单片机工作的最少的器就是能使单片机工作的最少的器件构成的系统,是大多数单片机控制系统中不可缺少的件
3、构成的系统,是大多数单片机控制系统中不可缺少的关键关键部分。部分。80C51系列单片机包括系列单片机包括51和和52两个子系列两个子系列,不同型号的,不同型号的单片机内部资源部一样,最小系统的组成也不一样。单片机内部资源部一样,最小系统的组成也不一样。12:41480C51系列系列型号型号片内片内ROM片内片内RAM定时器定时器/计数计数器器中断源数量中断源数量51子序列子序列(基本型基本型)8031无无128B216位位580514KB掩膜掩膜ROM128B216位位587514KB EPROM128B216位位552子序列子序列(增强型增强型)8032无无256B316位位680528KB
4、掩膜掩膜ROM256B316位位612:415复习复习:单片机最小:单片机最小应用系统应用系统 1.片内带程序存储器的单片机的最小应用系统片内带程序存储器的单片机的最小应用系统 (1)单片机单片机(8051、8751、8052),(2)时钟电路,时钟电路,(3)复位电路即可构成最小应用系统。复位电路即可构成最小应用系统。2.片内无程序存储器的单片机的最小应用系统片内无程序存储器的单片机的最小应用系统 (1)单片机单片机(8031、8032),(2)时钟时钟电路,电路,(3)复位复位电路电路 (4)片片外存储器芯片外存储器芯片 (5)地址锁存器地址锁存器12:416片内带程序存储器的单片机的最片
5、内带程序存储器的单片机的最小应用系统小应用系统 特点:特点:(1)系统有大量的系统有大量的I/O线线可供用户可供用户使用。使用。P0、P1、P2、P3四个四个口都可以作为口都可以作为I/O口使用。口使用。(2)内部存储器的容量内部存储器的容量有限,只有有限,只有128B的的RAM和和4 KB的程序存储器。的程序存储器。12:417单片机的最小应用系统单片机的最小应用系统12:418片片内内不不带带程序存储器的单片机的最程序存储器的单片机的最小应用小应用系统系统(8031、8032)PSENOE 特点:特点:(1)需要外接片需要外接片外存储器芯片外存储器芯片;(2)外接地址锁外接地址锁存器芯片;
6、存器芯片;(3)接口少。接口少。12:41980C51系列单片机的编程结构系列单片机的编程结构 9.1.1 单片机系统扩展资源分类单片机系统扩展资源分类12:4110 扩展一般有以下几方面的内容扩展一般有以下几方面的内容:外部程序存储器的扩展外部程序存储器的扩展;外部数据存储器的扩展外部数据存储器的扩展;输入输入/输出接口的扩展输出接口的扩展;管理功能器件的扩展管理功能器件的扩展(如定时如定时/计数器、计数器、键键盘盘/显示器、显示器、中断控制器等中断控制器等)。扩展的基本方法扩展的基本方法:使用使用TTL中小规模集成电路进行扩展。中小规模集成电路进行扩展。9.1.1 单片机系统扩展资源分类单
7、片机系统扩展资源分类12:41119.1.2 单片机系统扩展结构单片机系统扩展结构 80C51单片机系统扩展采用三总线结构,即地址总线、数据单片机系统扩展采用三总线结构,即地址总线、数据总线和控制总线总线和控制总线。图图9-1 AT89C51单片机扩展时三总线单片机扩展时三总线12:4112 系统扩展的首要问题系统扩展的首要问题:构造系统总线,然后再往系统总线上构造系统总线,然后再往系统总线上“挂挂”存储器芯片或存储器芯片或I/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器扩展,存储器芯片就是存储器扩展,“挂挂”I/O接口芯片就是接口芯片就是I/O扩展。扩展。80C51由于受引脚数目的限制
8、,数据线和低由于受引脚数目的限制,数据线和低8位地址线复用。位地址线复用。为了将它们分离出来,需要为了将它们分离出来,需要外加地址锁存器外加地址锁存器,从而构成与,从而构成与一般一般CPU相类似的片外三总线。相类似的片外三总线。12:4113 地址总线地址总线(AB):由由P2口提供高口提供高8位地址线位地址线,此口具有输出锁存此口具有输出锁存的功能的功能,能保留地址信息。能保留地址信息。由由P0口提供低口提供低8位地址线。位地址线。数据总线数据总线(DB):由由P0口提供。口提供。此口是双向、此口是双向、输入三态控制的输入三态控制的8位通道口。位通道口。控制总线控制总线(CB):扩展系统时常
9、用的控制信号为扩展系统时常用的控制信号为:ALE地址锁存信号地址锁存信号,用以实现对低用以实现对低8位地址的锁存。位地址的锁存。片外程序存储器取指信号。片外程序存储器取指信号。片外数据存储器读信号。片外数据存储器读信号。片外数据存储器写信号。片外数据存储器写信号。PSENRDWR12:41149.2 数据存储器的扩展数据存储器的扩展 目前大多数单片机都含有大容量目前大多数单片机都含有大容量Flash EEPROM,其存储单,其存储单元数量都达到了元数量都达到了64KB,能满足绝大多数用户程序存储的需要,能满足绝大多数用户程序存储的需要,故很少再进行片外程序存储器的扩展。故很少再进行片外程序存储
10、器的扩展。但单片机的内部数据存储但单片机的内部数据存储器容量较小,其中一些已作为工作寄存器、堆栈和数据缓冲器使器容量较小,其中一些已作为工作寄存器、堆栈和数据缓冲器使用,当控制系统需要暂存的数据量较大时,用,当控制系统需要暂存的数据量较大时,片内片内RAM常常不够常常不够用,常需进行数据存储器的扩展用,常需进行数据存储器的扩展。若要若要扩展片外程序存储器,方法与数据存储器扩展相类似,扩展片外程序存储器,方法与数据存储器扩展相类似,不同之处仅在于控制信号的接法不一样,不同之处仅在于控制信号的接法不一样,扩展数据存储器用单片扩展数据存储器用单片机的机的RD和和WR信号直接与数据存储器的信号直接与数
11、据存储器的OE 端和端和WE端相连,发端相连,发送读、写控制信号,扩展程序存储器则用单片机的送读、写控制信号,扩展程序存储器则用单片机的PSEN信号与信号与程序存储器的程序存储器的OE端相连,发送读控制信号端相连,发送读控制信号。12:41159.2.1 数据存储器芯片数据存储器芯片 典型型号有典型型号有:6116、6264、62128、62256。+5V电源供电,电源供电,双列直插,双列直插,6116为为24引脚封装,引脚封装,6264、62128、62256为为28引脚封装。引脚封装。6116:2KB62128:16KB6264:8KB62256:32KB12:411612:41179.2
12、.2 地址锁存器芯片地址锁存器芯片 74LS373的结构及引脚的结构及引脚1.锁存器锁存器74LS37312:4118 2.锁存器锁存器8282 功能及内部结构与功能及内部结构与74LS373完全一样,只是其引脚的排列与完全一样,只是其引脚的排列与74LS373不同不同,8282的引脚如下图。的引脚如下图。12:4119引脚的排列为绘制印刷引脚的排列为绘制印刷电路板时的布线提供了方便。电路板时的布线提供了方便。12:41203.锁存器锁存器74LS573 输入的输入的D端和输出的端和输出的Q端也是依次排在芯片的两侧,与锁存端也是依次排在芯片的两侧,与锁存器器8282一样,一样,为绘制印刷电路板
13、时的布线提供了方便。为绘制印刷电路板时的布线提供了方便。12:41219.2.3 数据存储器的扩展电路数据存储器的扩展电路 存储芯片存储芯片 地址线低地址线低8位位A7-A0地址线高地址线高(n-8)位位An-1-A8数据线数据线D7-D0片选信号片选信号CE 读允许读允许OE、写允许、写允许WE接地接地需要考虑与需要考虑与80C51相连的存储芯片引脚:相连的存储芯片引脚:80C51 CPU(1)地址总线地址总线P0.0-P0.7(2)地址总线地址总线P2.0-P2.n-9(3)数据总线的数据总线的P0.0-P0.7(4)EA 接接+5V(5)(6)ALE74LS37374LS373G端端RD
14、WR12:4122图图9-7 AT89C51外扩一片外扩一片6264的电路连接的电路连接例例9-1 对对AT89C51单片机外扩一片单片机外扩一片8kB的的RAM 6264芯片。芯片。解:扩展的电路连接如图解:扩展的电路连接如图9-7所示。由于只有一片存储器芯片,所以将所示。由于只有一片存储器芯片,所以将6264的片选直接接的片选直接接地。地。6264芯片中存储单元的地址变化范围为:芯片中存储单元的地址变化范围为:xxx0 0000 0000 0000Bxxx1 1111 1111 1111B,即单片机地址线的,即单片机地址线的P2.4P2.0与与P0.7P0.0发出的信号可以从全发出的信号可
15、以从全0变化到全变化到全1,P2.7P2.5因为没有与因为没有与6264相连,所以状态任意。如果将任意状态相连,所以状态任意。如果将任意状态x都看成都看成0,则,则6264的地址范围为:的地址范围为:0000 0000 0000 0000B0001 1111 1111 1111B,即,即0000H1FFFH。12:41239.2.4存储器的编址存储器的编址 存储器扩展的核心问题是存储器的存储器扩展的核心问题是存储器的编址问题编址问题。所谓编址,就是利用单片机系统提供的地址总线,通过适当的所谓编址,就是利用单片机系统提供的地址总线,通过适当的连接,使系统中每一个外扩芯片的每一个单元都有一个唯一的
16、地址,连接,使系统中每一个外扩芯片的每一个单元都有一个唯一的地址,以便保证同一时刻只能有一个外设使用数据总线与以便保证同一时刻只能有一个外设使用数据总线与CPU交换数据,交换数据,保证系统有条不紊地工作。保证系统有条不紊地工作。存储器芯片内部有多个可寻址单元,因此编址涉及两方面问题:存储器芯片内部有多个可寻址单元,因此编址涉及两方面问题:一个是片内单元的编址,称为片内寻址,一个是片内单元的编址,称为片内寻址,由芯片内部的地址译码电由芯片内部的地址译码电路完成,只需将存储器芯片自身的地址线与单片机的地址线按位号路完成,只需将存储器芯片自身的地址线与单片机的地址线按位号对应相连;对应相连;另一个是
17、存储器芯片的片选另一个是存储器芯片的片选/使能信号产生问题,称为使能信号产生问题,称为芯片寻址,芯片寻址,由单片机剩余的地址线通过片外译码电路完成。由单片机剩余的地址线通过片外译码电路完成。编址技术就是研究系统地址空间的分配问题,即如何产生芯片编址技术就是研究系统地址空间的分配问题,即如何产生芯片片选片选/使能信号的问题。使能信号的问题。存储器存在编址问题,本章后面所讲的各存储器存在编址问题,本章后面所讲的各种外扩芯片也都存在编址问题。种外扩芯片也都存在编址问题。12:4124 通常,产生外扩芯片片选信号的方法有通常,产生外扩芯片片选信号的方法有2种:种:线选法和译码法。线选法和译码法。1.线
18、选法线选法 线选法线选法是指直接将单片机高位地址线作为外扩芯片的片选信是指直接将单片机高位地址线作为外扩芯片的片选信号,即把单片机选定的高位地址线与外扩芯片的片选号,即把单片机选定的高位地址线与外扩芯片的片选/使能端使能端(或或)直接连接。直接连接。例例9-2 设计两片设计两片RAM 6264芯片与芯片与AT89C51单片机的连接电路,单片机的连接电路,两片两片6264芯片的片选信号采用线选法产生,计算存储器的地址范芯片的片选信号采用线选法产生,计算存储器的地址范围。围。解:解:6264地址线有地址线有13条条(A12A0),因此低位地址线为,因此低位地址线为A12A0,高位地址线为,高位地址
19、线为A15A13。片内地址范围均为。片内地址范围均为0000H1FFFH。6264(1)的片选线接的片选线接P2.5,6264(2)的片选线接的片选线接P2.6,单,单片机与存储器的连接电路如图片机与存储器的连接电路如图9-8所示。所示。12:4125图图9-8 采用线选法扩展两片采用线选法扩展两片6264的电路连接的电路连接 芯片的地址计算过程及地址范围芯片的地址计算过程及地址范围:12:4126 高位未用的地址线高位未用的地址线P2.7取为取为1,实际上也可以为,实际上也可以为0。当。当P2.7为为0时,时,6264(1)的地址范围为的地址范围为4000H5FFFH;6264(2)的地的地
20、址范围为址范围为2000H3FFFH;可见,芯片上的一个单元可以有多个地址,即地址不唯可见,芯片上的一个单元可以有多个地址,即地址不唯一,通常称为地址重叠。原因是因为有的高位线没有参与片一,通常称为地址重叠。原因是因为有的高位线没有参与片选信号的产生,可以是选信号的产生,可以是1也可以是也可以是0。由例由例9-2可知,可知,线选法的特点是电路简单,不需外加地址线选法的特点是电路简单,不需外加地址译码电路;译码电路;但芯片占用的存储空间不紧凑,寻址范围不唯一,但芯片占用的存储空间不紧凑,寻址范围不唯一,且地址空间利用率低,可扩展的芯片个数少。适用于小规模且地址空间利用率低,可扩展的芯片个数少。适
21、用于小规模单片机应用系统的简单扩展。单片机应用系统的简单扩展。12:4127 2.译码法译码法 译码法是利用片外译码电路对系统高位地址线进行译码,译码法是利用片外译码电路对系统高位地址线进行译码,产生外围芯片的片选信号,低位地址线仍用于片内寻址。其产生外围芯片的片选信号,低位地址线仍用于片内寻址。其中,当所有高位地址线都参与译码时称为中,当所有高位地址线都参与译码时称为全译码法全译码法,只有部,只有部分高位地址线参与译码时称为分高位地址线参与译码时称为部分译码法。部分译码法。译码电路可用专用的译码器芯片实现,单片机应用系统常译码电路可用专用的译码器芯片实现,单片机应用系统常用的译码器有以下用的
22、译码器有以下3种:种:2-4译码器译码器(如双如双2-4译码器译码器74LS139),可对,可对2位高位地址进位高位地址进行译码,产生行译码,产生4个片选信号,最多可外接个片选信号,最多可外接4个芯片。个芯片。3-8译码器译码器(如如74LS138),可对,可对3位高位地址进行译码,产位高位地址进行译码,产生生8个片选信号,最多可外接个片选信号,最多可外接8个芯片。个芯片。4-16译码器译码器(如如74LS154),可对,可对4位高位地址进行译码,产位高位地址进行译码,产生生16个片选信号,最多可外接个片选信号,最多可外接16个芯片。个芯片。译码法的地址计算方法同线选法类似,不同之处在于片外译
23、码法的地址计算方法同线选法类似,不同之处在于片外地址的形成与译码电路有关,需要进行简单计算。地址的形成与译码电路有关,需要进行简单计算。12:4128例例9-3 在在AT89C51单片机外扩单片机外扩4片片6264芯片,设计单片机与存储芯片,设计单片机与存储器的连接电路,要求器的连接电路,要求6264芯片的片选信号采用译码法产生,芯片的片选信号采用译码法产生,计算存储器的地址范围。计算存储器的地址范围。解:解:4片片6264的地址线均有的地址线均有13条,因此低位地址线为条,因此低位地址线为A12A0,高位地址线,高位地址线为为A15A13。4个芯片的片选线采用个芯片的片选线采用3-8译码器译
24、码后获得,电路连接如译码器译码后获得,电路连接如图图9-10所示。所示。图图9-10 采用采用AT89C51单片机外扩单片机外扩4片片6264的电路连接的电路连接12:4129图图9-10 采用采用AT89C51单片机外扩单片机外扩4片片6264的电路连接的电路连接图图9-12 例例9-3中扩展芯片的地址范围中扩展芯片的地址范围 12:4130 由于高位地址线全部参与产生片选信号,因此芯片上的单元与由于高位地址线全部参与产生片选信号,因此芯片上的单元与地址一一对应,地址不重叠,且地址一一对应,地址不重叠,且4个芯片的地址连续。个芯片的地址连续。本题也可以利用本题也可以利用2-4译码器实现,这样
25、只有译码器实现,这样只有2条高位地址线参与条高位地址线参与译码,为部分译码法。由于剩余的一条地址线可译码,为部分译码法。由于剩余的一条地址线可0可可1,因此也,因此也会出现地址重叠现象。会出现地址重叠现象。由例由例9-3可知,译码法的特点是对系统地址空间的利用率高,各可知,译码法的特点是对系统地址空间的利用率高,各芯片的地址连续,特别是全译码法,每个芯片上每个单元只有芯片的地址连续,特别是全译码法,每个芯片上每个单元只有一个唯一的系统地址,不存在地址重叠现象,利用相同位数的一个唯一的系统地址,不存在地址重叠现象,利用相同位数的高位地址线,全译码法产生的片选信号线比线选法多,可扩展高位地址线,全
26、译码法产生的片选信号线比线选法多,可扩展更多的外围芯片。部分译码法虽然存在地址重叠现象,但译码更多的外围芯片。部分译码法虽然存在地址重叠现象,但译码电路更简单。译码法适用于较复杂的单片机系统的扩展。电路更简单。译码法适用于较复杂的单片机系统的扩展。12:41319.3 并行并行I/O接口的扩展接口的扩展 单片机系统内部具有单片机系统内部具有4个个8位并行位并行I/O口口,均可用于双向并行,均可用于双向并行I/O接口,与外部设备相连。接口,与外部设备相连。但在实际应用中,只有在单片机的最小应用系统下,这但在实际应用中,只有在单片机的最小应用系统下,这4个个I/O口才作为通用口才作为通用I/O口使
27、用。在系统进行外部扩展时,口使用。在系统进行外部扩展时,P0口作口作为数据总线和低为数据总线和低8位地址总线,位地址总线,P2口作为高口作为高8位地址总线,位地址总线,P3口用于第二功能提供部分控制总线,因此用户只能使用口用于第二功能提供部分控制总线,因此用户只能使用P1口,口,这在外设较多的情况往往不够用,这在外设较多的情况往往不够用,必须进行并行必须进行并行I/O口的扩展。口的扩展。12:41329.3.1 并行并行I/O口扩展概述口扩展概述1.并行并行I/O口的扩展方法口的扩展方法(1)并行总线扩展并行总线扩展 将待扩展的将待扩展的I/O接口芯片的数据线与单片机的数据总线(接口芯片的数据
28、线与单片机的数据总线(P0口)并口)并接,需要一根片选信号线,并分时占用接,需要一根片选信号线,并分时占用P0口。口。特点:特点:由于不影响其他芯片的连接与操作,也不给单片机硬件带来由于不影响其他芯片的连接与操作,也不给单片机硬件带来额外开支,因此在应用系统的并行额外开支,因此在应用系统的并行I/O口扩展中被广泛采用。口扩展中被广泛采用。(2)串行口扩展方法串行口扩展方法 单片机串行口的工作方式单片机串行口的工作方式0为移位寄存器方式,对于不使用串行口的为移位寄存器方式,对于不使用串行口的单片机应用系统,可在串行口外接一串入单片机应用系统,可在串行口外接一串入/并出移位寄存器以实现并行并出移位
29、寄存器以实现并行I/O口的扩展。通过移位寄存器的级联,还可扩展大量的并行口的扩展。通过移位寄存器的级联,还可扩展大量的并行I/O口线。口线。特点:特点:这种扩展方法数据传输速度较慢。这种扩展方法数据传输速度较慢。12:41332.I/O口的编址方式口的编址方式I/O接口中的端口接口中的端口:指存放地址、数据、控制信息的寄存器:指存放地址、数据、控制信息的寄存器 I/O端口的编址方式有独立编址和统一编址端口的编址方式有独立编址和统一编址 (1)独立编址方式独立编址方式 独立编址是指独立编址是指I/O端口的地址空间与存储器地址空间相互独立,完端口的地址空间与存储器地址空间相互独立,完全分开。全分开
30、。优点是有专门的输入优点是有专门的输入/输出指令,程序清晰;存储器和输出指令,程序清晰;存储器和I/O端口的控端口的控制结构相互独立。缺点是要求制结构相互独立。缺点是要求CPU设置专门的引脚信号;设置专门的引脚信号;I/O指令的指令的功能不丰富,程序设计的灵活性差。功能不丰富,程序设计的灵活性差。80 x86系列的系列的CPU采用此种编址方式。采用此种编址方式。(2)统一编址方式统一编址方式 统一编址是指统一编址是指I/O端口与数据存储器共用一个地址空间。其优点是端口与数据存储器共用一个地址空间。其优点是不需要专门的输入不需要专门的输入/输出指令,编程灵活;输出指令,编程灵活;I/O端口的数目
31、不受限制。端口的数目不受限制。缺点是占去数据存储器地址空间,使存储器可寻址空间减小。缺点是占去数据存储器地址空间,使存储器可寻址空间减小。80C51单片机采用此种编址方式。单片机采用此种编址方式。12:4134 80C51单片机的单片机的I/O端口与外部数据存储单元使用共同的端口与外部数据存储单元使用共同的地址空间,地址空间,范围是范围是0000HFFFFH。不需要专门的输入输出指令,不需要专门的输入输出指令,单片机对扩展单片机对扩展I/O端口的访端口的访问方法同访问外部问方法同访问外部RAM一样,用汇编语言编程时使用的指一样,用汇编语言编程时使用的指令相同,如果用令相同,如果用C51编程,数
32、据类型应定义为编程,数据类型应定义为xdata或或pdata。12:41359.3.2 简单并行简单并行I/O口的扩展口的扩展要求:要求:作为输入接口的芯片应具有三态特性;作为输入接口的芯片应具有三态特性;作为输出接口的芯片应具有锁存功能。作为输出接口的芯片应具有锁存功能。扩展扩展方法特点:方法特点:电路结构简单,成本低,传送控制方式简单,电路结构简单,成本低,传送控制方式简单,配置灵活使用方便,但电路连接后,功能难以改变。因此适用配置灵活使用方便,但电路连接后,功能难以改变。因此适用于扩展单个于扩展单个8位的输入位的输入/输出口输出口 选用选用TTL或或CMOS电路的三态缓冲器、寄存器或数据
33、锁存器等芯片作为电路的三态缓冲器、寄存器或数据锁存器等芯片作为I/O口扩口扩展芯片。展芯片。这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或时钟信号端,没有地址线和读时钟信号端,没有地址线和读/写控制线,故在进行扩展时往往需要将地址线和读写控制线,故在进行扩展时往往需要将地址线和读/写等控制线经逻辑组合后再输出至选通端或时钟信号端。写等控制线经逻辑组合后再输出至选通端或时钟信号端。编址通常采用的是编址通常采用的是线选法,线选法,芯片地址由使用的地址线决定,往往有重叠。芯片地址由使用的地址线决定,往往有重叠。
34、12:4136常使用缓冲器作为输入接口芯片,经常使用的芯片有:常使用缓冲器作为输入接口芯片,经常使用的芯片有:1.74HC244/74LS244正相三态缓冲器正相三态缓冲器(单向驱动单向驱动)。2.74HC240/74LS240反相三态缓冲器。反相三态缓冲器。3.74HC245/74LS2458总线接收器总线接收器(双向驱动双向驱动)。常使用寄存器、锁存器作为输出接口芯片,常用芯片:常使用寄存器、锁存器作为输出接口芯片,常用芯片:1.74HC273/74LS2738D触发器触发器(共时钟,带清除共时钟,带清除)。2.74HC373/74LS3738D锁存器锁存器/触发器触发器(三态输出三态输出
35、)。3.74HC374/74LS3748D触发器触发器(三态输出三态输出)。4.74HC377/74LS3778D锁存器。锁存器。12:4137图图9-13 74LS244引脚图和功能表引脚图和功能表12:4138例9-4 AT89C51单片机利用74HC373和74HC244进行扩展的开关与指示灯接口电路如图9-14所示,编写程序实现当开关DSW1打在“ON”位置时对应的LED亮,打在“OFF”位置时对应的LED暗,即用LED指示开关的状态。图9-14 例9-4proteus仿真电路解:分析:解:分析:74HC373和和74HC244分别作为输出接口和输入接口。分别作为输出接口和输入接口。P
36、2.0与与RD相或后作相或后作为为74HC244的片选信号,与的片选信号,与WR相或后作为相或后作为74HC373的片选信号。的片选信号。74HC373和和74HC244芯片的地址计算如图芯片的地址计算如图9-15所示,两个芯片的地址相同,但是所示,两个芯片的地址相同,但是74HC244只有只有读操作读操作(RD=0,WR=1),而,而74HC373只有写操作只有写操作(RD=1,WR=0),因此依然可以使,因此依然可以使用用P0口与口与CPU交换数据而不会产生冲突。交换数据而不会产生冲突。当开关打在当开关打在“ON”位置时,从位置时,从74HC244读入的对应位为读入的对应位为0,通过,通过
37、74HC373输出时,输出时,刚好使对应的刚好使对应的LED点亮。点亮。图9-15 74HC373和74HC244芯片的地址计算12:4139程序设计如下:程序设计如下:#include#include#define uchar unsigned char#define HC373 XBYTE0 xFEFF/74HC373的地的地址为址为0 xFEFF#define HC244 XBYTE0 xFEFF/74HC244的地的地址为址为0 xFEFFuchar status;void main()while(1)status=HC244;/从从74HC245输入数据输入数据 HC373=stat
38、us;/从从74HC373输出数据输出数据 12:41409.3.3 可编程并行可编程并行I/O口的扩展口的扩展 采用采用TTL或或CMOS电路扩展的电路扩展的I/O口,只能用于对输入口,只能用于对输入/输出要求较为简单的系统中,当单片机应用系统中需要较输出要求较为简单的系统中,当单片机应用系统中需要较为复杂的为复杂的I/O接口时,应选用通用可编程的接口时,应选用通用可编程的I/O接口芯片来接口芯片来扩展。扩展。可编程可编程I/O接口芯片接口芯片的工作方式和功能的工作方式和功能均可通过软件编均可通过软件编程程设定,使用灵活,既可作为输入口使用,又可作为输出设定,使用灵活,既可作为输入口使用,又
39、可作为输出口使用,适应多种功能需求,应用非常广泛。口使用,适应多种功能需求,应用非常广泛。12:41411.8255A的内部结构和功能的内部结构和功能(1)与外设相关的外部接口与外设相关的外部接口 它包含它包含3个个8位的可编程双向位的可编程双向I/O接口,分别称为接口,分别称为A口、口、B口、口、C口。口。外设通过这些端口与单片机外设通过这些端口与单片机交换信息。交换信息。A口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入锁存器,位输入锁存器,是最灵活的输入是最灵活的输入/输出寄存器,输出寄存器,它可以编程为输入它可以编程为输入/输出或双向输出或双向寄存器
40、;寄存器;B口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存),它可以编程为输入,它可以编程为输入/输出寄存器,但不能双向输入输出寄存器,但不能双向输入/输出;输出;C口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存)。图图9-16 8255A内部结构内部结构 (2)与内部工作方式相关与内部工作方式相关的内部控制逻辑的内部控制逻辑 它包含有两组控制电路,它包含有两组控制电路,称为称为A组和组和B组的控制电路,组的控制电路,其内设有控制寄存器,控制其内设
41、有控制寄存器,控制寄存器的内容由单片机写入,寄存器的内容由单片机写入,它决定了它决定了8255A的工作方式。的工作方式。(3)与单片机有关的与单片机有关的CPU接口接口 包括数据总线缓冲器和读包括数据总线缓冲器和读/写控制逻辑,这是任何一个写控制逻辑,这是任何一个可编程接口芯片都具有的组可编程接口芯片都具有的组成部分。成部分。数据总线缓冲器是数据总线缓冲器是8255A与系统总线连接的通道,它与系统总线连接的通道,它可以输入或输出各种数据,可以输入或输出各种数据,如外设送给单片机的信息、如外设送给单片机的信息、单片机送给单片机送给8255A的命令和的命令和单片机送给外设的信息等。单片机送给外设的
42、信息等。读读/写控制逻辑电路写控制逻辑电路负责管负责管理理8255A的数据传输过程,的数据传输过程,它接收片选信号及系统读信它接收片选信号及系统读信号、写信号、复位信号号、写信号、复位信号RESET、口地址选择信号、口地址选择信号(一般用地址线的最低位一般用地址线的最低位A1和和A0),用于控制对,用于控制对8255A内内部的四个寄存器进行读部的四个寄存器进行读/写操写操作。作。12:4142图9-17 8255A的引脚图(1)面向面向CPU的引脚信号及功能的引脚信号及功能D0D7:8位双向三态数据线,位双向三态数据线,可以与系统数据总线直接相可以与系统数据总线直接相连,用于在连,用于在CPU
43、与与8255A之间传送数据信息、控制信息及状之间传送数据信息、控制信息及状态信息。态信息。RESET:复位信号,:复位信号,高电平有效,输入,用来清除高电平有效,输入,用来清除8255A的内部寄存器,并置的内部寄存器,并置A口、口、B口、口、C口均为输入方式。注意:口均为输入方式。注意:8255A工作之前,硬件上必须先复位,使工作之前,硬件上必须先复位,使8255A内部的各个内部的各个部件处于待命状态。部件处于待命状态。CS:片选,:片选,输入,低电平有效,用来决定芯片是否被选中。输入,低电平有效,用来决定芯片是否被选中。只有该信号有效时,才允许只有该信号有效时,才允许CPU与与8255A交换
44、信息。交换信息。RD:读信号,:读信号,输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,将被选中的端口数据或状态信息送至数据总线。将被选中的端口数据或状态信息送至数据总线。WR:写信号,:写信号,输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,CPU将数据线上的数据或控制信息写入被选中的端口。将数据线上的数据或控制信息写入被选中的端口。A1、A0:内部口地址选择信号,:内部口地址选择信号,输入。这两个引脚上的信输入。这两个引脚上的信号组合决定对号组合决定对8255A内部的哪一个口或寄存器进行操作。内部的哪一个口或寄存器进行操作。8255A
45、内部共有内部共有4个端口:端口个端口:端口A、端口、端口B、端口、端口C和控制口。和控制口。引脚引脚Al、A0与与、RD、组合、组合,可用来选中端口,并对其进行,可用来选中端口,并对其进行读或写操作,读或写操作,8255A的操作功能如表的操作功能如表9-3所示。所示。12:4143图图9-17 8255A的引脚图的引脚图 (2)面向外设的引脚信号及功能面向外设的引脚信号及功能PA0PA7:A口数据信号,用来连接外设。口数据信号,用来连接外设。PB0PB7:B口数据信号,用来连接外设。口数据信号,用来连接外设。PC0PC7:C口数据信号,其作用由软件口数据信号,其作用由软件设定,可连接外设,在设
46、定,可连接外设,在CPU与外设之间传送与外设之间传送数据;也可以作为数据;也可以作为A口或口或B口输入口输入/输出操作输出操作的联络线和控制线。的联络线和控制线。12:41443.8255A与单片机的接口电路与单片机的接口电路单片机与单片机与8255A的连接就是的连接就是3组总线的连接。组总线的连接。图图9-18 8255A与与AT89C52的连接图的连接图(1)数据总线的连接数据总线的连接将将8255A的的8根数据总线根数据总线D0D7与与AT89C52的的P0.0P0.7相连。相连。(2)地址总线的连接地址总线的连接将将8255A的地址线的地址线A0、A1通过通过74HC573锁存器与锁存
47、器与AT89C52的的P0.0、P0.1连接。连接。Al、A0取值取值0011,分,分别对应选择别对应选择A、B、C口与控制寄存口与控制寄存器。器。(3)控制总线的连接控制总线的连接8255A的片选信号由单片机的片选信号由单片机P2.5P2.7经经74HC138译码器的译码器的Y7产生。产生。若要选中若要选中8255A,则,则Y7必须有效,必须有效,此时此时P2.7P2.6P2.5=111。12:4145图图9-18 8255A与与AT89C52的连接图的连接图 12:41464.8255的工作方式的工作方式8255A有三种工作方式:有三种工作方式:方式方式0:基本输入输出;基本输入输出;方式
48、方式1:选通输入输出;选通输入输出;方式方式2:双向传送(仅双向传送(仅A口有)。口有)。12:4147A.具有两个具有两个8位端口(位端口(A、B)和两个)和两个4位端口(位端口(C的上半部分和的上半部分和下半部分)。下半部分)。B.任一个端口都可以设定为输入或输出,各端口的输入、任一个端口都可以设定为输入或输出,各端口的输入、输出可构成输出可构成16种组合。种组合。C.数据输出锁存,输入不锁存。数据输出锁存,输入不锁存。(1)方式方式0 基本输入输出基本输入输出功功 能能:应用场合:应用场合:A.无条件传送;无条件传送;B.查询式传送。查询式传送。在利用查询传送方式传送数据时,可用在利用查
49、询传送方式传送数据时,可用A口、口、B口、口、C口这三口这三个口的任一位充当查询信号,其余个口的任一位充当查询信号,其余I/O口仍作为独立的端口和外口仍作为独立的端口和外设相连。设相连。12:4148(2)方式方式1 选通输入选通输入/输出工作方式输出工作方式三个端口分为三个端口分为A、B两组。两组。A、B口仍作为两个独立的口仍作为两个独立的8位位I/O数据通道,数据通道,可单独连接外设,通过编程设置它们为输入或输出,可单独连接外设,通过编程设置它们为输入或输出,C口则要由六位口则要由六位(分分成两个成两个3位位)分别作为分别作为A口和口和B口的应答信号线,其余两位分别仍可工作在口的应答信号线
50、,其余两位分别仍可工作在方式方式0。A.方式方式1输入输入 控制联络信号如下页图所示,控制联络信号如下页图所示,STB与与IBF构成了一对应答联构成了一对应答联络信号。络信号。12:4149 方式方式1输入输入12:4150INTR(Interrupt request):中断请求信号,高电平有效。中断请求信号,高电平有效。由由8255A输出,向单片机发中断请求。输出,向单片机发中断请求。INTEA(Interrupt Enable):A口中断允许,由口中断允许,由PC4控制,控制,INTE B:B口中断允许,由口中断允许,由PC2控制。控制。STB(Strobe):选通输入,是由外设送来的输入