第4章MCS-51单片机系统的扩展技术.ppt

上传人:本田雅阁 文档编号:2528739 上传时间:2019-04-05 格式:PPT 页数:104 大小:1.40MB
返回 下载 相关 举报
第4章MCS-51单片机系统的扩展技术.ppt_第1页
第1页 / 共104页
第4章MCS-51单片机系统的扩展技术.ppt_第2页
第2页 / 共104页
第4章MCS-51单片机系统的扩展技术.ppt_第3页
第3页 / 共104页
亲,该文档总共104页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第4章MCS-51单片机系统的扩展技术.ppt》由会员分享,可在线阅读,更多相关《第4章MCS-51单片机系统的扩展技术.ppt(104页珍藏版)》请在三一文库上搜索。

1、第4章 MCS-51单片机系统的扩展技术,主要内容:MCS-51单片机系统扩展的基本原理和方法。常用器件的选择和应用,常用总线标准和典型接口电路。要求学生掌握单片机系统扩展的原理、方法,并能根据工程要求进行系统扩展。重点在于常用器件的选择和应用,常用总线标准和典型接口电路,单片机系统扩展的基本原理和方法。难点在于存储器地址重叠,灵活运用所学知识根据实际需要进行系统扩展。,4.1 MCS-51单片机系统扩展概述,系统扩展是指为加强单片机某方面功能,在最小应用系统基础上,增加一些外围功能部件而进行的扩充。 4.1.1 MCS-51系列单片机的外部扩展原理 1MCS-51系列单片机的片外总线结构 M

2、CS-51系列单片机具有很强的外部扩展功能。其外部扩展都是通过三总线进行的。 (1)地址总线(AB) 地址总线用于传送单片机输出的地址信号,宽度为16位, P0口经锁存器提供低8位地址,锁存信号是由CPU的ALE引脚提供的;P2口提供高8位地址。 (2)数据总线(DB) 数据总线是由P0口提供的,宽度为8位。,(3)控制总线(CB) 控制总线实际上是CPU输出的一组控制信号。 MCS-51单片机通过三总线扩展外部设备的总体结构图如下图所示。,2MCS-51系列单片机系统的扩展能力,片外可扩展存储器的最大容量为216=64KB,地址范围为0000HFFFFH。允许片外程序存储器和数据存储器的地址

3、重叠。 I/O接口的编址方法:一种是独立编址,另一种是统一编址。MCS-51单片机采用了统一编址方式,即I/O端口地址与外部数据存储单元地址共同使用0000HFFFFH(64KB)。当MCS-51单片机应用统扩展较多外部设备和I/O接口时,要占去大量的数据存储器的地址。,4.1.2 MCS-51单片机系统地址空间的分配,系统空间分配:通过适当的地址线产生各外部扩展器件的片选/使能等信号就是系统空间分配。 编址:编址就是利用系统提供的地址总线,通过适当的连接,实现一个编址惟一地对应系统中的一个外围芯片的过程。编址就是研究即系统地址空间的分配问题。 片内寻址:若某芯片内部还有多个可寻址单元,则称为

4、片内寻址。 编址的方法:芯片的选择是由系统的高位地址线通过译码实现的,片内寻址直接由系统低位地址信息确定。 产生外围芯片片选信号的方法有三种:线选法、全地址译码法和部分译码法。,线选法:直接以系统空闲的高位地址线作为芯片的片选信号。优点是简单明了,无须另外增加电路,缺点是寻址范围不惟一,地址空间没有被充分利用,可外扩的芯片的个数较少。线选法适用于小规模单片机应用系统中片选信号的产生。 2. 全地址译码法 全地址译码法:利用译码器对系统地址总线中未被外扩芯片用到的高位地址线进行译码,以译码器的输出作为外围芯片的片选信号。常用的译码器有:74LS139,74LS138,74LS154等。优点是存储

5、器的每个存储单元只有惟一的一个系统空间地址,不存在地址重叠现象;对存储空间的使用是连续的,能有效地利用系统的存储空间。缺点是所需地址译码电路较多,。全地址译码法是单片机应用系统设计中经常采用的方法。,1. 线选法,3. 部分地址译码法 部分地址译码法:单片机的未被外扩芯片用到的高位地址线中,只有一部分参与地址译码,其余部分是悬空的。优点是可以减少所用地址译码器的数量。 缺点是存储器每个存储单元的地址不是惟一的,存在地址重叠现象。因此,采用部分地址译码法时必须把程序和数据存放在基本地址范围内,以避免因地址重叠引起程序运行的错误。,4.2 存储器的扩展,存储器是计算机系统中的记忆装置,用来存放要运

