第06章 MCS-51单片机存储器扩展与并行IO接口扩展new_第1页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展new_第2页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展new_第3页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展new_第4页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展new_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行I/O口的应用与扩展I/O接口技术概述存储器的扩展第6章存储器扩展与并行I/O接口扩展6.1.1存储器概述一、存储器分类存储器按材料磁芯存储器(已淘汰)磁和磁表面磁带:数据流磁带磁盘:软盘,硬盘半导体材料随机存储器(RAM)只读存储器(ROM)串行存储器

光介质:光盘CD-ROM,CD-RW,DVD1.按构成材料2.按在计算机中的作用内存:CPU能直接读/写的存储器。由半导体存储器组成,速度快、造价高、容量小,存放当前运行的程序和中间结果。外存:CPU通过I/O接口才能读/写。由硬盘、光盘和半导体(ROM)存储器等构成,造价低、容量大、信息可长期保存,但速度慢随机读写RAM(易失):工作时既可读出也可写入数据,断电后其中的信息将会丢失。二、半导体存储器随机读写RAM动态RAM:用电容的记忆效应存储信息,电路简单,集成度高。读写速度较慢,要定时刷新。静态RAM:用触发器存储信息,读写速度快,集成度低,容量小,无需刷新,价格高。只读存储器ROM只读存储器ROM(非易失):正常工作时只能读出不能写入,断电后信息可长期保存。PROM:熔断丝用户只能编程一次。EPROM:用户可多次编程,紫外灯擦除信息。EEPROM:通过加电信号可直接擦除信息。掩膜ROM:信息在制造时由器件厂家固化。1)存储容量存储容量是指存储器所能存储的二进制信息(位)的总量。

存储器容量=单元数×数据线位数例如:512×8,1024×8=1KB,2KB,64KB2)存取速度指从CPU给出有效的存储器地址到存储器给出有效数据所花费的时间。存取时间越小,存储器的存取速度就越快。通常,半导体存储器的最大存取时间从几十到几百毫微秒。3)功耗一般指每个存储单元的功耗,单位为W/单元;4)电源指芯片工作时所需的电源种类。三、半导体存储器主要指标名称易失性擦除方法读写速度存储能力价格RAM双极型易失自动极快数据/程序高MOSSRAM易失自动快数据/程序较高MOSSDAM易失自动快数据/程序低ROM掩模式ROM非易失不能较快程序低PROM非易失不能较快程序淘汰EPROM非易失紫外线较慢程序较高EEPROM非易失电较慢数据/程序较高FLASH非易失电较慢数据/程序低半导体存储器分类及性能比较6.1.2程序存储器及其扩展1.Intel27系列EPROM芯片D3GNDD4D2D5D1D6D0D7A0CEA1A10A2OEA3A11A4A9A5A8A6A13A7A14A12VccVPP27256D3GNDD4D2D5D1D6D0D7A0CEA1A10A2OE/VPPA3A11A4A9A5A8A6A13A7A14A12VccA1527512D3GNDD4D2D5D1D6D0D7A0CEA1A10A2OEA3A11A4A9A5A8A6NCA7PMGA12VccVPP2764D3GNDD4D2D5D1D6D0D7A0CEA1A10A2OEA3A11A4A9A5A8A6A13A7PMGA12VccVPP27128引脚功能A0~A(12~16):地址线,寻址212~16=8~64K(由型号确定)D7~D0:数据线引脚,用于传送数据CE:片选输入端,低电平允许本芯片工作OE:输出允许PGM:编程控制端VCC:工作电源VPP:编程电源GND:地工作方式表编程禁止编程检验编程维持读编程禁止编程检验编程维持读编程禁止编程检验编程维持读操作DOUTLL27512高阻XHDINVppLDOUTLL高阻VppH高阻VppHHDOUTVppLLDINVppHL高阻VccXHDOUTVccLL27256高阻XVppXHDOUTHVppLLDINLVppHL高阻XVccXHDOUTHVccLL276427128输出PGMOE/VppVppOECE地址锁存器P0口ALEPSENRDWREAD7~D0A7~A0地址总线AB数据总线DBA15~A8外部程序存储器选通外部数据存储器读外部数据存储器写P2口P1口RXDTXDINT0INT1T0T1RESET并行口串行口中断请求计数脉冲复位MCS-51控制总线CB2.MCS-51外部三总线扩展基本方法:数据线对应相接,地址线对应相接,控制线对应相接,按地址处理片选信号。总线驱动原则:任何时刻只允许一个设备驱动总线。为满足该原则,输出端与总线连接应使用三态连接,通过片选信号控制连接方式。存储器扩展的关键问题是地址总线、数据总线和控制总线这三类总线的连接。MCS-51单片机由于受引脚数目的限制,数据线和低8位地址线复用,为了将它们分离出来,需要外加地址锁存器74LS373外部程序存储器扩展原理ALEPSENEAD7~D0A7~A0A15~A8P2.0~P2.7MCS-518D8QLEOEP0.0~P0.7D7~D0A7~A0A15~A8CEOE锁存器74LS373EPROME2PROM单片机【例】使用27128扩展16K程序存储器,硬件连接如图。3.单片程序存储器的扩展根据硬件连接,该27128的地址范围P2.7P2.6P2.5···········P2.1P2.0A15A14A13···········A9A8P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A7A6A5A4A3A2A1A0

