




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第五章:MCS-51单片机的系统扩展及应用,学习目的和要求 本章的学习任务是学习单片机的扩展方法,各种半导体与单片机系统的连接。 系统扩展是指当单片机内部的功能部件不能满足应用系统要求时,在片外连接相应的外围芯片以满足应用系统的要求。MCS-5l系列单片机有很强的外部扩展功能,大部分常规芯片都可作为单片机的外围扩充电路芯片。扩展的内容主要有总线扩展、程序存储器和数据存储器以及IO口的扩展等。 学时:讲课6学时。 教学内容: 5-1 概述:包括单片机外总线结构 、扩展时的地址译码规则、地址译码方法 。 5-2 程序存储器的扩展; 5-3 数据存储器的扩展 5-4 I/O接口的扩展; 教学要求: 熟练掌握: 1)单片机外总线结构 、扩展时的地址译码规则、地址译码方法 。 2) 程序存储器的扩展; 3) 数据存储器的扩展; 4) I/O接口的扩展;,2,5.1 概 述,教学内容: 1.单片机外总线结构 2.MCS-51系列单片机扩展时的地址译码规则 3.MCS-51单片机扩展时的地址译码方法 4.常用的地址锁存器(课下自学) 学时:1学时。 教学要求: 掌握: 1)单片机外总线结构 2)MCS-51系列单片机扩展时的地址译码规则 3)MCS-51单片机扩展时的地址译码方法 了解: 常用的地址锁存器,3,一、单片机外总线结构,单片机系统扩展的方法有并行扩展法和串行扩展法两种。并行扩展法是指利用单片机的三种线(AB、DB、CB)进行的系统扩展;串行扩展法是利用SPI三线总线或I2C双总线的串行系统扩展。 主要介绍并行扩展法。 外总线结构如图5-1所示。,图5-1 MCS-5l的扩展三总线,4,二、MCS-51系列单片机扩展时的地址译码规则,(1)程序存储器和数据存储器地址可以重迭使用。 (2)外围扩展I/O接口芯片与数据存储器要统一编址。外围I/O接口芯片不仅占用数据存储器地址单元,而且也使用了数据存储器的读/写控制信号与读/写指令。 (3)地址总线宽度为16位,外部程序存储器和数据存储器的寻址范围各为64k字节。,5,三、MCS-51单片机扩展时的地址译码方法,(1)线选法:将各扩展芯片上的地址线均接到单片机系统的对应的地址总线上,且外围芯片上的片选线也作为地址线接到地址总线剩余的高位任意一条线上。如图5-2。 图5-2中所扩展的芯片地址见表5-1,表中的X为任意值(1或0)P141。,图5-2 线选扩展方法,特点: 扩展的芯片均有独立片选线,地址有可能冲突且不连续。这种方法不适用于扩展芯片较多且容量小的存储器,适用于扩展单片容量大的存储器。,6,(2)全地址译码法:,是将各扩展芯片上的地址线均接到单片机系统的对应的地址总线上,各片芯片的选择利用译码电路实现。如图5-3所示。 图5-3所示各芯片的地址见表5-2。,图5-3 全地址译码法,2764的地址分别为: 0000H1FFFH; 2000H3FFFH. 特点:各扩展芯片均有独立片选控制线,且地址连续。可扩展较多的外围芯片。,7,例5-1,某系统的存储器配有两种芯片。芯片容量分别为2k8ROM和1k8RAM。系统采用74LS138译码器产生片选信号。其中,Y0、Y1和Y2直接接到三片ROM的片选线上(片选信号分别为#1、#2和#3),Y4和Y5则通过一组门电路产生4个片选信号接到4片RAM的片选线上(片选信号分别为#4、#5、#6和#7)。连线简图如图5-4所示。试确定每一片存储器的地址范围。各片选信号均为低电平有效。,图5-4 存储器扩展连线简图,8,各扩展芯片的地址见表5-3,9,5.2 程序存储器的扩展技术,在设计单片机应用系统时,如果无片内ROM或片内程序存储器容量不足时,必须通过外接ROM来构成、扩充系统的程序存储区。 教学内容: 一、访问外部程序存储器的时序 二、EPROM简介 三、扩展方法 四、EEPROM及其与单片机接口 (自学) 学时:讲课1.5学时。 教学要求: 熟练掌握: 1,访问外部存储器的时序。在系统扩展时,外部电路与单片机连接的依据是单片机访问外部存储器的时序,所以正确的理解时序是硬件电路设计的关键。 2,EPROM扩展方法与技巧 了解: 1.EPROM简介 2.EEPROM及其与单片机接口,10,一、访问外部程序存储器的时序,1,基本扩展电路 MCS-51系列单片机扩展外部程序存储器的基本硬件电路如图5-6所示。,11,访问外部程序存储器ROM的时序:,如图5-7所示(取指令代码) 图5-7 取指令操作时序(未考虑片外数据存储器时),12,取常数时工作时序,指令MOVC A,A+DPTR,13,二、EPROM简介,常见的EPROM有: 2716(容量2k8位)、2732(容量4k8位)、2764(容量8k8位)、27128(容量16k8位)、27256(容量32k8位)、27512(容量64k8位)。各型号的容量、读出时间和消耗电流见表5-2,引脚排列见图5-8。,引角定义: A0A15:地址输入线; O0O7:三态数据总线,读或编程校验时为数据输出线, 编程时为数据输入线。维持或编程禁止时O0O7呈高阻抗; /CE:片选信号输入线,“0”(即TTL低电平)有效; PGM:编程脉冲输入线; /OE:读选通信号输入线,“0”有效; VPP:编程电源输入线,其值因芯片型号 和制造厂商不同而不同; Vcc:主电源输入线,Vcc一般为+5V;,14,EPROM的各种工作方式,见表5-6表5-10 各种工作方式的含义: 1)读方式:工作于这种方式的条件是:片选控制线/CE和输出允许控制线/OE同时为低电平。 2)保持方式:芯片进入保持方式的条件是:片选控制线为/CE高电平。此时输出为高阻抗悬浮状态,不占用数据总线。 3)编程方式:工作于这种方式的条件是:Vpp端施加规定的电压,/CE和/OE端施加合适的电平(不同芯片要求不同),这样就能将数据线上的数据固化到指定的地址空间。 4)编程校验方式:Vpp端保持相应的高电平按读出方式操作,读出已固化的内容,以便校验写入的内容是否正确。 5)编程禁止方式:当片选信号无效时输出成高阻状态。 6)禁止输出:虽然/CE=0,芯片被选中,但由于/OE=1,使输出三态门被封锁,故输出为高阻抗悬浮状态,不占用数据总线。,15,其中的“读”、“保持(维持)”和“禁止输出”这三种方式是EPROM在应用系统中的正常工作方式。 实际使用时必须了解所选择的EPROM的管脚配置和工作方式。扩展时选用何种类型的芯片,应根据应用系统的具体要求,综合考虑速度、容量、经济等问题。若对EPROM的容量要求不大,可选容量小的芯片。如果要求容量较大可选容量大的芯片或选用多片小容量芯片组成。,16,三、扩展方法,CPU应向EPROM提供三种信号线: (1)数据总线:P0口接EPROM的O0O7(D7D0) (2)地址总线:P0口经锁存器向EPROM提供地址低8位,P2口提供高8位地址以及片选线。 扩展的程序存储器究竟需要多少位地址线,应根据程序存储器的总容量和选用的EPROM芯片容量而定。如:2k:11条(=2k);4K:12条(=4k);8k:13条;16k:14条;32k:15条;64k:16条。 (3)控制总线:/PSEN片外程序存储器取指令控制信号,接EPROM的“/OE”。ALE接锁存器的/G。/EA接地。 扩展单片EPROM时,EPROM的地址线分别接到单片机上对应的地址线上,而/CE片选信号接地。 扩展二片以上的EPROM芯片时,应考虑片选控制电路,此时EPROM的片选端应由片选信号来控制。片选信号可采用线选译码法或者采用全地址译码法产生片选,,17,例1:扩展容量为8k的程序存储器。,电路见图5-9(图5-9展开后),18,例2:利用EPROM 2764芯片扩展64k程序存储器,译码器采用74LSl38。,方法: (1)首先编制各芯片的地址,注意片与片之间的地址应连续。,19,(2)第二步:确定译码(片选)方法及译码电路,由编址可得:每片2764上的13条地址线A0A12,占用了单片机的地址线P0.0P0.7、P2.0P2.4。其地址均在000000000000000b111111111111111b范围。 剩余3条地址总线,即P2.5P2.7,有八种不同的组合,分别与8片2764的地址对应。因此,可利用这三条地址线经三八译码器向各片EPROM提供片选信号。,三八译码器简介: 138是一种三位二进制代码的译码器。 它有二个输入端A、B、C,八个输出端Y0Y7。A、B、 C三个输入端的八个不同组合对应着Y0一Y7的每一路输出,可选中八个电路芯片。例如: C、 B、A三个端子为000时,则Y0= 0,Y1Y71即Y0端被选中. 138还有三个允许端/E1、/E2、E3。只有当E3端为高电平、/E1和/E2都为低电平时, 该译码器才可以某一种组合进行译码 .,20,74LS138译码器功能表,21,采用LS138译码器实现ROM扩展示意表,22,(3)第三步画出电路(图5-11),展开图,P2.7 P2.6 P2.5 P2.4 P2.0 P0口 ALE Psen,/CE0 A12 A8 A7 8K8 A0 /OE1 O0O7,74LS373,C y7 B A 0 y,/CE1 A12 A8 A7 8K8 A0 /OE1 O0O7,/CE7 A12 A8 A7 8K8 A0 /OE1 O0O7,MCS51,74LS138,23,MCS-51与32K ROM的连接(补充),P2.7 : : : P2.0 P0.7 : : : P0.0 ALE /EA Psen,CE A14 : : A8 A7 O7 : : : : : : A0 O0 OE,D7 Q7 D0 Q0 CP,27256 32K ROM,MCS-51,/CE = P2.7(A15),完整的地址信号,24,外部ROM的状态与地址线A15(p2.7)的关系表,25,如何使用两片32K的ROM芯片扩展为64K的存储阵列。,A15 P2口 MCS - 51 P0口 ALE /EA Psen,/CE2 A14 A8 A7 A0 /OE2 O0O7,/CE1 A14 A8 A7 A0 /OE1 O0O7,74LS373,26,由两片32K的ROM构成64K存储阵列与A15的 关系表,27,5.3:数据存储器RAM的扩展,在设计单片机应用系统时,如果片内数据存储器容量不足时,必须通过外接RAM来构成、扩充系统的数据存储区。 教学内容: 一、RAM简介 二、片外数据存储器扩展时的读、写操作时序 三、数据存储器的扩展方法 学时:讲课1.5学时。 熟练掌握: 1,访问外部数据存储器的时序。 2,RAMM扩展方法与技巧 了解: RAM简介,28,一、RAM简介,分类:分为RAM和NVRAM两类。 RAM为挥发性随机存贮器,在掉电后数据丢失; NVRAM为非挥发性随机存贮器,在掉电后数据不丢失。 RAM和NVRAM常用于暂存数据。 挥发性随机存贮器RAM有动态随机存储器DRAM和静态随机存储器SRAM两种。 DRAM价格低,但它需要不断刷新,由于MCS-51单片机没有刷新功能,当使用DRAM时,不得不设计刷新电路,这样增加了应用系统总的价格和体积,且使电路复杂,可靠性降低。因此在单片机应用系统中大多采用SRAM。 本节仅介绍挥发性随机存贮器SRAM的扩展。目前常用的SRAM有6116(2k8)、6264(8k8)、62128(16k8)和62256(32k8)等。它们的引脚排列分别如图5-16所示,工作方式与功能见表5-9和表5-10所示,29,6116、6264、62128和62256各引脚功能如下:,A0A14:地址输入线; D0D7:双向数据线(输出有三态); /CE、/CE1和CE2:选片信号输入线,/CE和/CE1低电平有效,CE2高电平有效; /RD:读选通信号输入线,低电平有效; /WE:写选通信号输入线,低电平有效; Vcc:工作电压,+5V; GND:线路地; OERFSH(仅62256有此引脚):读选通刷新允许控制端,输入。当此引脚为低电平时,62256数据允许输出,不允许刷新;当此引脚为高电平时,62256内部刷新电路自动刷新。,30,二、片外数据存储器扩展时的读、写操作时序,(1)执行“MOVX A,DPTR”和“MOVX DPTR,A”指令的时序,31,(2)“MOVX A,Ri“和“MOVX Ri,A”指令的时序,如图5-18所示。执行这组指令时,其时序与执行“MOVX A,DPTR”和“MOVX DPTR,A”有明显的不同。在取指令周期的S5状态,ALE的下降沿,P0口上出现的是数据存储器的低8位地址,即Ri中的内容;在机器周期1的S4状态之后,直至机器周期2的S5状态之前,P2口上出现的不是数据存储器的高8位地址,而是P2口特殊功能寄存器的内容.,32,三、数据存储器的扩展方法,与扩展EPROM基本相同,CPU应向RAM提供三种信号总线。译码法也有两种:即线选译码法和全地址译码法。 不同点是控制总线与扩展EPROM不一样,扩展RAM时的控制总线为: /WR片外数据存储器写控制信号,接RAM的写允许“/WE”,/RD片外数据存储器读控制信号,接RAM的读允许“/OE”。ALE接锁存器的锁存使能端。 扩展数据存储器时应注意: (1)扩展容量为256B的RAM时,可采用MOVX Ri指令访问外部RAM,仅用P0口传送8位地址。 (2)扩展容量大于256B而小于64kB的RAM时,访问外部RAM应采用MOVX DPTR类指令。 (3)应与其他扩展的I/O接口芯片统一编址。,33,例5-6:用译码法扩展RAM。采用74LSl39译码器扩展16kRAM和16kEPROM。RAM采用6264,EPROM采用2764。要求:,第一片程序存储器(IC0)的地址空间为:0000H1FFFH(Y0); 第二片程序存储器(1C1)的地址空间为:2000H3FFFH(Y1); 第一片数据存储器(1C2)的地址空间为:0000H1FFFH(Y0); 第二片数据存储器(1C3)的地址空间为:2000H3FFFH(Y1)。,34,扩展步骤,第一步:确定各片地址并将其展开为二进制,35,第二步:确定译码方式并选择译码电路 这里采用74LSl39双2-4译码器,其引脚及功能见图5-20。每个译码器仅有1个使能端,为低电平时选通;有2个选择输入对应4个译码器输出,输出低电平时有效。 根据以上分析可以将P2.7、P2.6、P2.5接于74LSl39译码器,向各芯片提供片选信号。由于IC0与IC2、IC1与IC3的地址相同,因而片选信号可以共用。其电路见图5-21。,图 5-20 74LS139 译码器的引脚及功能P164,36,图5-21 译码法扩展存储器16kRAM和16kEPROM,由图可见外部EPROM和RAM存储器空间的地址可以重叠。,37,MCS-51与32K RAM的连接(不讲),P2.5 P2.4 : : P2.0 P0.7 : : : P0.0 ALE RD WR,CE A12 : : A8 A7 O7 : : : : : : A0 O0 OE WE,D7 Q7 D0 Q0 CP,6264 8K RAM,MCS-51,/CE = P2.5(A12),38,补充思考题:,使用6264(8KRAM)芯片和2764(8KROM)芯片组成16K RAM和16KROM的外存储阵列(逻辑图)。 采用74LS138和74LS373实现译码和锁存功能。 根据设计的结果,写出RAM和ROM的地址范围。,39,5.4: IO口的扩展技术 要点,教学内容: 一、简单的IO口扩展 二、可编程IO接口电路的扩展 三、并行I0口的扩展8255A 四、带有IO接口和计时器的静态RAM8155 (课下自学)。 学时:讲课2学时。 教学要求: 熟练掌握: 1)扩展时注意的问题 2)简单的IO口扩展方法 3)使用8255扩展I/O端口方法 了解: 使用8155扩展I/O 端口方法,40,扩展时注意:,(1)在MCS-51中,扩展的IO口采用与数据存储器相同的寻址方法。所有扩展的I0口均与片外RAM存储器统一编址,任何一个扩展的I/O芯片根据地址线的选择方式不同,占用一个或多个片外RAM的地址,且不能与片外RAM的地址发生冲突。 (2)对片外IO口的输入输出操作指令与访问片外RAM的指令相同。 (3)扩展I/O口的硬件相依性。不同I/O芯片,其电气特性也不同,在扩展时必须充分考虑与之连接的外设硬件电路的特性,如驱动功率、电平、干扰抑制及隔离等。 (4)扩展I/O口的软件相依性。由于不同I/O芯片具有不同的操作方式,因而应用程序也有所不同,如入口地址、初始状态、工作方式选择等均有差别。 (5)注意P0、P1、P2、P3口的驱动能力。,41,一、简单的IO口扩展,在许多应用系统中,有些开关量或并行数据需要直接输入输出,可以利用74LS系列TTL或CMOS电路锁存器、三态门电路作为IO口扩展芯片,这种IO口一般都是通过P0口扩展,它具有电路简单、成本低、配置灵活等优点。可以作为8位IO扩展的芯片主要有373、377、244、245、273、367等,如果不需8位,也可选用2位、4位、6位的芯片进行扩展,即按输入输出的要求来选择合适的扩展芯片。但作输入口时,一定要求扩展的芯片具有三态功能,否则将影响总线的正常工作。 输入电路:要求有缓冲功能; 如:74LS244 74LS245 输出电路:要求有锁存功能; 如:74LS273 74LS373,42,例如:采用74LS244作扩展的输入接口电路,74LS273作扩展的输出接口电路。,图5-22 简单I/O接口扩展电路 (P166),输入输出都是在P2.0为0时有效,故P2.0作为74LS273和74LS244芯片的地址信息输出线。两个芯片的地址均可以是FEFFH。由于控制线和相互独立,尽管输入/输出口共用一个口地址,但不会发生地址冲突。,43,光电耦合器接口,光电耦合器由发光源和受光器两部分组成,并封闭在同一不透明的管壳内由绝缘的透明树脂隔开, 发光源引出的管脚为输入端,受光器引出的管脚为输出端。 光电隅合器的发光源常用砷化镓红外发光二极管,受光器常用光电三极管、光敏晶闸管和光敏集成电路等,当8051的P1.0端输出高电平时,4N25输入端电流为0,输出相当开门,74LS04的输入端为高电平,输出为低电平。 8051的P1.0端输出低电平时,7407输出端为低电压输出,4N25的输入电流为15mA,输出端可以流过3mA的电流。如果输出端负载电流小于3mA,则输出端相当于一个接通的开关。74LS04输出高电平。,44,三、使用8255扩展I/O端口,1、8255的内部结构和引脚功能 2、8255的控制字和状态字 (1)“方式控制字” (2)“C口置位复位控制字” (3)8255A的状态字 1,8255A在模式1时的状态字 2,8255A在模式2时的状态字 3、8255的工作方式 4、8255A应用举例,45,(一)8255的封装和引脚功能,图5-23 (a),8255A共有40个引脚,采用双列直插式封装,各引脚功能如下: D7D0:三态双向数据线,与微型机数据总线连接,用来传送数据信息; /CS:片选信号,低电平有效时芯片被选中; /RD:读出信号线,低电平有效时允许数据读出; /WR:写入信号线,低电平有效时允许数据写入; Vcc:+5V电源; PA7PA0:双向I/O总线(接外设),可由控制字设定为输入、输出或 输入输出双向方式; PB7PB0:双向I/O总线(接外设),可由控制字设定为输入或输出方式; PC7PC0:双向I/O总线(接外设),可以设定为传送I/O数据(模式0) 或控制/状态信息(模式1,2); RESET:复位信号线,高电平有效。复位后清除控制寄存器,所有口均为输入; A1A0:地址线,用来选择内部端口。,46,(二)8255的内部结构(图5-23),由四部分组成 1,A口,B口和C口; 2,A组控制器,B组控制器; 3,数据总线缓冲器; 4,读/写控制器。,47,各部分的功能和特点:,A口:8位数据输出锁存/缓冲,输入缓冲/锁存的I/O端口。 B口:8位数据输出缓冲/锁存,输入缓冲的I/O端口(方式0);8位数据输出/输入缓冲/锁存I/O端口(方式1)。 C口:8位数据输出缓冲/锁存,输入缓冲的I/O端口。 A组控制器,B组控制器。接收CPU发送的控制字并确定8255的工作模式,其中A组控制器控制A口和C口的高4位; B组控制器控制B口和C口的低4位。 数据缓冲器。双向8位,用于传送CPU(单片机)与8255之间的数据和控制字。 读写控制逻辑。接收CPU(单片机)送来的读(/RD),写(/WR)和片选(/CS)等信号,用于对8255的读写控制。 端口的选择:8255A有A口、B口和C口,不同的口有不同的地址,利用、和地址信号A1A0等确定。见表5-11。,48,8255控制信号功能、地址表 ( 通过地址译码使 /CS=0),49,(三)8255A的工作方式选择,8255有两个控制字:“方式控制字”和“C口置复位控制字”。两者以控制字的D7=1或D7=0来区别。 1.“方式控制字”:用于确定三个端口的输入或输出等;见图5-24(a) D7:控制字标志位。=1表明为“方式控制字”,=0表明为C口置复位控制字; D6,D5: A组方式选择位。00:方式0;01:方式1;10:方式2。 D4: A口输入/输出控制位。=0时:A口用于输出;=1时:A口输入。 D3: C口高4位输入/输出控制位。=0:C口高4位用于输出;=0:输入。 D2: B组方式选择位。D2=0时:B组设定为方式0;=1时:设定为方式1。 D1: B口输入/输出控制。D1=0时:B口用于输出;=1时:B口用于输入。 D0: C口低4位输入/输出控制。=0时:用于输出;=1时:用于输入。,标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4,50,2.C口单一置位复位控制字:见图5-24b 使C口各位在方(模)式1,2时单独置位或复位,以实现某些控制功能。如:设置或清除A口、B口的中断允许位等。 D7:控制字标志位。=0表明为“C口单一支复位控制字”。 D6-D4: 不用。 D3D1: C口选择位。三位二进制数(000111),确定C口中8个位(D7D0)中的某一位。 D0: 置复位控制位。D0=0时,复位;D0=1时,置位。,51,举例,若8255的控制寄存器选口地址为FBH,试写出令PC3先置“1”,后置“0”的程序。 【解】: MOV R0,#0FBH ;设定8255的控制口 MOV A,#07H ;令PC3置“1”的控制字送A MOVX R0,A ;令PC3=1 MOV A,#06H ;PC3置“0”的控制字送A MOVX R0,A ;令PC3置“0” : END,标志位=0 D6-D4位不用 C口位选择位 置复位控制位,52,(四)8255A的状态字 当8255A设定为模式1、模式2时,可以通过读C口获得相应的“状态字”,以便了解8255A的工作状态。 1)8255A在模式1时的状态字:( I/O为引脚的电平信号),C口各位,输入口用时,输出口用时,输入口用时,输出口用时,PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0,PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0,53,2)8255A在模式2时的状态字,/OBFa:A口“输出缓冲器满”标志。 INTEA1:A口与输出相关的中断允许位,软件置位。 IBFa:A口“输入缓冲器满”标志。 INTEA2:A口与输入相关的中断允许位,软件置位。 INTRa:A口中断请求信号,高电平有效。 INTEb:B口中断允许位,软件置位。 IBFb:B口“输入缓冲器满”标志。 INTRb:B口中断请求信号,高电平有效。,C口各位: D7 D6 D5 D4 D3 D2 D1 D0,A组模式2(输入、输出) B组模式1 输出(或输入),54,(五)8255的工作方(模)式,8255A有三种工作模式:模式0,模式1,和模式2。用户可以通过“8255A方式控制字”来设定所需的工作模式。 (1)模式0: 基本的输入/输出方式 (2)模式1: 选通输入、选通输出方式 A口、B口作为输入或输出,C口做联络线 (3)模式2: A口的双向选通(输入/输出)方式,标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4,55,1.方(模)式0: 基本的输入/输出方式,A口、B口和C口均可设定为此种模式。 【例如】:设定A口和C口的高4位为模式0的输出方式,B口和C口的低4位为模式0的输入方式。 MOV R0,#0FBH ;控制寄存器地址送R0 MOV A,#10000011B ;方式控制字83H送A MOV R0,A ;控制字83H送控制寄存器 在模式0时,CPU可以对8255A无条件的进行I/O数据传送,数据可以在8255A对应的锁存器中锁存。同样,外设的I/O数据同样可以送到各端口得到锁存或缓冲。也可以将某些位设定为外设的状态输入位,CPU通过查询状态与外设进行异步I/O数据传送。,56,2.方(模)式1(带联络信号的输入/输出): 选通输入、选通输出方式,A口、B口均可独立的设置为这种工作模式。 在这种模式下,A口、B口通常用于传送与它们相连外设的I/O数据。而此时,C口作为A口、B口与外设之间的联络握手信号,可以实现CPU与外设之间以“中断”的方式进行异步I/O数据传送。,标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4,57,模式1下C口各位定义(见图5-26和图5-27),INTR:8255A发出的中断请求信号,经反相后送单片机。 IBF:8255A发出“输入缓冲器满”信号。/OBF:输出缓冲器满信号 /STB:外设发出的“选通信号”,用于8255A的数据锁存用。 /ACK:外设发出通知8255A的“已接收到数据” 的应答信号。,A 组,B 组,58,(1)8255的模式1:选通输入方式(口),1,当外设输入数据到PA口时, 自动的向/STBa发出一个低电平选通信号; 2,8255A收到/STBa上的负脉冲后作两件事: 一是将数据存入A口输入缓冲/锁存器中; 二是输入“缓冲器满”的IBFa高电平信号,通知外设已收到数据。 3,8255A检测到/STBa变为高电时,若Qibfa高电平,Qintra高电平时,将INTRa变高向CPU申请中断(Qintra可由用户对PC4进行单一置复位控制字控制,参见模式一时的状态字)。 4,CPU响应中断后,从A口读取数据,并在读走数据后8255A撤掉INTRa信号,并使/STBa变低通知外设送下一个字节的数据。,P0 8031 /INT0,D7-D0 PA PC4 PC5 PC3,D7-D0 输入设备,INTEa2,/STBa,IBFa,INTRa,1,2,59,(2)8255的模式1:选通输出方式(口),P0 8031 /INT0,D7-D0 PB PC1 PC2 PC0,D7-D0 输入设备,INTEb,/OBFb,/ACKb,INTRb,1,3,1,CPU通过 MOVX Ri ,A 指令将数据送到B口输出锁存器,8255A收到数据后便令“输出缓冲器满”/OBFb变为低电平, 通知外设准备接收。 2,外设接到/OBFb的低电平后作两件事情: 一,从PB上取走数据;二,使/ACKb线变低,通知8255A:外设已收到数据。 3,8255A接收到/ACKb线变低后,就对/OBFb ,/ACKb 和Qinteb的状态进行检测,当它们皆为“1”时,INTRb变为高电平向CPU发终端申请。 4,CPU响应中断后,通过中断服务程序将下一个数据送到8255A的B口,同时撤掉INTRb信号。,2,60,3.模式2: A口的双向(输入/输出)方式,只有A口具有模式2 方式。此时,PA口为双向I/O总线。 1,当PA作输入口时,由/STBa和IBFa信号控制, 过程同模式1的输入操作。 2,当PA作输出口时,由/OBFa和/ACKa控制,工作过程同模式1的输出操作。 模式2 非常适应像终端一类的外设,如键盘、显示器等设备。,P0 8031 /INT0,D7-D0 PA,D7-D0 输入设备,PC7,INTEa1,/OBFa,/ACKa,INTRa,PC6,PC4,PC5,PC3,IBFa,/STBa,+,INTEa2,61,4,8255A应用举例(方式0),/RD /WR P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 ALE 89C51,D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D1 Q1 D0 Q0 74LS373 G /E,/RD /WR /CS PC口 8255A A1 A0 PB口 D7 D6 D5 D4 D3 D2 PA口 D1 D0 RESET,设8255A工作在方式0,且A口输入,B、C口输出。 地址:FF7FH、FF7cH 、FF7DH、 FF7eH,地址译码,A口:FF7CH B口: FF7DH, C口: FF7EH, 控制口:FF7FH,系统复位,62,程序清单,ORG 0100H START: MOV A,#90H ;方式0,A口输入,B口、C口输出 MOV DPTR,#0FF7FH ;8255A控制口地址送指针 MOVX DPTR,A ;控制字送8255A控制寄存器 MOV DPTR,#0FF7CH ;A口地址送指针 MOVX A,DPTR ;从A口输入数据到A MOV DPTR,#0FF7DH ; B口地址送指针 MOV A,DATA1 ;从内存DATA1单元中取数X1到A MOVX DPTR,A ;数据从B口输出 MOV DPTR,#0FF7EH ; C口地址送指针 MOV A,DATA2 ;从内存DATA2单元中取数X2到A MOVX DPTR,A ;数据从C口输出,标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4,63,四、使用8155扩展I/O端口(自学),8155的简介 1,8155的构成: 2,CPU 对8155的控制 3,8155的工作方式 4,8155内部定时器的使用 5,8155应用与编程举例,64,8155的简介,同8255 一样,8155芯片是美国Intel公司为8086系列微机开发出的系列通用可编程I/O接口芯片。 8155不仅可以提供三个并行的I/O端口,在其内部还集成有256个字节的RAM存储空间、一个14位的定时/计数器,因此非常适合与MCS-51单片机连接实现系统功能的扩展。 由于8155的特殊性,这里将主要介绍其结构和使用、编程方法。,65,(一)8155的构成:,见图5-30,由:双向数据总线缓冲器、地址锁存器、地址译码(a)和读写控制(b)、256个字节的RAM数据存储器、I/O寄存器、命令寄存器、定时/计数器等功能部件组成。,66,各功能部件和控制信号功能,1, RAM数据存储器: 256个字节; 2,I/O寄存器:A,B和C双向通用I/O端口。 3,命令寄存器:用来存放CPU送来得命令字,8位,只允许写入。 4,状态寄存器:8位寄存器,只允许读出。 5,定时/计数器:二进制的14位减一计数器,可做分频器。 6,双向数据总线缓冲器:传送CPU与RAM之间的数据。 7,地址锁存器:用于锁存CPU送来得RAM或端口地址。 8,地址译码(a)和读写控制(b): a)接收地址锁存器的低三位地址,确定命令/状态存存器、 定时/计数器和A、B、C口中的某个工作。 b)读写控制用于接收/RD或/WR上的信息实现CPU与8155 之间的信息控制,67,(二)8155引脚说明,AD7-AD0:数据/地址总线。与MCS-51的P0口连接,分 时传送地址和数据信息,是连接两者的通道。 REST、/CE:复位、片选。 IO/M :I/O端口/RAM选择线,为“1”时,选择8155的3个I/O口以及命令/状态寄存器和定时器;为“0”时,选择存储器。 ALE:8155的地址锁存信号。ALE=1时,信号进入地址锁 存器;ALE=0时,锁存器处于“封锁”状态,将ALE=1 时的地址锁存到地址锁存器中。 /RD、/WR:读写控制线。 I/O口线:PA7-0、PB7-0和PC5-0为8155的A、B和C口。 其中A、B口为8为的通用I/O口; C口:在“通用I/O模式”下作I/O口; 在“选通I/O模式”下作命令/状态口。 T/IN、T/OUT: 计数器的脉冲输入线和输出线,输出波形 与工作方式有关。,68,读、写RAM和I/O口的必要条件,(1)写RAM的必要条件是: (IO/M=0)(/WR=0)(/CE=0)。 (2)写IO端口的必要条件是: (IO/M=1)(/WR=0)(/CE=0)。 (3)读RAM的必要条件是: (IO/M=0)(/RD=0)(/CE=0)。 (4)读IO端口电路的必要条件是: (IO/M=1)(/RD=0)(/CE=0),69,(三)8155的命令字格式和状态字,1,命令字格式 PB 、PA:A、B口工作方式:0 输入;1 输出。 PC2、 PC1: C口工作方式:00 :(输入) 01:方式11(输出) 10:方式111 (选通方式) 11:方式1V(选通方式) IEB IEA: A、B口中断允许位:0 禁止中断;1 允许中断。 TM2 TM1:计数器工作方式:00 无操作;01 停止计数; 10 计满后停止;11开始计数。 C口和计数器工作方式分别见表5-16和5-17,70,表5-16 端口C控制分配表,表5-17 计时器/计数器工作方式定义表(控制方式),71,2,8155的状态字表征8155的状态,INTRa: A中断请求标志。 0 无中断;1 有中断。 ABF: A口缓冲器状态。 0 空; 1 满。 INTEa: A口中断允许位。 0 禁止; 1 允许。 INTRb: B中断请求标志。 0 无中断;1 有中断。 BBF: B口缓冲器状态。 0 空; 1 满。 INTEb: B口中断允许位。 0 禁止; 1 允许。 TIMER: 定时器中断。0 读状态字后或硬件复位后。 1 有定时器中断时。,状态字存在于8155的状态寄存器中,其地址与命令口地址一样,可以用 MOVX A, Ri 指令来读取8155的状态。状态字寄存器与命令寄存器是靠输入、输出来自动区分的。,72,(四)8155 IO端口的地址及时序,8155内部的7个寄存器地址为:,73,IO电路处于基本的输入/输出方式或选通方式时的时序图分别见图5-34和图5-35。,74,8155的工作方式,(1)存储方式:若IO/M=0、CE=0时,8155处于存储器 模式,此时单片机通过AD7-AD0与8155 的RAM单元进行读写数据。 (2)I/O方式:若IO/M=1,CE=0时,8155处于I/O状态。 a,通用I/O方式:A,B,C都是通用的数据端口; b,选通I/O方式:A,B为通用I/O方式,C口作 为A,B口的联络控制线。 选通方式是一种较为特殊的数据传输方式,它不同于一般并行口的I/O操作。它主要用于高速CPU与低速外设之间的数据交换。这里只作基本介绍。,75,(五)8155 I0端口的应用,当IO/M为高电平时,8155选通片内的I/O端口。A、B、C三个口可以作为扩展的I/O口使用,MCS-51单片机的P0口与8155的AD0AD7相连。此时P0口输出的低8位地址只有低3位有效,用于片内选址,其它位无用。使用A、B、C三个口时,首先向命令寄存器写入一个控制字以确定三个口的工作方式。如果写入的控制字规定它们工作于方式I或方式II下,则这三个口都是独立的基本I/O口。可以直接利用MOVX A,DPTR或MOVX DPTR,A指令完成这三个口的读/写(输入/输出)操作。 工作在方式或方式时,C口用作控制口或部分用于控制,见表5-12。C口的低3位用于A口的控制,高3位用于B口的控制,这时A口或B口用作选通数据输入或输出口。,76,选通I/O数据输入操作,当外设准备好数据并送PA口时,发出低电平的选通信号ASTB; 8155接收到ASTB后: 1,将PA上的数据装入A口寄存器 2,使A口数据满ABF置位以通知外设数据已收到。 8155在ASTB的上升沿使PC0的A INTR标志置位,以通知单片机数据已收到。 CPU响应中断执行服务程序,当执行到从A口读取输入的数据(MOVX)时,/RD的上升沿将PC0的INTEA清零并使PC1的ABF变低,通知外设输入下一个数据。,P0 INT0,PA PD0-7 /RD PC1 PC2 PC0,D7- 0,C口为ALT3模式 PC0:A口中断A INTR标志输出,送单片机; PC1:A口缓冲器满ABF标志输出,送外设。 PC2:A口选通输入ASTB,,ASTB,ABF,MCS-51 8155 外设,A INTR,77,选通I/O数据输出操作,CPU执行MOVX指令将数据送PA口,8155收到数据后ABF变高通知外设数据已到达PA口。 外设接收到ABF的高电平后: 1,从D7-0上接收数据; 2,使ASTB变低,通知8155外 设已接收到数据。 当8155监测到ASTB回到高电平时,使PC0D的A INTR变为高电平,向单片机申请中断。 单片机在中断服务程序中巴下一个数据送到A口,进行下一个数据的输出。,P0 INT0,PA PD0-7 PC1 PC2 PC0,D7- 0,ASTB,ABF,MCS-51 8155 外设,C口为ALT3模式,控制字:00011001B PC0:A口中断A INTR标志输出,送单片机; PC1:A口缓冲器满ABF标志输出,送外设。 PC2:A口选通输入ASTB,,A INTR,78,例如:用8155作为键盘显示器接口,A口为基本输出口,B口为基本输入口,C口为输出口,则控制字设定为:00001101=0DH。如果控制寄存器的地址为7F00H,则写入控制字的程序段为:,MOV DPTR,#7F00H MOV A,#0DH MOVX DPTR,A,79,(六)RAM的应用,当用8155片内RAM 作为单片机外部扩展的数据存储器使用时,IO/M应为0。由P0口输出8155片内256字节RAM的地址(P0口与8155的AD0AD7相连)。对其访问使用MOVX类指令。 例:检验数据否能正确从8155中读出和写入。设8155存储器的地址范围为:7E00H7EFFH。 STAR: MOV DPTR,#7E00H ;指向8155RAM的00H单元。 MOV A,#01H ;01写入A中 MOVX DPTR,A ;写入8155片内RAM单元 INC DPTR ;指向下一个单元 MOV A,#0FFH MOVX DPTR,A MOV DPTR,#7E00H MOVX A,DPTR ;从8155RAM中读数 MOV R2,A ;暂存R2中 INC DPTR ;指向下一个单元 MOVX A,DPTR ADD A,R2 ;取两个数相加 JZ OK ;和为零? ERR: ;不为0,读/写不正确 RET,80,(七)8155定时器计数器工作原理及应用,8155的定时器是一个14位的减法计数器,它的功能主要用于计数或定时。它能对TIMER IN的输入脉冲进行计数,当达到最后计数值时,有一个矩形波或脉冲通过/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商场安全卫士培训方案课件
- 压力灭菌器安全培训证书课件
- 2025年医疗器械行业远程医疗设备市场前景预测报告
- 2025年循环经济行业发展模式探索与市场前景研究报告
- 孟连傣族拉祜族佤族自治县2025云南普洱市孟连县教体系统事业单位急需紧缺人才第二轮招聘2人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国人民大学财务处招聘3人笔试历年参考题库附带答案详解
- 2025重庆轨道集团招聘130人笔试参考题库附带答案详解
- 2025福建泉州晋江市佳豪置业发展有限公司招聘编外3人笔试参考题库附带答案详解
- 2025浙江余姚景隆置业有限公司招聘7人笔试参考题库附带答案详解
- 2025河北中核二四劳务有限公司招聘200人笔试参考题库附带答案详解
- 华为信息安全管理培训课件
- 诗经整本书阅读课件
- (2025年标准)预售小麦协议书
- 2025年院感测试题及答案
- 承包商全流程安全培训
- 养生店国庆节活动方案
- 7.1促进民族团结 课件 2025-2026学年统编版道德与法治九年级上册
- 2025年建筑施工安全教育试题及答案
- 桩基质量管理制度
- 口腔颌面外科缝合技术要点
- 2025至2030中国军用导航仪器行业市场深度研究与战略咨询分析报告
评论
0/150
提交评论