6、行的程序和程序运行所需要的数据。单片机系统扩展的存储器通常使用半导体存储器,根据用途可以分为程序存储器(一般用ROM)和数据存储器(一般用RAM)两种类型。 MCS-51单片机对外部存储器的扩展应考虑的问题: (1)选择合适类型的存储器芯片 只读存储器( ROM )常用于固化程序和常数,可分为掩膜ROM、可编程PROM、紫外线可擦除EPROM和电可擦除E2PROM几种。若所设计的系统是小批量生产或开发产品,则建议使用EPROM和E2PROM;若为成熟的大批量产品,则应采用PROM或掩膜ROM 。 随机存取存储器( RAM )常用来存取实时数据、变量和运算结果。可分为静态RAM(SRAM)和动态

7、RAM(DRAM)两类。若所用的RAM容量较小或要求较高的存取速度,则宜采用SRAM;若所用的RAM容量较大或要求低功耗,则应采用DRAM,以降低成本。 此外,还可以选择OTP ROM、Flash存储器、FRAM、NVSRAM、用于多处理机系统的DSRAM(双端口RAM)等。,(2)工作速度匹配 MCS-51的访存时间(单片机对外部存储器进行读写所需要的时间)必须大于所用外部存储器的最大存取时间(存储器的最大存取时间是存储器固有的时间 ) (3)选择合适的存储容量 在MCS-51应用系统所需存储容量不变的前提下,若所选存储器本身存储容量越大,则所用芯片数量就越少,所需的地址译码电路就越简单。

8、(4)合理分配存储器地址空间的分配 存储器的地址空间的分配必须满足存储器本身的存储容量,否则会造成存储器硬件资源的浪费。 (5)合理选择地址译码方式 可根据实际应用系统的具体情况选择线选法、全地址译码法、部分地址译码法等地址译码方式。,4.2.1 程序存储器扩展,单片机内部没有ROM,或虽有ROM但容量太小时,必须扩展外部程序存储器方能工作。最常用的ROM器件是EPROM。 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为外部程序存储器。其引脚图如下图所示。,

9、引脚符号的含义和功能如下: D7D0:三态数据总线; A0Ai:地址输入线,i=1215。2764的地址线为13位,i=12;27512的地址线为16位,i=15; :片选信号输入线; :输出允许输入线; VPP:编程电源输入线; :编程脉冲输入线; VCC:电源; GND:接地; NC:空引脚。,273227512芯片的读、维持操作方式各引脚的状态如下表所示。,2. 地址锁存器,程序存储器扩展时,还需要地址锁存器,地址锁存器常用的有带三态缓冲输出的8D锁存器74LS373、带有清除端的74LS273。 74LS373是带有三态门的8D锁存器,当三态门的使能信号线 为低电平时,三态门处于导通状

10、态,允许锁存器输出,锁存控制端为11脚LE,采用下降沿锁存,控制端可以直接与CPU 的地址锁存控制信号ALE相连。 74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。 CPU 的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK 端相连。 地址锁存器使用74LS373较多。引脚图如下页图所示。与8051连接电路如下页图所示。,3典型扩展电路,MCS-51外扩存储器时应考虑锁存器的选择与连接,译码方式,存储器的选择与连接。访问程序存储器的控制信号有: ALE-地址锁存信号 PSEN-片外程序存储器读信号 E

11、A-片内、外程序存储器访问选择信号 EA=0:访问片外;EA=1:访问片内。 8051扩展2764的电路连接方法: 数据线:P0口接EPROM的D0D7 ; 地址线: 2764容量为8KB,213=8KB,需要A0A12共13根地址线。P0口经地址锁存器后接EPROM的A0A7 ; 为了与片内存储器的空间地址衔接,P2.0P2.3接EPROM的A8A11 , P2.4经非门后与A12连接。 控制线:ALE接373的LE,PSEN接EPROM的OE,EA接VCC,只有一片EPROM,片选CE接地。,扩展电路如下:,2764的地址范围为:1000H2FFFH。8051片内存储器的范围为: 0000