XX000000

XX111111

00000000

11111111由于高两位(A15,A14)没有使用,故该27128共有四个地址空间:1.0000H~3FFFH2.4000H~7FFFH3.8000H~BFFFH4.0C000H~0FFFFH多片存储器扩展的关键问题仍然是地址总线、数据总线和控制总线这三类总线的连接。为了区分CPU是访问哪一片EPROM,可以利用译码器进行片选,这种片选方法称为译码法4.多片程序存储器的扩展8031单片机扩展四片27128输入端输出端使能端选择Y0Y1Y2Y3GBA10000×0011×01011011111011111011111074LS139功能:各片27128的地址范围27128编号A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范围(Y0=0)0000000000000000………00111111111111110000H……3FFFH(Y1=0)0100000000000000………01111111111111114000H……7FFFH(Y2=0)1000000000000000………10111111111111118000H……BFFFH(Y3=0)1100000000000000………1111111111111111C000H……FFFFH6.1.3数据存储器及其扩展1.Intel62系列SRAM型号容量地址线数61162KB1162648KB136212816KB146225632KB15静态随机存储器芯片6264(8Kx8位)VppVccA12WEA7CE2A6A8A5A9A4A11A3OEA2A10A1CE1A0D7D0D6D1D5D2D4GNDD36264引脚图逻辑图工作方式表IO0~IO7WEOECE2CE1管脚工作方式DINLHLH写DINLHLH写DOUTHLLH读高阻HHHL输出禁止高阻XXLX未选中(掉电)高阻XXXL未选中(掉电)6264引脚功能A0~A12:地址线引脚,可寻址213=8192=8KD7~D0:数据线引脚,用于传送读写数据CE1和CE2:片选端,同时有效允许本芯片工作OE:输出允许WE:写允许信号,低电平写入,高电平读出VCC:工作电源GND:直流地数据存储器扩展与程序存储器扩展的连接方法基本相同。不同的只是控制信号不一样。在程序存储器扩展中,单片机使用PSEN作为读选通信号,而在数据存储器扩展中,单片机则使用RD和WR分别作为读和写的选通信号2.数据存储器的扩展ALEWRRDD7~D0A7~A0A15~A8P2.0~P2.7MCS-518D8QLEOEP0.0~P0.7D7~D0A7~A0A15~A8OEWE采用线选法扩展三片6264各片6264的地址范围6264编号A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范围IC16264(P2.5=0)1100000000000000………1101111111111111C000H……DFFFHIC26264(P2.6=0)1010000000000000………1011111111111111A000H……BFFFHIC36264(P2.7=0)0110000000000000………01111111111111116000H……7FFFH8031单片机内部没有程序存储器,必须外接。而内部RAM很少,经常也需要外接数据存储器。下面给出利用74LS138译码器同时扩展二片2764和二片6264的电路3.同时扩展程序存储器和数据存储器采用译码法同时扩展ROM和RAM使能选择译码输出G1G2AG2BCBAY0~Y7的状态100000Y0=0,其余为1100001Y1=0,其余为1100010Y2=0,其余为1100011Y3=0,其余为1100100Y4=0,其余为1100101Y5=0,其余为1100110Y6=0,其余为1100111Y7=0,其余为1各片ROM和RAM的地址范围存储芯片A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范围IC12764(Y0=0)0000000000000000………00011111111111110000H……1FFFHIC22764(Y1=0)0010000000000000………00111111111111112000H……3FFFHIC36264(Y2=0)0100000000000000………01011111111111114000H……5FFFHIC46264(Y3=0)0110000000000000………01111111111111116000H……7FFFH一、为什么需要I/O接口(电路)?1)计算机的外部设备的多样性◆工作原理不同机械、电子、光电、电磁……◆传送信息类型多样数字量、模拟量、开关量◆传送速度差别极大◆信息传送方式不尽相同串行、并行◆编码方式不同二进制、BCD码、ASCII码……6.2I/O接口技术概述6.2.1I/O接口的作用2)它们不能与CPU直接相连由于需要与CPU交换信息的I/O设备是多种多样的,输入和输出的信息也不相同,可以是数字量,也可以是模拟量(电压、电流),但CPU本身只能处理数字量,必须进行适当的变换,CPU才能接受和处理;3)处理方式和处理速度不同不同的I/O设备,工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大;4)必须经过中间电路再与系统相连为了要使CPU的有效正确地与I/O设备交换数据,就需要在CPU和I/O设备之间设置一种部件,以使CPU和I/O设备的工作协调一致,有效地完成输入输出信息的任务,这种部件,称为I/O接口电路。专门研究CPU和外设之间的数据传送方式、接口电路的工作原理和控制方法的技术,称为I/O技术,它包括硬件接口电路和软件控制两个方面的问题。二.什么是I/O接口(电路)?(1)狭义的定义I/O接口电路是为了解决计算机与外部设备之间信息交换和变换问题而提出来的,I/O接口是计算机与外部设备之间传送信息的部件和界面,每个外设都要通过I/O接口和CPU相连。(2)广义的定义接口(Interface)是两个需要相互交换信息的部件(硬件或软件)之间的连接点或边界。本课程主要讨论I/O接口电路。I/O接口电路是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路。I/O接口作用输出数据锁存输入数据缓冲速度匹配数据转换1234三、I/O接口的作用⑴隔离与寻址I/O设备与CPU相连接时必须使用I/O接口进行隔离(总线驱动原则),交换信息时必须通过地址信息进行选择,只有被地址信息选中的I/O接口,才能与CPU交换信息,其余未被选中须被隔离。CPU对I/O设备的访问(读/写)是通过访问与之相连接的I/O接口来实现的。每个I/O接口中可有一个或多个I/O端口,而每个I/O端口在系统中必须有一个唯一的地址,该地址称为I/O端口地址。最终CPU对I/O设备的访问就是通过访问与之相对应的I/O端口来实现的。而I/O设备在系统中的描述就归结成与之相对应的I/O端口地址。I/O端口地址不同实现的功能就不同。I/O端口地址与存储器地址的内涵不同。注意:CPU对外设的访问是通过寻址其I/O端口来实现的。⑵对输入输出数据进行缓冲和锁存缓冲和锁存指的是能接收输入信号,并且当输入信号消失后,仍能保存输入信息。两者的区别是:缓冲是选通输出,锁存是直接输出。缓冲器器输出端应为三态输出,锁存器输出端为直接输出。I/O接口的缓冲和锁存的功能用于实现速度的匹配。⑶对信号的形式和数据的格式进行变换CPU只能处理数字量,I/O设备信号和数据多样,必须进行相应的变换,使之匹配。如:信号电平变换,A/D,D/A,串行和并行等。⑷CPU和I/O设备进行联络功能为CPU与I/O设备之间的信息交换提供必要的辅助信息。如:I/O设备状态信息,中断请求等。四、I/O接口的典型结构6.2.2I/O接口的编址外设端口单独编址:I/O寄存器地址空间和存储器地址空间分开编址I/O接口编址外设端口与存储器统一编址:直接使用访问数据存储器的指令进行I/O操作6.2.3I/O数据的传送方式I/O数据传送方式查询传送方式中断传送方式DMA传送方式无条件传送方式一.无条件传送方式在进行信息传送时,如果CPU能确信一个外设已经准备就绪,那就不必查询外设的状态而可以直接进行信息的传输,这就称为无条件传送方式。在无条件传送方式下,程序设计简单。不过,名为无条件传送,实际上是有条件的,那就是传送不能太频繁,要保证每次传送时,外设都必须处于就绪状态。因此,无条件传送方式用的较少,只适用于一些简单的外设操作。二、条件传送方式(即查询Poling传送)条件传送方式的特点是:在执行I/O操作之前,首先用程序对外设的状态进行检查,仅当检测到所选外设已作好输入/输出准备,并发来状态信息后,才能开始执行I/O操作,否则只有等待所选外设作好输入/输出准备。因此,硬件接口电路中必须有一个能反映外设状态信息的状态寄存器。查询方式进行数据交换的工作流程图如图所示。图中,对于输入设备,有效的状态信息为READY(准备就绪);对于输出设备,有效的状态信息为BUSY(不忙),均用一位二进数表示。查询方式的特点:(1)数据交换可靠,硬件电路,程序比较简单;(2)查询必须有先有后,导致系统实时处理的能力较差;(3)查询方式传送中,CPU主动查询外设的状态,把大量时间花在查询上,导致CPU的效率较低。例如,操作员用键盘进行输入,按每秒打入10个字符计算,那末计算机平均用100000微秒的时间完成一次输入过程,而CPU速度较快,真正用来从键盘输入一个字符的时间很短,假设为10微秒(实际仅执行几条指令),这样用于测试和等待的时间为100000-10=99990微秒,换句话说,就有99.99%的时间被浪费掉了。实际应用中,大多数外设的速度远比CPU的速度慢得多,因此,查询方式传送的实质是降低CPU的工作效率去适应低速的外部设备。(4)适用于外部设备较少,实时性要求不高的场合。三、中断控制方式(1)引入中断控制的原因在查询方式下,造成CPU的工作效率较低和系统实时性不好的根本原因是。在查询控制方式中,是CPU主动查询外设的工作状态。因此,要彻底改变查询控制方式的不足,就得CPU的主动查询改为CPU被动响应。即:哪个外设需要CPU服务,由该外设向CPU提出请求,CPU接到请求后,在条件允许时,就为该外设服务。这种I/O控制方式就是中断控制方式。(2)中断控制方式基本原理在中断控制方式中,外设具有申请CPU服务的主动权,当外设准备好时,便向CPU提出中断请求,强迫CPU中断正在执行的程序,与外设进行一次I/O操作,I/O操作完成后,CPU再恢复执行原来的程序。这时,CPU不再主动查询等待,而是被动响应,CPU在两个I/O操作过程之间,可以处理别的事情。(3)中断控制方式的特点①CPU效率高;②系统具备较强的实时处理的能力。③可以适应不同速度的I/O设备;④硬件电路和程序设计较复杂。(要做出相应的付出)三、直接存储器存取(DMA)控制方式(1)DMA控制方式的提出1)程序控制和中断控制方式下,每次数据的传输都得通过CPU,由CPU把一个字节或一个字读到CPU内,再从CPU内写到其他地方。这种做法在大规模的数据传输时,显然不合适。传输效率较低;2)若I/O设备的数据传输率较高(如硬盘,网络设备,视频处理设备),CPU在和这些高速的I/O设备进行数据传输时,即使尽量减少程序查询方式和中断控制方式中非数据传输的时间,也仍然不能满足要求。鉴于上述原因,为了进一步提高数据传输率,就必须彻底改变传输方式,使在数据传输过程中摆脱CPU的干预,而直接传输。这种方式就是DMA(直接存储器存取DirectMemoryAccess)。(3)DMA控制方式的特点①传输效率高;②硬件电路和程序设计较复杂;(要做出相应的付出)③适用于高速I/O设备与存储器之间的大量数据传送。④在现代的计算机中几乎没有不使用DMA的。有关DAM的内容,请参考相关书籍及和资料。6.2.4I/O接口的类型并行I/O接口:用于并行传送I/O数据,速度快、效率高,适用于近距离传送I/O接口类型串行I/O接口:用于串行传送I/O数据,成本低但速度慢,适用于远距离传送6.3MCS-51单片机并行I/O口的应用与扩展6.3.1MCS-51单片机I/O口的直接应用P0口在扩展片外存储器时作地址/数据分时复用总线,在不进行扩展时作一般准双向输入/输出口使用。P1口为通用准双向输入/输出接口。P2口在扩展片外存储器时作高8位地址总线,在无扩展时可用作通用准双向I/O接口。P3口除了作为通用准双向I/O使用外,还具有第2功能。1.MCS-51单片机I/O端口的操作方式

