资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章第七章 单片机系统扩展技术单片机系统扩展技术 7-1 7-1 程序存储器的扩展程序存储器的扩展 7-2 7-2 数据存储器的护展数据存储器的护展 7-3 MCS-51 7-3 MCS-51并行并行I/OI/O口的简单扩展口的简单扩展 7-4 7-4 可编程接口电路的扩展可编程接口电路的扩展 第七章单片机系统扩展技术前前 言言 单片机特点之一是在芯片内留有一定数量的数据存储器和程序存储器,但容量有限。MCS-51系列的CPU芯片内部只有很少字节的数据存储器;程序存储器的数量很少,有的芯片中没有,不能满足实际控制的需要,在系统控制中必须扩展外部存储器。 外部存储器的扩展包括程序存储器和数据存储器,这两种扩展的实质都是根据单片机的结构特点和寻址能力,把不超过64KB的RAM和ROM存储器芯片按照一定规律连接到单片机的外部电路上去,作为单片机的片外存储器。 第七章单片机系统扩展技术单片机外接程序存储器和数据存储器可以采用两种编址方法: 一种是程序存储器和数据存储器各自独立编址,两者最大编址空间均为64KB,但数据存储器的地址空间有一部分要被单片机扩展的外部设备(I/0端口)所占用; 另一种是程序存储器和数据存储器及其它扩展的I/O器件统一编址,其总地址空间为64KB。 单片机访问外部存储器时,必须同时选通芯片和选中存储单元,才能占据不同存储空间的字节信息进行访问。通常采用两种方法获得芯片选择信号:线选法和通过译码器连接方法。 第七章单片机系统扩展技术1、线选法 线选法就是把8031的地址线直接或通过反相器连接到芯片的选通端( ),以8031送出的地址信号选通芯片,通常用单片机的低位地址线接至存储器芯片的地址输入端,而用余下的高位地址线接片选端。 线选法的连接方法有多种:一线二用、一线一选和综合线选方式。 在使用线选法时要注意以下的问题: 1)地址浮动: 即在扩展芯片时,当芯片的地址线没有16位时,除片选信号线对电平信号有要求外,其余的地址线应给于电平的固定,否则芯片的地址会发生变化(浮动),对存储器的访问会发生错误。第七章单片机系统扩展技术2)地址的重叠 当不同的芯片在连接时由于共用地址线,它们的地址空间会有相同的情况下,此时,就发生地址重叠,对存储器的访问同样会发生错误。 为避免以上两种情况,在外部扩展时应注意: 1)片选信号的地址线及其有效电平必须是唯一的; 2)对未用的地址线,也不能输出任意的电平信号。2、地址译码器连接 通过地址译码器,使用较少的地址信号编码产生较多的译码信号,从而实现对多块存储器及I/O器件的选择。第七章单片机系统扩展技术7-1 7-1 程序存储器的扩展程序存储器的扩展 返回返回 图7-1是8031扩展外部程序存储器的电路图,在通常情况下,扩展程序存储器常用EPROM(光可擦除芯片)。在本例中选用的是2764。 单片机与外部存储器芯片的连接方式采用三总线的连接。 一、数据线的连接(DB) 采用并连方式将各存储器芯片的数据线连接到8031的P0端口。二、地址线的连接(AB)2764地址信号来自单片机的P0口和P2口,低8位地址由P0口分时(地址/数据)送出。为了在访问存储器的整个周期内地址信号保持不变,必须将P0口先输出的低8位地址锁存起来(由锁存器74LS373来完成),在送数据信号时可以让出P0口,并且可以和由P2口送出的高位地址一起实现对存储器内部存储器单元进行访问。第七章单片机系统扩展技术P0口和P2口一起,最大能提供16位地址编码。存储器实际的地址线的数目由存储器芯片容量决定。由图2764所需地址线为13根,剩余的地址线可作为片选控制线使用中,如P2.5,一起组成2764的地址编号。图中2764的地址代号为0000H-3FFFH。(注意:本图中只有一块芯片扩展,没有进行高位地址线的处理,在实际系统中应注意与其它I/O设备及扩展芯片的地址处理)。三、控制信号的连接(CB)存储器的控制信号线可以连接到8031相应的控制信号输出线上,如图中的ALE、 等,在程序存储器扩展时,特别注意芯片的 与 的连接。第七章单片机系统扩展技术扩展的联接过程如下图所示:图7-1程序存储器的扩展第七章单片机系统扩展技术7-2 7-2 数据存储器的护展数据存储器的护展 返回返回 图7-2是8031扩展外部数据存储器的电路图,在通常情况下,扩展数据存储器常用RAM芯片。在本例中选用的是6116。 和程序存储器一样,连接方式同样采用三总线的连接。 一、数据线的连接(DB) 采用并连方式将各存储器芯片的数据线连接到8031的P0端口。 二、地址线的连接(AB) 6116 地址信号来自单片机的P0口和P2口,低8位地址由P0口分时(地址/数据)送出,此时的片线信号为P2.3,一起组成6116的地址编号。图中6116的地址代号为0000H-0FFFH。(注意:本图中只有一块芯片扩展,没有进行高位地址线的处理,在实际系统中应注意与其它I/O设备及扩展芯片的地址处理)。 三、控制信号的连接(CB) 存储器的控制信号线可以连接到8031相应的控制信号输出线上,如图中的ALE等,在数据存储器扩展时,特点注意芯片的 、 与 的连接。第七章单片机系统扩展技术具体的联接图如图7-2所示:图7-2 数据存储器扩展图第七章单片机系统扩展技术7-3 MCS-517-3 MCS-51并行并行I/OI/O口的简单扩展口的简单扩展 返回返回 MCS MCS-51系列单片机有4个8位I/O口,共32根I/O线,但并不是所有的I/O线都可以供用户使用,因为P0、P2、P3口均有第二功能,在使用时不能仅作为I/O传输口。除非且用8051/8751单片机且不作外部扩展。在实际应用系统中,常使用8031芯片,此时I/O扩展技术成为系统控制能否实现的决定因素。 对于8031的I/O口注意其本身的特性(见第二章)。 I/O扩展方法和单片机的I/O扩展性能有关。扩展的I/O口的寻址方法与扩展的数据存储的寻址方式相同,即编址时与数据存储器统一编址,即CPU视每个I/O口为外部数据存储器中的一个单元,只能用MOVX指令访问I/O口,I/O口的读/写操作分别受 信号控制。 第七章单片机系统扩展技术 应用系统扩展时常常需要有各种类型的简单I/O口,此时可能过TTL芯片来扩展单元的简单的I/O口,数据的输入、输出须由单片机的读、写信号控制,I/O口只能分时使用P0口。如果是输入口,则应根据输入数据的特点选择相应的芯片(要求接口电路具有三态缓冲或锁存选通功能);如作输出口,则要求接口电路具有锁存功能。 一、用三态口扩展8位并行输入口 当传送的数据的保持时间较长时,可用三态门扩展8们并行输入口。图7-3是用74LS244芯片通过P0口扩展的8位并行输入接口。74LS244是8位三态缓冲器,当 、 端为低平时输出与输入相同;当其为高电平时输出呈高阻态。第七章单片机系统扩展技术 由图可知,当P2.7和 同时为低电平时74LS244才将由输入设备输出的数据送8031的P0口.其中P2.7决定了74LS244的地址.它的地址=0B,可取7FFFH,该接口的输入操作程序如下:MOV DPTR, #7FFFH ;指向74LS244端口MOVX A, DPTR ;输入数据 第七章单片机系统扩展技术二、用锁存器扩展8位并行I/O口1、扩展输入口 当传送的数据的保持时间较短时,不宜采用上述方法而应采用锁存器扩展8位并行输入口。图7-4是利用74LS373芯片通过P0口扩展8位并行输入接口。74LS373芯片的功能见表7-1,利用中断方式进行数据传送。过程如下:第七章单片机系统扩展技术表7-174LS3732、扩展输出口当通过P0口扩展输出口时,要求接口电路具有锁存功能。为增加抗干扰能力,可采用带允许控制端的8D锁存器。图7-5是用74LS377通过P0口扩展的8位并行输出接口,该芯片的功能见表7-2。由于74LS377的G端与P2.6相连,故地址为0BFFFH。用8031单片机的写脉冲信号作为该芯片的时钟,其输出操作程序如下: MOV A, #DATA ;输出数据送A MOV DPTR,#0BFFFH ;DPTR指向74LS377 MOVX DPTR,A ;P0口经74LS377输出数据出控制使能G输入数据D输出数据QLHHHLHLLLLQ0HZ第七章单片机系统扩展技术表7-274LS377功能表注:*表示上升沿, 为任意状态, Q0为建立稳态输入条件前的Q的电平,Z为高阻态 输入输出CKDQHQ0L*HHL*LLLQ0第七章单片机系统扩展技术其电路联接如图7-5所示:第七章单片机系统扩展技术7-4 7-4 可编程接口电路的扩展可编程接口电路的扩展 返回返回 当单片机应用系统中需要较为复杂的I/O口时不能采用7-3所介绍的方法扩展I/O口,通常采用可编程I/O接口芯片扩展I/O口。下面介绍两种常用标准可编程I/O接口及芯片扩展I/O口的方法。一、可编程并行接口8255A1、8255A的基本性能 可编程外设接口电路(Programmable Peripheral Interface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。 8255A具有三个相互独立的输入/输出通道: 通道A、通道B、通道C。A,B,C三通道可以联合使用,构成单线、双线或三线联络信号的并行接口,此时C口完全服务于A、B口。第七章单片机系统扩展技术A口有三种工作方式:方式0、方式1、方式2。 B口有两种工作方式:方式0、方式1。2、8255A内部结构8255A内部结构由以下四部分组成:数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。结构如图7-6所示端口A:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。端口B:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。端口C:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可在方式字控制下分为两个4位的端口(C端口上和下),每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。第七章单片机系统扩展技术A组和B组控制的作用如下:A组控制逻辑控制端口A及端口C的上半部;B组控制逻辑控制端口B及端口C的下半部。图7-68255结构图第七章单片机系统扩展技术2 2、方式选择控制字及工作方式、方式选择控制字及工作方式 方式选择控制字及各位的意义如图7-7所示。1 1)方式)方式0 0是一种基本输入或输出方式,它适用于无需握手信号的简单输入输出应用场合, 端口A、B、C都可作为输入或输出数据使用,输出有锁存而输入无锁存。2 2)方式)方式1 1 也称选通的输入/输出方式。在这种方式下,无论是输入还是输出都通过应答关系实现, 这时端口A或B用作数据口,端口C的一部分引脚用作握手信号线与中断请求线。 若端口A工作于方式1,则B可工作于方式0; 若端口B工作于方式1,则A可工作于方式0或余下的13位可工作于方式0; 若端口A和B同时工作于方式1,端口C余下的两位还可用于传送数据或控制信号。第七章单片机系统扩展技术3 3)方式)方式2 2 也称选通的双向I/O方式,仅适用于端口A, 这时A口的PA7-PA0作为双向的数据总线,端口C有5条引脚用作A的握手信号线和中断请求线,而B口和C口余下的3位仍可工作于方式0或1。它可以认为是方式1输出和输入的组合但有以下不同: (1)当CPU将数据写入A口时,尽管OBF变为有效,但数据并不出现在PA7-PA0上,只有外设发出ACKA信号时,数据才进入PA7-PA0。 (2)输出和输入引起的中断请求信号都通过同一引脚输出, CPU必须通过查询OBF和IBF状态才能确定是输入引起的中断请求还是输出引起的中断请求。 (3)ACKA 和STBA 信号信号不能同时有效, 否则将出现数据传送“冲突”。第七章单片机系统扩展技术控制方式字及格式:图7-7方式控制字及各位的意义第七章单片机系统扩展技术3、 C端口置1置0控制字: 端口C的数位常常作为控制位来使用,所以,在设计8255A芯片时,应使端口C中的各位可以用置1置0控制字来单独设置。其具体格式如下图所示。 注意:C端口置1置0控制字尽管是对端口C进行操作,但此控制字必须写入控制口,而不是写入C端口。第七章单片机系统扩展技术4、MCS-51和8255A的接口方法 如图所示为MCS-51和8255A的一种接口逻辑。PA口、PB口、PC口、控制口的地址分别为:7FFCH、7FFDH、7FFEH、7FFFH。第七章单片机系统扩展技术假设图中8255A的PA口接一组开关,PB接一组指示灯,如果,要将MCS-51的寄存器R2的内容送指示灯显示,将开关状态读入MCS-51的累加器A,则8255初始化和输入/输出程序如下:ORG 1000HR8255:MOV DPTR,#7FFFH;MOV A,#98HMOVX DPTR,AMOV DPTR,#7FFDHMOV A,R2MOV DPTR,AMOV DPTR,#7FFCHMOVX A,DPTRRET第七章单片机系统扩展技术二、可编程接口芯片8155 与8255A相比,8155具有更强的功能,可以扩展单片机的I/O口、定时器、外部数据存储器RAM。1 1、81558155芯片的构成芯片的构成1)逻辑结构2)引脚图3)接口信号2 2、81558155的的RAMRAM和和I/OI/O口地址口地址 RAMRAM地址-当IO/ M 加低电平: 此时AD0-AD7上得到的地址值是指8155的某一RAMRAM单元的地址,地址范围是: 0000 0000-1111 1111分别指向8155 RAM 的256个存储单元。 I/O I/O口地址口地址-当IO/ M 加高电平:此时AD0-AD7 (仅用到低三位AD2、AD1、AD0)上得到的地址值是指8155的某一I/O口的地址,具体端口地址分配是: 8155的RAM和I/O口编址第七章单片机系统扩展技术8155芯片的内部结构256B256B静态静态RAMRAM A A 定时器定时器B B C C 口APA0PA7口BPB0PB7PC0PC5口CIO/ MAD0AD7CEALERDWRRESET定时器输入定时器输出接单片机接外设接外设接外设第七章单片机系统扩展技术8155引脚功能PC3PC4 PC5 IO/ MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMER INRESETTIMER OUTAD0-AD7AD0-AD7三态地址三态地址/ /数据线数据线 IO/ M IO/ M端口端口/ /存储存储器选择器选择 RD RD读读ALEALE地址锁存地址锁存允许允许写写 WR WR选片选片 CE CE定时器输定时器输入入TIMER INTIMER IN定时器输定时器输出出TIMER OUTTIMER OUTPA0-PA7PA0-PA7A A口端口线口端口线PB0-PB7PB0-PB7B B口端口线口端口线PC0-PC5PC0-PC5C C口端口线口端口线第七章单片机系统扩展技术 地址编码地址编码内部寄存器I/0口地址A7 A6 A5 A4 A3 A2 A1 A0命令/状态寄存器X X X X X 0 0 0PA口寄存器X X X X X 0 0 1PB口寄存器X X X X X 0 1 0PC口寄存器X X X X X 0 1 1定时器低8位寄存器X X X X X 1 0 0定时器高6位和2位定时器方式寄存器X X X X X 1 0 1第七章单片机系统扩展技术3 3、 8155 8155的使用的使用 1)8155内RAM的使用: 与一般外部数据存储器的使用基本一样,唯一区别是事先要使IO/ M为低电平。 2)8155各端口的使用: A、B、C各端口可工作于不同的工作方式,使用前要进行初始化(写命令字到命令口)4 4、扩展电路的连接实例、扩展电路的连接实例 利用8155 进行扩展时,方式常见的有如下3种,注意不同方法的连线方式也各有特征: 1)以高位地址直接作为IO/M信号扩展,接口电路非常简单,基本上是相同信号对接,如图7-8所示; 2)多芯片扩展,如图7-9所示; 3)综合扩展,如图7-10所示。 第七章单片机系统扩展技术1)直接扩展法图7-8 8155扩展实例8031803181558155RESETRDWRALEP2.4P0.0P0.1P0.2P.03P0.4P0.5P0.6P0.7RESETRDWRALEIO/MCEAD0AD1AD2AD3AD4AD5AD6AD7口APA0PA7口BPB0PB7PC0PC5口C第七章单片机系统扩展技术2)多芯片扩展图7-9多芯片扩展8031 373G27166116(2)6116(1)8155P0P2.2-P2.0PSENALEWRRDABCG2AG2BG1P1.0A0A7A8A10D7D0D7D0D7D0CECECEOEA0A7A8A10WEWEOEOEWERDALEAD0AD7CEY2Y1Y0+5VIO/ MPAPBPCP2.3P2.4P2.5P2.6P2.7第七章单片机系统扩展技术上图中的各扩展地址分别为: 8155 8155: 0000H 0000H、0001H0001H、0005H0005H 8031的P2.7-P2.3=00000时,选中8155,在此前提下,当8031的P0口输出地址是XXXXX000-XXXXX101,且IO/ M=1时,选中8155的各端口,即:P2.7 P2.0 P0.7 P0.0 P2.7 P2.0 P0.7 P0.0 端口端口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0000H) 命令口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 (0001H) PA口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 (0002H) PB口 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 (0003H) PC口 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 (0004H)计数器低 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 (0005H)计数器高第七章单片机系统扩展技术当IO/ M=0时,选中8155的RAM单元,所以:其内部RAM地址范围是:0000H-00FFH 。 6116(1): 0800H-0FFFH 0800H-0FFFH6116(2): 1000H-17FFH 1000H-17FFH分析: 根据74LS138,8031的P2.7-P2.3=00001时,选中6116(1),在此前提下,加上P2.2-P2.0,P0.7-P0.0低位地址,既有:6116(1) 的地址范围是: 0000 1 000 0000 0000-0000 1 111 1111 1111 即:8000H-FFFFH。6116(2) 同理可得:1000H-17FFH:第七章单片机系统扩展技术3)综合扩展 线选法:图7-10 综合扩展80316116CE8255CS8155IO/M CECE8253CS0832P2.3P2.4P2.0P2.5P2.6P2.7第七章单片机系统扩展技术线选法译码地址外围器件外围器件地址选择线(地址选择线(A15A0A15A0)片内地址单元单元数地址编码地址编码61161111 0 0AAA AAAA AAAA2KF000F7FFH82551110 0 1111 1111 11AA4EFFCEFFFH 8155 RAM110 01 111 0 0 AAAA AAAA256DE00DEFFH8155 I/O110 01 1111 1 1111 1AAA6DFF8DFFDH083210 011 1111 1111 11111BFFFH82530 0111 1111 1111 11AA47FFC7FFFH第七章单片机系统扩展技术译码法80316264CE8255CS8155IO/M CECE8253CS0832P2.5P2.6P2.7P2.0ABCG2AG2BG1Y0Y1Y2Y3Y4+5V138第七章单片机系统扩展技术译码法的各芯片地址如下表所示。外围器件外围器件地址选择线(地址选择线(A15A0A15A0)片内地址单元单元数地址编码地址编码6264000000A AAAA AAAA AAAA8K00001FFFH8255 001 0011 1111 1111 11AA43FFC3FFFH 8155 RAM 010 0101 111 0 0 AAAA AAAA2565E005EFFH8155 I/O 010 0101 1111 1 1111 1AAA65FF85FFDH0832 011 0111 1111 1111 111117FFFH8253 100 1001 1111 1111 11AA49FFC9FFFH第七章单片机系统扩展技术
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号