《第五章 单片机系统扩展.ppt》由会员分享,可在线阅读,更多相关《第五章 单片机系统扩展.ppt(99页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章 单片机系统扩展在简单的应用场合,MCS51的最小系统就能满足功能上要求;对于复杂的应用场合,需较大存储器容量和较多I/O接口的情况下,MCS51系列单片机能提供很强的扩展功能,可以直接外接标准的存储器电路和I/O接口电路,以构成功能强、规模大的系统。系统的扩展与配置一般说来有如下两项主要任务:第一项是扩大单片机的容量。由于芯片结构、引脚等关系,单片机内ROM、RAM等功能部件的数量不可能很多,在使用中有时会感到不够。因此需要在片外进行扩展,以满足实际系统的需要。另一项是把系统所需的外设与单片机连起来,使单片机系统能与外界进行信息交换。例如通过键、A/D转换器、磁带机、开关等外部设备向单
2、片机送入数据、命令等有关信息,去控制单片机运行,通过显示器、发光二极管、打印机、继电器、音响设备等把单片机处理的结果送出去,向人们提供信息或对外界设备提供控制信号,这项任务实际上就是单片机接口设计。第五章 单片机系统扩展5.1 单片机的最小系统5.2 单片机系统的扩展结构5.3 程序存储器的扩展与应用5.4 数据存储器的扩展与应用5.5 MCS-51访问外部存储器的时序5.6 I/O的扩展与应用第五章 单片机系统扩展单片机的最小系统是由组成单片机系统必需的一些元件构成的。对于片内有ROMEPROM单片机,其最小应用系统内包括不可能集成在芯片内的器件,如晶体振荡电路、复位开关和电源部分等。对于片
3、内没有ROMEPROM单片机,比如8031,其最小应用系统除了包括上面几个不可能集成在芯片内的器件外,还应该外接EPROMEEPROM作为程序存储器来使用,以便存放程序。图5-1单片机最小系统连接图5.1 单片机的最小系统单片机的最小系统第五章 单片机系统扩展最小系统有不能满足应用系统的功能要求的时候。比如,有的时候即使有内部程序存储器,但由于程序很长,程序存储器容量可能不够;对一些数据采集系统,内部数据存储器容量也可能不够,等等,这就需要根据情况扩展EPROM、RAM、I/O口及其它所需芯片。下面我们就根据图51,结合单片机引脚图,找出需要的引脚位置,进行线路连接。1、电源:40引脚Vcc接
4、十5V电源,20引脚Vss接地。2、振荡电路:晶振、电容,按图51接在单片机芯片的18、19脚。3、复位引脚:按图51中画法连好。4、EA引脚:EA引脚接到十5V。连接好这个最小系统后,就可在这个最小系统的基础上进行功能扩展。第五章 单片机系统扩展 扩展系统是以单片机为核心进行的;扩展内容包括ROM、RAM和 I/O接口电路等;扩展是通过系统总线进行的,通过总线把各扩展部件连接起来,并进行数据、地址和信号的传送,要实现扩展首先要构造系统总线。图52 单片机扩展系统结构图5.2 单片机系统的扩展结构单片机系统的扩展结构第五章 单片机系统扩展1 1、系统总线、系统总线 总线:总线:连接计算机各部件
5、的一组公共信号线。MCS51使用的是并行总线结构,即地址总线、数据总线和控制总线。(1 1)地址总线)地址总线ABAB地址总线用于存储单元和I/O端口的选择。地址总线的数目决定着可直接访问的存储单元的数目。(2 2)数据总线)数据总线DBDB单片机系统数据总线的位数与单片机处理数据的字长一致。(3 3)控制总线)控制总线CBCB控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其它部件传送给单片机的。图53单片机的扩展三总线图第五章 单片机系统扩展2 2、三总线的扩展方法、三总线的扩展方法(1)(1)以以P0P0口的口的8 8位口线作地址数据线位口线作地址数据线 P0口线既可作地址线使
6、用又可作为数据线使用,具有双重功能,因此需采用复用技术,对地址和数据进行分离,为此在构造地址总线时要增加一个8位锁存器。首先由锁存器暂存,并为系统提供低8位地址,其后P0口线就作为数据线使用。通常使用的锁存器有74LS273或74LS373。图54 74LS373引脚图和功能表第五章 单片机系统扩展(2)(2)以以P2P2口的口线作高位地址线口的口线作高位地址线 如果使用P2口的全部8位口线,再加上P0口提供的低8位地址,则形成了完整的16位地址总线。使单片机系统的扩展寻址范围达到64 K单元。3 3、控制信号、控制信号 除了地址线和数据线之外,在扩展系统中还需要单片机提供一些控制信号线,以构
7、成扩展系统的控制总线。其中包括:(1)使用ALE作地址锁存的选通信号,以实现低8位地址的锁存;(2)以PSEN信号作扩展程序存储器的读选通信号;(3)以EA信号作为内外程序存储器的选择信号;(4)以RD和WR作为扩展数据存储器和I/O端口的读写选通信号。第五章 单片机系统扩展MCS51系列单片机的80518751片内有4KB的ROM或EPROM,而8031片内无ROM,在应用中,若片内ROM容量不够或选用8031时,需要扩展外部程序存储器。1 1、扩展存储器应注意的几个问题、扩展存储器应注意的几个问题 无论是扩展外部程序存储器还是外部数据存储器,都要注意以下几方面的问题:(1 1)地址锁存器的
8、使用)地址锁存器的使用访问扩展的外部存储器,必须要用P0口输出地址的低8位,而P0口又承担输出、输入数据的任务,因此要在P0口前面加一个地址锁存器。5.3 程序存储器的扩展与应用程序存储器的扩展与应用第五章 单片机系统扩展扩展应注意ALE信号与地址锁存器的选通信号的配合。应选择高电平触发或下降沿触发的地址锁存器,如74LS373。否则,如采用上升沿触发的74LS273或74LS377,要加一个反相器。图55 锁存器的引脚图第五章 单片机系统扩展(2 2)存储器容量的选择)存储器容量的选择要根据系统设计的要求选择存储器芯片的型号和数量。首先必须满足程序容量;其次在价格合理的情况下尽量选用容量较大
9、的芯片,尽量不要用几个小容量的芯片拼凑成大容量的芯片。(3 3)地址范围的确定)地址范围的确定 决定存储器芯片地址范围的因素有两个:一个是存储器芯片的地址线和单片机的地址总线的连接方式;另一个是存储器芯片的片选信号CE(Chip Enable)或CS(Chip Select)的产生方法。连接地址线时,将存储器芯片的地址线和单片机的地址总线中的若干条低位地址线对应相连。其余的地址线(通常是P2口的高位地址)可用来产生外部存储器芯片的片选信号CE或CS。第五章 单片机系统扩展(4 4)存储芯片的速度与单片机时钟的匹配)存储芯片的速度与单片机时钟的匹配 因为受时序的控制,单片机要在一个机器周期内完成
10、两次取指令操作,因此所选用的EPROM必须有足够高的速度才能与单片机连接。但降低单片机的时钟频率,可降低对EPROM工作速度的要求。而对RAM芯片,由于它的速度很快,一船都能满足单片机的工作速度要求。第五章 单片机系统扩展单片机的存储器扩展一般有两种设计方法:线选法和译码法。所谓线选法就是将存储器的片选线CE接P2口的某位地址线来确定扩展芯片的地址。而译码法需要用地址译码器来选择地址,这样可以充分利用地址资源。可作为扩展的典型产品有2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等。这些芯片是用紫外线电擦除的可编程的只读存储器EPROM
11、。5.3.1 EPROM程序存储器的扩展设计程序存储器的扩展设计第五章 单片机系统扩展例例5 51 1 扩展2KB4KB程序存储器。2716(2KB)2732(4KB)的引脚如表5-1所示。表表51 2716(2KB)2732(4KB)的引脚的引脚第五章 单片机系统扩展27162732与单片机的连接如图51所示。2716是2K 8位的EPROM芯片,有11根地址线A0A10它们分别与803l单片机的P0口(P0.0P0.7)和P2口的P2.0P2.2连接。2716的VPP脚接+5V,OE与PSEN连接,CE接地。当PSEN=0,选通信号为低电压时,选通读出2716的指令码;PSEN1时,则27
12、26数据线输出为高阻态。2716的地址范围为0000H07FFH。2732是4K 8位的EPROM。引脚排列与2716基本致,其A0A10分别接8031的P0.0P0.7和P2.0P2.3。0E与PSEN相连,CE接地。2732的地址范围为0000H0FFFH。在扩展中,有一个问题要注意:P2除被使用的口线外,多余的引脚不宜用作通用IO线,否则会给软件设计和使用带来麻烦。多片存储器扩展设计时,可用P2口的高位地址线连接各片存储器的片选线CE,而后求出它们的不同的地址范围。第五章 单片机系统扩展图55 扩展2KB/4KB程存储器第五章 单片机系统扩展 常用的地址译码器有2-4译码器74LSl39
13、和3-8译码器74LS138等。2-4译码器就是2个输入,4种组合结果输出,3-8译码器就是3个输入,8种组合结果输出。图5-6是3-8译码器741LS138的引脚图。表5-2为74LSl38逻辑功能。图56 74LS138的引脚图表表52 74LS138逻辑逻辑功能功能第五章 单片机系统扩展E2PROM(即EEPROM)是一种电可擦除、可编程的只读存储器,其特点是能在线擦除和改写存储单元内容,具有在断电情况下能保持存储单元内容的性能。E2PROM还像静态RAM一样,可以在线进行读写操作。1 1、2864A2864A系列系列E E2PROM PROM 图8-4所示为8031外扩一片8KB E2
14、PROM 2864A组成的三片系 统。在读工作方式时,2864A的引脚及功能与2764A相同。2864A的片选端CE与高位地址线P2.7连接,P2.7=0时,才能选中2864A。所以,2864A的地址范围为0000H1FFFH。这8KB存储 器既可用作程序存储器,也可以用作数据存储器(掉电时,数据不易丢)。5.3.2 E2PROM程序存储器的扩展设计程序存储器的扩展设计第五章 单片机系统扩展 图57 扩展2864A电路图第五章 单片机系统扩展SOURCE DATA 40H ;源数据区首地址OBJECT DATA 0000H ;E2PROM首地址LENNGTH DATA 10H ;一页数据长度M
15、OV R0,#SOURCE ;取源地址MOV Rl,#LENNGTH ;取数据块长度MOV DPTR,#OBJECT ;取目的地址LOOP:MOV A,R0 ;取源数据MOVX DPTR,A ;写入E2PROM中MOV R2,DPL ;暂存目的地址指针MOV R3,DPH ;INC R0 ;源地址指针指向下一个单元例:结合硬件电路,编写一个写入一页(16个字节)数据到E2PROM2864A的子程序。设被写入的数据取自803l内部RAM40H开始的源数据区。写入程序如下:第五章 单片机系统扩展 INC DPTR ;目的地址指针指向下一单元 DJNZ R1,LOOP ;字节数未满,转移 DEC R
16、0 ;源地址指针指向最后页尾 MOV DPL,R2 ;目的地址指针指向最后一个字节 MOV DPH,R3 CHECK:MOVX A,DPTR ;读出E2PBOM最后写入的字节 XRL A,R0 ;与原数据比较 JB ACC.7,CHECK ;最高位不同,继续查询 RET ;最高位相同,一页写完第五章 单片机系统扩展2 2、93C4693C46系列系列E2PROM E2PROM(1 1)主要性能)主要性能Microwire总线是NS公司推出的四线同步串行总线,它由一根数据输出线SO、一根数据输入线SI、一根时钟线SK和一根片选线组成。93C46是1024位CMOS非易性E2PROM,采用416b
17、it组织结构,可选择8位或16位结构,采用Microwire四线制接口,单电源供电,硬件和软件写保护,典型写入周期10ms。第五章 单片机系统扩展(2 2)封装和引脚说明)封装和引脚说明CS:片选线(高电平有效)SK:串行时钟信号端DI:串行数据输入端DO:串行数据输出端图5-8 93C46封装VCC、GND:电源图5-8 93C46封装(3)93C46的操作和时序的操作和时序93C46共有7条控制命令,可以选择为8位或16位结构。控制命令由1位高电平“1”的起始位开始,接着是2位操作码,然后是6位(或7位)的地址段,最后是16位的数据段(或8位数据段)。具体命令见表5-3。第五章 单片机系统
18、扩展时钟信号SK的上升沿时,数据由DI引脚输入。DO引脚除了从器件读取数据、进行写操作、查询准备/繁忙(ready/busy)的器件工作状态外,平常是高阻态。93C46读周期时序如图5-9所示,93C46写周期时序如图5-10所示。图5-993C46读周期时序第五章 单片机系统扩展 图5-10 93C46写周期时序第五章 单片机系统扩展(4 4)读写子程序)读写子程序CSEQUP1.0DIEQUP1.1DOEQUP1.2SKEQUP1.3;子程序名:EWEN功能:写允许使能;入口参数:无出口参数:无EWEN:MOVA,#10011000B;写允许CLRCSCLRSKSETBCS;片选中MOVR
19、7,#9L1:RLCAMOVDI,C;位送出CLRSKNOPSETBSKDJNZR7,L1CLRCSRET;子程序名:EWDS功能:禁止写第五章 单片机系统扩展;入口参数:无出口参数:无EWDS:MOVA,#80H;禁止93C46写:CLRCSCLRSKSETBCSMOVR7,#9RLCAMOVDI,CCLRSKNOPSETBSKDJNZR7,L1CLRCSRET;子程序名:READ功能:从指定单元读取数据;入口参数:A:单元地址A5-A0;出口参数:A:所读取到的数据READ:ANLA,#00111111B;A:单元地址ORLA,#10000000BCLRCSCLRSK第五章 单片机系统扩展
20、SETBCSSETBDI;开始位SETBSK;输出MOVR7,8L3:RLCAMOVC,DICLRSKSETBSKDJNZR7,L3MOVR7,#8;准备读数据位SETBDOL4:CLRSKSETBSKMOVC,DORLCADJNZR7,L4CLRCS;A:所读数据RET;子程序名:WRITE 功能:将数据写到指定单元;入口参数:A:单元地址B:数据;出口参数:无第五章 单片机系统扩展WRITE;ANLA,#00111111BORLA,#01000000BCLRCSCLRSKSETBCSSETBDISETBSKMOVR7,#8L5:RLCA;送出地址MOVDI,CCLRSKSETBSKDJNZ
21、R7,L5MOVR7,#8MOVA,B;送出数据L6:CLRSKSETBSKRLCAMOVDI,CDJNZR7,L6CLRCSRET第五章 单片机系统扩展MCS51芯片虽内部具有128个字节RAM存储器,它们可以作为工作寄存器、堆栈、软件标志和数据缓冲器。CPU对其内部RAM有丰富的操作指令,因此这个RAM是十分珍贵的资源,我们应合理地充分地使用片内RAM存储器,发挥它的作用。在诸如数据采集处理的应用系统中,仅仅片内的RAM存储器往往是不够的,在这种情况下,可利用MCS51的扩展功能,外接 RAM电路,作为外部数据存储器以扩大存储器的容量。5.4 数据存储器的扩展与应用数据存储器的扩展与应用第
22、五章 单片机系统扩展1 1、外部数据存储器的选配原则、外部数据存储器的选配原则在选择数据存储器芯片时,除了考虑容量和使存储器的读取时间与主机的时钟匹配之外,还必须考虑到存储器的写入时间要求。2 2、数据存储器的常用扩展芯片、数据存储器的常用扩展芯片外部数据存储器可选用RAM、EEPROM或flash-ROM。RAM分为动态RAM和静态RAM两类。由于静态RAM不需考虑刷新问题,接口简单,所以在单片机系统中常用静态RAM。5.4.1 数据存储器的扩展方法数据存储器的扩展方法第五章 单片机系统扩展3 3、扩展连接方法、扩展连接方法 MCS-51MCS-51与外部数据存储器与外部数据存储器的一般连接
23、方法的一般连接方法MCS51的低8位地址必须经锁存器接到外部数据存储器。MCS51的/RD(P3.7)引脚接外部数据存储器的读选通信号/OE,/WR(P3.6)引脚接外部数据存储器的写允许信号/WE。图5-11外部数据存储器 的连接方法第五章 单片机系统扩展 采用设有写入结束标志采用设有写入结束标志(如2817A)的EEPROM扩展时,可采用中断和查询两种工作方式。中断工作方式中断工作方式 外部数据存储器的连接方法采用中断工作方式的2817A的扩展连接方式。2817A的RDY/BUSY线经反相器接单片机的INT1或INT0。在2817A写入结束时,以中断的方式通知CPU,以匹配写入时间。图51
24、2 中断工作方式 的EEPROM的连接第五章 单片机系统扩展 查询工作方式查询工作方式采用查询工作方式的2817A的扩展连接方式见图5-13。2817A的RDY/BUSY线接单片机的一根I/O口线。在程序中查询存储器是否写入结束,以匹配写入时间。图513 查询工作方式的 EEPROM的连接第五章 单片机系统扩展外部数据存储器的扩展容量超过64KB时,可采用页面选择技术进行扩展。例:例:采用一片29C020来扩展256KB的数据存储器。可将这256KB的空间划分成8个页面,每个页面为32KB。外设一个锁存器作为页面存储器。访问时,先输出页面号,然后按页内地址访问。如图:在P2.7输出“1”时,写
25、页面地址;在P2.7输出“0”时,访问存储器。图514 容量超过64KB的外部数据存储器的扩展 外部数据存储器的扩展容量超过外部数据存储器的扩展容量超过64KB的扩展方法的扩展方法第五章 单片机系统扩展 将外部程序存储器和数据存储器空间合并的扩展方式将外部程序存储器和数据存储器空间合并的扩展方式为了节约成本,我们可以选用一片EEPROM或flashROM既作为外部程序存储器,也作为外部数据存储器使用。这时外部程序存储器和数据存储器的空间是合并的。在读存储器时,既可用MOVX指令,也可用MOVC指令。在写存储器时,只可以用MOVX指令。第五章 单片机系统扩展其引脚如图516所示。6116芯片为2
26、4引脚双列直播封装。其中:A0A10:地址线 WE:写选通信号D7D0:数据线 Vcc:电源(十5 V)CS:片选信号 GND:地OE:数据输出允许信号6116共有4种工作方式,如表5-4所示。5.4.2 静态静态RAM6116数据存储器的扩展数据存储器的扩展第五章 单片机系统扩展 图516 静态RAM6116引脚图 第五章 单片机系统扩展 例例5 52 2 用6116芯片为MCS-5l单片机扩展2KB的外部数据存储器。将6116的低8位地址线A0A7通过地址锁存器741LS373与MCS-5l的P0.0P0.7相连,高3位地址线A8A10直接和P2.0P2.2相连;将6116的数据线D0D7
27、作为数据总线;将6116芯片的输出允许端/OE接MCS-51的P3.7(RD),写允许端/WE接P3.6(/WR);由于只扩展一片,不需要经过译码产生片选信号。6116的地址范围是0000H-07FFH。图517用6116扩展2KB的数据存储器第五章 单片机系统扩展例例53 53 使用两片6116 SRAM芯片扩展4K外部数据存储器。连线说明:地址线的连接 8031的P0口经地址锁存器74LS373同时为两片6116提供低8位地址,分别接两片6116的A0A7;P2.0、P2.1、P2.2给两片6116提供高3位地址,分别接两片6116的A8、A9、A10;P2.3与6116(1)的连接,P2
28、.4与6116(2)的连接,分别作为两片6116的片选信号线。为保证两片6116芯片的地址不重叠和必须有一芯片被选中,要求P2.3与P2.4不能同时为0,即必须一个为0,另一个为1。这样,两片6116的地址范围分别为:6116(1):1000H17FFH;6116(2):0800H0FFFH。数据线的连接 8031的P0口直接与6116的数据线D0D7相连。控制线的连接 8031的与6116的相连,与6116的相连。第五章 单片机系统扩展图图518 二片二片RAM扩展连接图扩展连接图第五章 单片机系统扩展8051专门有两类可以访问片外存储器的指令,一类是读片外ROM指令,另一类是读/写片外RA
29、M指令。这两类指令执行时序除涉及ALE引脚外,还和PSEN、P0、P2、/RD和/WR等信号有关。1 1、读片外、读片外ROMROM指令时序指令时序 8051执行如下指令时 MOVC A,A+DPTR;A(ADPTR)首先把累加器A中地址偏移量和DPTR中地址相加,然后把16位“和地址”作为片ROM地址,并从中读出该单元中的数据,送累加器A。累加器A在指令执行前为地址偏移量,指令执行后为片外ROM中的输出数据。指令执行中的时序如图519所示。5.5 MCS-51访问外部存储器的时序访问外部存储器的时序第五章 单片机系统扩展图519 读片外 ROM指令时序第五章 单片机系统扩展指令的详细执行过程
30、如下:(1)ALE信号在S1P2有效时,PSEN为高电平状态;(2)8051在S2P1时把PC中高8位地址送到P2口上,并一直保持到S4P2,故它不需要外接地址锁存器。8051在S2P1时PC中低8位地址送到P0口,P0口地址在ALE的下降沿被所存到片外地址锁存器中。形成16位地址信号。(3)PSEN在S3和S4P1有效时,选中片外ROM,读出MOVC指令的指令码,经P0口送到CPU指令寄存器IR。(4)CPU对指令寄存器IR中的指令译码,产生该指令所需的一系列控制信号。第五章 单片机系统扩展(5)在S4P2时,CPU先把累加器A中地址偏移量和DPTR中地址相加,然后把“和地址”的高8位送到P
31、2口、低8位送到P0口,其中P0口地址由ALE的第二个下降沿锁存到片外地址锁存器。(6)在S6和下个机器周期的S1P1时第二次有效,并在S6P2时从片外ROM中读出由P2口和片外地址锁存器地址所对应单元中的常数,该常数经P0口送到CPU累加器A。注意:注意:上述指令执行过程中,MOVC指令执行时分两个阶段。第一阶段是根据程序计数器PC到片外ROM中取指令码,第二个阶段是对累加器A和DPTR中16位地址进行运算,并把运算得到的和作为地址信号送出,在PSEN有效时取出该地址单元中的常数送到累加器A。第五章 单片机系统扩展2 2、读外部、读外部RAMRAM指令时序指令时序 设片外RAM的2000H单
32、元中有一数X,且DPTR中已经存放有该数地址2000H,则CPU执行如下指令便可从片外RAM中取出X送到累加器A中。MOVX A,DPTR;AX 该指令的指令码为E0H,存放在片外ROM中,其地址若已存放在CPU程序计数器PC中。该指令执行的时序如图520所示。第五章 单片机系统扩展图520 读片外 RAM指令时序第五章 单片机系统扩展指令的详细执行过程如下:(1)ALE在第一次和第二次有效期间,用于从片外ROM中读取MOVX指令的指令码E0H。这与读片外ROM指令相似。(2)CPU在S5P1把DPTR中高8位地址20H送到P2口和低8位地址00H送到P0口,且ALE在S5P2的下降沿时所存P
33、0口地址。(3)CPU在第二机器周期的S1S3期间使RD有效,选中片外RAM工作,以读出2000H单元中数X。第五章 单片机系统扩展 (4)CPU把外部RAM中读出的数X经P0口送到CPU的累加器A中,完成该指令的执行。注意注意:上述过程表明,执行MOVX指令分为两个阶段。第一阶段是根据PC中地址读片外ROM中的指令码E0H,第二阶段是根据DPTR中的地址读片外RAM,并把读出的数x送往累加器A中。在读片外RAM时,PSEN被封锁为高电平,RD有效,用作片外RAM的选通信号。对于写片外RAM指令时序与读片外RAM指令时序相似。主要区别是在写片外RAM时/WR有效而不是/RD有效,数据是由CPU
34、送出到RAM,而不是从RAM读入到CPU中。第五章 单片机系统扩展 MCS-51单片机具有4个8位并行I/O口,但这些I/O口并不能完全提供给用户使用,只有在片内含有程序存储器和数据存储器,不使用外部存储器扩展的时候,才允许这4个I/O口都作为用户的I/O口用。而对于大多数需要扩展外部存储器的场合,MCS-51单片机可供给用户使用的只有P1口和部分P3口线。5.6 I/O的扩展与应用的扩展与应用第五章 单片机系统扩展1 1、概述、概述在单片机系统中主要有两类数据传送操作,一类是单片机和存储器之间的数据读写操作;另一类则是单片机和其它设备之间的数据输入输出(I/O)操作。存储器是半导体电路,与单
35、片机具有相同的电路形式和信号形式,能相互兼容直接使用。存储器与单片机之间的连接十分简单,主要包括地址线、数据线、读写选通信号。单片机与控制对象或外部设备之间的数据传送却十分复杂。其复杂性主要表现在以下几个方面:5.6.1 并口的扩展原理并口的扩展原理第五章 单片机系统扩展(1 1)速度差异大)速度差异大慢速设备如开关、继电器、机械传感器等,每秒钟传送不了一个数据;而高速采样设备,每秒钟要传送成千上万个数据位。面对速度差异如此之大的各类设备,单片机无法以一个固定的时序同它们按同步方式协调工作。(2 2)设备种类繁多)设备种类繁多单片机应用系统中的控制对象或外部设备种类繁多,它们既可能是机械式的,
36、又可能是机电式的,还可能是电子式的。由于不同设备之间性能各异、对数据的要求互不相同,因此无法按统一格式进行数据传送。(3 3)数据信号形式多种多样)数据信号形式多种多样单片机应用系统所面对的数据形式也是多种多样的,例如既有电压信号,也有电流信号;既有数字形式,还有模拟形式。第五章 单片机系统扩展2 2、扩展、扩展I/OI/O接口电路的功能接口电路的功能(1 1)速度协调)速度协调由于速度上的差异,使得单片机的I/O数据传送只能以异步方式进行。设备是否准备好,需要通过接口电路产生或传送设备的状态信息,以此实现单片机与设备之间的速度协调。(2 2)输出数据锁存)输出数据锁存在单片机应用系统中,数据
37、输出都是通过系统的公用数据通道(数据总线)进行的,单片机的工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速输出设备的需要。在扩展I/O接口电路中应具有数据锁存器,以保存输出数据直至能为输出设备所接收。第五章 单片机系统扩展(3 3)输入数据三态缓冲)输入数据三态缓冲数据输入时,输入设备向单片机传送的数据要通过数据总线,但数据总线是系统的公用数据通道,上面可能“挂”着多个数据源,工作比较繁忙。为了维护数据总线上数据传送的“次序”,因此只允许当前时刻正在进行数据传送的数据源使用数据总线,其余数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。(4 4)数据
38、转换)数据转换单片机只能输入和输出数字信号,但是有些设备所提供或所需要的并不是数字信号形式。为此,需要使用接口电路进行数据信号的转换,其中包括:模/数转换和数/模转换。第五章 单片机系统扩展3 3、MCS-51MCS-51单片机常用的扩展器件单片机常用的扩展器件MCS-51单片机常用的扩展器件有如下三类:常规逻辑电路、锁存器,如74LS377,74LS245。MCS-80/85并行接口电路,如8255。RAM/IO综合扩展器件,如8155。第五章 单片机系统扩展一、概述一、概述根据扩展并行I/O口时数据线的连接方式,I/O的扩展方法可分为:总线扩展方法、串行口扩展方法和I/O口扩展方法。1 1
39、、总线扩展方法、总线扩展方法 从MCS-51 单片机的P0口提供并行数据线接到扩展芯片上。这种方法要分时占用P0口,但不影响P0口与其它扩展芯片的连接操作,不会增加单片机硬件上的额外开支。因此,得到广泛应用。5.6.2 并口的扩展方法并口的扩展方法第五章 单片机系统扩展2 2、串行口扩展方法、串行口扩展方法这是MCS-51单片机串行口在方式0工作状态下所提供的I/O口扩展功能。串行口方式0为移位寄存器工作方式,外接串入并出的移位寄存器74LS164,可扩展并行输出口;外接并入串出的移位寄存器74LS163,可扩展并行输入口。(详见串行口方式0)3 3、通过单片机片内的、通过单片机片内的I/OI
40、/O口扩展方法口扩展方法通过单片机片内除P0口以外的其它I/O口提供并行数据线。这种方法在MCS-48单片机中使用较多,而在MCS-51机中很少使用。本节着重讨论第一种扩展方法。第五章 单片机系统扩展二、并口的扩展方法二、并口的扩展方法 当所需扩展的外部1/O口数量不多时,可以使用常规的逻辑电路、锁存器进行扩展。这一类的外围芯片一般价格较低而且种类较多,常用的如:74LS377、74LS245、74LS373、74LS244、74LS273、74LS577、74LS573。1 1、74LS37774LS377芯片及扩展举例芯片及扩展举例 下图是74LS377的引脚图和功能表。74LS377是一
41、种8D触发器,它的/E端是控制端、CLK端是时钟端,当它的/E端为低电平时只要在CLK端产生一个正跳变,D1D7将被锁存到QOQ7端输出,在其他情况下Q0Q7端的输出保持不变。第五章 单片机系统扩展图521 74LS377引脚图和功能图第五章 单片机系统扩展如图使用了一片74LS377扩展输出口,如果将未使用到的地址线都置为1则可以得到该片74LS377的地址为7FFFH。如果要从该片74LS377输出数据到单片机中可以执行如下指令:MOV DPTR,7FFFH MOVX DPTR,A 图522 MCS-51单片机扩展74LS377第五章 单片机系统扩展2 2、74LS24574LS245芯片
42、及扩展举例芯片及扩展举例 74LS245是一种三态输出的8总线收发驱动器,无锁存功能。它的G端和DIR端是控制端,当它的G端为低电平时,如果DIR为高电平,则74LS245将A端数据传送至B端;如果DIR为低电平,则74LS245将B端数据传送至A端。在其他情况下不传送数据,并输出高阻态。图52374LS245的引脚图和功能表第五章 单片机系统扩展如图使用了一片74LS245扩展输人口,如果将未使用到的地址线都置为1,则可以得到该片74LS245的地址为7FFFH。如果单片机要从该片74LS245输人数据,可以执行如下指令:图524MCS-51单片机扩展774LS245第五章 单片机系统扩展3
43、 3、74LS24474LS244芯片及扩展举例芯片及扩展举例74LS244芯片的引脚排列:图52574LS244的引脚图第五章 单片机系统扩展图526用74LS244扩展输入口该芯片内部有2个4位的三态缓冲器,一片74LS244可以扩展一个8位输入口。使用时以CE作为数据选通信号。第五章 单片机系统扩展4 4、应用举例、应用举例 (1)使用多片74LS244实现多个输入口扩展 电路连接如图所示,使用或门74LS32的输出作为输入口的选通信号。或门的两个输入端一个是读选通信号RD,另一个则为P2口的一条口线(线选法)。当它们都为低电平时,才能得到一个有效的输入选通,使一片74LS244的8位数
44、据进行输入。第五章 单片机系统扩展 图527 多数入口扩展电路第五章 单片机系统扩展(2)一个拨盘可产生一个BCD码形式的十进制数(4位)例:现有A、B、C、D4个拨盘,要求把它们产生的BCD码数依次输入到通用寄存器R4(B、A)、R5(D、C)中去。每个BCD码需4条输入线,4个BCD码则共需16条输入线,因此用两片74LS244就可构成其输入接口。图528 拨盘输入接口电路第五章 单片机系统扩展P2.7、P2.6分别作为1#口和2#口的地址选通线(线选法)。假定其它地址线为1,则1#输入口地址为7FFFH,2#输入口地址为0BFFFH。数据输入程序:MOVDPTR,7FFFH;1口地址MO
45、VXA,DPTR;从拨盘取数MOVR4,AMOVDPTR,0BFFFH;2口地址MOVXA,DPTR;从拔盘取数MOVR5,A 第五章 单片机系统扩展随着单片机应用技术不断深入,由单片机构成多机系统取得了很大的发展,多个单片机之间以串口进行数据传输,构成复杂的主从式通讯网。常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了,就必须对串口进行扩展。目前扩展串口方法主要有以下几种:5.6.3 串口的扩展方法串口的扩展方法
46、第五章 单片机系统扩展1 1、采用串口扩展芯片、采用串口扩展芯片如ST16C550、ST16C554、SP2538、MAX3110等,虽然成本高,但系统可靠性高,适用于数据量较大、串口需求较多系统。2 2、采用分时切换方法、采用分时切换方法将一个串口扩展与多个串口设备通信,采用分时复用的方法,成本低。但只适用于数据量不大场合,并且只能由这个单片机主动和多个设备通信,实时性差。3 3、用软件模拟方法扩展串口、用软件模拟方法扩展串口其优势也是成本低、实时性,但要占用一些CPU时间。一般软件模拟扩展串口方法,使用1个I/O端口、1个INT外部中断和定时器,该方法扩展串口有2个缺点:(1)由于使用了I
47、NT外部中断,故只能使用2个INT外部中断扩展2个串口。(2)文中发送和接收数据效率比较低,占用了CPU大量时间,不能与其他任务同时进行,所以使用范围有限。第五章 单片机系统扩展一、用一、用SP2538SP2538扩展扩展SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机原有的UART串口又过少的问题而推出的。利用该器件可将现有单片机的单串口扩展至个全双工串口。与其它具有多串口的单片机或串口扩展方案相比,采用SP2538实现的多串口扩展方案,具有扩展串口数量多、对扩展单片机的软硬件资源占用少、使用方法简单、待扩展串口可实现较高的
48、波特率、成本低廉、性价比高等优点。第五章 单片机系统扩展1 1、SP2538SP2538性能性能可将单UART串口扩展为个UART串口;工作速率范围宽;可全双工工作工作电源电压范围宽:3.35.5;典型工作电流为4.6;具有节电模式,进入节电模式后,其典型静态电流约;上位机发送数据可自动唤醒;输出误差小,所有子串口的输出波特率误差均小于0.08;误码率低于109;接收范围宽;可用上位机进行监控,并具有上电复位和看门狗监控输出。第五章 单片机系统扩展、引脚功能、引脚功能SP2538 具有双列直插DIP 及双列贴片SOIC 两种封装形式。后缀为SP2538xxH 的复位时输出高,电平而后缀为SP2
49、538xxL 的复位时输出低电平,可分别适用高、低电平复位的单片机。图529 给出了DIP 封装高电平复位SP2538DPH的外形及引脚排列图,各引脚的功能说明列于表5-4。图529 SP2538DPH引脚排列第五章 单片机系统扩展表表5-4 SP25385-4 SP2538引脚说明引脚说明引脚名称引脚名称 引脚引脚编编号号 引脚引脚类类型型 引引 脚脚 描描 述述 TX5TX0 1、3、5、7、9、14 Output 串口串口5串口串口0数据数据发发送(送(连连接上位机接上位机RX口)口)RX5RX0 2、4、6、8、10、13 Input 串口串口5串口串口0数据接收(数据接收(连连接上位
50、机接上位机TX口)口)VCC1 11-电电源源1(逻辑电逻辑电路路电电源)源)+RST 12 Output 复位控制复位控制输输出(适用于高出(适用于高电电平复位的平复位的MCU)VCC2 15-电电源源2(时钟电时钟电路路电电源)源)GND 16-电电源地源地 OSCI 17 Input 时钟输时钟输入(用于波特率入(用于波特率发发生器等)生器等)OSCO 18 Output 时钟输时钟输出出 ADRI0ADRI2 1921 Input 母串口(母串口(RX5)数据接收地址)数据接收地址02 ADRO0ADRO2 2224 Output 母串口(母串口(RX5)数据)数据发发送地址送地址02