




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9:131第第第第第第9 9 9章章章章章章 80C5180C5180C51单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术单片机系统扩展技术 9:132内容内容单片机系统扩展概述单片机系统扩展概述9.1数据存储器的扩展数据存储器的扩展9.2并行并行I/O口的扩展口的扩展 9.3键盘接口技术键盘接口技术9.4LCD液晶显示器与单片机的接口液晶显示器与单片机的接口 9.59:133 单片微机,在一片芯片上集成了计算机的基本功单片微机,在一片芯片上集成了计算机的基本功能部件,理应独立作为计算机使用,更好地发挥其体能部件,理应独立作为计算机使用,更好地发挥其
2、体积小、重量轻、价格低、耗电少的优点。然而,在组积小、重量轻、价格低、耗电少的优点。然而,在组成计算机系统时,成计算机系统时,有时在使用过程中会嫌单片机本身有时在使用过程中会嫌单片机本身的功能部件容量还不够,的功能部件容量还不够,这就需要予以扩展。这就需要予以扩展。 9.1 单片机系统扩展概述单片机系统扩展概述9:134复习:最小应用系统复习:最小应用系统 1. 片内带程序存储器的单片机的最小应用系统片内带程序存储器的单片机的最小应用系统 (1)8051、 8751、8052本身,本身, (2)时钟电路,时钟电路, (3)复位电路即可构成最小应用系统。复位电路即可构成最小应用系统。 接高电平,
3、系统就可以工作。如下页图所示。该系统接高电平,系统就可以工作。如下页图所示。该系统的特点如下的特点如下: (1) 系统有大量的系统有大量的I/O线可供用户使用线可供用户使用: P0、 P1、 P2、 P3四个口都可以作为四个口都可以作为I/O口使用。口使用。 (2) 内部存储器的容量有限,只有内部存储器的容量有限,只有128B的的RAM和和4 KB的程序存储器。的程序存储器。EA9:1358051/8751最小应用系统最小应用系统9:136 2. 片内无程序存储器的单片机的最小应用系统片内无程序存储器的单片机的最小应用系统 (1)8031、 8032本身,本身, (2)时钟电路,时钟电路, (
4、3)复位电路复位电路 (4)片外存储器芯片片外存储器芯片 (5)地址锁存器地址锁存器 构成最小应用系统构成最小应用系统。 EAPSEN 接低电平,接低电平, ALE接地址锁存器,接地址锁存器, 接存接存储器的输出允许端。储器的输出允许端。9:1378031最小应用系统最小应用系统PSENOE9:138 扩展一般有以下几方面的内容扩展一般有以下几方面的内容: 外部程序存储器的扩展外部程序存储器的扩展; 外部数据存储器的扩展外部数据存储器的扩展; 输入输入/输出接口的扩展输出接口的扩展; 管理功能器件的扩展管理功能器件的扩展(如定时如定时/计数器、计数器、 键盘键盘/显显示器、示器、 中断控制器等
5、中断控制器等)。 扩展的基本方法扩展的基本方法: 使用使用TTL中小规模集成电路进行扩展。中小规模集成电路进行扩展。 9.1.1 单片机系统扩展资源分类单片机系统扩展资源分类9:1399.1.2 单片机系统扩展结构单片机系统扩展结构 80C51单片机系统扩展采用三总线结构,即地址总线、数据单片机系统扩展采用三总线结构,即地址总线、数据总线和控制总线。总线和控制总线。AT89C51单片机扩展时系统总线结构图如图单片机扩展时系统总线结构图如图9-1所示。所示。9:1310 系统扩展的首要问题系统扩展的首要问题: 构造系统总线,然后再往系统总线上构造系统总线,然后再往系统总线上“挂挂”存储器芯片或存
6、储器芯片或I/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器扩展,存储器芯片就是存储器扩展,“挂挂”I/O接口芯片就是接口芯片就是I/O扩展。扩展。 80C51由于受引脚数目的限制,数据线和低由于受引脚数目的限制,数据线和低8位地址线复用。位地址线复用。 为了将它们分离出来,需要为了将它们分离出来,需要外加地址锁存器外加地址锁存器,从而构成与,从而构成与一般一般CPU相类似的片外三总线,见图相类似的片外三总线,见图9-1。 9:1311 地址总线地址总线(AB): 由由P2口提供高口提供高8位地址线位地址线, 此口具有输出锁存此口具有输出锁存的功能的功能, 能保留地址信息。能保留地址信息。
7、 由由P0口提供低口提供低8位地址线。位地址线。 数据总线数据总线(DB): 由由P0口提供。口提供。 此口是双向、此口是双向、 输入三态控制的输入三态控制的8位通道口。位通道口。 控制总线控制总线(CB): 扩展系统时常用的控制信号为扩展系统时常用的控制信号为: ALE地址锁存信号地址锁存信号, 用以实现对低用以实现对低8位地址的锁存。位地址的锁存。 片外程序存储器取指信号。片外程序存储器取指信号。 片外数据存储器读信号。片外数据存储器读信号。 片外数据存储器写信号。片外数据存储器写信号。 PSENRDWR9:1312 地址锁存器一般采用地址锁存器一般采用74LS373,采用采用74LS37
8、3的地址总线的的地址总线的扩展电路如下图扩展电路如下图9:13139.2 数据存储器的扩展数据存储器的扩展 目前大多数单片机都含有大容量目前大多数单片机都含有大容量Flash EEPROM,其存储,其存储单元数量都达到了单元数量都达到了64KB,能满足绝大多数用户程序存储的需,能满足绝大多数用户程序存储的需要,故很少再进行片外程序存储器的扩展。但单片机的内部数要,故很少再进行片外程序存储器的扩展。但单片机的内部数据存储器容量较小,其中一些已作为工作寄存器、堆栈和数据据存储器容量较小,其中一些已作为工作寄存器、堆栈和数据缓冲器使用,当控制系统需要暂存的数据量较大时,片内缓冲器使用,当控制系统需要
9、暂存的数据量较大时,片内RAM常常不够用,常需进行数据存储器的扩展。常常不够用,常需进行数据存储器的扩展。 若要扩展片外程序存储器,方法与数据存储器扩展相类似,若要扩展片外程序存储器,方法与数据存储器扩展相类似,不同之处仅在于控制信号的接法不一样,扩展数据存储器用单不同之处仅在于控制信号的接法不一样,扩展数据存储器用单片机的片机的RD和和WR信号直接与数据存储器的信号直接与数据存储器的OE 端和端和WE端相连,端相连,发送读、写控制信号,扩展程序存储器则用单片机的发送读、写控制信号,扩展程序存储器则用单片机的PSEN信信号与程序存储器的号与程序存储器的OE端相连,发送读控制信号。此处只介绍端相
10、连,发送读控制信号。此处只介绍数据存储器的扩展。数据存储器的扩展。9:13149.2.1 数据存储器芯片数据存储器芯片 典型型号有典型型号有:6116、6264、62128、62256。+5V电源供电,电源供电,双列直插,双列直插,6116为为24引脚封装,引脚封装,6264、62128、62256为为28引脚封装。引脚封装。 6116:2KB62128:16KB6264:8KB62256:32KB9:13159:13169.2.2 地址锁存器芯片地址锁存器芯片 74LS373的结构及引脚的结构及引脚1. 锁存器锁存器74LS3739:1317 2. 锁存器锁存器8282 功能及内部结构与功能
11、及内部结构与74LS373完全一样,只是其引脚的排列与完全一样,只是其引脚的排列与74LS373不同不同 ,8282的引脚如下图。的引脚如下图。 9:1318引脚的排列为绘制印刷引脚的排列为绘制印刷电路板时的布线提供了方便。电路板时的布线提供了方便。9:13193. 锁存器锁存器74LS573 输入的输入的D端和输出的端和输出的Q端也是依次排在芯片的两侧,与锁存端也是依次排在芯片的两侧,与锁存器器8282一样,一样,为绘制印刷电路板时的布线提供了方便。为绘制印刷电路板时的布线提供了方便。9:13209.2.3 数据存储器的扩展电路数据存储器的扩展电路 存储芯片存储芯片 地址线低地址线低8位位A
12、7-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端端RDWR9:1321图图9-7 AT89C51外扩一片外扩一片6264的电路连接的电路连接例例9-1 对对AT89C51单片机外扩一片单片机外扩一片8kB的的RAM
13、6264芯片。芯片。解:扩展的电路连接如图解:扩展的电路连接如图9-7所示。由于只有一片存储器芯片,所以将所示。由于只有一片存储器芯片,所以将6264的片选直接接的片选直接接地。地。 6264芯片中存储单元的地址变化范围为:芯片中存储单元的地址变化范围为:xxx0 0000 0000 0000Bxxx1 1111 1111 1111B,即单片机地址线的,即单片机地址线的P2.4P2.0与与P0.7P0.0发出的信号可以从全发出的信号可以从全0变化到全变化到全1,P2.7P2.5因为没有与因为没有与6264相连,所以状态任意。如果将任意状态相连,所以状态任意。如果将任意状态x都看成都看成0,则,
14、则6264的地址范围为:的地址范围为:0000 0000 0000 0000B0001 1111 1111 1111B,即,即0000H1FFFH。9:13229.2.4存储器的编址存储器的编址 存储器扩展的核心问题是存储器的存储器扩展的核心问题是存储器的编址问题编址问题。 所谓编址,就是利用单片机系统提供的地址总线,通过适所谓编址,就是利用单片机系统提供的地址总线,通过适当的连接,使系统中每一个外扩芯片的每一个单元都有一个当的连接,使系统中每一个外扩芯片的每一个单元都有一个唯一的地址,以便保证同一时刻只能有一个外设使用数据总唯一的地址,以便保证同一时刻只能有一个外设使用数据总线与线与CPU交
15、换数据,保证系统有条不紊地工作。交换数据,保证系统有条不紊地工作。 存储器芯片内部有多个可寻址单元,因此编址涉及两方面存储器芯片内部有多个可寻址单元,因此编址涉及两方面问题:问题:一个是片内单元的编址,称为片内寻址,一个是片内单元的编址,称为片内寻址,由芯片内部由芯片内部的地址译码电路完成,只需将存储器芯片自身的地址线与单的地址译码电路完成,只需将存储器芯片自身的地址线与单片机的地址线按位号对应相连;片机的地址线按位号对应相连;另一个是存储器芯片的片选另一个是存储器芯片的片选/使能信号产生问题,称为芯片寻址,使能信号产生问题,称为芯片寻址,由单片机剩余的地址线由单片机剩余的地址线通过片外译码电
16、路完成。通过片外译码电路完成。 编址技术就是研究系统地址空间的分配问题,即如何产生编址技术就是研究系统地址空间的分配问题,即如何产生芯片片选芯片片选/使能信号的问题。使能信号的问题。存储器存在编址问题,本章后面存储器存在编址问题,本章后面所讲的各种外扩芯片也都存在编址问题。所讲的各种外扩芯片也都存在编址问题。9:1323 通常,产生外扩芯片片选信号的方法有通常,产生外扩芯片片选信号的方法有2种:种:线选法和译码法。线选法和译码法。1. 线选法线选法 线选法线选法是指直接将单片机高位地址线作为外扩芯片的片选是指直接将单片机高位地址线作为外扩芯片的片选信号,即把单片机选定的高位地址线与外扩芯片的片
17、选信号,即把单片机选定的高位地址线与外扩芯片的片选/使能使能端端(或或)直接连接。直接连接。 例例9-2 设计两片设计两片RAM 6264芯片与芯片与AT89C51单片机的连接电单片机的连接电路,两片路,两片6264芯片的片选信号采用线选法产生,计算存储器芯片的片选信号采用线选法产生,计算存储器的地址范围。的地址范围。 解:解:6264地址线有地址线有13条条(A12A0),因此低位地址线为,因此低位地址线为A12A0,高位地址线为,高位地址线为A15A13。片内地址范围均为。片内地址范围均为0000H1FFFH。6264(1)的片选线接的片选线接P2.5,6264(2)的片选线的片选线接接P
18、2.6,单片机与存储器的连接电路如图,单片机与存储器的连接电路如图9-8所示。所示。 9:1324图图9-8 采用线选法扩展两片采用线选法扩展两片6264的电路连接的电路连接 芯片的地址计算过程及地址范围芯片的地址计算过程及地址范围 :9:1325 高位未用的地址线高位未用的地址线P2.7取为取为1,实际上也可以为,实际上也可以为0。当。当P2.7为为0时,时,6264(1)的地址范围为的地址范围为4000H5FFFH;6264(2)的地的地址范围为址范围为2000H3FFFH; 可见,芯片上的一个单元可以有多个地址,即地址不唯可见,芯片上的一个单元可以有多个地址,即地址不唯一,通常称为地址重
19、叠。原因是因为有的高位线没有参与片一,通常称为地址重叠。原因是因为有的高位线没有参与片选信号的产生,可以是选信号的产生,可以是1也可以是也可以是0。 由例由例9-2可知,可知,线选法的特点是电路简单,不需外加地址线选法的特点是电路简单,不需外加地址译码电路;译码电路;但芯片占用的存储空间不紧凑,寻址范围不唯一,但芯片占用的存储空间不紧凑,寻址范围不唯一,且地址空间利用率低,可扩展的芯片个数少。适用于小规模且地址空间利用率低,可扩展的芯片个数少。适用于小规模单片机应用系统的简单扩展。单片机应用系统的简单扩展。9:1326 2. 译码法译码法 译码法是利用片外译码电路对系统高位地址线进行译码,译码
20、法是利用片外译码电路对系统高位地址线进行译码,产生外围芯片的片选信号,低位地址线仍用于片内寻址。其产生外围芯片的片选信号,低位地址线仍用于片内寻址。其中,当所有高位地址线都参与译码时称为全译码法,只有部中,当所有高位地址线都参与译码时称为全译码法,只有部分高位地址线参与译码时称为部分译码法。分高位地址线参与译码时称为部分译码法。 译码电路可用专用的译码器芯片实现,单片机应用系统常译码电路可用专用的译码器芯片实现,单片机应用系统常用的译码器有以下用的译码器有以下3种:种: 2-4译码器译码器(如双如双2-4译码器译码器74LS139),可对,可对2位高位地址进位高位地址进行译码,产生行译码,产生
21、4个片选信号,最多可外接个片选信号,最多可外接4个芯片。个芯片。 3-8译码器译码器(如如74LS138),可对,可对3位高位地址进行译码,产位高位地址进行译码,产生生8个片选信号,最多可外接个片选信号,最多可外接8个芯片。个芯片。 4-16译码器译码器(如如74LS154),可对,可对4位高位地址进行译码,产位高位地址进行译码,产生生16个片选信号,最多可外接个片选信号,最多可外接16个芯片。个芯片。 译码法的地址计算方法同线选法类似,不同之处在于片外译码法的地址计算方法同线选法类似,不同之处在于片外地址的形成与译码电路有关,需要进行简单计算。地址的形成与译码电路有关,需要进行简单计算。 9
22、:1327例例9-3 在在AT89C51单片机外扩单片机外扩4片片6264芯片,设计单片机与存储芯片,设计单片机与存储器的连接电路,要求器的连接电路,要求6264芯片的片选信号采用译码法产生,芯片的片选信号采用译码法产生,计算存储器的地址范围。计算存储器的地址范围。解:解:4片片6264的地址线均有的地址线均有13条,因此低位地址线为条,因此低位地址线为A12A0,高位地址线,高位地址线为为A15A13。4个芯片的片选线采用个芯片的片选线采用3-8译码器译码后获得,电路连接如译码器译码后获得,电路连接如图图9-10所示。所示。9:13289:1329 由于高位地址线全部参与产生片选信号,因此芯
23、片上的单元由于高位地址线全部参与产生片选信号,因此芯片上的单元与地址一一对应,地址不重叠,且与地址一一对应,地址不重叠,且4个芯片的地址连续。个芯片的地址连续。 本题也可以利用本题也可以利用2-4译码器实现,这样只有译码器实现,这样只有2条高位地址线参条高位地址线参与译码,为部分译码法。由于剩余的一条地址线可与译码,为部分译码法。由于剩余的一条地址线可0可可1,因,因此也会出现地址重叠现象。此也会出现地址重叠现象。 由例由例9-3可知,译码法的特点是对系统地址空间的利用率高,可知,译码法的特点是对系统地址空间的利用率高,各芯片的地址连续,特别是全译码法,每个芯片上每个单元各芯片的地址连续,特别
24、是全译码法,每个芯片上每个单元只有一个唯一的系统地址,不存在地址重叠现象,利用相同只有一个唯一的系统地址,不存在地址重叠现象,利用相同位数的高位地址线,全译码法产生的片选信号线比线选法多,位数的高位地址线,全译码法产生的片选信号线比线选法多,可扩展更多的外围芯片。部分译码法虽然存在地址重叠现象,可扩展更多的外围芯片。部分译码法虽然存在地址重叠现象,但译码电路更简单。译码法适用于较复杂的单片机系统的扩但译码电路更简单。译码法适用于较复杂的单片机系统的扩展。展。9:13309.3 并行并行I/O接口的扩展接口的扩展 单片机系统内部具有单片机系统内部具有4个个8位并行位并行I/O口口,均可用于双向并
25、行,均可用于双向并行I/O接口,与外部设备相连。接口,与外部设备相连。 但在实际应用中,只有在单片机的最小应用系统下,这但在实际应用中,只有在单片机的最小应用系统下,这4个个I/O口才作为通用口才作为通用I/O口使用。在系统进行外部扩展时,口使用。在系统进行外部扩展时,P0口作口作为数据总线和低为数据总线和低8位地址总线,位地址总线,P2口作为高口作为高8位地址总线,位地址总线,P3口用于第二功能提供部分控制总线,因此用户只能使用口用于第二功能提供部分控制总线,因此用户只能使用P1口,口,这在外设较多的情况往往不够用,这在外设较多的情况往往不够用,必须进行并行必须进行并行I/O口的扩展。口的扩
26、展。 9:13319.3.1 并行并行I/O口扩展概述口扩展概述1. 并行并行I/O口的扩展方法口的扩展方法(1) 并行总线扩展并行总线扩展 将待扩展的将待扩展的I/O接口芯片的数据线与单片机的数据总线(接口芯片的数据线与单片机的数据总线(P0口)并口)并接,需要一根片选信号线,并分时占用接,需要一根片选信号线,并分时占用P0口。口。 特点:特点:由于不影响其他芯片的连接与操作,也不给单片机硬件带来由于不影响其他芯片的连接与操作,也不给单片机硬件带来额外开支,因此在应用系统的并行额外开支,因此在应用系统的并行I/O口扩展中被广泛采用。口扩展中被广泛采用。 (2) 串行口扩展方法串行口扩展方法
27、单片机串行口的工作方式单片机串行口的工作方式0为移位寄存器方式,对于不使用串行口为移位寄存器方式,对于不使用串行口的单片机应用系统,可在串行口外接一串入的单片机应用系统,可在串行口外接一串入/并出移位寄存器以实现并并出移位寄存器以实现并行行I/O口的扩展。通过移位寄存器的级联,还可扩展大量的并行口的扩展。通过移位寄存器的级联,还可扩展大量的并行I/O口口线。线。特点:特点:这种扩展方法数据传输速度较慢。这种扩展方法数据传输速度较慢。9:13322. I/O口的编址方式口的编址方式I/O接口中的端口接口中的端口 :指存放地址、数据、控制信息的寄存器:指存放地址、数据、控制信息的寄存器 I/O端口
28、的编址方式有独立编址和统一编址端口的编址方式有独立编址和统一编址 (1) 独立编址方式独立编址方式 独立编址是指独立编址是指I/O端口的地址空间与存储器地址空间相互独立,完端口的地址空间与存储器地址空间相互独立,完全分开。全分开。 优点是有专门的输入优点是有专门的输入/输出指令,程序清晰;存储器和输出指令,程序清晰;存储器和I/O端口的控端口的控制结构相互独立。缺点是要求制结构相互独立。缺点是要求CPU设置专门的引脚信号;设置专门的引脚信号;I/O指令的指令的功能不丰富,程序设计的灵活性差。功能不丰富,程序设计的灵活性差。 80 x86系列的系列的CPU采用此种编址方式。采用此种编址方式。(2
29、) 统一编址方式统一编址方式 统一编址是指统一编址是指I/O端口与数据存储器共用一个地址空间。其优点是端口与数据存储器共用一个地址空间。其优点是不需要专门的输入不需要专门的输入/输出指令,编程灵活;输出指令,编程灵活;I/O端口的数目不受限制。端口的数目不受限制。缺点是占去数据存储器地址空间,使存储器可寻址空间减小。缺点是占去数据存储器地址空间,使存储器可寻址空间减小。 80C51单片机采用此种编址方式。单片机采用此种编址方式。9:1333 80C51单片机的单片机的I/O端口与外部数据存储单元使用共同的端口与外部数据存储单元使用共同的地址空间,地址空间,范围是范围是0000HFFFFH。 不
30、需要专门的输入输出指令,不需要专门的输入输出指令,单片机对扩展单片机对扩展I/O端口的访端口的访问方法同访问外部问方法同访问外部RAM一样,用汇编语言编程时使用的指一样,用汇编语言编程时使用的指令相同,如果用令相同,如果用C51编程,数据类型应定义为编程,数据类型应定义为xdata或或pdata。9:13349.3.2 简单并行简单并行I/O口的扩展口的扩展要求:要求:作为输入接口的芯片应具有三态特性;作为输入接口的芯片应具有三态特性;作为输出接口的芯片应具有锁存功能。作为输出接口的芯片应具有锁存功能。 扩展方法特点:扩展方法特点:电路结构简单,成本低,传送控制方式简电路结构简单,成本低,传送
31、控制方式简单,配置灵活使用方便,但电路连接后,功能难以改变。因此单,配置灵活使用方便,但电路连接后,功能难以改变。因此适用于扩展单个适用于扩展单个8位的输入位的输入/输出口输出口 选用选用TTL或或CMOS电路的三态缓冲器、寄存器或数据锁存器等芯片作为电路的三态缓冲器、寄存器或数据锁存器等芯片作为I/O口扩口扩展芯片。展芯片。 这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或时钟信号端,没有地址线和读时钟信号端,没有地址线和读/写控制线,故在进行扩展时往往需要将地址线和读写控制线,故在进行扩展时往往需要将地
32、址线和读/写等控制线经逻辑组合后再输出至选通端或时钟信号端。写等控制线经逻辑组合后再输出至选通端或时钟信号端。 编址通常采用的是编址通常采用的是线选法,线选法,芯片地址由使用的地址线决定,往往有重叠。芯片地址由使用的地址线决定,往往有重叠。9:1335常使用缓冲器作为输入接口芯片,经常使用的芯片有:常使用缓冲器作为输入接口芯片,经常使用的芯片有:1. 74HC244/74LS244正相三态缓冲器正相三态缓冲器(单向驱动单向驱动)。2. 74HC240/74LS240反相三态缓冲器。反相三态缓冲器。3. 74HC245/74LS2458总线接收器总线接收器(双向驱动双向驱动)。常使用寄存器、锁存
33、器作为输出接口芯片,常用芯片:常使用寄存器、锁存器作为输出接口芯片,常用芯片:1. 74HC273/74LS2738D触发器触发器(共时钟,带清除共时钟,带清除)。2. 74HC373/74LS3738D锁存器锁存器/触发器触发器(三态输出三态输出)。3. 74HC374/74LS3748D触发器触发器(三态输出三态输出)。4. 74HC377/74LS3778D锁存器。锁存器。9:1336图图9-13 74LS244引脚图和功能表引脚图和功能表9:1337例例9-4 AT89C51单片机利用单片机利用74HC373和和74HC244进行扩展的进行扩展的开关与指示灯接口电路如图开关与指示灯接口
34、电路如图9-14所示,编写程序实现当开关所示,编写程序实现当开关DSW1打在打在“ON”位置时对应的位置时对应的LED亮,打在亮,打在“OFF”位置位置时对应的时对应的LED暗,即用暗,即用LED指示开关的状态。指示开关的状态。图图9-14 例例9-4proteus仿真电路仿真电路解:分析:解:分析:74HC373和和74HC244分别作为输出接口和输入接口。分别作为输出接口和输入接口。P2.0与与RD相或后作相或后作为为74HC244的片选信号,与的片选信号,与WR相或后作为相或后作为74HC373的片选信号。的片选信号。74HC373和和74HC244芯片的地址计算如图芯片的地址计算如图9
35、-15所示,两个芯片的地址相同,但是所示,两个芯片的地址相同,但是74HC244只有只有读操作读操作(RD=0,WR=1),而,而74HC373只有写操作只有写操作(RD=1,WR=0),因此依然可以使,因此依然可以使用用P0口与口与CPU交换数据而不会产生冲突。交换数据而不会产生冲突。当开关打在当开关打在“ON”位置时,从位置时,从74HC244读入的对应位为读入的对应位为0,通过,通过74HC373输出时,输出时,刚好使对应的刚好使对应的LED点亮。点亮。图图9-15 74HC373和和74HC244芯片的地址计算芯片的地址计算9:1338程序设计如下:程序设计如下:#include #i
36、nclude #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=status; /从从74HC373输出数据输出数据 9:13399.3.3 可编程并行可编程并行I/O口的扩展口的扩展 采用采用TTL或或CMOS电路扩展的电路扩展的I/O口,只能用于
37、对输入口,只能用于对输入/ 输输出要求较为简单的系统中,当单片机应用系统中需要较为复杂出要求较为简单的系统中,当单片机应用系统中需要较为复杂的的I/O接口时,应选用通用可编程的接口时,应选用通用可编程的I/O接口芯片来扩展。接口芯片来扩展。 可编程可编程I/O接口芯片接口芯片的工作方式和功能的工作方式和功能均可通过软件编程均可通过软件编程设设定,使用灵活,既可作为输入口使用,又可作为输出口使用,定,使用灵活,既可作为输入口使用,又可作为输出口使用,适应多种功能需求,应用非常广泛。适应多种功能需求,应用非常广泛。 9:13401. 8255A的内部结构和功能的内部结构和功能(1) 与外设相关的外
38、部接口与外设相关的外部接口 它包含它包含3个个8位的可编程双向位的可编程双向I/O接口,分别称为接口,分别称为A口、口、B口、口、C口。口。 外设通过这些端口与单片机外设通过这些端口与单片机交换信息。交换信息。 A口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入锁存器,位输入锁存器,是最灵活的输入是最灵活的输入/输出寄存器,输出寄存器,它可以编程为输入它可以编程为输入/输出或双向输出或双向寄存器;寄存器; B口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存),它可以编程为输入,它可以编程
39、为输入/输出寄存器,但不能双向输入输出寄存器,但不能双向输入/输出;输出; C口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存)。 (2) 与内部工作方式相关与内部工作方式相关的内部控制逻辑的内部控制逻辑 它包含有两组控制电路,它包含有两组控制电路,称为称为A组和组和B组的控制电路,组的控制电路,其内设有控制寄存器,控制其内设有控制寄存器,控制寄存器的内容由单片机写入,寄存器的内容由单片机写入,它决定了它决定了8255A的工作方式。的工作方式。(3) 与单片机有关的与单片机有关的CPU接口接口 包括数据总线缓冲器和读包括数
40、据总线缓冲器和读/写控制逻辑,这是任何一个写控制逻辑,这是任何一个可编程接口芯片都具有的组可编程接口芯片都具有的组成部分。成部分。 数据总线缓冲器是数据总线缓冲器是8255A与系统总线连接的通道,它与系统总线连接的通道,它可以输入或输出各种数据,可以输入或输出各种数据,如外设送给单片机的信息、如外设送给单片机的信息、单片机送给单片机送给8255A的命令和的命令和单片机送给外设的信息等。单片机送给外设的信息等。 读读/写控制逻辑电路写控制逻辑电路负责管负责管理理8255A的数据传输过程,的数据传输过程,它接收片选信号及系统读信它接收片选信号及系统读信号、写信号、复位信号号、写信号、复位信号RES
41、ET、口地址选择信号、口地址选择信号(一般用地址线的最低位一般用地址线的最低位A1和和A0),用于控制对,用于控制对8255A内内部的四个寄存器进行读部的四个寄存器进行读/写操写操作。作。9:1341(1) 面向面向CPU的引脚信号及功能的引脚信号及功能D0D7:8位双向三态数据线,位双向三态数据线,可以与系统数据总线直可以与系统数据总线直接相连,用于在接相连,用于在CPU与与8255A之间传送数据信息、控制之间传送数据信息、控制信息及状态信息。信息及状态信息。RESET:复位信号,:复位信号,高电平有效,输入,用来清除高电平有效,输入,用来清除8255A的内部寄存器,并置的内部寄存器,并置A
42、口、口、B口、口、C口均为输入方口均为输入方式。注意:式。注意:8255A工作之前,硬件上必须先复位,使工作之前,硬件上必须先复位,使8255A内部的各个部件处于待命状态。内部的各个部件处于待命状态。CS:片选,:片选,输入,低电平有效,用来决定芯片是否被选输入,低电平有效,用来决定芯片是否被选中。只有该信号有效时,才允许中。只有该信号有效时,才允许CPU与与8255A交换信息。交换信息。RD:读信号,:读信号,输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,将被选中的端口数据或状态信息送至数据总线。将被选中的端口数据或状态信息送至数据总线。WR:写信号,:写信号,
43、输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,CPU将数据线上的数据或控制信息写入被选中的端口。将数据线上的数据或控制信息写入被选中的端口。A1、A0:内部口地址选择信号,:内部口地址选择信号,输入。这两个引脚上的输入。这两个引脚上的信号组合决定对信号组合决定对8255A内部的哪一个口或寄存器进行操作。内部的哪一个口或寄存器进行操作。8255A内部共有内部共有4个端口:端口个端口:端口A、端口、端口B、端口、端口C和控制和控制口。引脚口。引脚Al、A0与、组合,可用来选中端口,并对其与、组合,可用来选中端口,并对其进行读或写操作,进行读或写操作,8255A的操作功
44、能如表的操作功能如表9-3所示。所示。9:1342图图9-17 8255A的引脚图的引脚图 (2) 面向外设的引脚信号及功能面向外设的引脚信号及功能PA0PA7:A口数据信号,用来连接外设。口数据信号,用来连接外设。PB0PB7:B口数据信号,用来连接外设。口数据信号,用来连接外设。PC0PC7:C口数据信号,其作用由软件设定,口数据信号,其作用由软件设定,可连接外设,在可连接外设,在CPU与外设之间传送数据;也可与外设之间传送数据;也可以作为以作为A口或口或B口输入口输入/输出操作的联络线和控制线。输出操作的联络线和控制线。9:13433. 8255A与单片机的接口电路与单片机的接口电路单片
45、机与单片机与8255A的连接就是的连接就是3组总线的连接。组总线的连接。 (1) 数据总线的连接数据总线的连接将将8255A的的8根数据总线根数据总线D0D7与与AT89C52的的P0.0P0.7相连。相连。(2) 地址总线的连接地址总线的连接将将8255A的地址线的地址线A0、A1通过通过74HC573锁存器与锁存器与AT89C52的的P0.0、P0.1连接。连接。Al、A0取值取值0011,分,分别对应选择别对应选择A、B、C口与控制寄存口与控制寄存器。器。(3) 控制总线的连接控制总线的连接8255A的片选信号由单片机的片选信号由单片机P2.5P2.7经经74HC138译码器的译码器的Y
46、7产生。产生。若要选中若要选中8255A,则,则Y7必须有效,必须有效,此时此时P2.7P2.6P2.5=111。 9:13449:13454. 8255的工作方式的工作方式8255A有三种工作方式:有三种工作方式:方式方式0:基本输入输出;基本输入输出; 方式方式1:选通输入输出;选通输入输出; 方式方式2:双向传送(仅双向传送(仅A口有)。口有)。9:1346A. 具有两个具有两个8位端口(位端口(A、B)和两个)和两个4位端口(位端口(C的上半部分的上半部分和下半部分)。和下半部分)。B. 任一个端口都可以设定为输入或输出,各端口的输入、任一个端口都可以设定为输入或输出,各端口的输入、输
47、出可构成输出可构成16种组合。种组合。C. 数据输出锁存,输入不锁存。数据输出锁存,输入不锁存。(1) 方式方式0 基本输入输出基本输入输出功能:功能:应用场合:应用场合:A. 无条件传送;无条件传送;B. 查询式传送。查询式传送。 在利用查询传送方式传送数据时,可用在利用查询传送方式传送数据时,可用A口、口、B口、口、C口这口这三个口的任一位充当查询信号,其余三个口的任一位充当查询信号,其余I/O口仍作为独立的端口仍作为独立的端口和外设相连。口和外设相连。 9:1347(2) 方式方式1 选通输入选通输入/输出工作方式输出工作方式三个端口分为三个端口分为A、B两组。两组。A、B口仍作为两个独
48、立的口仍作为两个独立的8位位I/O数据通道,数据通道,可单独连接外设,通过编程设置它们为输入或输出,可单独连接外设,通过编程设置它们为输入或输出,C口则要由六位口则要由六位(分分成两个成两个3位位)分别作为分别作为A口和口和B口的应答信号线,其余两位分别仍可工作在口的应答信号线,其余两位分别仍可工作在方式方式0。 A. 方式方式1输入输入 控制联络信号如下页图所示,控制联络信号如下页图所示,STB与与IBF构成了一对应答联构成了一对应答联络信号。络信号。9:1348 方式方式1输入输入9:1349INTR (Interrupt request) :中断请求信号,高电平有效。中断请求信号,高电平
49、有效。由由8255A输出,向单片机发中断请求。输出,向单片机发中断请求。INTEA (Interrupt Enable):A口中断允许,由口中断允许,由PC4控制,控制, INTE B:B口中断允许,由口中断允许,由PC2控制。控制。STB (Strobe):选通输入,是由外设送来的输入信号。当其为选通输入,是由外设送来的输入信号。当其为低时,将外设数据输入低时,将外设数据输入8255A。IBF (Input Buffer Full) :输入缓冲器满,高电平有效。表示输入缓冲器满,高电平有效。表示数据已送入数据已送入 8255A的输入锁存器,它由的输入锁存器,它由STB信号的下降沿置信号的下降
50、沿置 位,由位,由RD信号的上升沿使其复位。信号的上升沿使其复位。9:1350B. 方式方式1输出输出 如下页图所示。如下页图所示。OBF与与ACK构成了一对应答联络信号构成了一对应答联络信号,各各信号的功能如下:信号的功能如下:OBF (Output Buffer Full) :输出缓冲器满信号,输出缓冲器满信号,8255A给外设给外设的联络信号,外设可以将数据取走。的联络信号,外设可以将数据取走。ACK (Acknowledge) :外设的响应信号,外设已将数据取走。外设的响应信号,外设已将数据取走。INTR:中断请求信号。表示该数据已被外设取走,请求单片中断请求信号。表示该数据已被外设取
51、走,请求单片机继续输出下一个数据。机继续输出下一个数据。INTE A:中断允许,由:中断允许,由PC6控制。控制。INTE B:中断允许,由:中断允许,由PC2控制。控制。9:1351 方式方式1输出输出9:1352C. 方式方式2只有只有A口才能设定为方式口才能设定为方式2。方式方式2工作示意图如下页所示。工作示意图如下页所示。在方式在方式2下,下,PA7PA0为双向为双向I/O总线。总线。 当当输入输入时,时,PA7PA0受受STBA和和IBFA控制,其工作过程控制,其工作过程和方式和方式1输入时相同;输入时相同; 当当输出输出时,时,PA7PA0受受OBFA、ACKA控制,其工作过控制,
52、其工作过程和方式程和方式1输出时相同。输出时相同。9:1353方方 式式 29:13545. 8255A的控制字和初始化编程的控制字和初始化编程 8255A芯片的芯片的初始化编程是通过对控制口写入控制字的方式实现的初始化编程是通过对控制口写入控制字的方式实现的。 控制字有两个,一是方式控制字,另一个是控制字有两个,一是方式控制字,另一个是C口按位置位口按位置位/复位控制字,用复位控制字,用D7位位来区分,故来区分,故D7位称为特征位。位称为特征位。 方式控制字用于设置方式控制字用于设置8255A芯片三个端口的工作方式以及输入输出状态,用芯片三个端口的工作方式以及输入输出状态,用D7位为位为1来
53、标识。来标识。 图图9-19 8255A的方式控制字的方式控制字 例如,设定例如,设定A口为方式口为方式1输入,输入,B口口为方式为方式0输出,输出,PC7PC4为输入,为输入,PC3PC0为输出的方式控制字为:为输出的方式控制字为:10111000B。9:1355 C口的按位置位口的按位置位/复位控制字用于对复位控制字用于对C口的某一位进行置位或复位,用口的某一位进行置位或复位,用D7位为位为1来标识,如图来标识,如图9-20所示。所示。 图图9-20 8255A的的C口按位置位口按位置位/复位控制字复位控制字C口具有位操作能力,每一位都可以通过口具有位操作能力,每一位都可以通过向控制口写入
54、置位向控制口写入置位/复位控制字设置为复位控制字设置为1或或0而不影响其他位的状态。而不影响其他位的状态。例如例如PC5置置1的置位控制字为:的置位控制字为: 00001011B注意:注意:将将C口的某位置位或复位时,口的某位置位或复位时,置位置位/复位控制字一定要写入控制口,复位控制字一定要写入控制口,即所写入的地址应为控制口的地址而即所写入的地址应为控制口的地址而不是不是C口的地址,这一点常被疏忽。口的地址,这一点常被疏忽。 9:1356例例9-5 电路连接如图电路连接如图9-18,对,对8255A芯片进行初始化,要求芯片进行初始化,要求A口工作在方式口工作在方式0输入,输入,B口为方式口
55、为方式1输出,输出,C口高口高4位位PC4PC7为输入,为输入,C口低口低4位位PC3PC0为输出。编写实现上述功为输出。编写实现上述功能的初始化程序段。能的初始化程序段。解:首先根据解:首先根据CS、A1和和A0的接的接线计算线计算8255A控制口的地址,当控制口的地址,当CS=0;A1=1;A0=1时选择控制时选择控制口,即口,即P2.7=1,P2.6=1,P2.5=1,P0.1=1,P0.0=1,P2口和口和P0口的口的其他各位都为其他各位都为0,则控制口的地,则控制口的地址为址为1110 0000 0000 0011B=E003H。9:1357方式控制字为:方式控制字为:1001110
56、0B=0 x9C。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void) COM8255=0 x9C; 9:1358例例9-6 电路连接如图电路连接如图9-18,编写程序将,编写程序将C口的口的PC3置置0,PC5置置1。解:控制口的地址计算和例解:控制口的地址计算和例9-5一样,为一样,为1110 0000 0000 0011B=E003H。PC3复位的控制字为:复位的控制字为:0000 0110B=0 x06。PC5置位的控制字为:置
57、位的控制字为:0000 1011B=0 x0B。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void) COM8255=0 x06; COM8255=0 x0B; 9:13596. 8255A的应用举例的应用举例 例例9-7 对对AT89C51单片机外扩一片单片机外扩一片8255A芯片,芯片,8255A的地址线的地址线A1、A0由单由单片机片机P0.1、P0.0经经74LS373锁存后获得,片选信号接单片机的锁存后获得,片选信号接单片机的
58、P2.7,8255A的的PA、PB、PC口各接口各接8个发光二极管,仿真电路如图个发光二极管,仿真电路如图9-21所示。试编写程所示。试编写程序使三行发光二极管逐行从左往右循环点亮。序使三行发光二极管逐行从左往右循环点亮。图图9-21 例例9-7仿真电路仿真电路9:1360程序设计如下:程序设计如下:#include #include #include #define uint unsigned int#define uchar unsigned char#define PA XBYTE0 x0000 /PA,PB,PC及命令端口地址定义及命令端口地址定义#define PB XBYTE0 x
59、0001#define PC XBYTE0 x0002#define COM XBYTE0 x0003void Delay(uint x)/延时子程序延时子程序uchar i;while(x-)for(i=0;i120;i+);void main()uchar k,m=0 x7f;COM=0 x80;/控制字控制字while(1)for(k=0;k8;k+)/轮流点亮第一排小灯轮流点亮第一排小灯 m=_crol_(m,1); PA = m; Delay(100); PA = 0 xff; /关闭第一排小灯关闭第一排小灯for(k=0;k8;k+)/轮流点亮第二排小灯轮流点亮第二排小灯m=_cr
60、ol_(m,1);PB = m;Delay(100);PB = 0 xff; /关闭第二排小灯关闭第二排小灯for(k=0;k8;k+)/轮流点亮第三排小灯轮流点亮第三排小灯m=_crol_(m,1);PC = m;Delay(100);PC = 0 xff; /关闭第三排小灯关闭第三排小灯解:根据图中的连接,解:根据图中的连接,PA、PB、PC与控制口的端口地址分别为与控制口的端口地址分别为0 x0000、0 x0001、0 x0002、0 x0003。8255A的控制字为:的控制字为:0 x80。9:1361例例9-8 仿真电路如图仿真电路如图9-22所示,对所示,对AT89C51单片机外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 濮阳市中石油2025秋招面试半结构化模拟题及答案油品分析质检岗
- 宝鸡市中石化2025秋招笔试模拟题含答案炼油设备技术岗
- 中国联通普洱市2025秋招面试典型题目及答案
- 中国广电云南地区2025秋招综合管理类专业追问清单及参考回答
- 国家能源南宁市2025秋招面试专业追问及参考能源与动力工程岗位
- 中国移动大庆市2025秋招心理测评常考题型与答题技巧
- 定西市中石化2025秋招写作申论万能模板直接套用
- 宁波市中石油2025秋招笔试模拟题含答案油气储运与管道岗
- 丹东市中石化2025秋招笔试模拟题含答案炼油设备技术岗
- 中国广电济宁市2025秋招网络优化与维护类专业追问清单及参考回答
- 卫生监督协管五项制度范文(4篇)
- 2025中国低压电能质量市场白皮书
- 航空安全培训计划课件
- 电瓶搬运车安全培训课件
- 数据保护与安全知识培训课件
- 【演练方案】特种设备事故(压力容器)应急预案
- 全新档案法专题学习讲座课件
- 六年级上册道德与法治课件第四单元第8课
- 量具使用知识培训课件
- 感动中国人物-于敏
- Q-RJ 557-2017 航天型号产品禁(限)用工艺目录(公开)
评论
0/150
提交评论