资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机原理及应用,主目录,上一页,下一页,结 束,教学目标,5.,1 MCS-51最小应用系统,5.,2 MCS-51单片机的外部扩展性能,5.,3 程序存储器的扩展,5.4,数据存储器的扩展,5.5 I/O口的扩展,本章小结,思考题与习题,第5章 MCS-51单片机系统扩展,教学目标,通过本章教学,要求达到以下目标:,1.熟悉并行扩展3个组成部分,理解低8位地址总,线为什么必须由74LS373锁存器输出;P0口是,如何完成地址低8位和数据分时传送的。,2.了解并行扩展ROM、RAM的容量,理解扩展,I/O口与片外RAM统一编址。,3.理解并行扩展寻址方式线选法和译码法的优缺,点,掌握线选法的应用。,4.理解并行扩展片外RAM、E,2,ROM典型连接线,路的原理和规律。,5.了解串行扩展的特点、扩展方式分类。,6,.了解可编程并行输入/输出接口芯片8255A的,主要功能。,5.1 MCS-51最小应用系统,单片机,复位,电路,时钟,电路,三总线,外设,接口,图5.1 MCS-51最小应用系统组成,VCC,EA,RST,XTAL1,XTAL2,+5V,P0,口,P2,口,P3,口,P1,口,MCS-51,5.2 MCS-51单片机的外部扩展性能,图5.2 MCS-51外部扩展性能,MCS-51,(VCC/GND),扩展使用的三总线,地址总线:,P0低8位,P2高8位,数据总线:,P0,控制总线,:RD、WR、ALE、PSEN,(,读、写、地址锁存允许、外部ROM读选通,),5.3 程序存储器的扩展,5.3.1 外部程序存储器的扩展原理,MCS-51,图5.3 MCS-51存储器扩展原理,地址,锁存器,一、MCS-51单片机的存储器扩展能力,MCS-51单片机地址总线宽度为16位,片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。因为程序存储器和数据存储器是通过不同的控制信号和指令进行访问,允许两者的,地址空间重叠,,所以片外可扩展的程序存储器与数据存储器分别都为64KB。,1、扩充存储器字长:,2、扩充存储器容量:,存储器扩展:,译码有两种方法:,部分译码法和全译码法,。,部分译码:,所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有,重叠,,造成系统存储器空间的,浪费,。,存储器编址分两个层次:,1、存储芯片的选择(译码);,2、芯片内部存储单元的选择(地址线)。,部分译码法的一个特例是线译码。所谓线译码就是直接用一根剩余的高位地址线与一块存储器芯片的片选信号/CS相连。,全译码:,所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是,唯一,确定的,但译码电路相对,复杂,。,5.3.2 28C16程序存储器概述,引脚功能:,1.A10A0:地址线,共11根,,2K8位。,2.D0 D7:8位数据线。,3.CE:片选信号线。,4.WE、写信号线,低电平有效。,5.OE:读信号线,低电平有效。,6.VCC、GND:+5V电源、地线。,A7 Vcc,A6 A8,A5 A9,A4 WE,A3 OE,A2 A10,A1 CE,A0 D7,D0 D6,D1 D5,D2 D4,GND D3,图5.4 28C16,5.3.3 单片28C16的扩展,MCS-51,74HC373,P0,GE,P2.2,P2.1,P2.0,PSEN,28C16,A7A0,D7D0,A10,A9,A8,OE,Vcc,WE,GND,GND,OE,Vcc/GND,EA,图5.5 单片28C16扩展电路图,ALE,CE,5.3.4 多片28C16的扩展方法,MCS-51单片机扩展多片28C16时的地址、数据总线与扩展单片类似,所不同的主要是片选信号线的接法不同。通常有线选法和译码法两种。,1.线选法,每片28C16的片选信号线CE分别由单片机的一根地址线控制。线选法是最简单也最常用的一种方法。,其特点是:扩展28C16数量较少,地址范围不连续且可能重叠,但电路简单成本低。,MCS-51,74LS373,28C16(1),A0A7 A8A10,WE D0D7 OE CE,28C16(2),A0A7 A8A10,WE D0D7 OE CE,28C16(3),A0A7 A8A10,WE D0D7 OE CE,&,74LS08,WR,RD,PSEN,P0,P2.2P2.0,EA,GND,OE,GND,ALE,G,图5.6 线选法多片28C16程序存储器扩展连接图,P2.7,P2.6,P2.5,芯片,A15 A14 A13 A12 A11 A10 A0,地址范围,28C16(1),1 1 0 0 0,1 1 0 1 1,C000HC7FFH,28C16(2),1 0 1 0 0,1 0 1 1 1,A000HA7FFH,28C16(3),0 1 1 0 0,0 1 1 1 1,6000H67FFH,表5.1 芯片地址范围的确定,其中“”表示任意,可为0或1,一般作为0处理。,2.译码法,单片机的地址线经译码后分别连接至每片28C16的片选信号线。,其特点是:连接芯片数量较多,地址连续,全译码法且地址无重叠,但电路复杂成本高。,MCS-51,74LS373,28C16(1),A0A7 A8A10,WE D0D7 OE CE,28C16(2),A0A7 A8A10,WE D0D7 OE CE,28C16(3),A0A7 A8A10,WE D0D7 OE CE,&,74LS08,WR,RD,PSEN,P0,P2.2,P2.0,EA,GND,OE,GND,ALE,G,图5.7 译码法多片28C16程序存储器扩展连接图,P2.5,P2.4,P2.3,C Y0,B Y1,A Y2,G,2A,G1,G,2B,GND,Vcc,芯片,A15 A14 A13 A12 A11 A10A0,地址范围,28C16(1),0 1 0 0 0,0 1 0 1 1,1000H17FFH,28C16(2),0 0 1 0 0,0 0 1 1 1,0800H0FFFH,28C16(3),0 0 0 0 0,0 0 0 1 1,0000H07FFH,表5.2 芯片地址范围的确定,其中“”表示任意,可为0或1,一般作为0处理。,2764-8K EPROM,2764引脚功能,A0,A12,地址线,CE,选片,OE,读,D0,D7,数据线,V,PP,A12,A7,A6,A5,A4,A3,A2,A1,A0,D0,D1,D2,GND,Vcc,PGM,A8,A9,A11,OE,A10,CE,D7,D6,D5,D4,D3,2764,用2764扩展程序存储器,编程脉冲输入,PGM,编程电源,Vpp,单片机,8031,:,.,A8,.,.,.,ALE,PSEN,74LS,373,G,2764,A7,.,.,A0,O0,.,.,O7,:,OE,CE,Q0,.,.,Q7,D0,.,.,D7,A12,一、单片2764扩展,8031,选中单元,(,2732,A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0),0 0 0 0 0 0 0 0 0 0 0 0 0(0000H)0,0 0 0 0 0 0 0 0 0 0 0 0 1(0001H)1,0 0 0 0 0 0 0 0 0 0 0 1 0(0002H)2,0 0 0 0 0 0 0 0 0 0 0 1 1(0003H)3,0 0 0 0 0 0 0 0 0 0 1 0 0(0004H)4,.,.,.,1 1 1 1 1 1 1 1 1 1 1 1 1(1FFFH)8K-1,可见,当单片机输出地址0000H,1FFFH时,选中2764的0,8K-1号单元,即按照上面电路扩展的4K存储器的地址范围是0000H,1FFFH(共8K字节)。,P2.6,P2.5,P2.4P2.0,ALE,8031,PSEN,EA,G,P2.7,74LS,373,OE,A0A7,A8A12,CE,D0D7,OE,2764(1),A0A7,A8A12,CE,2764(2),D0D7,OE,P0,5,8,8,8,8,5,8,8,5,二多片程序存储器的扩展,0 0 1 1 1,这种译码方法存储器芯片的地址空间是唯一确定的,但译码电路相对复杂。,(2)8255A芯片一块。,1 并行传送外部数据存储器的扩展方法,Intel 6116(2KB)、,A0A7 A8A10,A15 A14 A13 A12 A11 A10A0,(1)熟悉并行扩展3个组成部分,理解低8位地址总线为什么必须由74LS373锁存器输出;,译码有两种方法:部分译码法和全译码法。,不传送数据时外设必须对总线呈高阻。,5.,程序存储器的读信号线由单片机的PSEN引脚控制,而数据存储器的读写信号线分别由单片机的RD、WR控制。,2732(4KB)、,部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,0 1 1 1 1,第一片:,0,00,00000000000000,0,00,0,01,00000000000000,0,01,0,10,00000000000000,0,10,0,11,00000000000000,0,11,第二片:,1,00,00000000000000,1,00,1,01,00000000000000,1,01,1,10,00000000000000,1,10,1,11,00000000000000,1,11,2764(1):,2764(2):,5.4 数据存储器的扩展,5.4.1 并行传送外部数据存储器的扩展方法,并行数据存储器的扩展方法与程序存储器扩展方法类似,主要在于控制线连接的不同。程序存储器的读信号线由单片机的PSEN引脚控制,而数据存储器的读写信号线分别由单片机的RD、WR控制。,如果系统只扩展一片数据存储器,该存储器的片选信号线CE可以直接接地;如果扩展多片,则亦有线选法与译码法两种连接方法。线选法、译码法与程序存储器的扩展相同,所不同的只是在读写控制信号线的连接上。,8031(8051)扩展单片2KB RAM Intel 6116,扩展单片6116数据存储器,下图是两片数据存储器芯片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,6264(1),A0A7,A8A12,CE1,6264(2),D0D7,OE,P0,5,8,8,8,5,8,8,5,WR,WE,WE,8,CE2,CE2,P2.7为低电平0,两片6264芯片的地址空间为:,第一片:,0,10,00000000000000,0,10,第二片:,0,01,00000000000000,0,01,P2.7为高电平1,两片6264芯片的地址空间为:,第一片:,1,10,00000000000000,1,10,第二片:,1,01,00000000000000,1,01,5.5 I/O口的扩展,:,5.5.1 I/O接口概述,MCS-51,图5.20 单片机与外设的连接框图,2.I/O接口的功能:,(2)三态缓冲,不传送数据时外设必须对总线呈高阻。,(1)数据锁存,解决单片机与I/O设备的速度协调问题。,(3)信号转换,类型(数字与模拟、电流与电压)、电平(高与低、正与负)、格式(并行与串行)等的转换。,(4)时序协调,(1)无条件传送,简单的I/O设备(如开关、LED显示器、,继电器等)的操作,或者I/O设备的定时固定,或已知的场合。,3.单片机与I/O设备的数据传送方式,(2)条件传送:查询方式,(3)中断传送方式:效率高,(4)DMA方式:高速外设以及成组交换数据,的场合。,5.5.2 简单I/O口的扩展,输入三态,输出锁存,ALE,89C51,RD,P0,WR,P2.7,7,4,L,S,2,7,3,1,CP,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,CLR,D0,D1,D2,D3,D4,D5,D6,D7,1,7,4,L,S,2,4,4,1G,1A1,1A2,1A3,1A4,2A1,2A2,2A3,2A4,2G,1Y1,1Y2,1Y3,1Y4,2Y1,2Y2,2Y3,2Y4,+5V,简单I/O口的扩展连接示意图,例5.2 电路图如图5.22所示,MCS-51单片机通过P0口扩展了一个并行输入口和一个并行输出口。输入口接8个按键开关,输出口接8个发光二极管LED。编写程序利用按键控制相应LED发亮。,ALE,89C51,RD,P0,WR,P2.0,7,4,L,S,2,7,3,1,CP,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,CLR,D0,D1,D2,D3,D4,D5,D6,D7,1,7,4,L,S,2,4,4,1G,1A1,1A2,1A3,1A4,2A1,2A2,2A3,2A4,2G,1Y1,1Y2,1Y3,1Y4,2Y1,2Y2,2Y3,2Y4,+5V,GND,图5.22 简单I/O口扩展图,LOOP:MOV DPTR,#0FEFFH,MOVX A,DPTR,MOVX DPTR,A,AJMP LOOP,MCS-51扩展I/O口与片外RAM统一编址,对扩展I/O口的读写操作通过片外数据传送指令MOVX进行。,P2.0为0,其他地址当1处理,则输入、输出口地址均为,FEFFH。,5.6 实训指导,1实训目的,(1)学会使用MCS-51扩展口。,(2)了解8255A芯片的各种功能,掌握其,各种工作方式的编程和使用方法。,2实训设备和器材,(1)MCS-51开发实验设备一台。,(2)8255A芯片一块。,(3)发光二极管8个。,3.实训内容,MCS-51扩展一片8255A,用B口作为输入,口,连接八个开关,A口作为输出口,去点亮发,光二极管。编程实现用B口开关的状态(闭合、,断开)去控制发光二极管的亮、灭。,4.硬件连接,连接图如图5.28所示。由硬件连接图可知:,8255A的A、B、C口及控制口地址分别为:,0FF7CH,0FFDH,0FF7EH、0FF7FH 。,因8255工作于方式0,PA输出,PB输入,,故控制字为:82H。,图5.28 MCS-51扩展8255A接线图,5.实训步骤,(1)连接并启动实验仪与PC机,按实训要求进行,连线;,(2)运行DVCC实验软件,编写源程序;,(3)运行程序,按动A口开关,观查对应的发光二,极管亮灭情况。,MOV A,#82H,MOV DPTR,#0FF7FH,MOVX DPTR,A,LOOP:MOV DPTR,#0FF7DH,MOVX A,DPTR,MOV DPTR,#0FF7CH,MOVX DPTR,A,SJMP LOOP,END,6.参考源程序:,本章小结,1、并行扩展总线基本概念,(1)熟悉并行扩展3个组成部分,理解低8位地址总线为什么必须由74LS373锁存器输出;P0口如何完成低8位地址和数据分时传送。,(2)了解并行扩展ROM、RAM的容量,理解扩展I/O口与片外RAM统一编址。,(3)理解并行扩展寻址方式线选法和译码法的优缺点,掌握线选法的应用(线路连接和确定扩展芯片地址范围)。,2、理解并行扩展E,2,PROM典型连接线路的原理和规律,了解为什么并行扩展ROM已很少见的原因。,3、理解并行扩展片外RAM典型连接线路。理解并行扩展ROM、RAM虽然地址空间重叠,但不会“撞车”的道理。,4、串行扩展基本概念:了解串行扩展的特点,了解串行扩展方式分类,熟悉I,2,C总线串行扩展电路连接方式。,5、了解可编程并行输入/输出接口芯片8255A的主要功能。,5.1 什么是MCS-51单片机的最小应用系统?,5.2 在MCS-51扩展系统中,程序存储器与数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会冲突?,5.3 利用一片74LS138,用全译码方式,设计一个外部扩展8片6116的扩展电路,写出各个芯片的地址空间。,思考题与习题,5.4 用串行传送方式,在MCS-51上扩展2片AT24C01A,画出硬件连接图,编程向每片传送100个数据。,5.5 8255芯片有哪几个主要部分?各部分的功能如何?,5.6 设计一个由8255A口输出发光二极管,B口输入键盘数据的系统,按任意一个键,相应的发光二极管点亮,画出原理图并编写出相关程序。,
展开阅读全文