12、H0FFFH。,4. 超出64KB容量程序存储器的扩展,MCS-51单片机提供16位地址线,可直接访问程序存储器的空间为64 KB(216),若系统的程序总容量需求超过64 KB,可以采用区选法来实现。单片机系统的程序存储器每个区为64 KB,由系统直接访问,区与区之间的转换通过控制线的方式来实现。如下图所示为系统扩展128 KB程序存储空间(264 KB)示意图。 P1.0输出高电平,访问A芯片; P1.0输出低电平,访问B芯片。,4.2.2 数据存储器扩展,单片机内部的RAM为128B(或256B),有的单片机应用系统需要扩展外部数据存储器RAM (如数据采集系统数据量较大,需要专设 RA

13、M或 Flash RAM)。最常用的 RAM器件是静态RAM( SRAM )。 1. 常用静态RAM存储器 常用的SRAM有6116(2K)、6264(8K)、62128(16K)、62256(32K)、 628128(128K)等。一般选择8KB以上的芯片作为外部程序存储器。其引脚图如下页图所示。,引脚符号的含义和功能如下: D7D0:双向三态数据总线; A0Ai:地址输入线i=10(6116芯片),i=12(6264芯片),i=14(62256芯片); ( ):片选信号输入端,低电平有效; CS2:片选信号输入端,高电平有效(仅6264芯片有); :读选通信号输入线,低电平有效; :写选通

14、信号 输入线, 低电平有效; Vcc:电源+5V; GND:地。,静态RAM存储器有三种工作方式:数据的读出、写入和维持,其操作控制如下表所示。,MCS-51扩展数据存储器与扩展程序存储器电路的异同: (1)所用的地址总线,数据总线完全相同; (2)读/写控制线不同:扩展程序存储器的读选通信号由 PSEN 控制,扩展数据存储器的读、写控制线用RD 、WR分别控制存储器芯片的OE和WE ; (3)数据存储器与程序存储器的地址可以重叠,因为扩展它们的控制信号不同。 (4)I/O扩展的地址空间与数据存储器扩展的空间是共用的,所以扩展数据存储器涉及到的问题远比扩展程序存储器扩展多。,2.数据存储器典型

15、扩展电路,MCS-51扩展6264的电路连接方法: 数据线:P0口接RAM的D0D7 ; 地址线: 6264容量为8KB,213=8KB,需要A0A12共13根地址线。P0口经地址锁存器后接RAM的A0A7 ; P2.0P2.4接RAM的A8A12 。 控制线:ALE接373的LE,RD接RAM的OE、WR接RAM的WE, 只有一片EPROM,且系统无其他I/O接口及外围设备扩展,片选CE可以接地。扩展电路如下页图所示。,6264的地址范围为:0000H1FFFH。,例题 在上页图的数据存储器扩展电路中,将片内RAM 以50H单元开始的16个数据,传送片外数据存储器0000H开始的单元中。 程

16、序如下: ORG 1000H MOV R0, #50H ; 数据指针指向片内50H单元 MOV R7, #16 ; 待传送数据个数送计数寄存器 MOV DPTR, #0000H ; 数据指针指向数据存储器6264的0000H单元 AGAIN: MOV A, R0 ; 片内待输出的数据送累加器A MOVX DPTR, A ; 数据输出至数据存储器6264 INC R0 INC DPTR ; 修改数据指针 DJNZ R7, AGAIN ; 判断数据是否传送完成 RET END,4.2.3 MCS-51对外部存储器的扩展,下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片2764芯片)

17、和8KB数据存储器(使用一片6264芯片)。采用全地址译码方式,P2.7用于控制24译码器的工作,P2.6, P2.5参加译码,且无悬空地址线,无地址重叠现象。1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H1FFFH, 2000H3FFFH, 40005FFFH。,4.2.4 程序存储空间和数据存储空间的混合,在硬件结构上将 信号和 信号相“与”后连接到RAM芯片的读选通端,这样就能使程序存储空间和数据存储空间混合。如右图所示。将程序装入6264中,很容易进行读写修改,执行程序时,由信号选通RAM读出。调试通过后,再将 RAM6264调换成EPROM2764。,

18、4.3 并行I/O口的扩展,MCS-51单片机具有四个并行8位I/O口(即P0, P1, P2, P3),原理上这四个I/O口均可用做双向并行I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1口和部分P3口线及作为数据总线用的P0口。,在单片机的I/O口线不够用的情况下,可以借助外部器件对I/O口进行扩展。可资选用的器件很多,方案也有多种。 4.3.1 概述 1. 单片机I/O口扩展方法 并行I/O口扩展的目的:为外围设备提供一个输入输出通道。 (1)并行总线扩展的方法 (2)串行口扩展方法 (3)I/O端口模拟串行方法 这里只介绍总线扩展方式下I/O接口的扩展方法。,2. MCS

