第7章MCS-51单片机常用接口.ppt
《第7章MCS-51单片机常用接口.ppt》由会员分享,可在线阅读,更多相关《第7章MCS-51单片机常用接口.ppt(62页珍藏版)》请在三一文库上搜索。
1、7.1 MCS-51单片机的最小系统,所谓最小系统,是指一个真正可用的单片机最小配置系统。对于单片机内部资源已能满足系统需要的,可直接采用最小系统。MCS-51单片机根据片内有无程序存储器最小系统分两种情况。,7.1.1 8051/8751的最小系统,8051/8751片内有4K的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可构成最小系统。如图所示。,第7章 MCS-51单片机常用接口,该最小系统的特点如下: (1)由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O口使用。 (2)片内数据存储器有128字节,地址空间00H7FH,没有片外数据存储器。 (3)
2、内部有4KB程序存储器,地址空间0000H0FFFH,没有片外程序存储器,EA应接高电平。 (4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,7.1.1 8031最小应用系统,8031片内无程序存储器片,因此,在构成最小应用系统不仅要外接晶体振荡器和复位电路,还应外扩展程序存储器。,该最小系统特点如下: (1)由于P0、P2在扩展程序存储器时作为地址线和数据线,不能作为I/O线,因此,只有P1、P3作为用户I/O口使用。 (2)片内数据存储器同样有128字节,地址空间00H7FH,没有片外数据存储器。 (3)内部有无程序存储器,但片外扩展了程序存储器,其地址空间
3、随芯片容量不同而不一样。图6.2中使用的是2764芯片,容量为8K字节,地址空间为0000H1FFFH。由于片内没有程序存储器,只能使用片外程序存储器,EA只能接低电平。 (4)同样可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。,7.2 存储器扩展,7.2.1 存储器扩展概述,一、MCS-51单片机的存储器扩展能力,可扩展片外程序存储器64KB,地址为0000HFFFFH。 可扩展片外数据存储器64KB,地址为0000HFFFFH。,二、存储器扩展的一般方法,不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。另外,电源线接电源线,地线接地线。,控
4、制线: 程序存储器:ROM芯片输出允许控制线 OE与单片机的PSEN信号线相连 。 数据存储器:RAM芯片输出允许控制线OE和写控制线 WE分别与单片机的读信号线RD和写信号线WR相连。,程序存储器用ROM芯片扩展,数据存储器用RAM芯片扩展,2、数据线:存储器芯片的数据线与单片机的数据总线(P0.0P0.7)按由低位到高位的顺序顺次相接。,3、地址线: 存储器芯片的地址线的数目由芯片的容量决定。容量(Q)与地址线数目(N)满足关系式:Q=2N。一般来说,存储器芯片的地址线数目总是少于单片机地址总线的数目,连接时存储器芯片的地址线与单片机的地址总线(A0A15)按由低位到高位的顺序顺次相接。连
5、接后,单片机的高位地址线总有剩余。剩余地址线一般作为译码线,译码输出与存储器芯片的片选信号线CS相接。片选信号线与单片机系统的译码输出相接后,就决定了存储器芯片的地址范围。,译码有两种方法:部分译码法和全译码法。,部分译码:所谓部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。,如下图,存储器芯片容量为2K,地址线为11根,与地址总线的低11位A0A10相连,用于选中芯片内的单元。地址总线的A11、A12、A13、A14根地址线参加译码的选中芯片,设这四根地址总线的状态为0100时选
6、中该芯片。地址总线A15不参加译码,当地址总线A15为0、1两种状态都可以选中该存储器芯片。,当A15=0时,芯片占用的地址是00010000000000000001011111111111,即1000H17FFH。 当A15=1时,芯片占用的地址是10010000000000001001011111111111,即9000H97FFH。,部分译码法的一个特例是线译码。所谓线译码就是直接用一根剩余的高位地址线与一块存储器芯片的片选信号CS相连。,全译码:所谓全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。这种译码方法存储器芯片的地址空间是唯一确定的,但
7、译码电路相对复杂。,3扩展存储器所需芯片数目的确定,若所选存储器芯片字长与单片机字长一致,则只需扩展容量。所需芯片数目按下式确定:,若所选存储器芯片字长与单片机字长不一致,则不仅需扩展容量,还需字扩展。所需芯片数目按下式确定:,7.2.2 程序存储器扩展,一单片程序存储器的扩展,2764,二多片程序存储器的扩展,其8个重叠的地址范围为如下: 00000000000000000001111111111111,即0000H1FFFH; 00100000000000000011111111111111,即2000H3FFFH; 01000000000000000101111111111111,即40
8、00H5FFFH; 01100000000000000111111111111111,即6000H7FFFH; 10000000000000001001111111111111,即8000H9FFFH; 10100000000000001011111111111111,即A000HBFFFH; 11000000000000001101111111111111,即C000HDFFFH; 11100000000000001111111111111111,即E000HFFFFH。,其两片的地址空间分别为: 第一片: 000000000000000000001111111111111,即0000H1F
9、FFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH; 第二片: 100000000000000001001111111111111,即8000H9FFFH; 101000000000000001011111111111111,即A000HBFFFH; 110000000000000001101111111111111,即C000HDFFFH; 11100000
10、0000000001111111111111111,即E000HFFFFH。,由于采用全译码,每片2764的地址空间都是唯一的。它们分别是: 000000000000000000001111111111111,即0000H1FFFH; 001000000000000000011111111111111,即2000H3FFFH; 010000000000000000101111111111111,即4000H5FFFH; 011000000000000000111111111111111,即6000H7FFFH。,P2.7为低电平0,两片6264芯片的地址空间为: 第一片:01000000000
11、0000000101111111111111,即4000H5FFFH; 第二片:001000000000000000011111111111111,即2000H3FFFH; P2.7为高电平1,两片6264芯片的地址空间为: 第一片:110000000000000001101111111111111,即C000HDFFFH; 第二片:101000000000000001011111111111111,即A000HBFFFH;,7.2.3 数据存储器扩展,7.3 输入/输出口扩展,7.3.1 简单I/O口扩展,通常通过数据缓冲器、锁存器来扩展简单I/O接口。例如:74LS373 74LS244、
12、74LS273、74LS245等芯片都可以作简单I/O扩展。,图中,扩展的输入口接了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=XBYTE0xfeff; XBYTE0xfeff= i; ,7.3.2 可编程I/O扩展(8255A),一8255
13、A的结构与功能,二8255A的引脚信号,8255A共40引脚,采用双列直插式封装,如下图所示,各引脚信号功能如下:,D7D0:三态双向数据线,与单片机的数据总线相连,用来传送数据信息。,CS:片选信号线,低电平有效,用于选中8255A芯片。,RD:读信号线,低电平有效,用于控制从8255A端口寄存器读出信息。,WR:写信号线,低电平有效,用于控制向8255A端口寄存器写入信息。,PA7PA0:A口的8根输入/输出信号线,用于与外部设备连接。 PB7PB0:B口的8根输入/输出信号线,用于与外部设备连接。 PC7PC0:C口的8根输入/输出信号线,用于与外部设备连接。 RESET:复位信号线。
14、VCC:+5V电源线。 GND:地信号线。,三8255A的控制字,8255A有两个控制字:工作方式控制字和C口按位置位/复位控制字。,1工作方式控制字,D7位为特征位。D7=1表示为工作方式控制字。 D6、D5用于设定A组的工作方式。 D4、D3用于设定A口和C口的高4位是输入还是输出。 D2用于设定B组的工作方式。 D1、D0用于设定B口和C口的低4位是输入还是输出。,2C口按位置位/复位控制字,D7位为特征位。D7=0表示为C口按位置位/复位控制字。 D6、D5、D4这三位不用 D3、D2、D1这三位用于选择C口当中的某一位。 D0用于置位/复位设置,D0=0则复位,D0=1则置位。,四8
15、255A的工作方式,1方式0,方式0是一种基本的输入/输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,没有固定的应答信号。方式0特点如下: (1)具有两个8位端口(A、B)和两个4位端口(C口的高4位和C口的低4位)。 (2)任何一个端口都可以设定为输入或者输出。 (3)每一个端口输出时是锁存的,输入是不锁存的。,方式0输入/输出时没有专门的应答信号,通常用于无条件传送。例如:下图是8255A工作于方式0的例子,其中A口输入,B口输出。,2方式1,方式1是一种选通输入/输出方式。在这种工作方式下,端口A和B作为数据输入输出口,端口C用作输入/输出的应答信号。A口和B口既可以作输入
16、,也可作输出,输入和输出都具有锁存能力。,方式1输入:,无论是A口输入还是B口输入,都用C口的三位作应答信号,一位作中断允许控制位。,各应答信号含义如下:,STB:外设送给8255A的“输入选通”信号,低电平有效。,IBF:8255A送给外设的“输入缓冲器满”信号,高电平有效。,INTR:8255A送给CPU的“中断请求”信号,高电平有效。,INTE:8255A内部为控制中断而设置的“中断允许”信号。INTE由软件通过对PC4(A口)和PC2(B口)的置位/复位来允许或禁止。,方式1输出:,无论是A口输出还是B口输出,也都用C口的三位作应答信号,一位作中断允许控制位。,应答信号含义如下:,OB
17、F:8255A送给外设的“输出缓冲器满”信号,低电平有效。,ACK:外设送给8255A的“应答”信号,低电平有效。,INTR:8255A送给CPU的“中断请求”信号,高电平有效。,INTE:8255A内部为控制中断而设置的“中断允许”信号,含义与输入相同,只是对应C口的位数与输入不同,它是通过对PC4(A口)和PC2(B口)的置位/复位来允许或禁止。,3方式2,方式2是一种双向选通输入/输出方式。只适合于端口A。这种方式能实现外设与8255A的A口双向数据传送,并且输入和输出都是锁存的。它使用C口的5位作应答信号,两位作中断允许控制位。,五8255A与MCS-51单片机的接口,1硬件接口,82
18、55A与MCS-51单片机的连接包含数据线、地址线、控制线的连接.,图中,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 /定义绝对地址访问 XBYTE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51 单片机 常用 接口
链接地址:https://www.31doc.com/p-2551781.html