1)输出数据方式CPU通过以端口为目的操作数的指令均可把数据写到P0~P3的端口锁存器,然后通过输出驱动电路输出到端口的引脚线。例如: MOV P0, R2 ORL P1, A ANL P2, #data XRL P3, A

2)读端口锁存器方式读端口锁存器方式实际上并不从外部引脚读入数据,而只是把端口锁存器中的内容读到内部总线,按指令要求进行运算和变换后,再写回到锁存器属于这类操作的指令通常是ANL、ORL、XRL等“读—修改—写”指令。例如: ORL P0, #0FH

3)读引脚方式当端口做输入使用时,若要读取端口引脚上的信号,要先向其锁存器写入“1”,使得该输出驱动电路的场效应管截止,然后再执行输入指令,才能真正把外部引脚的状态读入例如要读取P1口低4位引脚上信号的指令如下:MOVP1,#0FH;使P1口低4位锁存器置“1”MOVA,P1 ;读P1口低4位引脚信号送A2.I/O口用作输出当I/O口用作输出时,每个I/O引脚输出高电平时的拉电流应控制在1mA之内。P1、P2和P3口每个I/O引脚输出低电平时的灌电流一般应控制在3mA之内,而P0口每个I/O引脚的灌电流允许到5mA【例6-1】如图所示,P1口的P1.0~P1.7分别通过反相器接8个发光二极管。要求编写程序,每隔1s循环点亮1只发光二极管,一直循环下去,已知系统的晶振频率为6MHz解:用软件延时实现每隔1s循环点亮1只发光管⑴设计0.1s延时子程序因为fosc=6MHz,所以机器周期Tm=12/fosc=2µs0.1s的延时子程序宜采用双重循环结构,如下所示: DEL1:MOVR2, #200 ;1Tm DEL2:MOVR3, #X ;1Tm NOP ;1Tm DEL3:DJNZR3, DEL3 ;2Tm DJNZR2, DEL2 ;2Tm RET ;2Tm则延时时间=[(X×2Tm+4)×200]×2µs+2Tm=100000µs 解得:X≈123⑵主程序连续10次调用0.1s延时子程序,则总延时时间就达到了1s主程序如下: ORG 0000HSTART: MOV A,#01HLOOP: MOV P1,A MOV R1,#10DELAY: LCALLDEL1 ;10次调用延时子程序 DJNZR1,DELAY RL A LJMPLOOP3.I/O口用作输入当I/O口用作输入时,每个I/O脚的拉电流、灌电流一般应控制在1mA之内。如果I/O脚的电流太大时,在单片机与输入设备之间应该用限流电阻予以隔离。需要特别注意的是,当I/O口作为输入使用时,必须先向I/O口锁存器的相应位写“1”,然后再读,才能正确读入引脚上的输入信号【例6-2】如图所示,P1口外接8个开关,要求将开关的状态输入到片内RAM30H单元