19、-51单片机扩展并行I/O口的扩展性能 访问扩展I/O口的方法与访问数据存储器完全相同,使用相同的指令,所有扩展的I/O口与片外数据存储器统一编址。 利用串行口扩展法扩展的外部并行I/O口不占用外部RAM地址空间。 利用并行总线扩展的方法扩展外部并行I/O口时,必须注意P0, P2, P3口的负载问题,若负载能力不够,必须进行总线驱动能力扩展。 扩展外部并行I/O口对外设的硬件具有依赖性(驱动功率、电平匹配、干扰抑制、隔离等)。,4.3.2 普通并行I/O口扩展,普通并行I/O口在扩展时,它们的选通端或时钟信号端要与地址线和控制线的逻辑组合输出端相连。其特点是电路简单、成本低、配置灵活方便等特

20、点,应用广泛。 1扩展并行输出口 (1)用74LS 377扩展并行输出口 74LS377是带有输出允许端 的8D锁存器,硬件电路如右图所示。 程序如下: MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX DPTR, A ; P0口将数据通过74LS377输出,(2)用74LS374扩展并行输出口 74LS374是具有三态输出的8D边沿触发器,与单片机接口电路如下图所示,74LS374的地址为7FFFH。,程序如下: MOV DPTR, #7FFFH MOV A, 60H MOVX DPTR, A,2扩展并行输入

21、口 用单向总线缓冲器74LS244扩展并行输入口 ,硬件电路如下图所示。74LS244的地址为7FFFH。 程序如下: MOV DPTR, #7FFFH ; 数据指针指向74LS244 MOVX A, DPTR ; 外部数据经过74LS244送入累加器A MOV 61H, A ; 数据送61H单元保存,4.3.3 可编程并行I/O接口芯片扩展,可编程I/O接口芯片的特点:适应多种功能需求,使用灵活,可扩展多个并行I/O口,可以编程设定为输入或输出口,应用非常广泛。 1可编程并行口8255A芯片,Intel 8255A芯片是通用可编程并行接口电路,广泛应用于单片机扩展并行I/O口。它具有3个8位

22、并行口PA, PB和PC,一个8位的数据口D0D7 ,PC口分高4位和低4位。高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组) ,PC口可按位置位/复位。40条引脚,DIP封装。 引脚图如右图所示。,(1)8255A的3种工作方式 方式0(基本输入/输出方式):不需要任何选通信号,适合于无条件传输数据的设备,数据输出有锁存功能,数据输入有缓冲(无锁存)功能。 方式1(选通输入/输出方式):A组包括A口和C口的高四位(PC7PC4),A口可由程序设定为输入口或输出口,C口的高四位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低四位(PC3PC0),功能和A组相同

23、。 方式2(双向I/O口方式):仅A口有这种工作方式,B口无此工作方式。此方式下,A口为8位双向I/O口,C口的PC7PC3用来作为输入输出的控制和同步信号。此时,B口可以工作在方式0或方式1。,8255A在不同的工作方式下,各口线的功能如下表所示。,(2)8255A的控制操作状态 8255A芯片的工作方式是通过地址线A1, A0选择端口、通过读写控制逻辑的组合状态来实现的。其操作状态如下表所示。,(3)8255A芯片的控制字 8255A芯片的初始化编程是通过对控制口写入控制字的方式实现的 。 方式控制字:字控制8255A芯片三个端口的工作方式,特征是最高位为1。如下图所示。,C口的按位置位/

24、复位控制字:C口具有位操作能力,其每一位都可以通过软件设置为置位或复位。其特征是最高位为0。格式如下图所示。,(4)接口与编程方法,MCS-51单片机外扩8255A芯片的电路原理图如下图所示。8255A芯片内部已有数据总线驱动器,可以直接与MCS-51单片机总线相连接(P0口接D0D7)。8255A的RESET, , 分别与MCS-51单片机的RESET, , 相连, 接P2.7,单片机地址线最低2位分别接8255A芯片的A1,A0。PA, PB, PC及控制寄存器的地址分别是7FFCH, 7FFDH, 7FFEH和7FFFH。,例题如图上页所示,假设8255A芯片的PA接一组8只状态指示灯,

