版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章单片机系统扩展7.1系统扩展概述
7.1.1最小系统维持单片机运行的最基本的配置系统,构成单片机最小应用系统。对于8051、8751片内有RAM、EPROM的系统来讲,单片机与晶振电路及开关、电阻、电容等构成的复位电路组成单片机最小应用系统7.1.2MCS-51单片机扩展基本知识系统扩展结构如下图:MCS51单片机总线扩展结构7.1.3外部总线扩展1.地址总线传送存储单元或外设的地址P0口低8位地址总线(一般需要加一级锁存器)P2口高8位地址总线2.数据总线P0提供数据线,传送数据、指令和信息P0口分时复用的双向数据总线和低8位地址总线3.控制总线用来传送各种控制信息/:片外数据存储器RAM和外设接口的读写控制;指令MOVX/PSEN:片外程序存储器的读控制;指令MOVCALE:地址锁存控制;下降沿锁存P0口的低8位地址EA:片内/片外程序存储器选择信号,EA=0时,只访问外部程序存储器7.1.4地址锁存器1.地址锁存器带三态缓冲输出:74LS373、8282带清除端8D:74LS27391174LS373功能表8282的功能表和74LS373相似,表中的G端和8282的STB端对应输入输出OEGDQLHHHLHLLLL×Q不变H××高阻态74LS273功能表74LS273只有清除端为高电平才具锁存功能锁存器控制较CLK,上升沿锁存数据。单片机ALE引脚需接反相器输入输出CLRCLKDQL××LH↑HHH↑LLHL×Q不变7.2存储器的扩展7.2.1程序存储器芯片概述典型的EPROM芯片有Intel公司的:2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。在这些芯片上均设有玻璃窗口,在紫外线下照射20分钟左右,存储器的各位信息均变为1,通过相应的编程器将工作程序固化到这些芯片中,便可成为MCS-51的外部程序存储器。1.并行2716EPROM的特点2716的存储容量为16384(2K×8)位,24线的双列直插式器件,单一+5V供电,运行时最大功耗为252mW,维持功耗为132mW,读出时间最大为450ns。2.引脚说明O0~O7数据线:传送存储单元内容。根数与单元数据位数相同。A0~A10地址线:选择芯片内部一个存储单元。根数由存储器容量决定。CE片选线:选择存储器芯片。CE无效,其他信号线不起作用。OE:数据读选通线,Vcc:+5V主电源Vpp:编程电源GND:接地端3.2716的工作方式P2.2P2.0P0.78031P0.0ALEPSEN………7.2.2单片程序存储器扩展...D7Q7
373D0Q0
G控制线11根地址线8根数据线1.单片2716存储器扩展电路A10A8A7A0
2716O7O0OECEGND…………总线连接(1)地址总线的连接P0.0~P0.7和P2.0~P2.2连接地址总线A0~A10
低8位地址信号AB0~AB7,高3位地址信号AB8~AB10(2)数据总线的连接P0.0~P0.7连接数据总线D0~D7(3)片选端及控制总线的连接PSEN连接OE:片外程序存储器读控制信号ALE连接地锁存器G:地址锁存允许控制信号EA接地:选择片外程序存储器7.2.3多片程序存储器扩展最大扩展容量64K外扩多片存储器进行的选择:片选:选存储器芯片,片选信号区别不同芯片的地址空间。字选:选中该芯片中的相应存储器单元片选方法:1.线选法
微型机剩余高位地址总线直接连接各存储器片选线。各芯片间地址不连续有相当数量的地址不能使用,否则造成片选混乱2.地址译码法微型机剩余高位地址总线通过地址译码器输出片选信号。
多片存储器芯片组成大容量存储器连接常用片选方法1.线选法 各存储器芯片的地址空间:ABi:1514131211109876543210~1514131211109876543210
Ⅰ:1100000000000000~1100
011111111111=C000H~C7FFHⅡ:1010
000000000000~1010
011111111111=A000H~A7FFHⅢ:0110
000000000000~0110
011111111111=6000H~67FFHA0~A7A8~A10D0~D7CEOE2716(1)A0~A7A8~A10D0~D7CEOE2716(2)A0~A7A8~A10D0~D7CEOE2716(3)O0~O7GD0~D7OE74LS373P0.0~P0.7PSENP2.7P2.6P2.5ALEP2.2~P2.080512.地址译码法3-8地址译码器:74LS138地址译码法原理译码法选址就是利用地址译码器对系统的片外高位地址进行译码,以其译码输出作为存储器芯片的片选信号,将地址划分为连续的地址空间块,避免了地址的间断。(1)完全译码:地址译码器使用了全部地址线,地址与存储单元一一对应。
(2)部分译码:地址译码器仅使用了部分地址,地址与存储单元不是一一对应。部分译码也会浪费大量的存储单元,对于要求存储器容量较大的微机系统,一般不采用。但对于单片机系统来说,由于实际需要的存储器容量不大,采用部分译码器可以简化译码电路。
A0~A7A8~A10D0~D7CEOE2716(3)A0~A7A8~A10D0~D7CEOE2716(2)A0~A7A8~A10D0~D7CEOE2716(1)O0~O7GD0~D7OE74LS373P0.0~P0.7PSENP2.5P2.4P2.3ALEP2.2~P2.08051各存储器芯片的地址空间:Abi:151413121110987654
3210~15141312
111098
76543210
Ⅰ:0000000000000000~0000
011111111111=0000H~07FFHⅡ:0000
100000000000~0000
111111111111=0800H~0FFFHⅢ:0001
000000000000~0001
011111111111=1000H~17FFH
CY0BY1AY2G2AG2BG1+5V1387.2.4数据存储器的扩展MCS-51系列单片机的内部一般都仅有128字节或256字节的RAM数据存储器。数据存储器和程序存储器使用相同的64KB地址空间,但两者却是相互独立的的存储空间,具有各自独立的控制信号线和读写操作指令。同时,外部的数据存储器和其它I/O接口芯片的扩展统一编址。7.2.5数据存储器芯片典型的SRAM芯片有Intel公司的:6116(2K×8)、6264(8K×8)、62128(16K×8)等存储器的外部信号线:I/O0~I/O7:8位数据线A0~A12:
13位地址线:
CE1片选线1:低电平有效CE2片选线2:高电平有效OE:读选通信号输入线WE:写允许信号输入线CE1CE2WEOE方式D0~D71×××未选中高阻抗×0××未选中高阻抗0111输出禁止高阻抗0101写Din0110读Dout6264的工作方式7.2.6数据存储器扩展1.单片6264数据存储器扩展2.多片6264数据存储器扩展ABi:15141312111098
76543210~1514131211109876543210
Ⅰ:0100000000000000~0101111111111111=4000H~5FFFHⅡ:0010000000000000~0011111111111111=2000H~3FFFHⅢ:0000000000000000~0001111111111111=0000H~1FFFH1113.外部数据存储器的数据传送CPU和外部RAM的页内传送:
MOVP2,#addrHMOVRi,#addrLMOVXA,@RiMOVX@Ri,ACPU和外部RAM的传送MOVDPTR,#addr16MOVXA,@DPTRMOVDPTR,#addr16MOVA,#dataMOVX@DPTR,A7.2.7存储器的综合扩展地址总线和数据总线公用片外ROM用到PSEN,片外RAM用到RD与WE
7.3I/O接口扩展概述I/O(输入/输出)接口是MCS-51与外设交换数字信 息的桥梁。I/O扩展也属于系统扩展的一部分。MCS-51真正用作I/O口线的只有P1口的8位I/O线和 P3口的某些位线。在多数应用系统中,MCS-51单片机都需要外扩I/O 接口电路。7.3.1I/O接口的功能I/O接口电路应满足以下要求:1.实现和不同外设的速度匹配大多数的外设的速度很慢,无法和µs量级的单片机速 度相比。单片机只有在确认外设已为数据传送做好准备的前提 下才能进行I/O操作。想知道外设是否准备好,需I/O接口电路与外设之间 传送状态信息。
2.输出数据锁存由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据输出锁存器,以保证接收设备接收。3.输入数据三态缓冲输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。
7.3.2I/O端口的编址首先清楚I/O接口(Interface)和I/O端口(Port)的概念。I/O端口:简称I/O口,指具有端口地址的寄存器或缓冲器。I/O接口:是指单片机与外设间的I/O接口芯片。一个I/O接口芯片可以有多个I/O端口,分为:(1)数据口(2)命令口(3)状态口I/O端口编址是给所有I/O接口中的寄存器编址。I/O端口编址两种方式:独立编址与统一编址。1.独立编址方式I/O寄存器地址空间和存储器地址空间分开编址,但需专门读写I/O的指令和控制信号。2.统一编址方式I/O寄存器与数据存储器单元同等对待,统一编址。不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。MCS-51使用统一编址的方式每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。
7.3.3I/O数据的几种传送方式为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。I/O数据传送的几种传送方式是:(1)同步传送(2)异步传送(3)中断传送。1.同步传送方式(无条件传送)当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。2.查询传送方式(条件传送,异步式传送)查询外设“准备好”后,再进行数据传送。优点:通用性好,硬件连线和查询程序十分简单,缺点:效率不高。为提高效率,通常采用中断传送方式。3.中断传送方式外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。.如何实现I/O接口的扩展。Intel公司的配套可编程I/O接口芯片的种类齐全,为扩展I/O接口提供了很大的方便。常用的外围I/O接口芯片有:
(1)8255A:可编程的通用并行接口电路(3个8位 I/O口)。(2)8155H:可编程的IO/RAM扩展接口电路(2个8 位I/O口,1个6位I/O口,256个RAM字节单元, 1个14位的减法定时器/计数器)。可与MCS-51单片机直接连接,接口逻辑十分简单。此外,74LS系列的TTL电路也可以作为MCS-51的扩展I/O口,如74LS244、74LS273等。最后介绍利用串行口来扩展并行I/O口。7.3.2MCS-51与可编程并行I/O芯片8255A的接口8255A芯片介绍8255A是Intel公司生产的可编程并行I/O接口芯片,具有3个8位的并行I/O口,3种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强。1.引脚说明40只引脚,双列直插式封装,引脚功能如下:
D7~D0:三态双向数据线,与单片机数据总线连接CS*:片选信号线,低电平有效,表示本芯片被选中RD*:读出信号线,控制8255A中数据的读出。WR*:写入信号线,控制向8255A数据的写入。Vcc:+5V电源。PA7~PA0:A口输入/输出线。PB7~PB0:B口输入/输出线。PC7~PC0:C口输入/输出线。A1、A0:地址线,用来选择8255A内部的4个端口。2.内部结构(1)端口A、B、C功能和结构上有些差异PA口:输出锁存和缓冲;输入锁存PB口:输出锁存和缓冲;输入缓冲PC口:输出锁存;数据输入缓冲PC口可在软件的控制下,分为两个4位端口,作为PA口、PB口选通方式操作时的状态控制信号。(2)A组和B组控制电路A组:PA口和PC口的上半部(PC7~PC4);B组:PB口和PC口的下半部(PC3~PC0)可根据“命令字”对PC口按位“置1”或“清0”。(3)数据总线缓冲器线线三态双向,作为8255A与单片机数据线之间接口,传送数据、指令、控制命令及外部状态信息。(4)读/写控制逻辑电路线该电路接收CPU发来的控制信号、RESET、地址信号A1、A0等。对端口进行读写。各端口的工作状态与控制信号的关系如表9-1所示。表8255A端口工作状态选择A1A0RD*WR*CS*工作状态00010读端口A:A口数据→数据总线读端口B:B口数据→数据总线读端口C:C口数据→数据总线010101001000100写端口A:总线数据→A口写端口B:总线数据→B口写端口C:总线数据→C口写控制字:总线数据→控制字寄存器011001010011100××××1数据总线为三态11010非法状态××110数据总线为三态工作方式选择控制字及C口置位/复位控制字8255A有三种工作方式:
(1)方式0:基本输入输出;(2)方式1:选通输入输出;(3)方式2:双向传送(仅A口有)。1.工作方式选择控制字三种工作方式由方式控制字来决定。控制字格式如下。C口上半部分(PC7~PC4)随A口称为A组,C口下半部分(PC3~PC0)随B口称为B组。其中A口可工作于方式0、1、和2,而B口只能工作在方式0和1。例如:写入工作方式控制字95H可将8255A编程为:A口方式0输入,B口方式1输出,C口的上半部分(PC7~PC4)输出,C口的下半部分(PC3~PC0)输入。2.C口按位置位/复位控制字可对C口8位中的任一位置“1”或清“0”。用于位控。例如:控制字07H写入控制口,置“1”PC3;08H写入控制口,清“0”PC4。8255A的三种工作方式1.方式0基本的输入/输出方式。外设的I/O数据可在8255A的各端口得到锁存和缓冲MCS-51可对8255A进行数据的无条件传送例如:从口线读入一组开关状态,向端口输出数字量,控制一组指示灯的亮、灭。不需要联络信号,基本功能为:(1)具有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)。(2)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成16种组合。(3)数据输出锁存,输入不锁存。例假设8255A的控制字寄存器地址为FF7FH,则令A口和C口的高4位工作在方式0输出,B口和C口的低4位工作于方式0输入,初始化程序:MOVDPTR,#0FF7FH;控制字寄存器地址送DPTRMOVA,#83H;方式控制字83H送AMOVX@DPTR,A;83H送控制字寄存器2.方式1选通输入/输出工作方式。A口和B口通常用于I/O数据传送,C口用作A口和B口的联络线,以中断方式传送数据。
(1)方式1输入控制联络信号如图9-5所示,STB*与IBF构成了一对应答联络信号,联络信号的功能如下图:STB*:选通输入,是由输入外设送来的输入信号。IBF:输入缓冲器满,高电平有效。表示数据已送入8255A的输入锁存器,它由STB*信号的下降沿置位,由信号的上升沿使其复位INTR:中断请求信号,高电平有效。由8255A输出,向单片机发中断请求。INTEA:A口中断允许,由PC4控制,INTEB:B口中断允许,由PC2控制。A口的方式1输入工作方式见图9-6。(2)方式1输出如图9-7所示。OBF*与ACK*构成了一对应答联络信号,各信号的功能如下:OBF*:输出缓冲器满信号,8255A给外设的联络信号,外设可以将数据取走。ACK*:外设的响应信号,外设已将数据取走。INTR*:中断请求信号。表示该数据已被外设取走,请求单片机继续输出下一个数据。INTEA:中断允许,由PC6控制。INTEB:中断允许,由PC2控制。B口的方式1输出如图9-8所示:3.方式2只有A口才能设定为方式2。图9-9为方式2工作示意图。在方式2下,PA7~PA0为双向I/O总线。当输入时,PA7~PA0受STBA*和IBFA控制,其工作过程和方式1输入时相同;当输出时,PA7~PA0受OBFA*、ACKA*控制,其工作过程和方式1输出时相同。MCS-51单片机和8255A的接口1.硬件接口电路如图是8031扩展1片8255A的电路图。74LS373是地址锁存器,P0.1、P0.0经74LS373与8255A的地址线A1、A0连接;P0.7经74LS373与片选端相连,其他地址线悬空。2.端口地址确定图中8255A各端口寄存器的地址为:A口:FF7CHB口:FF7DHC口:FF7EH控制寄存器:FF7FH3.软件编程例要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,程序如下:
MOV A,#90H;A口方式0输入,B口、C口输出的控制字送A MOV DPTR,#0FF7FH;控制寄存器地址→DPTR MOVX@DPTR,A ;方式控制字→控制寄存器MOV DPTR,#0FF7CH;A口地址→DPTRMOVXA,@DPTR ;从A口读数据MOVDPTR,#0FF7DH;B口地址→DPTRMOV A,#DATA1 ;要输出的数据DATA1→AMOVX@DPTR,A;将DATA1送B口输出MOVDPTR,#0FF7EH;C口地址→DPTRMOVA,#DATA2 ;DATA2→AMOVX@DPTR,A ;将数据DATA2送C口输出例对端口C的置位/复位。把PC5置位,控制字为0BHMOVR1,#7FH;控制口地址→R1 MOV A,#0BH;控制字→AMOVX@R1,A;控制字→控制口,PC5=1把PC5复位,控制字为0AHMOVR1,#7FH;控制口地址→R1 MOVA,#0AH;控制字→AMOVX@R1,A;控制字→控制口,PC5=08155H芯片介绍1.8155H的逻辑结构7.3.3MCS-51单片机与8155H的接口2.8155H的引脚功能(1)AD7~AD0(8条)(2)I/O总线(22条)(3)控制总线(8条)
RESET:复位输入线
CE*和IO/M*RD*和WR*ALE:地址锁存允许TIMERIN和TIMEROUT*:(4)电源线(2条)Vcc:+5V电源Vss:地CE*IO/M*A7A6A5A4A3A2A1A0所选的端口01×××××000命令/状态寄存器01×××××001A口01×××××010B口01×××××011C口01×××××100计数器低8位01×××××101计数器高6位00××××××××RAM单元3.CPU对8155HI/O端口的控制(1)8155H各端口地址分配(2)8155H的命令字(3)8155H的状态字8155H的工作方式1.存储器方式对片内RAM单元进行读写,若IO/M*=0和CE*=0,则通过AD7~AD0上的地址对RAM存储器任一单元读写。2.I/O方式8155H的I/O方式分为基本I/O和选通I/O两种工作方式,如表9-3所示。可对片内任一寄存器读写,端口地址由A2、A1、A0三位决定(见表9-2)。C口通用I/O方式选通I/O方式ALT1ALT2ALT3ALT4PC0输入输出AINTR(A口中断)AINTR(A口中断)PC1输入输出ABF(A口缓冲器满)ABF(A口缓冲器满)PC2输入输出ASTB*(A口选通)ASTB*
(A口选通)PC3输入输出输出BINTR(B口中断)PC4输入输出输出BBF(B口缓冲器满)PC5输入输出输出BSTB*(B口选通)表C口在两种I/O工作方式下各位定义
(1)基本I/O方式(2)选通I/O方式
(见右图)a.选通I/O输入b.选通I/O输出3.内部定时器/计数器及使用14位的减1定时器/计数器,计数长度和计数方式
由写入计数寄存器的控制字来确定。计数器的两个寄存器的格式如图9-16。T13~T0:计数器长度M2、M1:设置定时器的4种工作方式4种工作方式及相应输出波形如图9-17。MCS-51与8155H接口及软件编程1.MCS-51与8155H的硬件接口电路2.8155H的编程举例(1)初始化程序设计例
若A口定义为基本输入方式,B口定义为基本输出方式,对输入脉冲进行24分频,初始化程序如下:START:MOVDPTR,#7F04H;指针指向定时器低8位 MOVA,#18H ;计数初值24送A,
MOVX@DPTR,A
;计数初值低8位装入定时器INCDPTR;指针指向定时器高8位MOVA,#40H;设定时器连续方波输出MOVX@DPTR,A
;计数初值高6位装入定时器MOVDPTR,#7F00H;指向命令/状态口MOVA,#0C2H ;设定命令控制字MOVX@DPTR,A
;A口输入,B口输出,开定时器7.9用74LSTTL电路扩展并行I/O口利用74LS273和74LS244,将P0口扩展成简单的输入、输出口的电路。74LS273输出端接8个LED发光二极管,以显示8个按钮开关状态,某位低电平时二极管发光。74LS244是缓冲驱动器,扩展输入口,接8个按钮开关。74LS273和74LS244的工作受8031的P2.0、RD*、WR*三条控制线控制。电路的工作原理如下:当P2.0=0,WR*=0(RD*=1)选中写74LS273,8031通过P0口输出数据到74LS273,;当P2.0=0,RD*=0(WR*=1)时选中读74LS244,某开关按下时则对应位输入为“0”。输出程序段:
MOVA,#data ;数据→A MOVDPTR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度物流服务合同的物流服务及货物配送
- 2024年度二手摩托车仓储合同协议
- 《鼠标产品检测》课件
- 2024年度工地门窗安装工程合同中的工程进度款支付条款
- 2024年度第一版计算机软件开发与许可合同
- 《交车流程操作要点》课件
- 2024年度股权投资合同:某投资公司与某创业企业间的股权投资协议2篇
- 2024年度版权质押合同的版权信息与质押条件3篇
- 2024年度网络设备租赁合同(服务器)
- 2024年度艺人演出设备租赁合同
- 智力活动、商业方法申报专利技巧漫谈
- 甘肃托儿所幼儿园卫生保健管理实施细则
- 关于自然数平方和公式的十种证明方法
- 冀教四年级数学《垂线的认识》及教学反思
- 注册证书协议书
- 县教育局道路交通安全情况汇报
- haf603民用核安全设备焊工焊接操作工资格
- 企业年金方案如何设计
- 临床路径总结、分析模板.doc
- 北师大版初中数学七年级上册《探索与表达规律》说课稿
- 应对动物福利壁垒的对策和建议
评论
0/150
提交评论