ORG 0100HRDP1: MOV P1, #0FFH ;先向P1口送1 MOV A, P1 ;读入开关状态

MOV 30H, A ;送指定单元

NOP SJMP RDP1 ;反复再读

END为了能正确读入P1口引脚的输入信号,必须要先向P1口送“1”,然后再读。6.3.2采用8255A扩展并行I/O口8255A是Intel公司生产的可编程并行I/O接口芯片,具有3个8位并行I/O口,3种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强,可作为单片机与多种外围设备连接时的接口电路Intel8255A是为8080/8085微机系统设计的可编程通用并行接口电路,也可用于MCS-51系列单片机扩展并行I/O接口。8255A是8位可编程通用并行I/O接口芯片,有24条I/O引脚,分成A,B两大组(每组12条),允许独立编程,工作方式分为方式0、1和2三种。使用8255A可实现以下各项功能:(1)并行输入或输出8位数据;(2)实现输入数据的锁存和输出数据的缓冲;(3)提供多个通信接口联络控制信号(如中断请求、外设准备好及选通脉冲等);(4)通过读取状态字可实现程序对外设的查询。6.3.2采用8255A扩展并行I/O口1.8255A内部结构和引脚PA3PA4PA2PA5PA1PA6PA0PA7RDWRGNDD0A1D1A0D2PC7D3PC6D4PC5D5PC4D6PC0D78255APC2PB7PC3PB6PB0PB5PB1PB4PB2PB3CSRESETPC1VCC(a)引脚功能(b)内部结构框图D7~D0:三态双向数据线,传送数据以及控制字PA7~PA0:A口输入/输出线。PB7~PB0:B口输入/输出线。PC7~PC0:C口输入/输出线。 CS:片选信号线,低电平有效,表示本芯片被选中RD:读出信号线,低电平有效,控制从8255A读WR:写入信号线,低电平有效,控制向8255A写入A1、A0:地址线,用来选择8255A内部的4个端口RESET:复位线,高电平有效。Vcc:+5V电源。8255A引脚功能从8255的I/O口读有效8255对系统总线呈高阻态控制寄存器只能写不能读8255对系统总线呈高阻态初始化8255时必做的工作向8255的I/O口写有效说明数据总线高阻XX未选中XX1无效10写入控制字01控制寄存器11写入C口C口01写入B口B口10写入A口01A口00读C口内容C口01读B口内容B口10读A口内容10A口000CPU操作功能WRRD所选端口A0A1CS操作选择端口选择8255A端口地址及工作状态选择表2.8255A的控制字和状态字8255A共有两个控制字和一个状态字,控制字用来选择工作方式或对C口控制。状态字用来反映8255A的工作状态。两个控制字均在A1A0=11的情况下发送,共用一个端口地址。若控制字的最高位(D7)是1,表示是工作方式控制字;若最高位(D7)是0,表示是按位置数控制字。控制字就是CPU发给可编程器件的控制命令或者初始化命令。其格式(命令中每一位的取值),由可编程器件规定。8255A方式控制字C口置/复位控制字8255A没有专门的状态字,工作于方式1或方式2时,读取PC口的数据,即得状态字。当状态字中有效信息不满8位时,所缺的即为对应PC口C引脚的输入电平。8255A状态字格式8255A的工作方式方式1:选通I/O方式方式2:双向I/O方式(仅A口)方式0:基本I/O方式3.8255A的工作方式1)方式0(基本输入/输出方式)方式0不需要选通信号。PA、PB、PC7~4和PC3~0中任一端口都可以通过方式控制字设定为输入或输出端口,共有8种组合。方式1下,共有2个口,分为A组和B组,由编程设定为输入或输出,A组包括A口和PC7~4,PC7~4