25、PB接一组8个开关,现须将开关闭合的状态输入到片内60H单元保存,将70H单元的内容送状态指示灯显示,并置位PC7引脚,编写相应程序。 解:根据题意,设置8255A的A口方式0输出,B口方式0输入,C口高四位输出,则8255A的方式字为82H(10000010B),C口置位/复位字为0FH(00001111B),8255A的方式字及置位/复位控制字地址为7FFFH。初始化过程及输入/输出的程序如下: ORG 1000H DSP8255: MOV DPTR, #7FFFH ; 数据指针指向8255A控制口 MOV A, #82H MOVX DPTR, A ; 工作方式字送8255A控制口 MOV

26、 A, #0FH MOVX DPTR, A ; C口置位/复位字送8255A控制口 MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口 MOVX A, DPTR MOV 60H, A ; 将B口开关状态送入60H单元 MOV DPTR, #7FFCH ; 数据指针指向8255A 的A口 MOV A, 70H MOVX DPTR, A ; 70H单元内容A口指示灯显示 RET END,2RAM/IO扩展芯片8155,(1)功能与引脚 8155芯片内具有256B的静态RAM,2个8位可编程并行I/O口PA、PB, 1个6位可编程并行I/O口PC, 1个14位计数器。其特点是接口简

27、单、内部资源丰富、应用广泛。引脚图如右图所示。,(2)8155芯片的RAM和I/O地址编码 8155的I/O端口及RAM地址在单片机应用系统中与外部数据存储器是统一编址的,其控制操作如左下表所示,对应I/O口寄存器的地址编码如右下表所示。,(3)命令/状态寄存器 8155芯片的命令/状态寄存器物理上只有一个端口地址,对该端口写操作,命令字被写入命令寄存器;对该端口读操作,则从状态寄存器读出状态字。8155的命令字格式如下图所示。,8155的状态字格式如下图所示。,8155有2种工作方式:基本I/O和选通I/O。,(4)定时器/计数器 8155芯片内有一个14位的减法计数器,可对输入脉冲进行减法

28、计数,它可以在0002H3FFFH之间选择计数器初值,TIMER IN为定时器时钟输入引脚,TIMER OUT为定时器输出引脚,可输出方波、脉冲等信号。定时器的计数单元和工作方式由8155内部两个寄存器确定。格式如下图所示。其中,高字节寄存器的最高两位M2, M1用于设定定时器/计数器的工作方式。,M2,M1 定义定时/计数器从TIMEROUT输出信号的形式:,M2,M1=00 输出单个方波,M2,M1=01 输出连续方波,M2,M1=01 输出单个脉冲,M2,M1=01 输出连续脉冲,计数开始,计数结束,常常用作分频器(自动重装初值),常常用作分频器(自动重装初值),负脉冲宽度约等于输入TI

29、的时钟周期,单方波宽度约等于初值的一半,定时器/计数器的使用(初始化): 对(04H)(05H)寄存器装入14位初值和输出信号形式。14位初值的范围是23FFFH。 启动定时器/计数器。即对命令/状态字寄存器(00H)的最高两位M2,M1写入“11”。 如果定时器/计数器在运行中要改换新的时间常数,必须先装入 新的初值,然后再发送一次启动命令,即写入:M2, M1=11。 注意:8155定时器/计数器的最小初值为2。分频应用时,初值若为偶数,则输出等占空比方波;若为奇数,则正半周多一个脉冲周期。,(5)接口与编程,8155芯片可以直接与MCS-51单片机连接,不需要任何外加逻辑电路,扩展一片8

30、155系统可以增加256B片外RAM、22位I/O口线及一个14位减法计数器,MCS-51与8155芯片的连接电路如下图所示。,上页图中RAM和各端口的地址为: RAM字节地址范围:7E00H7EFFH;命令/状态寄存器:7F00H;PA口:7F01H;PB口:7F02H;PC口:7F03H;定时器低8位寄存器:7F04H;定时器高8位寄存器:7F05H。 例题 在上页图中,将单片机片内RAM 40H4FH单元的内容,送8155芯片内的00H0FH单元,并设定8155芯片的工作方式为:A口基本输入方式,B口基本输出方式,C口输入方式,定时器作为方波发生器,对输入脉冲100分频。 解:程序如下:

31、 ORG 1000H MOV R0, 40H ; CPU片内RAM 40H单元地址指针送R0 MOV DPTR, #7E00H ; 数据指针指向8155内部RAM单元,LP: MOV A, R0 ; 数据送累加器A MOVX DPTR, A ; 数据从累加器A送8155内部RAM单元 INC DPTR ; 指向下一个8155内部RAM单元 INC R0 ; 指向下一个CPU内部RAM单元 CJNE R0, #50H,LP ; 数据未传送完返回 MOV DPTR, #7F04H ; 指向定时器低8位 MOV A, #64H ; 分频系数(64)16=(100)10 MOVX DPTR, A ;

32、低8位初值装入 INC DPTR ; 指向定时器高8位 MOV A, #40H ; 设定时器方式为连续方波(40H=0100 0000B) MOVX DPTR, A ; 定时器/计数器方式及高6位初值装入 MOV DPTR, #7F00H ; 数据指针指向控制字寄存器 MOV A, #0C2H ; 设定A, B, C口方式 MOVX DPTR, A ; 启动定时器(0C2H=1100 0010B) RET END,4.3.4 可编程逻辑器件(PLD)扩展,在功能上,单片机与大规模CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)有很强的互补性。C

33、PLD/FPGA(Field Programmable Gate Array,现场可编程门阵列)具有高速、高可靠及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中被广泛应用。 单片机与CPLD/FPGA的接口方式有以下两种: 总线方式:MCS-51单片机按外部总线时序与CPLD/FPGA进行数据与控制信息通信。其特点是速度快,节省CPLD芯片的I/O口线,单片机编程简捷,控制可靠,易于扩展SRAM或ROM(通过CPLD/FPGA中的逻辑切换)。 8051单片机与CPLD/FPGA之间的连接图如下页图所示。,MCS-51以总线方式工作, CPLD/FPGA与MC

34、S-51系列单片机接口采用VHDL电路设计,其总线接口逻辑的外部接口如下图所示。,由8031将数据#5AH写入目标器件中的第一个寄存器LATCH_OUT1的指令是: MOV A, #5AH MOV DPTR, #6FF5H MOVX DPTR, A,独立方式:MCS-51单片机与CPLD/FPGA之间各自相对独立地完成自己的通信功能。其特点是CPLD/FPGA中的接口逻辑无需遵循单片机内固定总线方式的读/写时序。 CPLD/FPGA的逻辑设计与接口和单片机程序设计可以分先后相对独立地完成,接口设计方法比较简单。通信的时序方式可由所设计的软件自由决定,形式灵活多样。几乎所有单片机都能以独立接口方

35、式与CPLD/FPGA进行通信。,4.4 时钟芯片的扩展,实现实时时钟的方法: (1)软件时钟:由软件计时实现。其特点是硬件开销小、成本低、外围电路简单、占用CPU的时间、计时精度低、走时误差较大。 (2)硬件时钟:由硬件时钟芯片实现,其特点是计时精确,不占用CPU资源,扩展电路简单。在单片机系统中应用较为广泛。 (3)GPS时钟:由全球卫星定位系统提供。其特点是精度高,成本高。,1DS1302 DS1302是美国达拉斯(Dallas)半导体公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能。采用三线串行数据传输接口与CPU进

36、行同步通信,内部有一个31B的高速RAM,工作电压范围为2.55.5V。 2. MC146818 MC146818是Motorola公司生产的时钟芯片。它支持时间(时、分、秒),也支持日期(世纪、年、月、日、星期)及闰月的自动调整。工作电流小(几A )。内部有64B的RAM,可设定报警时间(日、时、分、秒)并在报警时间到时产生中断。,4.4.1 时钟芯片概述,3. M41T50/60/65 M41T50/60/65 STM公司的实时时钟产品,具有尺寸小、功耗低(电源电压为3.0V时,工作电流为350A,待机电流小于650nA )等特点。可通过I2C串行总线提供从秒到世纪的数据和时间信息,自动实

37、现闰年调整。总线工作电压为1.33.6V。尤其适用于电池操作和便携式应用,也适用于工业系统、医学及大型家用电器。 4. X1203 X1203是一个带时钟/日历和两个闹钟(报警)的实时时钟芯片。内含双端口时钟和报警器寄存器,能以秒、分、时、日、星期、月和年为单位跟踪时间,具有闰年校正功能。其电压为2.56V。 此外,DS12887是实时日历时钟芯片,DS1644-120是非易失性时钟芯片,DS1387是带有看门狗的时钟芯片,M6242B是直接与CPU总线连接的定时时钟/日历芯片,PCF8563P是宽电压I2C接口实时时钟/日历芯片等等。,4.4.2 DS12C887的结构及工作原理,DS12C

