版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 MCS-51单片机系统功能的扩展,4.1 系统扩展概述 4.2 常用扩展器件简介 4.3 存储器的扩展 4.4 I/O扩展,4.1 系统扩展概述,4.1.1 最小应用系统,(a) 8051/8751最小系统结构图;(b) 8031最小系统结构图,图4.1 MCS51单片机最小化系统,4.1.2 单片机系统扩展的内容与方法 1单片机的三总线结构,图4.2 MCS51单片机的三总线结构形式,2系统扩展的内容与方法 (1) 系统的扩展一般有以下几方面的内容: 外部程序存储器的扩展。 外部数据存储器的扩展。 输入/输出接口的扩展。 管理功能器件的扩展(如定时器/计数器、键盘/显示器、中断优先级
2、编码器等)。http:/www.gangban-,(2) 系统扩展的基本方法:一般来讲,所有与计算机扩展连接芯片的外部引脚线都可以归属为三总线结构。扩展连接的一般方法实际上是三总线对接。要保证单片机和扩展芯片协调一致地工作,即要共同满足其工作时序。,4.2 常用扩展器件简介,表4.1 常用的扩展器件,表4.1 常用的扩展器件,4.2.1 8D锁存器74LS373,图4.3 74LS373结构示意图,图4.4 74LS373用作地址锁存器,4.2.2 74LS244和74LS245芯片,图4.5 74LS244内部逻辑与引脚图,图4.6 74LS245内部逻辑与引脚图,图4.7 总线驱动器的连接
3、图 (a) P2外接74LS244; (b) P0外接74LS245,4.2.3 3-8译码器74LS138,图4.8 74LS138引脚图,表4.2 74LS138的译码逻辑关系,4.3 存储器的扩展,4.3.1 存储器扩展概述 1MCS-51单片机的扩展能力 根据MCS-51单片机总线宽度(16位),在片外可扩展的存储器最大容量为64 KB,地址为0000HFFFFH。 因为MCS-51单片机对片外程序存储器和数据存储器的操作使用不同的指令和控制信号,所以允许两者的地址空间重叠,故片外可扩展的程序存储器与数据存储器分别为64 KB。 为了配置外围设备而需要扩展的I/O口与片外数据存储器统一
4、编址,即占据相同的地址空间。因此,片外数据存储器连同I/O口一起总的扩展容量是64 KB。http:/www.gangban-,2扩展的一般方法 存储器除按读写特性不同区分为程序存储器和数据存储器外,每种存储器还有不同的种类。程序存储器又可分为掩膜ROM、可编程ROM(PROM)、可擦除ROM(EPROM或EEPROM);数据存储器又可分为静态RAM和动态RAM。因此,存储器芯片有多种。即使是同一种类的存储器芯片,容量的不同,其引脚数目也不同。尽管如此,存储器芯片与单片机扩展连接具有共同的规律。不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线应接对应的电源线上
5、。,存储器芯片的地址线:地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N。存储器芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,如此相接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线相接。存储器芯片有一根或几根片选信号线。对存储器芯片访问时,片选信号必须有效,即选中存储器芯片。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。因此,单片机的剩余高位地址线的译码及译码输出与存储器芯片的片选信号线的连接,是存储器扩展连
6、接的关键问题。,(1) 部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。正因如此,部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。http:/www.gangban-,图4.9 地址译码关系图,图4.9中与存储器芯片连接的低11位地址线的地址变化范围为全0 全1。参加译码的4根地址线的状态是唯一确定的。不参加译码的A15位地址
7、线有两种状态都可以选中该存储器芯片。 当A15=0时,占用的地址是00100000000000000010011111111111,即2000H2FFFH。 当A15=1时,占用的地址是10100000000000001010011111111111,即A000HAFFFH。 同理,若有N条高位地址线不参加译码,则有2N个重叠的地址范围。重叠的地址范围中真正能存储信息的只有一个,其余仅是占据,因而会造成浪费。这是部分译码的缺点。它的优点是译码电路简单。,(2) 全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间
8、是唯一确定的,但译码电路相对复杂。 这两种译码方法在单片机扩展系统中都有应用。在扩展存储器(包括I/O口)容量不大的情况下,选择部分译码,译码电路简单,可降低成本。http:/www.gangban-,3扩展存储器所需芯片数目的确定 若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,4.3.2 程序存储器的扩展,1EPROM芯片,图4.10 常用EPROM芯片的引脚图,2程序存储器扩展举例,1) 不用片外译码器的单片程序存储器的扩展 例1 试用EPROM2764构成80
9、31的最小系统。 2764是8K8位程序存储器,芯片的地址引脚线有13条,顺次和单片机的地址线A0A12相接。由于不采用地址译码器,所以高3位地址线A13、A14、A15不接,故有23=8个重叠的8 KB地址空间。因只用一片2764,其片选信号CE可直接接地(常有效)。其连接电路如图 4.11所示。,图4.11 2764与8031的扩展连接图,图4.11所示连接电路的8个重叠的地址范围为 00000000000000000001111111111111,即0000H1FFFH; 00100000000000000011111111111111,即2000H3FFFH; 010000000000
10、00000101111111111111,即4000H5FFFH; 01100000000000000111111111111111,即6000H7FFFH; 10000000000000001001111111111111,即8000H9FFFH; 10100000000000001011111111111111,即A000HBFFFH; 11000000000000001101111111111111,即C000HDFFFH; 11100000000000001111111111111111,即E000HFFFFH。,2) 采用线选法的多片程序存储器的扩展,例2 使用两片2764扩展16
11、KB的程序存储器,采用线选法选中芯片。扩展连接图如图4.12所示。以P2.7作为片选,当P2.7=0时,选中2764(1);当P2.7=1时,选中2764(2)。因两根线(A13、A14)未用,故两个芯片各有22=4个重叠的地址空间。它们分别为,图4.12 用两片2764 EPROM的扩展连接图,左片:000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 0110000
12、00000000000111111111111111,即6000H7FFFH; 右片:100000000000000001001111111111111,即8000H9FFFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 111000000000000001111111111111111,即E000HFFFFH。,3) 采用地址译码器的多片程序存储器的扩展 例3 要求用2764芯片扩展8031的片外程序存储器,分配的地址范围为0000H3FFFH。
13、本例要求的地址空间是唯一确定的,所以要采用全译码方法。由分配的地址范围知:扩展的容量为3FFFH-0000H+1=4000H=4 KB,2764为8 K8位,故需要两片。第1片的地址范围应为0000H1FFFH;第2片的地址范围应为2000H3FFFH。 由地址范围确定译码器的连接。为此画出译码关系图如下:,图4.13 全译码、两片2764 EPROM的扩展连接图,4.3.3 数据存储器的扩展 1数据存储器芯片,图4.14 常用静态RAM芯片的引脚图,图4.15 iRAM芯片的引脚图,2数据存储器的扩展举例,例4 采用2114芯片在8031片外扩展1 KB数据存储器。,图4.16 用两片211
14、4 EPROM的扩展连接图,4.3.4 兼有片外程序存储器和片外数据存储器的扩展举例 例5 采用2764和6264芯片在8031片外分别扩展24 KB程序存储器和数据存储器。,扩展连接电路如图4.17所示。从图中可以看出,各有一片2764和一片6264的片选端并接在一根译码输出线上。即有2764和6264芯片相同的地址单元将会同时选通,这不会发生地址冲突,因为两种芯片的控制信号是不一样的。请读者自己分析两种存储器及各芯片的地址范围。http:/www.gangban-,图4.17 兼有片外ROM,又有片外RAM的扩展连接图,4.4 I/O 扩 展,4.4.1 I/O口扩展概述 1MCS-51单
15、片机I/O口扩展性能 单片机应用系统中的I/O口扩展方法与单片机的I/O口扩展性能有关。 (1) 在MCS-51单片机应用系统中,扩展的I/O口采取与数据存储器相同的寻址方法。所有扩展的I/O口或通过扩展I/O口连接的外围设备均与片外数据存储器统一编址。任何一个扩展I/O口,根据地址线的选择方式不同,占用一个片外RAM地址,而与外部程序存储器无关。,(2) 利用串行口的移位寄存器工作方式(方式0),也可扩展I/O口,这时所扩展的I/O口不占用片外RAM地址。 (3) 扩展 I/O口的硬件相依性。在单片机应用系统中,I/O口的扩展不是目的,而是为外部通道及设备提供一个输入、输出通道。因此,I/O
16、口的扩展总是为了实现某一测控及管理功能而进行的。例如连接键盘、显示器、驱动开关控制、开关量监测等。这样,在I/O口扩展时,必须考虑与之相连的外部硬件电路特性,如驱动功率、电平、干扰抑制及隔离等。 (4) 扩展I/O口的软件相依性。根据选用不同的I/O口扩展芯片或外部设备时,扩展I/O口的操作方式不同,因而应用程序应有不同,如入口地址、初始化状态设置、工作方式选择等。,2I/O口扩展用芯片 MCS-51单片机应用系统中I/O口扩展用芯片主要有通用I/O口芯片和TTL、CMOS锁存器、缓冲器电路芯片两大类。 通用I/O口芯片选用Intel公司的芯片,其接口最为简捷可靠,如8255、8155等。 采
17、用TTL或CMOS锁存器、三态门电路作为I/O扩展芯片,也是单片机应用系统中经常采用的方法。这些I/O口扩展用芯片具有体积小、成本低、配置灵活的特点。一般在扩展8位输入或输出口时十分方便。可以作为I/O扩展的TTL芯片有74LS373、74LS277、74LS244、74LS273、74LS367等。在实际应用中,根据芯片特点及输入、输出量的特征,应选择合适的扩展芯片。,3I/O口扩展方法 根据扩展并行I/O口时数据线的连接方式,I/O口扩展可分为总线扩展方法、串行口扩展方法和I/O口扩展方法。 (1) 总线扩展方法。扩展的并行I/O芯片,其并行数据输入线取自MCS-51单片机的P0口。这种扩
18、展方法只分时占用P0口,并不影响P0口与其它扩展芯片的连接操作,不会造成单片机硬件的额外开销。因此,在MCS-51单片机应用系统的I/O扩展中广泛采用这种扩展方法。,(2) 串行口扩展方法。这是MCS-51单片机串行口在方式0工作状态下所提供的I/O口扩展功能。串行口方式0为移位寄存器工作方式,因此接上串入并出的移位寄存器可以扩展并行输出口,而接上并入串出的移位寄存器则可扩展并行输入口。这种扩展方法只占用串行口,而且通过移位寄存器的级联方法可以扩展多数量的并行I/O口。对于不使用串行口的应用系统,可使用这种方法。但由于数据的输入输出采用串行移位的方法,传输速度较慢。,(3) 通过单片机片内I/
19、O口的扩展方法。这种扩展方法的特征是扩展芯片的输入输出数据线不通过P0口,而是通过其它片内I/O口。即扩展片外I/O口的同时也占用片内I/O口,所以使用较少,但在MCS-51单片机扩展8243时,为了模拟8243的操作时序,不得不使用这种方法。,4.4.2 8255可编程并行I/O口扩展,1芯片引脚及其内部结构,图4.18 8255A芯片的引脚图,图4.19 8255A芯片的内部结构图,表4.3 8255芯片的引脚信号说明,续表,28255的操作方式,1) 读/写控制逻辑操作选择,表4.4 8255的口操作状态,2) 8255的三种工作方式 方式0(基本输入/输出方式):这种工作方式不需要任何
20、选通信号。A口、B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或输出。作为输出口时,输出数据被锁存;作为输入口时,输入数据不锁存。 方式1(选通输入/输出方式):在这种工作方式下,A、B、C三个口分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高4位则用来作为A口输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低4位则用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入数据或输出数据都被锁存。方式1下的逻辑组态关系如图4.20所示。,图4.20 8255方式1逻辑组态关系图,3) 8255A的
21、编程控制字,图4.22 8255A控制字的格式与定义,(a) 方式选择控制字;(b) C口置位/复位控制字,图4.23 8255的扩展连接图,38031与8255的接口方法,例6 试对图4.23中的8255A编程,使其各口工作于方式0,A口作输入,B口作输出,C口高4位作输出,C口的低4位作输入。 由方式选择控制字的格式与 定义可确定出满足要求的方式控制字应为91H(10010001B)。对8255A编写程序将91H写入它的控制寄存器,初始化程序为 MOV DPTR,#FF7FH ;DPTR作地址指针,指向控制口 MOV A,91H MOVX DPTR,A 因为图4.23扩展电路未使用高位地址
22、线,所以端口地址也可使用8位。,例7 试按图4.23扩展电路,写出自8255A的B口输出单片机中R7内容与自8255的A口输入数据到单片机R3的程序。 使用8位地址,8255A的A、B、C口及控制口地址分别为7CH、7DH、7EH、7FH。则实现所要求功能的程序为 MOV R0,#7FH ;R0作地址指针,指向控制口 MOV A,#91H MOVX R0,A ;方式控制字送控制寄存器 MOV R0,#7DH ;R0指向B口 MOV A,R7 ; MOVX R0,A ;R7的内容输出到B口 DEC R0 ;使R0指向A口 MOVX A,R0 ;从A口输入数据到累加器A MOV R3,A ;把输入
23、数据送存到R3中,4.4.3 8155可编程并行I/O口扩展 8155芯片含有2568位静态RAM,两个可编程的8位I/O口,一个可编程的6位I/O口,一个可编程的14位定时器/计数器。8155芯片具有地址锁存功能,与MCS-51单片机接口简单,是单片机应用系统中广泛使用的芯片。 18155的结构与引脚,8155的逻辑结构如图4.24(a)所示,引脚分布如图4.24(b)所示。,图4.24 8155逻辑结构及引脚,(a) 8155逻辑结构;(b) 8155芯片引脚图,28155的RAM和I/O口编址 8155在单片机应用系统中是按外部数据存储器统一编址的,地址为16位,其高8位地址由片选线-C
24、E提供,低8位地址为片内地址。当IO/M=0时,对RAM进行读/写,RAM低8位地址为 00HFFH;当IO/-M=1时,对I/O口进行读/写,I/O口及定时器由AD0AD3进行寻址。其编址如表4.5所示。,表4.5 8155内部端口编址,38155的工作方式与基本操作 8155的A口、B口可工作于基本I/O方式或选通方式,C口可作为输入/输出口线,也可以作为A口、B口选通方式工作时的状态控制信号线。工作方式选择是通过对8155内部命令寄存器(命令口)设定控制字来实现的。三个口可组合工作于四种方式下。命令字的格式及定义如图4.25所示。http:/www.gangban-,图4.25 8155
25、命令控制寄存器格式,图4.26 8155选通方式信号逻辑组态,图4.27 8155状态寄存器格式,48155内部的定时器/计数器,图4.28 8155定时器寄存器格式,图4.29 8155定时器方式及输出波形,58155与单片机的扩展连接,图4.30 用8155的扩展连接,在图中连接状态下,8155所占的地址为 RAM地址范围:7E00H7EFFH I/O端口地址:命令/状态口 7F00H PA口 7F01H PB口 7F02H PC口 7F03H 定时器低字节 7F04H 定时器高字节 7F05H,例8 使8155用作I/O口和定时器工作方式,A口定义为基本输入方式,B口为基本输出方式,定时
26、器为方波发生器,对输入脉冲进行24分频(8155中定时器最高计数频率为4 MHz),则相应的程序如下:,MOV DPTR,#7F04H ;DPTR指向定时器低字节 MOV A,#18H ;计数器常数0018H=24 MOVX DPTR,A ;计数常数低8位装入计数器低字节 INC DPTR ;使DPTR指向定时器高字节 MOV A,#40H(01000000B) ;置定时器方式为连续方波输出 MOVX DPTR,A ;装计数器高字节值 MOVX DPTR,#7F00H ;使DPTR指向命令/状态口 MOV A,C2H(11000010B) MOVX DPTR,A ;向命令/状态口送方式控制字,
27、并启动定时器,4.4.4 用TTL芯片扩展简单的I/O接口 在MCS-51单片机应用系统中,采用TTL或CMOS锁存器、三态门芯片,通过P0口可以扩展各种类型的简单输入/输出口。P0口是系统的数据总线口,通过P0口扩展I/O口时,P0口只能分时使用,故输出时接口应有锁存功能;输入时,视数据是常态还是暂态的不同,接口应能三态缓冲,或锁存选通。 不论是锁存器,还是三态门芯片,都只具有数据线和锁存允许及输出允许控制线,而无地址线和片选信号线。而扩展一个I/O口,相当于一个片外存储单元。CPU对I/O口的访问,要以确定的地址,用MOVX指令来进行。,1用锁存器扩展输出口,图4.31 用74LS377扩
28、展输出口,2用锁存器扩展输入口,图4.32 用74LS373扩展输入口,中断系统初始化程序:,PINT: SETB IT0 ;外部中断0选择为下降沿触发方式 SETB EA ;开系统中断 MOV R0,#50H ;R0作地址指针,指向数据区首址 SETB EX0 ;外部中断0中断允许 中断服务程序: ORG 0003H PINT0:AJMP INT0 INT0: MOV DPTR,#0BFFFH ;使DPTR指向74LS373扩展输入口 MOVX A,DPTR ;从74LS373扩展输入口输入数据 MOV R0,A ;输入数据送数据区 INC R0 RETI,3用三态门扩展输入口,图4.33
29、用74LS244扩展输入口,4扩展多个输入、输出口举例,图4.34 扩展多个输入口和输出口的连接,4.4.5 用串行口扩展并行I/O口,MCS-51单片机的串行口在方式0(移位寄存器方式)下,使用移位寄存器芯片可以扩展一个或多个并行I/O口。 扩展并行输入口时,可用并入串出移位寄存器芯片,如CMOS芯片4014和74LS165芯片。,图4.35 8并行输入/串行输出移位寄存器芯片的引脚图,(a) 4014;(b) 74LS165,图4.36 8串行输入/并行输出移位寄存器芯片的引脚图,(a) 4094; (b) 74LS164,1用串行口扩展并行输入口,图4.37 串行口扩展并行输入口连接,下面是从两个扩展的8位并行口输入数据存于片内RAM的30H、31H单元的应用程序。,SETB P1.7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂安全保卫系统加固合同
- 网站文学创作合同
- 搬运服务合同范本模板格式化示例
- 2024广东省劳动合同范本简易版
- 2024中外货物买卖合同进出口买卖合同范文
- 中药行业报告:中药国企改革的三部曲和六要素
- 海员物资采购合同范例
- 旅游商品合同范例
- 买地居间合同范例
- 开连锁店需要合同范例
- 2024年江西省财投供应链金融有限公司招聘笔试参考题库附带答案详解
- 2024年政府工作报告基础知识试题及答案(100题)
- JTG F80-1-2004 公路工程质量检验评定标准 第一册 土建工程
- 2023-2024苏教版小学五年级数学上册全册测评试卷(含答案)
- 小学英语就业能力展示
- 中医-艾灸治疼痛
- “安全风险分级管控”工作制度(2篇)
- 《艾滋病毒》课件
- 科普文化墙设计理念
- 管道保温计算公式
- 机械电子工程大一的职业生涯规划
评论
0/150
提交评论