第9章-80C51单片机系统扩展技术课件

上传人:无*** 文档编号:241648125 上传时间:2024-07-12 格式:PPTX 页数:92 大小:2.16MB
返回 下载 相关 举报
第9章-80C51单片机系统扩展技术课件_第1页
第1页 / 共92页
第9章-80C51单片机系统扩展技术课件_第2页
第2页 / 共92页
第9章-80C51单片机系统扩展技术课件_第3页
第3页 / 共92页
点击查看更多>>
资源描述
23:221第第9章章 80C51单片机系统扩展技术单片机系统扩展技术 23:222内容内容单片机系统扩展概述单片机系统扩展概述9.1数据存储器的扩展数据存储器的扩展9.2并行并行I/O口的扩展口的扩展 9.3键盘接口技术键盘接口技术9.4LCD液晶显示器与单片机的接口液晶显示器与单片机的接口 9.523:223 单片微机,在一片芯片上集成了计算机的基本功能单片微机,在一片芯片上集成了计算机的基本功能部件,理应独立作为计算机使用,更好地发挥其体积部件,理应独立作为计算机使用,更好地发挥其体积小、重量轻、价格低、耗电少的优点。然而,在组成小、重量轻、价格低、耗电少的优点。然而,在组成计算机系统时,计算机系统时,有时在使用过程中会嫌单片机本身的有时在使用过程中会嫌单片机本身的功能部件容量还不够,功能部件容量还不够,这就需要予以扩展。这就需要予以扩展。9.1 单片机系统扩展概述单片机系统扩展概述23:224复习:最小应用系统复习:最小应用系统 1.片内带程序存储器的单片机的最小应用系统片内带程序存储器的单片机的最小应用系统 (1)8051、8751、8052本身,本身,(2)时钟电路,时钟电路,(3)复位电路即可构成最小应用系统。复位电路即可构成最小应用系统。接接高高电电平平,系系统统就就可可以以工工作作。如如下下页页图图所所示示。该该系系统统的特点如下的特点如下:(1)系系统统有有大大量量的的I/O线线可可供供用用户户使使用用:P0、P1、P2、P3四个口都可以作为四个口都可以作为I/O口使用。口使用。(2)内内部部存存储储器器的的容容量量有有限限,只只有有128B的的RAM和和4 KB的程序存储器。的程序存储器。23:2258051/8751最小应用系统最小应用系统23:226 2.片内无程序存储器的单片机的最小应用系统片内无程序存储器的单片机的最小应用系统 (1)8031、8032本身,本身,(2)时钟电路,时钟电路,(3)复位电路复位电路 (4)片外存储器芯片片外存储器芯片 (5)地址锁存器地址锁存器 构成最小应用系统构成最小应用系统。接接低低电电平平,ALE接接地地址址锁锁存存器器,接接存存储器的输出允许端。储器的输出允许端。23:2278031最小应用系统最小应用系统PSENOE23:228 扩展一般有以下几方面的内容扩展一般有以下几方面的内容:外部程序存储器的扩展外部程序存储器的扩展;外部数据存储器的扩展外部数据存储器的扩展;输入输入/输出接口的扩展输出接口的扩展;管理功能器件的扩展管理功能器件的扩展(如定时如定时/计数器、计数器、键盘键盘/显显示器、示器、中断控制器等中断控制器等)。扩展的基本方法扩展的基本方法:使用使用TTL中小规模集成电路进行扩展。中小规模集成电路进行扩展。9.1.1 单片机系统扩展资源分类单片机系统扩展资源分类23:2299.1.2 单片机系统扩展结构单片机系统扩展结构 80C51单片机系统扩展采用三总线结构,即地址总线、数据单片机系统扩展采用三总线结构,即地址总线、数据总线和控制总线。总线和控制总线。AT89C51单片机扩展时系统总线结构图如图单片机扩展时系统总线结构图如图9-1所示。所示。23:2210 系统扩展的首要问题系统扩展的首要问题:构造系统总线,然后再往系统总线上构造系统总线,然后再往系统总线上“挂挂”存储器芯片或存储器芯片或I/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器扩展,存储器芯片就是存储器扩展,“挂挂”I/O接口芯片就是接口芯片就是I/O扩展。扩展。80C51由于受引脚数目的限制,数据线和低由于受引脚数目的限制,数据线和低8位地址线复用。位地址线复用。为了将它们分离出来,需要为了将它们分离出来,需要外加地址锁存器外加地址锁存器,从而构成与,从而构成与一般一般CPU相类似的片外三总线,见图相类似的片外三总线,见图9-1。23:2211 地地址址总总线线(AB):由由P2口口提提供供高高8位位地地址址线线,此此口口具具有有输输出出锁锁存存的功能的功能,能保留地址信息。能保留地址信息。由由P0口提供低口提供低8位地址线。位地址线。数数据据总总线线(DB):由由P0口口提提供供。此此口口是是双双向向、输输入入三三态态控控制制的的8位通道口。位通道口。控制总线控制总线(CB):扩展系统时常用的控制信号为扩展系统时常用的控制信号为:ALE地址锁存信号地址锁存信号,用以实现对低用以实现对低8位地址的锁存。位地址的锁存。片外程序存储器取指信号。片外程序存储器取指信号。片外数据存储器读信号。片外数据存储器读信号。片外数据存储器写信号。片外数据存储器写信号。23:2212 地址锁存器一般采用地址锁存器一般采用74LS373,采用采用74LS373的地址总线的的地址总线的扩展电路如下图扩展电路如下图23:22139.2 数据存储器的扩展数据存储器的扩展 目前大多数单片机都含有大容量目前大多数单片机都含有大容量Flash EEPROM,其存储,其存储单元数量都达到了单元数量都达到了64KB,能满足绝大多数用户程序存储的需,能满足绝大多数用户程序存储的需要,故很少再进行片外程序存储器的扩展。但单片机的内部数要,故很少再进行片外程序存储器的扩展。但单片机的内部数据存储器容量较小,其中一些已作为工作寄存器、堆栈和数据据存储器容量较小,其中一些已作为工作寄存器、堆栈和数据缓冲器使用,当控制系统需要暂存的数据量较大时,片内缓冲器使用,当控制系统需要暂存的数据量较大时,片内RAM常常不够用,常需进行数据存储器的扩展。常常不够用,常需进行数据存储器的扩展。若要扩展片外程序存储器,方法与数据存储器扩展相类似,若要扩展片外程序存储器,方法与数据存储器扩展相类似,不同之处仅在于控制信号的接法不一样,扩展数据存储器用单不同之处仅在于控制信号的接法不一样,扩展数据存储器用单片机的片机的RD和和WR信号直接与数据存储器的信号直接与数据存储器的OE 端和端和WE端相连,端相连,发送读、写控制信号,扩展程序存储器则用单片机的发送读、写控制信号,扩展程序存储器则用单片机的PSEN信信号与程序存储器的号与程序存储器的OE端相连,发送读控制信号。此处只介绍端相连,发送读控制信号。此处只介绍数据存储器的扩展。数据存储器的扩展。23:22149.2.1 数据存储器芯片数据存储器芯片 典型型号有典型型号有:6116、6264、62128、62256。+5V电源供电,电源供电,双列直插,双列直插,6116为为24引脚封装,引脚封装,6264、62128、62256为为28引脚封装。引脚封装。6116:2KB62128:16KB6264:8KB62256:32KB23:221523:22169.2.2 地址锁存器芯片地址锁存器芯片 74LS373的结构及引脚的结构及引脚1.锁存器锁存器74LS37323:2217 2.锁存器锁存器8282 功能及内部结构与功能及内部结构与74LS373完全一样,只是其引脚的排列与完全一样,只是其引脚的排列与74LS373不同不同,8282的引脚如下图。的引脚如下图。23:2218引脚的排列为绘制印刷引脚的排列为绘制印刷电路板时的布线提供了方便。电路板时的布线提供了方便。23:22193.锁存器锁存器74LS573 输入的输入的D端和输出的端和输出的Q端也是依次排在芯片的两侧,与锁存端也是依次排在芯片的两侧,与锁存器器8282一样,一样,为绘制印刷电路板时的布线提供了方便。为绘制印刷电路板时的布线提供了方便。23:22209.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端端23:2221图图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发出的信号可以从全发出的信号可以从全0变化到全变化到全1,P2.7P2.5因为没有与因为没有与6264相连,所以状态任意。如果将任意状态相连,所以状态任意。如果将任意状态x都看成都看成0,则,则6264的地址范围为:的地址范围为:0000 0000 0000 0000B0001 1111 1111 1111B,即,即0000H1FFFH。23:22229.2.4存储器的编址存储器的编址 存储器扩展的核心问题是存储器的存储器扩展的核心问题是存储器的编址问题编址问题。所谓编址,就是利用单片机系统提供的地址总线,通过适所谓编址,就是利用单片机系统提供的地址总线,通过适当的连接,使系统中每一个外扩芯片的每一个单元都有一个当的连接,使系统中每一个外扩芯片的每一个单元都有一个唯一的地址,以便保证同一时刻只能有一个外设使用数据总唯一的地址,以便保证同一时刻只能有一个外设使用数据总线与线与CPU交换数据,保证系统有条不紊地工作。交换数据,保证系统有条不紊地工作。存储器芯片内部有多个可寻址单元,因此编址涉及两方面存储器芯片内部有多个可寻址单元,因此编址涉及两方面问题:问题:一个是片内单元的编址,称为片内寻址,一个是片内单元的编址,称为片内寻址,由芯片内部由芯片内部的地址译码电路完成,只需将存储器芯片自身的地址线与单的地址译码电路完成,只需将存储器芯片自身的地址线与单片机的地址线按位号对应相连;片机的地址线按位号对应相连;另一个是存储器芯片的片选另一个是存储器芯片的片选/使能信号产生问题,称为芯片寻址,使能信号产生问题,称为芯片寻址,由单片机剩余的地址线由单片机剩余的地址线通过片外译码电路完成。通过片外译码电路完成。编址技术就是研究系统地址空间的分配问题,即如何产生编址技术就是研究系统地址空间的分配问题,即如何产生芯片片选芯片片选/使能信号的问题。使能信号的问题。存储器存在编址问题,本章后面存储器存在编址问题,本章后面所讲的各种外扩芯片也都存在编址问题。所讲的各种外扩芯片也都存在编址问题。23:2223 通常,产生外扩芯片片选信号的方法有通常,产生外扩芯片片选信号的方法有2种:种:线选法和译码法。线选法和译码法。1.线选法线选法 线选法线选法是指直接将单片机高位地址线作为外扩芯片的片选是指直接将单片机高位地址线作为外扩芯片的片选信号,即把单片机选定的高位地址线与外扩芯片的片选信号,即把单片机选定的高位地址线与外扩芯片的片选/使能使能端端(或或)直接连接。直接连接。例例9-2 设设计计两两片片RAM 6264芯芯片片与与AT89C51单单片片机机的的连连接接电电路路,两两片片6264芯芯片片的的片片选选信信号号采采用用线线选选法法产产生生,计计算算存存储储器器的地址范围。的地址范围。解解:6264地地址址线线有有13条条(A12A0),因因此此低低位位地地址址线线为为A12A0,高高位位地地址址线线为为A15A13。片片内内地地址址范范围围均均为为0000H1FFFH。6264(1)的的片片选选线线接接P2.5,6264(2)的的片片选选线线接接P2.6,单片机与存储器的连接电路如图单片机与存储器的连接电路如图9-8所示。所示。23:2224图图9-8 采用线选法扩展两片采用线选法扩展两片6264的电路连接的电路连接 芯片的地址计算过程及地址范围芯片的地址计算过程及地址范围:23:2225 高位未用的地址线高位未用的地址线P2.7取为取为1,实际上也可以为,实际上也可以为0。当。当P2.7为为0时,时,6264(1)的地址范围为的地址范围为4000H5FFFH;6264(2)的地的地址范围为址范围为2000H3FFFH;可见,芯片上的一个单元可以有多个地址,即地址不唯可见,芯片上的一个单元可以有多个地址,即地址不唯一,通常称为地址重叠。原因是因为有的高位线没有参与片一,通常称为地址重叠。原因是因为有的高位线没有参与片选信号的产生,可以是选信号的产生,可以是1也可以是也可以是0。由例由例9-2可知,可知,线选法的特点是电路简单,不需外加地址线选法的特点是电路简单,不需外加地址译码电路;译码电路;但芯片占用的存储空间不紧凑,寻址范围不唯一,但芯片占用的存储空间不紧凑,寻址范围不唯一,且地址空间利用率低,可扩展的芯片个数少。适用于小规模且地址空间利用率低,可扩展的芯片个数少。适用于小规模单片机应用系统的简单扩展。单片机应用系统的简单扩展。23:2226 2.译码法译码法 译译码码法法是是利利用用片片外外译译码码电电路路对对系系统统高高位位地地址址线线进进行行译译码码,产产生生外外围围芯芯片片的的片片选选信信号号,低低位位地地址址线线仍仍用用于于片片内内寻寻址址。其其中中,当当所所有有高高位位地地址址线线都都参参与与译译码码时时称称为为全全译译码码法法,只只有有部部分高位地址线参与译码时称为部分译码法。分高位地址线参与译码时称为部分译码法。译码电路可用专用的译码器芯片实现,单片机应用系统常译码电路可用专用的译码器芯片实现,单片机应用系统常用的译码器有以下用的译码器有以下3种:种:2-4译码器译码器(如双如双2-4译码器译码器74LS139),可对,可对2位高位地址进位高位地址进行译码,产生行译码,产生4个片选信号,最多可外接个片选信号,最多可外接4个芯片。个芯片。3-8译码器译码器(如如74LS138),可对,可对3位高位地址进行译码,产位高位地址进行译码,产生生8个片选信号,最多可外接个片选信号,最多可外接8个芯片。个芯片。4-16译码器译码器(如如74LS154),可对,可对4位高位地址进行译码,产位高位地址进行译码,产生生16个片选信号,最多可外接个片选信号,最多可外接16个芯片。个芯片。译码法的地址计算方法同线选法类似,不同之处在于片外译码法的地址计算方法同线选法类似,不同之处在于片外地址的形成与译码电路有关,需要进行简单计算。地址的形成与译码电路有关,需要进行简单计算。23:2227例例9-3 在在AT89C51单单片片机机外外扩扩4片片6264芯芯片片,设设计计单单片片机机与与存存储储器器的的连连接接电电路路,要要求求6264芯芯片片的的片片选选信信号号采采用用译译码码法法产产生生,计算存储器的地址范围。计算存储器的地址范围。解解:4片片6264的的地地址址线线均均有有13条条,因因此此低低位位地地址址线线为为A12A0,高高位位地地址址线线为为A15A13。4个个芯芯片片的的片片选选线线采采用用3-8译译码码器器译译码码后后获获得得,电电路路连连接接如如图图9-10所示。所示。23:222823:2229 由于高位地址线全部参与产生片选信号,因此芯片上的单元由于高位地址线全部参与产生片选信号,因此芯片上的单元与地址一一对应,地址不重叠,且与地址一一对应,地址不重叠,且4个芯片的地址连续。个芯片的地址连续。本题也可以利用本题也可以利用2-4译码器实现,这样只有译码器实现,这样只有2条高位地址线参与条高位地址线参与译码,为部分译码法。由于剩余的一条地址线可译码,为部分译码法。由于剩余的一条地址线可0可可1,因此,因此也会出现地址重叠现象。也会出现地址重叠现象。由例由例9-3可知,译码法的特点是对系统地址空间的利用率高,可知,译码法的特点是对系统地址空间的利用率高,各芯片的地址连续,特别是全译码法,每个芯片上每个单元各芯片的地址连续,特别是全译码法,每个芯片上每个单元只有一个唯一的系统地址,不存在地址重叠现象,利用相同只有一个唯一的系统地址,不存在地址重叠现象,利用相同位数的高位地址线,全译码法产生的片选信号线比线选法多,位数的高位地址线,全译码法产生的片选信号线比线选法多,可扩展更多的外围芯片。部分译码法虽然存在地址重叠现象,可扩展更多的外围芯片。部分译码法虽然存在地址重叠现象,但译码电路更简单。译码法适用于较复杂的单片机系统的扩但译码电路更简单。译码法适用于较复杂的单片机系统的扩展。展。23:22309.3 并行并行I/O接口的扩展接口的扩展 单片机系统内部具有单片机系统内部具有4个个8位并行位并行I/O口口,均可用于双向并行,均可用于双向并行I/O接口,与外部设备相连。接口,与外部设备相连。但在实际应用中,只有在单片机的最小应用系统下,这但在实际应用中,只有在单片机的最小应用系统下,这4个个I/O口才作为通用口才作为通用I/O口使用。在系统进行外部扩展时,口使用。在系统进行外部扩展时,P0口作口作为数据总线和低为数据总线和低8位地址总线,位地址总线,P2口作为高口作为高8位地址总线,位地址总线,P3口用于第二功能提供部分控制总线,因此用户只能使用口用于第二功能提供部分控制总线,因此用户只能使用P1口,口,这在外设较多的情况往往不够用,这在外设较多的情况往往不够用,必须进行并行必须进行并行I/O口的扩展。口的扩展。23:22319.3.1 并行并行I/O口扩展概述口扩展概述1.并行并行I/O口的扩展方法口的扩展方法(1)并行总线扩展并行总线扩展 将待扩展的将待扩展的I/O接口芯片的数据线与单片机的数据总线(接口芯片的数据线与单片机的数据总线(P0口)并口)并接,需要一根片选信号线,并分时占用接,需要一根片选信号线,并分时占用P0口。口。特点:特点:由于不影响其他芯片的连接与操作,也不给单片机硬件带来由于不影响其他芯片的连接与操作,也不给单片机硬件带来额外开支,因此在应用系统的并行额外开支,因此在应用系统的并行I/O口扩展中被广泛采用。口扩展中被广泛采用。(2)串行口扩展方法串行口扩展方法 单单片片机机串串行行口口的的工工作作方方式式0为为移移位位寄寄存存器器方方式式,对对于于不不使使用用串串行行口口的的单单片片机机应应用用系系统统,可可在在串串行行口口外外接接一一串串入入/并并出出移移位位寄寄存存器器以以实实现现并并行行I/O口口的的扩扩展展。通通过过移移位位寄寄存存器器的的级级联联,还还可可扩扩展展大大量量的的并并行行I/O口口线。线。特点:特点:这种扩展方法数据传输速度较慢。这种扩展方法数据传输速度较慢。23:22322.I/O口的编址方式口的编址方式I/O接口中的端口接口中的端口:指存放地址、数据、控制信息的寄存器:指存放地址、数据、控制信息的寄存器 I/O端口的编址方式有独立编址和统一编址端口的编址方式有独立编址和统一编址 (1)独立编址方式独立编址方式 独立编址是指独立编址是指I/O端口的地址空间与存储器地址空间相互独立,完端口的地址空间与存储器地址空间相互独立,完全分开。全分开。优点是有专门的输入优点是有专门的输入/输出指令,程序清晰;存储器和输出指令,程序清晰;存储器和I/O端口的控端口的控制结构相互独立。缺点是要求制结构相互独立。缺点是要求CPU设置专门的引脚信号;设置专门的引脚信号;I/O指令的指令的功能不丰富,程序设计的灵活性差。功能不丰富,程序设计的灵活性差。80 x86系列的系列的CPU采用此种编址方式。采用此种编址方式。(2)统一编址方式统一编址方式 统一编址是指统一编址是指I/O端口与数据存储器共用一个地址空间。其优点是不端口与数据存储器共用一个地址空间。其优点是不需要专门的输入需要专门的输入/输出指令,编程灵活;输出指令,编程灵活;I/O端口的数目不受限制。缺端口的数目不受限制。缺点是占去数据存储器地址空间,使存储器可寻址空间减小。点是占去数据存储器地址空间,使存储器可寻址空间减小。80C51单片机采用此种编址方式。单片机采用此种编址方式。23:2233 80C51单单片片机机的的I/O端端口口与与外外部部数数据据存存储储单单元元使使用用共共同同的的地址空间,地址空间,范围是范围是0000HFFFFH。不不需需要要专专门门的的输输入入输输出出指指令令,单单片片机机对对扩扩展展I/O端端口口的的访访问问方方法法同同访访问问外外部部RAM一一样样,用用汇汇编编语语言言编编程程时时使使用用的的指指令令相相同同,如如果果用用C51编编程程,数数据据类类型型应应定定义义为为xdata或或pdata。23:22349.3.2 简单并行简单并行I/O口的扩展口的扩展要求:要求:作为输入接口的芯片应具有三态特性;作为输入接口的芯片应具有三态特性;作为输出接口的芯片应具有锁存功能。作为输出接口的芯片应具有锁存功能。扩展方法特点:扩展方法特点:电路结构简单,成本低,传送控制方式简电路结构简单,成本低,传送控制方式简单,配置灵活使用方便,但电路连接后,功能难以改变。因此单,配置灵活使用方便,但电路连接后,功能难以改变。因此适用于扩展单个适用于扩展单个8位的输入位的输入/输出口输出口 选用选用TTL或或CMOS电路的三态缓冲器、寄存器或数据锁存器等芯片作为电路的三态缓冲器、寄存器或数据锁存器等芯片作为I/O口扩口扩展芯片。展芯片。这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或时这些电路具有数据缓冲或锁存功能,但自身只有数据的输入或输出、选通端或时钟信号端,没有地址线和读钟信号端,没有地址线和读/写控制线,故在进行扩展时往往需要将地址线和读写控制线,故在进行扩展时往往需要将地址线和读/写等写等控制线经逻辑组合后再输出至选通端或时钟信号端。控制线经逻辑组合后再输出至选通端或时钟信号端。编址通常采用的是编址通常采用的是线选法,线选法,芯片地址由使用的地址线决定,往往有重叠。芯片地址由使用的地址线决定,往往有重叠。23:2235常使用缓冲器作为输入接口芯片,经常使用的芯片有:常使用缓冲器作为输入接口芯片,经常使用的芯片有:1.74HC244/74LS244正相三态缓冲器正相三态缓冲器(单向驱动单向驱动)。2.74HC240/74LS240反相三态缓冲器。反相三态缓冲器。3.74HC245/74LS2458总线接收器总线接收器(双向驱动双向驱动)。常使用寄存器、锁存器作为输出接口芯片,常用芯片:常使用寄存器、锁存器作为输出接口芯片,常用芯片:1.74HC273/74LS2738D触发器触发器(共时钟,带清除共时钟,带清除)。2.74HC373/74LS3738D锁存器锁存器/触发器触发器(三态输出三态输出)。3.74HC374/74LS3748D触发器触发器(三态输出三态输出)。4.74HC377/74LS3778D锁存器。锁存器。23:2236图图9-13 74LS244引脚图和功能表引脚图和功能表23:2237例例9-4 AT89C51单片机利用单片机利用74HC373和和74HC244进行扩展的进行扩展的开关与指示灯接口电路如图开关与指示灯接口电路如图9-14所示,编写程序实现当开关所示,编写程序实现当开关DSW1打在打在“ON”位置时对应的位置时对应的LED亮,打在亮,打在“OFF”位置时位置时对应的对应的LED暗,即用暗,即用LED指示开关的状态。指示开关的状态。图图9-14 例例9-4proteus仿真电路仿真电路解:分析:解:分析:74HC373和和74HC244分别作为输出接口和输入接口。分别作为输出接口和输入接口。P2.0与与RD相或后作相或后作为为74HC244的片选信号,与的片选信号,与WR相或后作为相或后作为74HC373的片选信号。的片选信号。74HC373和和74HC244芯片的地址计算如图芯片的地址计算如图9-15所示,两个芯片的地址相同,但是所示,两个芯片的地址相同,但是74HC244只有只有读操作读操作(RD=0,WR=1),而,而74HC373只有写操作只有写操作(RD=1,WR=0),因此依然可以使,因此依然可以使用用P0口与口与CPU交换数据而不会产生冲突。交换数据而不会产生冲突。当开关打在当开关打在“ON”位置时,从位置时,从74HC244读入的对应位为读入的对应位为0,通过,通过74HC373输出时,刚输出时,刚好使对应的好使对应的LED点亮。点亮。图图9-15 74HC373和和74HC244芯片的地址计算芯片的地址计算23:2238程序设计如下:程序设计如下:#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=status;/从从74HC373输出数据输出数据 23:22399.3.3 可编程并行可编程并行I/O口的扩展口的扩展 采用采用TTL或或CMOS电路扩展的电路扩展的I/O口,只能用于对输入口,只能用于对输入/输出输出要求较为简单的系统中,当单片机应用系统中需要较为复杂的要求较为简单的系统中,当单片机应用系统中需要较为复杂的I/O接口时,应选用通用可编程的接口时,应选用通用可编程的I/O接口芯片来扩展。接口芯片来扩展。可编程可编程I/O接口芯片接口芯片的工作方式和功能的工作方式和功能均可通过软件编程均可通过软件编程设设定,使用灵活,既可作为输入口使用,又可作为输出口使用,定,使用灵活,既可作为输入口使用,又可作为输出口使用,适应多种功能需求,应用非常广泛。适应多种功能需求,应用非常广泛。23:22401.8255A的内部结构和功能的内部结构和功能(1)与外设相关的外部接口与外设相关的外部接口 它包含它包含3个个8位的可编程双向位的可编程双向I/O接口,分别称为接口,分别称为A口、口、B口、口、C口。口。外设通过这些端口与单片机外设通过这些端口与单片机交换信息。交换信息。A口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入锁存器,位输入锁存器,是最灵活的输入是最灵活的输入/输出寄存器,输出寄存器,它可以编程为输入它可以编程为输入/输出或双向输出或双向寄存器;寄存器;B口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存),它可以编程为输入,它可以编程为输入/输出寄存器,但不能双向输入输出寄存器,但不能双向输入/输出;输出;C口口具有一个具有一个8位数据输出锁位数据输出锁存存/缓冲器和一个缓冲器和一个8位输入缓冲器位输入缓冲器(但不锁存但不锁存)。(2)与内部工作方式相关与内部工作方式相关的内部控制逻辑的内部控制逻辑 它包含有两组控制电路,它包含有两组控制电路,称为称为A组和组和B组的控制电路,组的控制电路,其内设有控制寄存器,控制其内设有控制寄存器,控制寄存器的内容由单片机写入,寄存器的内容由单片机写入,它决定了它决定了8255A的工作方式。的工作方式。(3)与单片机有关的与单片机有关的CPU接口接口 包括数据总线缓冲器和读包括数据总线缓冲器和读/写控制逻辑,这是任何一个写控制逻辑,这是任何一个可编程接口芯片都具有的组可编程接口芯片都具有的组成部分。成部分。数据总线缓冲器是数据总线缓冲器是8255A与系统总线连接的通道,它与系统总线连接的通道,它可以输入或输出各种数据,可以输入或输出各种数据,如外设送给单片机的信息、如外设送给单片机的信息、单片机送给单片机送给8255A的命令和的命令和单片机送给外设的信息等。单片机送给外设的信息等。读读/写控制逻辑电路写控制逻辑电路负责管负责管理理8255A的数据传输过程,的数据传输过程,它接收片选信号及系统读信它接收片选信号及系统读信号、写信号、复位信号号、写信号、复位信号RESET、口地址选择信号、口地址选择信号(一般用地址线的最低位一般用地址线的最低位A1和和A0),用于控制对,用于控制对8255A内内部的四个寄存器进行读部的四个寄存器进行读/写操写操作。作。23:2241(1)面向面向CPU的引脚信号及功能的引脚信号及功能D0D7:8位双向三态数据线,位双向三态数据线,可以与系统数据总线直可以与系统数据总线直接相连,用于在接相连,用于在CPU与与8255A之间传送数据信息、控制信之间传送数据信息、控制信息及状态信息。息及状态信息。RESET:复位信号,:复位信号,高电平有效,输入,用来清除高电平有效,输入,用来清除8255A的内部寄存器,并置的内部寄存器,并置A口、口、B口、口、C口均为输入方式。口均为输入方式。注意:注意:8255A工作之前,硬件上必须先复位,使工作之前,硬件上必须先复位,使8255A内内部的各个部件处于待命状态。部的各个部件处于待命状态。CS:片选,:片选,输入,低电平有效,用来决定芯片是否被选输入,低电平有效,用来决定芯片是否被选中。只有该信号有效时,才允许中。只有该信号有效时,才允许CPU与与8255A交换信息。交换信息。RD:读信号,:读信号,输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,将被选中的端口数据或状态信息送至数据总线。将被选中的端口数据或状态信息送至数据总线。WR:写信号,:写信号,输入,低电平有效,当有效且为低电平时,输入,低电平有效,当有效且为低电平时,CPU将数据线上的数据或控制信息写入被选中的端口。将数据线上的数据或控制信息写入被选中的端口。A1、A0:内部口地址选择信号,:内部口地址选择信号,输入。这两个引脚上的输入。这两个引脚上的信号组合决定对信号组合决定对8255A内部的哪一个口或寄存器进行操作。内部的哪一个口或寄存器进行操作。8255A内部共有内部共有4个端口:端口个端口:端口A、端口、端口B、端口、端口C和控制和控制口。引脚口。引脚Al、A0与、组合,可用来选中端口,并对其与、组合,可用来选中端口,并对其进行读或写操作,进行读或写操作,8255A的操作功能如表的操作功能如表9-3所示。所示。23:2242图图9-17 8255A的引脚图的引脚图 (2)面向外设的引脚信号及功能面向外设的引脚信号及功能PA0PA7:A口数据信号,用来连接外设。口数据信号,用来连接外设。PB0PB7:B口数据信号,用来连接外设。口数据信号,用来连接外设。PC0PC7:C口数据信号,其作用由软件设定,口数据信号,其作用由软件设定,可连接外设,在可连接外设,在CPU与外设之间传送数据;也可与外设之间传送数据;也可以作为以作为A口或口或B口输入口输入/输出操作的联络线和控制线。输出操作的联络线和控制线。23:22433.8255A与单片机的接口电路与单片机的接口电路单片机与单片机与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译码器的译码器的Y7产生。产生。若要选中若要选中8255A,则,则Y7必须有效,必须有效,此时此时P2.7P2.6P2.5=111。23:224423:22454.8255的工作方式的工作方式8255A有三种工作方式:有三种工作方式:方式方式0:基本输入输出;基本输入输出;方式方式1:选通输入输出;选通输入输出;方式方式2:双向传送(仅双向传送(仅A口有)。口有)。23:2246A.具有两个具有两个8位端口(位端口(A、B)和两个)和两个4位端口(位端口(C的上半部分的上半部分和下半部分)。和下半部分)。B.任一个端口都可以设定为输入或输出,各端口的输入、任一个端口都可以设定为输入或输出,各端口的输入、输出可构成输出可构成16种组合。种组合。C.数据输出锁存,输入不锁存。数据输出锁存,输入不锁存。(1)方式方式0 基本输入输出基本输入输出功能:功能:应用场合:应用场合:A.无条件传送;无条件传送;B.查询式传送。查询式传送。在利用查询传送方式传送数据时,可用在利用查询传送方式传送数据时,可用A口、口、B口、口、C口这口这三个口的任一位充当查询信号,其余三个口的任一位充当查询信号,其余I/O口仍作为独立的端口仍作为独立的端口和外设相连。口和外设相连。23:2247(2)方式方式1 选通输入选通输入/输出工作方式输出工作方式三个端口分为三个端口分为A、B两组。两组。A、B口仍作为两个独立的口仍作为两个独立的8位位I/O数据通道,数据通道,可单独连接外设,通过编程设置它们为输入或输出,可单独连接外设,通过编程设置它们为输入或输出,C口则要由六位口则要由六位(分分成两个成两个3位位)分别作为分别作为A口和口和B口的应答信号线,其余两位分别仍可工作在口的应答信号线,其余两位分别仍可工作在方式方式0。A.方式方式1输入输入 控制联络信号如下页图所示,控制联络信号如下页图所示,STB与与IBF构成了一对应答联络构成了一对应答联络信号。信号。23:2248 方式方式1输入输入23:2249INTR(Interrupt request):中断请求信号,高电平有效。中断请求信号,高电平有效。由由8255A输出,向单片机发中断请求。输出,向单片机发中断请求。INTEA(Interrupt Enable):A口中断允许,由口中断允许,由PC4控制,控制,INTE B:B口中断允许,由口中断允许,由PC2控制。控制。STB(Strobe):选通输入,是由外设送来的输入信号。当其为选通输入,是由外设送来的输入信号。当其为低时,将外设数据输入低时,将外设数据输入8255A。IBF(Input Buffer Full):输入缓冲器满,高电平有效。表示输入缓冲器满,高电平有效。表示数据已送入数据已送入 8255A的输入锁存器,它由的输入锁存器,它由STB信号的下降沿置信号的下降沿置 位,由位,由RD信号的上升沿使其复位。信号的上升沿使其复位。23:2250B.方式方式1输出输出 如下页图所示。如下页图所示。OBF与与ACK构成了一对应答联络信号构成了一对应答联络信号,各各信号的功能如下:信号的功能如下:OBF(Output Buffer Full):输出缓冲器满信号,输出缓冲器满信号,8255A给外设给外设的联络信号,外设可以将数据取走。的联络信号,外设可以将数据取走。ACK(Acknowledge):外设的响应信号,外设已将数据取走。外设的响应信号,外设已将数据取走。INTR:中断请求信号。表示该数据已被外设取走,请求单片中断请求信号。表示该数据已被外设取走,请求单片机继续输出下一个数据。机继续输出下一个数据。INTE A:中断允许,由:中断允许,由PC6控制。控制。INTE B:中断允许,由:中断允许,由PC2控制。控制。23:2251 方式方式1输出输出23:2252C.方式方式2只有只有A口才能设定为方式口才能设定为方式2。方式方式2工作示意图如下页所示。工作示意图如下页所示。在方式在方式2下,下,PA7PA0为双向为双向I/O总线。总线。当当输入输入时,时,PA7PA0受受STBA和和IBFA控制,其工作过程控制,其工作过程和方式和方式1输入时相同;输入时相同;当当输出输出时,时,PA7PA0受受OBFA、ACKA控制,其工作过控制,其工作过程和方式程和方式1输出时相同。输出时相同。23:2253方方 式式 223:22545.8255A的控制字和初始化编程的控制字和初始化编程 8255A芯片的芯片的初始化编程是通过对控制口写入控制字的方式实现的初始化编程是通过对控制口写入控制字的方式实现的。控制字有两个,一是方式控制字,另一个是控制字有两个,一是方式控制字,另一个是C口按位置位口按位置位/复位控制字,用复位控制字,用D7位位来区分,故来区分,故D7位称为特征位。位称为特征位。方式控制字用于设置方式控制字用于设置8255A芯片三个端口的工作方式以及输入输出状态,用芯片三个端口的工作方式以及输入输出状态,用D7位为位为1来标识。来标识。图图9-19 8255A的方式控制字的方式控制字 例如,设定例如,设定A口为方式口为方式1输入,输入,B口口为方式为方式0输出,输出,PC7PC4为输入,为输入,PC3PC0为输出的方式控制字为:为输出的方式控制字为:10111000B。23:2255 C口的按位置位口的按位置位/复位控制字用于对复位控制字用于对C口的某一位进行置位或复位,用口的某一位进行置位或复位,用D7位为位为1来标识,如图来标识,如图9-20所示。所示。图图9-20 8255A的的C口按位置位口按位置位/复位控制字复位控制字C口具有位操作能力,每一位都可以通过口具有位操作能力,每一位都可以通过向控制口写入置位向控制口写入置位/复位控制字设置为复位控制字设置为1或或0而不影响其他位的状态。而不影响其他位的状态。例如例如PC5置置1的置位控制字为:的置位控制字为:00001011B注意:注意:将将C口的某位置位或复位时,口的某位置位或复位时,置位置位/复位控制字一定要写入控制口,复位控制字一定要写入控制口,即所写入的地址应为控制口的地址而即所写入的地址应为控制口的地址而不是不是C口的地址,这一点常被疏忽。口的地址,这一点常被疏忽。23:2256例例9-5 电路连接如图电路连接如图9-18,对,对8255A芯片进行初始化,要求芯片进行初始化,要求A口工作在方式口工作在方式0输入,输入,B口为方式口为方式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。23:2257方式控制字为:方式控制字为:10011100B=0 x9C。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void)COM8255=0 x9C;23:2258例例9-6 电路连接如图电路连接如图9-18,编写程序将,编写程序将C口的口的PC3置置0,PC5置置1。解:控制口的地址计算和例解:控制口的地址计算和例9-5一样,为一样,为1110 0000 0000 0011B=E003H。PC3复位的控制字为:复位的控制字为:0000 0110B=0 x06。PC5置位的控制字为:置位的控制字为:0000 1011B=0 x0B。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void)COM8255=0 x06;COM8255=0 x0B;23:22596.8255A的应用举例的应用举例 例例9-7 对对AT89C51单单片片机机外外扩扩一一片片8255A芯芯片片,8255A的的地地址址线线A1、A0由由单单片片机机P0.1、P0.0经经74LS373锁锁存存后后获获得得,片片选选信信号号接接单单片片机机的的P2.7,8255A的的PA、PB、PC口口各各接接8个个发发光光二二极极管管,仿仿真真电电路路如如图图9-21所所示示。试试编编写写程程序使三行发光二极管逐行从左往右循环点亮。序使三行发光二极管逐行从左往右循环点亮。图图9-21 例例9-7仿真电路仿真电路23:2260程序设计如下:程序设计如下:#include#include#include#define uint unsigned int#define uchar unsigned char#define PA XBYTE0 x0000/PA,PB,PC及命令端口地址定义及命令端口地址定义#define PB XBYTE0 x0001#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=_crol_(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。23:2261例例9-8 仿仿真真电电路路如如图图9-22所所示示,对对AT89C51单单片片机机外外扩扩一一片片8255A芯芯片片,8255A的的地地址址线线A1、A0由由单单片片机机P0.1、P0.0经经74LS373锁锁存存后后获获得得,片片选选信信号号接接单单片片机机的的P2.7,8255A的的PA口口接接8只只集集成成式式7段段共共阳阳数数码码管管的的位位选选,PB口口接接7段段数数码码管管的的段段选选(PB7到到PB0分分别别接接a到到dp段段),试试编编写写程程序序使使数数码码管管从从高到低显示高到低显示7到到0字符。字符。图图9-22 例例9-8仿真电路仿真电路 23:2262程序设计如下:程序设计如下:#include#include#include#define uint unsigned int#define uchar unsigned char#define PA XBYTE0 x0000/PA,PB,PC及命令端口地址定义及命令端口地址定义#define PB XBYTE0 x0001#define PC XBYTE0 x0002#define COM XBYTE0 x0003uchar code DSY_CODE=0 x03,0 x9f,0 x25,0 x0d,0 x99,0 x49,0 x41,0 x1f,0 x01,0 x09;/09的显示字的显示字符符void DelayMS(uint x)uchar t;while(x-)for(t=120;t0;t-);void main()uchar k,m=0 x01;COM=0 x80;/8255A工作方式选择:工作方式选择:PA,PB均均工作于方式工作于方式0,输出,输出PB=0 xff;/关闭数码管的段选关闭数码管的段选PA=0 x00;/关闭数码管的位选关闭数码管的位选while(1)for(k=8;k0;k-)m=_cror_(m,1);PA=m;/选通某个数码管的位选选通某个数码管的位选PB=DSY_CODEk-1;/将段码送给上面数码将段码送给上面数码管对应的段管对应的段DelayMS(2);解:根据图中的连接,解:根据图中的连接,PA、PB、PC与控制口的端口地址分别为与控制口的端口地址分别为0 x0000、0 x0001、0 x0002、0 x0003。8255的控制字为:的控制字为:0 x80。23:22639.4 键盘接口技术键盘接口技术 键盘键盘用于实现单片机应用系统中的数据和控制命令的输入,用于实现单片机应用系统中的数据和控制命令的输入,键盘接口的主要功能是对键盘上所按下的键进行识别,常用键盘接口的主要功能是对键盘上所按下的键进行识别,常用的键盘有的键盘有全编码键盘和非编码键盘全编码键盘和非编码键盘两种。两种。全编码键盘全编码键盘使用专用的硬件逻辑自动识别按键,还具有去使用专用的硬件逻辑自动识别按键,还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但价格较抖动和多键、窜键保护电路。这种键盘使用方便,但价格较高,常用于高,常用于PC机中,一般的单片机系统很少使用。机中,一般的单片机系统很少使用。非编码键盘非编码键盘使用软件对按键进行识别,可分为使用软件对按键进行识别,可分为独立式按键独立式按键和矩阵式键盘和矩阵式键盘。这种键盘结构简单、成本低,在单片机系统。这种键盘结构简单、成本低,在单片机系统中广泛使用。中广泛使用。23:22649.4.1 按键开关按键开关 单片机中的键盘通常由按键开关组成,按键开关的外形和单片机中的键盘通常由按键开关组成,按键开关的外形和参数如图参数如图9-23所示,它是一种常开型按键开关,为了便于安装所示,它是一种常开型按键开关,为了便于安装固定,它有四个管脚,其管脚说明如图固定,它有四个管脚,其管脚说明如图9-23中的文字所示,在中的文字所示,在常态时开关触点(常态时开关触点(1和和2)处于断开状态,只有按下按键时开)处于断开状态,只有按下按键时开关触点才闭合短路,所以可以用万用表检测开关的管脚排列、关触点才闭合短路,所以可以用万用表检测开关的管脚排列、好坏和质量。好坏和质量。图图9-23 按键开关外形按键开关外形 23:22659.4.2 键盘工作原理键盘工作原理 1.按键消抖问题按键消抖问题 按键是利用机械触点的合、断来实现键的闭合与释放,由于弹性作按键是利用机械触点的合、断来实现键的闭合与释放,由于弹性作用,机械触点在闭合及断开瞬间会有抖动的过程,从而使键输入电压的用,机械触点在闭合及断开瞬间会有抖动的过程,从而使键输入电压的信号也存在抖动现象。信号也存在抖动现象。若键盘接口电路如图若键盘接口电路如图9-24所示,当开关所示,当开关S未被按下未被按下(即断开即断开)时,时,P1.1输入为高电平,输入为高电平,S闭合后,闭合后,P1.1输入为低电平,实际由于有按键抖动,输入为低电平,实际由于有按键抖动,P1.1引脚输入的波形如图引脚输入的波形如图9-25所示。分别将键的闭合和断开过程中的抖所示。分别将键的闭合和断开过程中的抖动期称为前沿抖动和后沿抖动。动期称为前沿抖动和后沿抖动。图图9-24 键盘接口电路键盘接口电路图图9-25 按键抖动波形按键抖动波形23:2266 抖抖动动时时间间的的长长短短与与开开关关的的机机械械特特性性有有关关,一一般般为为510ms,稳稳定定闭闭合合期期时时间间的的长长短短由由按按键键的的动动作作决决定定,一一般般为为几几百百ms几几s。为为了了保保证证按按键键
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!