38、887是美国Dallas公司生产的实时日历时钟芯片,采用CMOS技术,与MC146818B和DS1287管脚兼容,特点如下: (1)具有秒、分、时、星期、日、月、年计数功能,有12小时制和24小时制两种模式。 (2)可实现闰年调整。时间可用二进制数和BCD码表示。 (3)内部有128字节RAM,其数据具有掉电保护功能。 (4)可以选择Motorola和Intel总线时序。通过编程可实现多种方波输出。 (5)工作电压为4.55.5,工作电流为715mA。在断电情况下运行十年以上不丢失数据。 (6)功耗低、外围接口简单、精度高、工作稳定可靠,可广泛用于各种需要较高精度的实时时钟场合中。,1. DS

39、12C887的基本组成及引脚,组成:石英晶体振荡器、锂电池、总线接口、控制寄存器AD、实时时钟、日历时钟、报警时钟、方波电路和用户RAM等。24脚DIP封装,其引脚如下图所示。,引脚的功能如下: MOT:模式选择( Motorola模式和Intel模式)。 SQW:方波输出,通过对控制寄存器A编程,有13种方波信号的输出。 AD0AD7:地址/数据复用总线。 AS:地址锁存。 :写数据控制输入。 :读数据控制输入。 :片选信号输入线。 :中断请求输出线。 :复位输入线。 NC:空引脚。,2 DS12C887的状态控制寄存器,DS12C887状态控制寄存器及存储单元功能表如下表所示。,(1)状态

40、控制寄存器A(地址为xx0AH) 控制寄存器A控制字的格式如下表所示。,其中: UIP位:更新周期标志位。 DV0DV2:芯片内部振荡器RTC控制位。 RS3RS0:周期性中断或可编程方波输出速率选择位。各种不同的组合可以产生不同的输出。,(2)控制寄存器B(地址为xx0BH) 控制寄存器B控制字的格式如下表所示。,其中: SET位:更新周期/芯片停止工作选择位。 PIE, AIE, UIE位:周期中断、报警中断、更新结束中断允许位。 SQWE位:方波输出允许位。 DM位:时标寄存器用十进制BCD码表示或用二进制表示格式选择位。 24/12位:24/12小时模式设置位。 DSE位:夏令时服务位

41、。,(2)控制寄存器C(地址为xx0CH) 控制寄存器C控制字的格式如下表所示。,其中: IRQF位:中断申请标志位。 PF, AF, UF位:周期中断、报警中断、更新结束中断标志位。 以上四个标志位在程序读取状态控制寄存器C的内容后,或者引脚变有效时(低电平),自动清0。 D0D3位:保留标志位。,(2)控制寄存器D(地址为xx0DH) 控制寄存器D控制字的格式如下表所示。,控制寄存器D只有VRT位可用,该位用于指示芯片内锂电池的工作状态。正常时,VRT=1,锂电池耗尽时,VRT=0,此时读出的数据无效。该寄存器的其他各位均为厂家保留位,读出值始终为零,不允许用户向这些位写入数据。,3DS1

42、2C887的中断和更新周期 DS12C887处于正常工作状态时,每秒将产生一个更新周期。 更新周期的基本功能为: (1)刷新各个时标寄存器的内容,同时,秒时标寄存器内容加1,并检查其他时标寄存器内容是否有溢出,如有溢出则相应的日、月、年进位。 (2)检查时、分、秒报警时标寄存器的内容是否与对应时标寄存器的内容相符。 避开更新周期内访问时标寄存器的方案: (1)利用更新周期结束发出的中断,提醒CPU将有998ms左右的时间去获取有效的数据。 (2)利用寄存器A中的UIP位来指示芯片是否处于更新周期。在UIP位从低变高到244s后,芯片将开始其更新周期,到UIP位为低电平时,则利用244s的间隔时

43、间去读取时标信息。,4.4.3 DS12C887与MCS-51的接口,由于DS12C887片内自带地址锁存器,故AD0AD7与单片机处理器的P0口直接相连,将单片机的ALE信号连到DS12C887的AS引脚。其他的引脚与单片机的连接如下图所示。DS12C887内部存储器起始地址为7F00H,时间、日历及报警信息分别存储在7F00H7F09H单元中,状态控制寄存器AD的地址分别为:7F0AH, 7F0BH, 7F0CH, 7F0DH。,4.4.4 DS12C887的应用举例,1DS12C887的初始化设置 (1)禁止芯片内部的更新周期操作(寄存器B中的SET位置1 ), (2)初始化时标参数寄存

