收藏 分销(赏)

CS51单片机系统扩展.pptx

上传人:丰**** 文档编号:10845815 上传时间:2025-06-19 格式:PPTX 页数:30 大小:216.93KB 下载积分:12 金币
下载 相关 举报
CS51单片机系统扩展.pptx_第1页
第1页 / 共30页
CS51单片机系统扩展.pptx_第2页
第2页 / 共30页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,第六章,CS-51,单片机系统扩展,XTAL1,XTAL2,8751,P0,P1,P2,P3,8051,RESET,EA,GND,+5V,+5V,8,8,8,8,该最小系统的特点如下:,(,1,)由于片外没有扩展存储器和外设,,P0,、,P1,、,P2,、,P3,都可以作为用户,I/O,口使用。,(,2,)片内数据存储器有,128,字节,地址空间,00H7FH,,没有片外数据存储器。,(,3,)内部有,4KB,程序存储器,地址空间,0000H0FFFH,,没有片外程序存储器,,EA,应接高电平。,(,4,)可以使用两个定时,/,计数器,T0,和,T1,,一个全双工的串行通信接口,,5,个中断源。,6.1.1 8031,最小应用系统,8031,片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。,P2,ALE,8031,P0,EA,PSEN,G,74LS,373,A15,A8,A7,A0,D7,D0,OE,2764,CE,高,8,位地址线,P2,ALE,P0,EA,PSEN,该最小系统特点如下:,(,1,)由于,P0,、,P2,在扩展程序存储器时作为地址线和数据线,不能作为,I/O,线,因此,只有,P1,、,P3,作为用户,I/O,口使用。,(,2,)片内数据存储器同样有,128,字节,地址空间,00H7FH,,没有片外数据存储器。,(,3,)内部有无程序存储器,但片外扩展了程序存储器,其地址空间随芯片容量不同而不一样。图,6.2,中使用的是,2764,芯片,容量为,8K,字节,地址空间为,0000H1FFFH,。由于片内没有程序存储器,只能使用片外程序存储器,,EA,只能接低电平。,(,4,)同样可以使用两个定时,/,计数器,T0,和,T1,,一个全双工的串行通信接口,,5,个中断源。,6.2,存储器扩展,6.2.1,存储器扩展概述,一、,MCS-51,单片机的存储器扩展能力,MCS-51,单片机地址总线宽度为,16,位,片外可扩展的存储器最大容量为,64KB,,地址为,0000HFFFFH,。因为程序存储器和数据存储器是通过不同的控制信号和指令进行访问,允许两者的地址空间重叠,所以片外可扩展的程序存储器与数据存储器分别都为,64KB,。,二、存储器扩展的一般方法,不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。,1.,控制线:对于程序存储器,一般来说,具有输出允许控制线,OE,它与单片机的,PSEN,信号线相连。对于数据存储器,一般都有输出允许控制线,OE,和写控制线,WE,,它们分别与单片机的读信号线,RD,和写信号线,WR,相连。,2,、数据线:存储器芯片的数据线的数目由芯片的字长决定。连接时,存储器芯片的数据线与单片机的数据总线,(P0.0P0.7),按由低位到高位的顺序顺次相接。,3,、地址线:存储器芯片的地址线的数目由芯片的容量决定。容量,(Q),与地址线数目,(N),满足关系式:,Q=2N,。存储器芯片的地址线与单片机的地址总线,(A0A15),按由低位到高位的顺序顺次相接。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,因此连接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线,CS,相接。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。,译码有两种方法:部分译码法和全译码法。,部分译码,:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,如下图,存储器芯片容量为,2K,,地址线为,11,根,与地址总线的低,11,位,A0A10,相连,用于选中芯片内的单元。地址总线的,A11,、,A12,、,A13,、,A14,根地址线参加译码的选中芯片,设这四根地址总线的状态为,0100,时选中该芯片。地址总线,A15,不参加译码,当地址总线,A15,为,0,、,1,两种状态都可以选中该存储器芯片。,A15,A14,0,A13,0,A12,1,A11,0,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1,A0,地址译码线,与存储器芯片连接的地址线,当,A15=0,时,芯片占用的地址是,00010000000000000001011111111111,,即,1000H17FFH,。,当,A15=1,时,芯片占用的地址是,10010000000000001001011111111111,,即,9000H97FFH,。,部分译码法,的一个特例是,线译码,。所谓线译码就是直接用一根剩余的高位地址线与一块存储器芯片的片选信号,CS,相连。,全译码,:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。,3,扩展存储器所需芯片数目的确定,存储器芯片容量,系统扩展容量,芯片数目,=,若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,存储器芯片字长,系统字长,存储器芯片容量,系统扩展容量,芯片数目,=,6.2.2,程序存储器扩展,一单片程序存储器的扩展,P2.6,P2.4,P2.3,P2.2,P2.1,P2.0,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P2.7,P2,.,5,P0.0,ALE,Vcc,8031,PSEN,EA,Vss,+5V,A12,A11,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1,A0,D7,D,5,D4,D3,D2,D1,D0,OE,D6,CE,GND,Vff,+5V,8D,7D,6D,5D,4D,3D,2D,1D,G,OE,8Q,7Q,6,Q,5Q,4Q,3Q,2Q,1Q,Vcc,74LS,373,二多片程序存储器的扩展,其,8,个重叠的地址范围为如下:,00000000000000000001111111111111,,即,0000H1FFFH,;,00100000000000000011111111111111,,即,2000H3FFFH,;,01000000000000000101111111111111,,即,4000H5FFFH,;,01100000000000000111111111111111,,即,6000H7FFFH,;,10000000000000001001111111111111,,即,8000H9FFFH,;,10100000000000001011111111111111,,即,A000HBFFFH,;,11000000000000001101111111111111,,即,C000HDFFFH,;,11100000000000001111111111111111,,即,E000HFFFFH,。,P2.6,P2.5,P2.4,P2.0,ALE,8031,PSEN,EA,G,P2.7,74LS,373,OE,A0,A7,A8,A12,CE,D0,D7,OE,2764(1),A0,A7,A8,A12,CE,2764(2),D0,D7,OE,P0,5,8,8,8,8,5,8,8,5,上图是通过线选法实现的两片,2764,扩展成,16KB,程序存储器。两片,2764,的地址线,A0A12,与地址总线的,A0A12,对应相连,,2764,的数据线,D0D7,与数据总线,A0A7,对应相连,两片,2764,的输出允许控制线连在一起与,8031,的,PSEN,相连。第一片,2764,的片选线,CS,与,8031,地址总线的,P2.7,直接相连,第二片,2764,的片选线,CS,与,8031,地址总线的,P2.7,取反后相连。,其两片的地址空间分别为:,第一片:,000000000000000000001111111111111,,即,0000H1FFFH,;,001000000000000000011111111111111,,即,2000H3FFFH,;,010000000000000000101111111111111,,即,4000H5FFFH,;,011000000000000000111111111111111,,即,6000H7FFFH,;,第二片:,100000000000000001001111111111111,,即,8000H9FFFH,;,101000000000000001011111111111111,,即,A000HBFFFH,;,110000000000000001101111111111111,,即,C000HDFFFH,;,111000000000000001111111111111111,,即,E000HFFFFH,。,P2.6,P2.5,P2.4,P2.0,ALE,8031,PSEN,EA,G,P2.7,74LS,373,OE,A0,A7,A8,A12,CE,D0,D7,OE,2764(1),A0,A7,A8,A12,CE,2764(2),OE,P0,5,8,8,8,8,5,8,8,5,C,B,A,D0,D7,G,G1,G2A,G2B,Y3,Y2,Y1,Y0,8,D0,D7,OE,2764(3),A0,A7,A8,A12,CE,8,D0,D7,OE,CE,A8,A12,A0,A7,2764(4),8,5,8,5,Vcc,74LS138,上图为采用全译码法实现的,4,片,2764,扩展成,32KB,程序存储器。,8031,剩余的高,3,位地址总线,P2.7,、,P2.6,、,P2.5,通过,74LS138,译码器形成,4,个,2764,的片选信号,由于采用全译码,每片,2764,的地址空间都是唯一的。它们分别是:,000000000000000000001111111111111,,即,0000H1FFFH,;,001000000000000000011111111111111,,即,2000H3FFFH,;,010000000000000000101111111111111,,即,4000H5FFFH,;,011000000000000000111111111111111,,即,6000H7FFFH,。,6.2.3,数据存储器扩展,数据存储器扩展与程序存储器扩展基本相同,只是数据存储器控制信号一般有输出允许信号,OE,和写控制信号,WE,,分别与单片机的片外数据存储器的读控制信号,RD,和写控制信号,WR,相连,其它信号线的连接与程序存储器完全相同。,下图是两片数据存储器芯片,6264,与,8051,单片机的连接。,6264,是,8K,8,的静态数据存储器芯片,有,13,根地址线,数据线,8,根,一根输出允许信号,OE,和一根写控制信号,WE,,两根片选信号,CE1,和,CE2,,使用时都应为低电平。,P2.6,P2.5,P2.4P2.0,ALE,8051,RD,EA,G,P2.7,74LS,373,OE,A0A7,A8A12,CE1,D0D7,OE,2764(1),A0A7,A8A12,CE1,2764(2),D0D7,OE,P0,5,8,8,8,5,8,8,5,WR,WE,WE,8,8,CE2,CE2,P2.7,为低电平,0,,两片,6264,芯片的地址空间为:,第一片:,010000000000000000101111111111111,,即,4000H5FFFH,;,第二片:,001000000000000000011111111111111,,即,2000H3FFFH,;,P2.7,为高电平,1,,两片,6264,芯片的地址空间为:,第一片:,110000000000000001101111111111111,,即,C000HDFFFH,;,第二片:,101000000000000001011111111111111,,即,A000HBFFFH,;,6.3,输入,/,输出口扩展,6.3.1,简单,I/O,口扩展,通常通过数据缓冲器、锁存器来扩展简单,I/O,接口。例如:,74LS373,、,74LS244,、,74LS273,、,74LS245,等芯片都可以作简单,I/O,扩展。实际上,只要具有输入三态、输出锁存的电路,就可以用作,I/O,口扩展。,下图是利用,74LS373,和,74LS244,扩展的简单,I/O,口,其中,74LS373,扩展并行输出口,,74LS244,扩展并行输入口。,74LS373,是一个带输出三态门的,8,位锁存器,,8,个输入端,D0D7,,,8,个输出端,Q0Q7,,,G,为数据锁存控制端,,G,为高电平,则把输入端的数据锁存于内部的锁存器,,OE,为输出允许端,低电平时把锁存器中的内容通过输出端输出。,74LS244,是单向数据缓冲器,带两个控制端,1G,和,2G,,当它们为低电平时,输入端,D0D7,的数据输出到,Q0Q7,。,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0,8051,EA,D0,D1,D2,D3,D4,D5,D6,D7,G,OE,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,74LS,373,P2.0,RD,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,1G,2G,74LS,244,+,+,L1,L2,L3,L4,L5,L6,L7,L0,+5V,D0,D1,D2,D3,D4,D5,D6,D7,K1,K2,K3,K4,K5,K6,K7,K0,图中,扩展的输入口接了,K0K7 8,个开关,扩展的输出口接了,L0L7 8,个发光二极管,如果要实现,K0K7,开关的状态通过,L0L7,发光二极管显示,则相应的汇编程序为:,LOOP,:,MOV DPTR,,,#0FEFFH,MOVX A,,,DPTR,MOVX DPTR,,,A,SJMP LOOP,如果用,C,语言编程,相应程序段为:,#include /,定义绝对地址访问,#define uchar unsigned char,uchar i;,i=XBYTE0 xfeff;,XBYTE0 xfeff=i;,6.3.2,可编程,I/O,扩展,(8255A),一,8255A,的结构与功能,数据总线,缓冲器,读,/,写控制,部件,双向数据总线,D0D7,RD,WR,A1,A0,RESET,CS,B,组控,制部件,A,组控,制部件,A,组,端口,A,A,组,端口,C,B,组,端口,C,B,组,端口,B,A,组,B,组,PA7PA0,PC7PC4,PC3PC0,PB7PB0,8,位内部总线,8255A,内部有,3,个可编程的并行,I/O,端口:,PA,口、,PB,口和,PC,口。其中,C,口又可分为两个独立的,4,位端口:,PC0PC3,和,PC4PC7,。,A,口和,C,口的高四位合在一起称为,A,组,通过图中的,A,组控制部件控制;,B,口和,C,口的低四位合在一起称为,B,组,通过图中的,B,组控制部件控制。,A,口有三种工作方式:无条件输入,/,输出方式、选通输入,/,输出方式和双向选通输入,/,输出方式。,B,口有两种工作方式:无条件输入,/,输出方式和选通输入,/,输出方式。当,A,口和,B,口工作于选通输入,/,输出方式或双向选通输入,/,输出方式时,,C,口当中的一部分线用作,A,口和,B,口输入,/,输出应答信号线。,数据总线缓冲器是一个,8,位双向三态缓冲器,是,8255A,与系统总线之间的接口,,8255A,与,CPU,之间传送的数据信息、命令信息、状态信息都通过数据总线缓冲器实现传送。,读写控制部件接收,CPU,送来的控制信号、地址信号,经译码选中内部的端口寄存器,并指挥从这些寄存器中读出信息或向这些寄存器写入相应的信息。,8255A,有,4,个端口寄存器:,A,寄存器、,B,寄存器、,C,寄存器和控制口寄存器,通过控制信号和地址信号对这,4,个端口寄存器的操作如表所示。,CS,A1,A0,RD,WR,I/O,操作,0,0,0,0,1,读,A,口寄存器内容到数据总线,0,0,1,0,1,读,B,口寄存器内容到数据总线,0,1,0,0,1,读,C,口寄存器内容到数据总线,0,0,0,1,0,数据总线上内容写到,A,口寄存器,0,0,1,1,0,数据总线上内容写到,B,口寄存器,0,1,0,1,0,数据总线上内容写到,C,口寄存器,0,1,1,1,0,数据总线上内容写到控制口寄存器,二,8255A,的引脚信号,8255A,共,40,引脚,采用双列直插式封装,如下图所示,各引脚信号功能如下:,D7D0,:三态双向数据线,与单片机的数据总线相连,用来传送数据信息。,CS,:片选信号线,低电平有效,用于选中,8255A,芯片。,RD,:读信号线,低电平有效,用于控制从,8255A,端口寄存器读出信息。,WR,:写信号线,低电平有效,用于控制向,8255A,端口寄存器写入信息。,PA7PA0,:,A,口的,8,根输入,/,输出信号线,用于与外部设备连接。,PB7PB0,:,B,口的,8,根输入,/,输出信号线,用于与外部设备连接。,PC7PC0,:,C,口的,8,根输入,/,输出信号线,用于与外部设备连接。,RESET,:复位信号线。,VCC,:,+5V,电源线。,GND,:地信号线。,8255A,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,PA3,PA2,PA1,RD,CS,GND,A1,A0,PC7,PC6,PC5,PC4,PC0,PC1,PC2,PC3,PB0,PB1,PB2,PA0,PA4,PA5,PA6,PA7,WR,RESET,D0,D1,D2,D3,D4,D5,D6,D7,Vcc,PB7,PB6,PB5,PB4,PB3,三,8255A,的控制字,8255A,有两个控制字:工作方式控制字和,C,口按位置位,/,复位控制字。,1,工作方式控制字,端口,A,0:,输出,1:,输入,端口,C,高,4,位,0:,输出,1:,输入,端口,B,0:,输出,1:,输入,特征位,1,A,组工作方式位,00:,方式,0,01:,方式,1,1X:,方式,2,B,组工作方式位,0:,方式,0,1:,方式,1,端口,C,低,4,位,0:,输出,1:,输入,D7 D6 D5 D4 D3 D2 D1 D0,D7,位为特征位。,D7=1,表示为工作方式控制字。,D6,、,D5,用于设定,A,组的工作方式。,D4,、,D3,用于设定,A,口和,C,口的高,4,位是输入还是输出。,D2,用于设定,B,组的工作方式。,D1,、,D0,用于设定,B,口和,C,口的低,4,位是输入还是输出。,2,C,口按位置位,/,复位控制字,特征位,0,这三位不用,位选择位,000:C,口,0,位,001:C,口,1,位,111,:,C,口,7,位,0,:复位,1,:置位,D7 D6 D5 D4 D3 D2 D1 D0,D7,位为特征位。,D7=0,表示为,C,口按位置位,/,复位控制字。,D6,、,D5,、,D4,这三位不用,D3,、,D2,、,D1,这三位用于选择,C,口当中的某一位。,D0,用于置位,/,复位设置,,D0=0,则复位,,D0=1,则置位。,四,8255A,的工作方式,1,方式,0,方式,0,是一种基本的输入,/,输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式,0,特点如下:,(,1,)具有两个,8,位端口(,A,、,B,)和两个,4,位端口(,C,口的高,4,位和,C,口的低,4,位)。,(,2,)任何一个端口都可以设定为输入或者输出。,(,3,)每一个端口输出时是锁存的,输入是不锁存的。,方式,0,输入,/,输出时没有专门的应答信号,通常用于无条件传送。例如:下图是,8255A,工作于方式,0,的例子,其中,A,口输入,,B,口输出。,8051,系统总线,8255A,PA0,PA1,PA2,PA3,PA4,PA5,PA6,PA7,PB0,PB1,PB2,PB3,PB4,PB5,PB6,PB7,+5V,+5V,K0,K7,L0,L7,2,方式,1,方式,1,是一种选通输入,/,输出方式。在这种工作方式下,端口,A,和,B,作为数据输入输出口,端口,C,用作输入,/,输出的应答信号。,A,口和,B,口既可以作输入,也可作输出,输入和输出都具有锁存能力。,方式,1,输入:,无论是,A,口输入还是,B,口输入,都用,C,口的三位作应答信号,一位作中断允许控制位。,INTE,&,PC4,PC5,PC3,PC6,、,PC7,PA0PA7,STBA,IBFA,I/O,INTRA,B,口输入,INTE,&,A,口输入,PC2,PC1,PC0,8,8,IBFB,STBB,PB0PB7,INTRB,各应答信号含义如下:,STB,:外设送给,8255A,的“输入选通”信号,低电平有效。,IBF,:,8255A,送给外设的“输入缓冲器满”信号,高电平有效。,INTR,:,8255A,送给,CPU,的“中断请求”信号,高电平有效。,INTE,:,8255A,内部为控制中断而设置的“中断允许”信号。,INTE,由软件通过对,PC4,(,A,口)和,PC2,(,B,口)的置位,/,复位来允许或禁止。,方式,1,输出:,无论是,A,口输出还是,B,口输出,也都用,C,口的三位作应答信号,一位作中断允许控制位。,INTE,&,PC7,PC6,PC3,PC4,、,PC5,PA0PA7,ACKA,OBFA,I/O,INTRA,B,口输出,INTE,&,A,口输出,PC2,PC1,PC0,8,8,OBFB,ACKB,PB0PB7,INTRB,2,应答信号含义如下:,OBF,:,8255A,送给外设的“输出缓冲器满”信号,低电平有效。,ACK,:外设送给,8255A,的“应答”信号,低电平有效。,INTR,:,8255A,送给,CPU,的“中断请求”信号,高电平有效。,INTE,:,8255A,内部为控制中断而设置的“中断允许”信号,含义与输入相同,只是对应,C,口的位数与输入不同,它是通过对,PC4,(,A,口)和,PC2,(,B,口)的置位,/,复位来允许或禁止。,3,方式,2,方式,2,是一种双向选通输入,/,输出方式。只适合于端口,A,。这种方式能实现外设与,8255A,的,A,口双向数据传送,并且输入和输出都是锁存的。它使用,C,口的,5,位作应答信号,两位作中断允许控制位。,&,INTE1,INTE2,&,1,PC5,PC4,PC6,PC7,PC3,PA0PA7,ACKA,OBFA,INTRA,STBA,IBFA,五,8255A,与,MCS-51,单片机的接口,1,硬件接口,8255A,与,MCS-51,单片机的连接包含数据线、地址线、控制线的连接,.,Vcc,WR,RD,P2.0,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0,8051,ALE,EA,GND,D7,D6,D5,D4,D3,D2,D2,D1,DO G,Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0,WR,RD,CS,A1,A0,D7,D6,D5,D4,D3,D2,D1,GND,Vcc,+5V,+5V,PA7-PA0,PB7-PB0,PC7-PC0,OE,D0,图中,,8255A,的数据线与,8051,单片机的数据总线相连,读、写信号线对应相连,地址线,A0,、,A1,与单片机的地址总线的,A0,和,A1,相连,片选信号,CS,与,8051,的,P2.0,相连。则,8255A,的,A,口、,B,口、,C,口和控制口的地址分别是:,FEFCH,,,FEFDH,,,FEFEH,,,FEFFH,。,2,软件编程,如果设定,8255A,的,A,口为方式,0,输入,,B,口为方式,0,输出,则初始化程序为:,汇编程序段:,MOV A,,,#90H,MOV DPTR,,,#0FEFFH,MOVX DPTR,,,A,C,语言程序段:,#include ,#include /,定义绝对地址访问,XBYTE0 xfeff=0 x90;,
展开阅读全文

开通  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 

客服