作为A口输入/输出的选通信号和应答信号。同理,B组包括B口和PC3~0,PC3~0作为B口输入/输出的选通信号和应答信号。当8255A工作于方式1时A口和B口的功能完全相同。2)方式1(选通输入/输出方式)8255A的C口联络控制信号线OBFAXOBFAI/OPC7ACKA(INTE1)XACKA(INTEA)I/OPC6XIBFAI/OIBFAPC5XSTBA(INTE2)I/OSTBA(INTEA)PC4INTRAINTRAINTRAINTRAPC3I/OI/OACKB(INTEB)STBB(INTEB)PC2I/OI/OOBFBIBFBPC1I/OI/OINTRBINTRBPC0输出输入输出输入方式2(仅用于A口)方式1(A口、B口)C口的位A.方式1输入方式选通(应答式)输入过程输入缓冲器空IBF=0可以接收数据数据准备好发锁存脉冲STB=0数据存入输入缓冲器IBF=1供查询STB=1IBF=1RD=1产生中断请求中断响应或程序查询读走输入数据B.方式1输出方式选通(应答式)输出过程输出缓冲器空OBF=1可以输出数据输出数据准备好通知外设OBF=0撤销中断请求外设取走数据发应答信号ACK=0撤销数据准备好信号产生中断请求中断响应或程序查询输出数据当A口工作于方式2下时,PC7~3的分配如图,选通信号和应答信号的功能与方式1的含义相同。仅A口才可以工作于方式2。2.方式2(仅A口选通双向方式)4.8255A应用举例【例6-4】8255A与MCS-51单片机接口电路如图所示,8255A的B口外接8个开关,A口通过反相器接8个发光二极管,各端口均工作在方式0,要求编写程序从B口读入开关的状态,再从A口输出点亮发光二极管依题意,8255A各端口工作在方式0,且A口作输出,B口作输入,根据8255A方式控制字各个位的定义,应作如下设置根据硬件连接,可得8255A各端口地址如下端口A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0端口地址A口01111111000000007F00HB口01111111000000017F01HC口01111111000000107F02H控制口01111111000000117F03H源程序 ORG 1000HMAIN: MOVDPTR,#7F03H ;DPTR←控制口地址 MOVA,#82H ;方式控制字 MOVX@DPTR,A ;8255A←控制字INPB: MOV DPTR,#7F01H ;指向8255的B口 MOVXA,@DPTR ;A←8255的B口 MOVDPTR,#7F00H ;指向8255的A口 MOVX@DPTR,A ;8255的A口←AD100MS:MOV R2,#200 ;延时DEL2: MOV R3,#123 NOP DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 SJMPINPB END6.3.3采用8155扩展并行I/O口8155也是Intel公司生产的可编程并行I/O接口芯片,具有3个并行I/O口(其中两个为8位口,一个为6位口),还提供了256字节的SRAM以及一个14位定时/计数器。8155内置有地址锁存器,其地址线可直接与MCS-51单片机的P0口相连,无须外接地址锁存器1.8155内部结构和引脚AD7~AD0:地址/数据总线ALE:地址锁存信号PA7~PA0:A口I/O引脚PB7~PB0:B口I/O引脚PC5~PC0,C口I/O引脚TIMERIN:定时/计数器输入端。TIMEROUT:定时/计数器输出引脚RESET:复位引脚,高电平有效CE:片选输入信号,低电平有效。RD:从I/O口或内部RAM读选通信号,低电平有效WR:向I/O口、命令寄存器或内部RAM写选通信号IO/M:I/O口与存储器选择8155引脚功能8155各端口地址分配CEIO/MA7A6A5A4A3A2A1A0所选的端口01×××××000命令/状态寄存器0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论