收藏 分销(赏)

2022年单片机的IO接口与存储器扩展.ppt

上传人:二*** 文档编号:12611216 上传时间:2025-11-10 格式:PPT 页数:79 大小:755.04KB 下载积分:5 金币
下载 相关 举报
2022年单片机的IO接口与存储器扩展.ppt_第1页
第1页 / 共79页
本文档共79页,全文阅读请下载到手机保存,查看更方便
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,单片机原理与应用,*,第7章 单片机的I/O接口 与存储器扩展,【本章内容】,本章主要介绍MCS-51单片机I/O接口的结构、工作原理、作用以及如何通过I/O接口实现存储器扩展等。,【项目驱动的学习要点】,应用项目中使用哪些,I/O,接口?,应用项目中如何扩展,I/O,接口?,应用项目中如何扩展片外存储器?,1,第7章 单片机的I/O接口 与存储器扩展,7.1 I/O接口概述,7.2 存储器扩展,练习题,END,2,7.1 I/O接口概述,7.1.1 I/O接口的作用,7.1.2 I/O端口的编址,7.1.3 I/O接口的数据传送方式,3,7.1.1 I/O接口的作用,I/O接口指的是输入/输出接口电路,它分为并行接口和串行接口两种,是CPU和输入/输出(I/O)设备进行数据传输的通道。I/O接口通常由大规模集成电路组成,可以和CPU集成在同一块芯片上,也可以是一块独立的芯片。,常用的输入设备有键盘、开关及各种传感器等,输出设备有LED(或LCD)显示器、微型打印机等。,4,I/O接口的作用,MCS-51单片机内部有4个并行I/O接口和1个串行I/O接口,对于简单的I/O设备可以直接连接。当连接的设备有特殊要求,或系统较为复杂,需要使用较多的I/O接口时,就必须通过外接I/O接口芯片来完成单片机与I/O设备的连接,如图7-1所示。,5,图7-1 单片机与I/O接口、I/O设备的连接,6,I/O接口的主要作用,1锁存数据,2隔离总线,3信号转换,4时序协调,7,1锁存数据,单片机对 I/O设备的访问时间大大短于I/O设备对数据的处理时间。,CPU通常是把输出数据快速写入I/O接口的数据端口,先将输出数据锁存下来,然后再交给外设处理;,外设输入数据时,通常也是先将数据锁存起来,再通知CPU读取。,8,2隔离总线,单片机系统的数据总线为双向总线,供所有I/O设备分时复用。设备传送数据时占用总线,不传送数据时必须让总线呈高阻状态。利用I/O接口的三态缓冲功能,便可以实现I/O设备与数据总线的隔离,便于其他设备与总线挂接。,9,3信号转换,当单片机和外部设备之间的数据传送方式不相同时,可以通过具有并/串变换或串/并变换的I/O接口来进行数据传送方式的转换。,通常CPU输入/输出的数据和控制信号是TTL电平(小于0.6V表示0,大于3.4V表示1),而外部设备的信号电平类型较多(如小于5V表示0,大于24V表示1),当出现这种情况时,可利用具有电平转换功能的I/O接口进行自动变换。,10,4时序协调,单片机输入数据时,只有在确认输入设备已向I/O接口提供了有效的数据后,才能进行读操作;输出数据时,只有在确认输出设备已做好了接收数据的准备后,才能进行写操作。不同I/O设备的定时与控制逻辑不同,往往与CPU的时序不一致,这就需要 I/O接口进行时序协调。,11,7.1.2 I/O端口的编址,1对I/O端口单独编址,2I/O端口和存储器统一编址,12,1对I/O端口单独编址,I/O端口单独编址是指对I/O端口和存储器存储单元分别编址,各自独立。这种编址方式的优点是不占用存储器地址,但需要使用专用的I/O指令,以区分CPU访问的地址究竟是存储器地址还是I/O端口的地址。由于MCS-51单片机指令集中没有专用的I/O指令,所以MCS-51单片机不采用这种编址方式。,13,2I/O端口和存储器统一编址,这种编址方式是把I/O端口当成存储器单元对待,让I/O端口地址占用存储器的部分单元地址。例如,将0000HFFFFH范围的存储器地址中的FF00HFFFFH作为I/O端口地址。这样,CPU通过使用外部存储器的读/写指令就可以实现对I/O端口的输入/输出。MCS-51单片机的I/O端口地址就是采用这种编址方式,利用MOVX类指令访问I/O端口。,14,I/O端口和存储器统一编址的优点:,(1)CPU访问外部存储器的一切指令均适用于对I/O端口的访问,这就大大增强了CPU对外设端口信息的处理能力。,(2)CPU本身不需要专门为I/O端口设置I/O指令。,(3)能灵活安排I/O端口地址,I/O端口数量不受限制。,15,7.1.3 I/O接口的数据传送方式,1无条件传送,2条件传送,3中断传送,4DMA(直接存储器存取)传送,16,1无条件传送,这种传送方式的特点是,CPU不测试I/O设备的状态,数据是否进行传送只取决于程序的执行,而与外设的条件(即状态)无关。也就是说,在需要进行传送数据时,CPU总是认为外设是处于“准备就绪”状态的,只要程序执行输入/输出指令,CPU就立即与外设同步数据传送。,17,2条件传送,条件传送也叫查询传送,采用这种传送方式时,单片机在执行输入/输出指令前,首先查询I/O接口的状态端口的状态。向外设输入数据时,需先查询外设是否已“准备就绪”;,向外设输出数据时,需先查询外设是否“空闲”。由此条件来决定是否可以执行输入/输出操作。这种传送方式与无条件的同步传送不同,它是有条件的异步传送。,18,3中断传送,采用中断传送方式时,每个I/O设备都具有请求中断的主动权。外设一旦需要传送数据服务时,就会主动向CPU发出中断请求,CPU便可中止当前正在执行的程序,转去执行为该I/O设备服务的中断程序,进行一次数据传送。中断服务结束,再返回执行原来的程序。这样,在I/O设备处理数据期间,单片机不必浪费大量的时间去查询I/O设备的状态。,19,【项目应用】,在应用项目中,自动打铃机的硬件接线图如附录A图A.1所示,从图中可以看出,该应用项目用到的单片机I/O接口有:P0口、P1口、P2口、P3口,为了连接6只LED数码管,还通过使用一片I/O接口芯片8155(8155芯片及其扩展方法将在下一章介绍)扩展出两个I/O接口,采用的数据传送方式为无条件传送。,21,7.2 存储器扩展,7.2.1 ROM的扩展,7.2.2 RAM的扩展,7.2.3 存储器扩展的注意问题,22,7.2.1 ROM的扩展,1常用的ROM芯片,2ROM芯片与单片机的连接,3ROM芯片的地址译码方式,4片外ROM的操作时序,23,(1)UVEPROM存储器,UVEPROM(Ultraviolet Erasable Programmable ROM)是一种用紫外线擦除的可擦除可编程ROM。,常用的UVEPROM芯片有2732、2764、27128、27256、27512等,其技术特性见表7-1。,25,表7-1常见UVEPROM芯片的主要技术特性,芯 片 型 号,2732,2764,27128,27256,27512,容量(KB),4,8,16,32,64,引脚数,24,28,28,28,28,读出时间(ns),100,300,100200,100300,100300,100300,最大工作电流(mA),100,75,100,100,125,最大维持电流(mA),35,35,40,40,40,26,图7-2 几种UVEPROM芯片的引脚分布图,27,各引脚的功能:,A0A,n,-1,:地址线。,n,的取值视容量而定,存储容量=2,n,。例如,容量为4KB时,,n,=12,即12条地址线,依此类推。,Q0Q7,:数据线。正常工作时,用于传送从ROM中读出的数据(常数或程序代码),编程时,用于传送写入ROM的数据。,:片选线。用于控制芯片是否工作,,为高电平时,芯片不工作;为低电平时,芯片可以工作,28,各引脚的功能:,:输出允许(读选通)线。为高电平时,数据线Q0Q7处于高阻状态;为低电平时,数据线Q0Q7处于读出状态。,Vpp,:编程电源输入线,当它接+5V电源时,ROM芯片处于正常工作状态;当它接+21V电源时,ROM芯片处于编程/校验状态。,29,各引脚的功能:,:编程控制线。用于控制ROM芯片处于正常工作状态还是编程/校验状态。当 为高电平时,ROM芯片处于正常工作状态;若给 输入一个时长约为50ms的负脉冲,且给Vpp接入+21V电源时,ROM芯片处于编程/校验状态,可将程序写入片内。,VCC:+5V电源输入线。,GND:接地线。,NC:未用空脚。,30,(2)E,2,PROM存储器,E,2,PROM是用电擦除的可擦除可编程ROM,它与UVPROM的最大区别是,E,2,PROM在擦除信息时无需从电路板上拆卸下来,而是自接利用电脉冲擦去所存储的信息。E,2,PROM不但具有ROM的非易失性,同时又具有RAM的随机读/写特性,这种独特的性能,使它可以用于在线编程,方便地实现软件修改、更新。常用的E,2,PROM芯片有2861、2871、2864等,其技术特性见表7-2。,31,表7-2常见E,2,PROM芯片的主要技术特性,芯 片 型 号,2816,2816A,2817,2817A,2864,引脚数,24,24,28,28,28,读出时间(ns),250,200/250,250,200/250,250,读操作电压(V),5,5,5,5,5,写操作电压(V),21,5,21,5,5,字节擦除时间(ms),10,915,10,10,10,写入时间(ms),10,915,10,10,10,32,各引脚的定义:,I/O0I/O7:数据线。,:写选通信号输入线。低电平有效。,RDY/:状态输出线。在写操作时,其低电平表示“忙”,写入完毕后该线为高电平,表示“准备就绪”。,其余引脚的名称与功能与前面介绍的UVEPROM芯片类似。,34,2ROM芯片与单片机的连接,ROM芯片(以容量为8KB的2764为例)与单片机的连接方法参见图7-4和图7-5。,由图可见,因为单片机8031没有内部ROM,因此,要将其允许访问片外ROM控制脚 接地。,35,图7-4 8031与2764通过全译码方式连接,36,图7-5 8031与2764通过线选译码方式连接,37,(1)数据总线的连接,单片机数据总线的位长为8位,由P0口提供,所以只要将扩展的ROM芯片的数据线与单片机的P0口直接连接即可。,38,(2)地址总线的连接,单片机地址总线的位长为16位,可寻址范围可达64KB(216)。其中,高8位A15A8由P2口提供,低8位地址A7A0由P0口提供。,39,(3)控制总线的连接,控制总线除前述的ALE和 控制线外,还有单片机的片外ROM读选通引脚 ,其应与ROM芯片的输出允许线 连接。,40,3ROM芯片的地址译码方式,(1)全译码方式,(2)部分译码方式,(3)线选译码方式,41,(1)全译码方式,单片机地址的全译码方式是指所有片选地址线均参加译码的工作方式。8031与扩展的EPROM芯片2764通过全译码方式进行连接的示意图如,图7-4,所示。,42,全译码方式说明:,在图7-4中,P2口的P2.4P2.0引脚分别与2764的A12A8引脚连接,余下的3条片选地址线P2.7P2.5通过二-四译码器的 与2764的 连接,只有当P2.7P2.5为000时,才使 为0,,为0,选中2764工作。,因此,扩展片外ROM的地址范围为0000H1FFFH(即P2.7P2.5为000时,P2.4P2.0、P0.7P0.0从全0变到全1)。在全译码方式中,存储器每个存储单元只有唯一的一个地址,只要单片机发出这个地址就可选中该存储单元工作,故不存在地址重叠现象。,43,(2)部分译码方式,部分译码方式是指单片机片选地址线中只有一部分参加了译码,其余部分悬空不用。,例如,在图7-4中,如果只将片选线P2.6、P2.5通过二-四译码器的 与2764的 连接(二-四译码器的G端接地),P2.7悬空不用。这时,由于P2.7可以是任意状态,所以当P2.7为0时,扩展ROM的地址范围为0000H1FFFH;当P2.7为1时,扩展ROM的地址范围为8000H9FFFH。,44,线选法译码是指片选地址线和存储芯片的 直接相连的译码方式。,采用这种译码方式时,若无悬空的片选地址线,则不会产生重叠地址。有悬空的片选线时,则产生重叠地址。,图7-5所示为8031与扩展的EPROM芯片2764通过线选译码方式进行连接的示意图。,(3)线选译码方式,45,线选译码方式说明,在图7-5中,P2.5直接与2764的 连接,所以P2.5必须为0,才能使 为0,选中2764工作,但由于悬空未用的P2.7、P2.6可以处于任意状态,因此,扩展的2764将存在如下4段地址范围:,0000H1FFFH(8KB)4000H5FFFH(8KB),8000H9FFFH(8KB)C000HDFFFH(8KB),其中,0000H1FFFH为,基本地址,范围,其余为,重叠地址,范围。,46,4片外ROM的操作时序,图7-6 片外ROM的操作时序,47,片外ROM的操作步骤说明,从图7-6中可以看出,MCS-51系列单片机的CPU在访问片外ROM的一个机器周期内,信号ALE两次有效,通常情况下,ROM选通信号也两次有效。这说明在一个机器周期内,CPU可以两次访问片外ROM,其具体操作步骤如下:,48,(1)在地址锁存控制信号ALE第一次上升为高电平后,在S2P1时,P2口输出高8位地址A15A8,P0口输出低8位地址A7A0。,(2)在ALE下降时,P0口输出的低8位地址被外部地址锁存器锁存,P2口输出的高8位地址保持不变,从而保证下一步可以将P0口用来读取片外ROM中的指令或常数。,49,(3)在片外ROM读选通信号 有效期间,与上述地址对应的片外ROM单元被选通后,其中的指令操作码被读出,并从P0口输入CPU中的指令寄存器。但是,如果程序不是存放在片外ROM,而是存放在片内ROM中,则指令操作码将从片内ROM中读取。,50,(4)在ALE第二次有效后,重复上述步骤,再次选中并读出一个片外ROM单元的内容。该内容的属性依据如下两种情况而定。,第一种情况:,如果执行的指令是读片外ROM中常数的查表指令(MOVC指令),并且指令存放于片外ROM中时,CPU第一次从ROM中读出的是指令操作码,第二次从ROM中读出的是ROM中的常数(图7-6所示的正是这种情况)。,51,第二种情况:,如果执行的不是读片外ROM常数的指令,而只是从ROM中读取其他指令,则根据指令类型的不同,其操作时序也略有不同。,对于单字节单周期指令,CPU第一次从ROM中读出指令操作码后,自动使为高电平,取消对ROM的第二次访问。,52,对于单字节双周期指令,CPU会自动控制第一次读指令码后的其他3次读ROM操作无效。,对于双字节单周期指令,第一次从ROM中读出指令操作码,第二次从ROM中读指令的第二字节。,依此类推。,53,7.2.2 RAM的扩展,1常用的RAM芯片,2RAM芯片与单片机的连接,3片外RAM的操作时序,54,1常用的RAM芯片,用于扩展片外RAM的芯片有静态RAM和动态RAM两种,单片机系统常用的是后者,这类芯片有6116、6264、62128、62256等。,它们的主要技术特性、工作方式见表7-3和表7-4;,引脚分布如图7-7所示。,55,表7-3常用RAM芯片的主要技术指标,芯 片 型 号,6116,6264,62256,容量(KB),2,8,32,引脚数,24,28,28,工作电压(V),5,5,5,典型工作电流(mA),35,40,8,典型维持电流(mA),5,2,0.5,典型存取时间(ns),200,200,200,56,表7-4常用,RAM,芯片的工作方式,高阻状态,任意,任意,1,维持(未选通),数据输入,0,1,0,写入,数据输出,1,0,0,读出,D7D0,工 作 方 式,57,图7-7 常用RAM芯片的引脚定义,58,引脚的说明:,A0A,n,-1:地址线。,n,的取值视容量而定,存储容量=2,n,。例如,存储容量为4KB时,,n,=12,即12条地址线,其余类推。,D0D7:三态双向数据线。,:片选信号输入线,低电平有效。,59,:输出允许(读选通)线,低电平有效。,:写选通信号输入线,低电平有效。,CS:6264的片选信号输入线,高电平有效,当CS=1,且其 =0时,6264才被选中工作。,60,2RAM芯片与单片机的连接,图7-8 8031与6264通过线选译码方式连接,61,连接说明:,在图7-8中,扩展RAM与扩展ROM时不同的是:,由于RAM工作时是可读可写的,所以它的读选通脚 、写选通脚 应分别与单片机的片外RAM读选通控制脚 、写选通脚 连接。,由于6264有两个片选信号输入脚,只有当6264的CS=1,且 =0时,6264才被选中工作,所以6264的CS引脚应接1(+5V电源)。,62,由于参与线选译码的线是P2.7,所以P2.7必须为0,才能使 为0,选中6264工作,但由于悬空未用的P2.6、P2.5可以处于任意状态,因此,扩展的6264将存在如下4段地址范围。,0000H1FFFH(8KB)2000H3FFFH(8KB),4000H5FFFH(8KB)6000H7FFFH(8KB),其中,0000H1FFFH为基本地址范围,其余为重叠地址范围。,63,3片外RAM的操作时序,MCS-51单片机对扩展的片外RAM进行读、写操作的时序如图7-9和图7-10所示。,MCS-51系列单片机访问片外RAM时,使用的是MOVX类指令,该类指令属于单字节双周期指令。由图7-9和图7-10可以看出其操作步骤如下:,64,图7-9 读片外RAM的时序,65,图7-10 写片外RAM的时序,66,时序说明:,(1)在ALE信号第一次有效至第二次有效前,所进行的操作与片外ROM的操作类似。,CPU将在 信号有效期间,从被选通的片外ROM单元中读出指令操作码,并从P0口输入到CPU中的指令寄存器。当然,若程序不是存放在片外ROM,则指令操作码将从片内ROM中读取。,67,(2)在ALE第二次有效后,P0口输出片外RAM的低8位地址,并在ALE负跳时,被锁存在地址锁存器中;P2口输出片外RAM的高8位地址并保持不变。,(3)CPU根据指令译码结果识别是“读片外RAM”还是“写片外RAM”,从而进行读/写操作。,68,如果是读片外RAM指令,CPU控制读信号有效,将选中的片外RAM单元中的数据从P0口读入累加器A中。,如果是写片外RAM指令,则写信号有效,将累加器A中的数据从P0口写入选中的片外RAM单元中。,69,7.2.3 存储器扩展的注意问题,1存储器芯片种类的选择,2工作速度的匹配,3存储容量的确定,4存储器地址的分配,70,1存储器芯片种类的选择,只读存储器ROM有掩模ROM、PROM和EPROM等3种。由于掩模ROM是依靠芯片生产厂家使用掩膜工艺写入信息,PROM是通过用户烧断芯片中的熔丝写入信息,所以两者均是一次性写入的ROM,一旦写错无法更改。,前面介绍的UVEPROM和E,2,PROM都属于EPROM类型,用户可以多次擦/写,因此,对于研发中小批量生产的单片机系统,应采用EPROM。,71,随机存取存储器RAM分为静态RAM和动态RAM两类。若所需扩展的RAM容量较小,可采用静态RAM,因为静态RAM不需刷新电路,可简化硬件电路设计;若所需扩展的RAM容量很大,则可采用动态RAM,以降低生产成本。,72,2工作速度的匹配,为了使单片机和外部存储器同步、可靠工作,单片机的访存时间必须大于所扩展的外部存储器的最大存取时间。,其中,单片机的访存时间是指单片机向外部存储器发出地址码和读写信号到从P0口选通读出数据或保持写入数据所需的时间,与单片机使用的晶振频率有关。,73,3存储容量的确定,根据单片机实际应用系统的实时数据和应用程序的大小决定所需扩展的存储器容量,所需的存储器芯片数量根据存储芯片容量而定。,例如,所需扩展的RAM容量为32KB,若采用6264需4块;若改用6116就需要16块。为了简化硬件电路,在满足扩展容量要求的前提下,应尽可能选择大容量的芯片。,74,4存储器地址的分配,确定扩展存储器的容量与所选存储器芯片的型号和数量以后,还必须给每块芯片划定一个地址分配范围,并采用相应的地址译码方式确定扩展存储器的地址分配。当采用部分译码或线选译码时,应分清哪些地址是基本地址,哪些是重叠地址,以便正确使用所扩展的存储器。,75,【项目应用】,在应用项目中,由于是利用单片机开发装置对设计的自动打铃机进行实验,所加载的源程序存放在单片机开发装置的存储器中,所以采用的是无片内ROM的8031单片机。实验成功后,需要做成实用的打铃机时,如果仍采用8031单片机,就一定要扩展片外ROM。假定给8031扩展的是容量为8KB的EPROM芯片2764时,读者只要运用前面介绍的扩展方法,直接采用图7-4或图7-5所示的硬件电路就可以实现片外ROM的扩展。若采用具有片内E,2,PROM的单片机,且片内容量够用时,则无需扩展。片内RAM已够用,也无需扩展。,76,练习题,1I/O接口的作用是什么?,2I/O端口有哪些类型?为何要对它们进行编址?编址方法有哪两种?,3MCS-51单片机的I/O端口编址采用什么方法?这种方法有什么优缺点?,77,练习题,4单片机I/O接口的数据传送方式有哪几种?它们各自的特点是什么?,5扩展存储器的译码方式有哪几种?采用什么译码方式时会出现重叠地址?,6分别指出在图7-5中,当使用P2.7或P2.6与2764的连接时,2764所具有的地址范围是什么?,78,本章到此结束,THANK YOU,79,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服