44、器(00H09H单元)和状态寄存器A, (3)清除寄存器C中的PF、AF、UF标志位。 (4)判断DS12C887内部锂电池的状态,决定片内的RAM内容是否可用。 (5)状态寄存器B中的SET位置0,芯片开始计时工作。 2DS12C887的闹钟设置 DS12C887共有3个闹钟单元(时、分、秒),DS12C887根据用户对3个单元设定的初值能够提供两种闹钟报警方式。 (1)每日一次报警。 (2)固定间隔时间报警。 3DS12C887的初始化编程 (见教材),4.5 系统监控芯片的扩展,为了提高单片机应用系统的抗干扰性能,可外扩电源监控电路、看门狗、系统监控芯片等。 电源监控电路:利用监控芯片及

45、少量的外围元件组成的各种有效复位电路,能对电源异常情况进行监控。其特点是监控功能强,可靠性高,外围元件少,监控电路简单,体积小。 “看门狗(Watchdog)”:在系统设计中通过软件或者硬件方式在一定的周期内监控单片机或者其他处理器的运行状况,如果在规定的时间内没有收到来自被监控单片机或者其他处理器的正确触发信号,则“看门狗”会强制系统复位,以保证系统在受到干扰时仍能够维持正常的工作状态。 软件“看门狗”是利用单片机内部空闲的定时器/计数器实现的,其特点是无需外加硬件电路,但占用片内定时器/计数器资源。 硬件“看门狗”是指集成在专用芯片或单片机内部的专用电路,该电路实际上是一种特殊的定时器。

46、系统监控芯片(也称处理器监控芯片P ):可实现实时监控电源电压、看门狗定时输出、备份电池切换、系统复位等功能。,4.5.1 概述,1. MAX703708/813/L系列 MAX703708/813/L系列是美国美信(Maxim)公司推出的低价位微处理器监控芯片,具有看门狗定时器、自动和手动复位以及电压门限监测等功能。引脚图如下图所示。,2. IMP705708/813L系列 IMP705708/813L系列CMOS微处理器监控器能实时监控电源、电池电压和微处理器的工作状态,可替换Maxim公司的MAX705/6/7/8及MAX813L。具有精确的电源监控、去抖动的手动复位输入、看门狗定时器(

47、IMP705/706)、200ms复位脉冲宽度、高电平有效的复位输出(IMP707/708/813L)等。引脚图如下图所示。,3. SP705708/ 813L/813M系列 SP705/706/707/708/813L/813M系列微处理器(P)监控器,包含一个看门狗定时器,一个P复位模块,一个供电失败比较器,及一个手动复位输入模块。可监测P及数字系统中的供电情况。其特点是高精度电压监控器(4.65V),溢出周期为1.6s的独立看门狗定时器,复位脉冲宽度为200ms,具有开关式手动复位输入,支持对供电失败及低电池警告进行监控。引脚图如下图所示。,4. 带有串行E2PROM的微处理器监控器X2

48、5045 X25045是带有串行E2PROM的CPU监控器。它具有上电复位控制、电源电压监控、看门狗定时器等功能,片内含512字节存储单元的串行E2PROM。,4.5.2 MAX692A的工作原理,特点:MAX692A是美国Maxim公司的系统监控芯片产品,具有后备电池切换、电源失效和电池低电压报警,掉电判断(低于4.4V将产生复位信号)、“看门狗”监控(定时时间为1.6s )等功能。工作电压:1.2V5.5V,静态电流:200A,备用电池方式静态电流:50A。 1MAX692A引脚功能,DIP(双列直插式)或者SO(表面贴片)8引脚封装,引脚图如右图所示。,各引脚含义如下: VOUT:电源输出引脚,在正常情况下,IOUT=50mA,VOUT=(VCC0.5)(VCC0.25)V之间;在备用电池模式下,IOUT=250A,VOUT=(VBATT0.5)(VBATT0.25)V。 VCC:电源引脚,电压范围1.25.5V。 GND:地。 PFI:电源失效输入,当PFI低于1.25V时,引脚变低。 :电源失效输出,当PFI低于1.25V时,引脚变低,其他情况为高。 WDI:“看门狗”输入。 :复位输出引脚。 VBATT:备用电池电源输入。,2MAX692A工作原理,MAX692A由复位电路、看门狗电路、电压比较和备用电池切换电

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1