第4章MCS51单片机系统的扩展技术_第1页
第4章MCS51单片机系统的扩展技术_第2页
第4章MCS51单片机系统的扩展技术_第3页
第4章MCS51单片机系统的扩展技术_第4页
第4章MCS51单片机系统的扩展技术_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、s-51系列单片机的外部扩展原理系列单片机的外部扩展原理 1 1mcs-51mcs-51系列单片机的片外总线结构系列单片机的片外总线结构 mcs-51系列单片机具有很强的外部扩展功能。其外部 扩展都是通过三总线进行的。 (1)地址总线(ab) 地址总线用于传送单片机输出的地址信号,宽度为16位, p0口经锁存器提供低8位地址,锁存信号是由cpu的ale引脚 提供的;p2口提供高8位地址。 (2)数据总线(db) 数据总线是由p0口提供的,宽度为8位。 (3)控制总线(cb) 控制总线实际上是cpu输出的一组控制信号。 mcs-51单片机通过三总线扩展外部设备的总体结构图如下图所示。 中国最大的

3、资料库下载中国最大的资料库下载 2mcs-51系列单片机系统的扩展能力系列单片机系统的扩展能力 片外可扩展存储器的最大容量为216=64kb,地址范围 为0000hffffh。允许片外程序存储器和数据存储器的 地址重叠。 i/o接口的编址方法:一种是独立编址,另一种是统一 编址。mcs-51单片机采用了统一编址方式,即i/o端口地 址与外部数据存储单元地址共同使用0000hffffh (64kb)。当mcs-51单片机应用统扩展较多外部设备和 i/o接口时,要占去大量的数据存储器的地址。 4.1.2 mcs-514.1.2 mcs-51单片机系统地址空间的分配单片机系统地址空间的分配 系统空间

4、分配:系统空间分配:通过适当的地址线产生各外部扩展器件的片选/使 能等信号就是系统空间分配。 编址:编址:编址就是利用系统提供的地址总线,通过适当的连接,实 现一个编址惟一地对应系统中的一个外围芯片的过程。编址就是 研究即系统地址空间的分配问题。 片内寻址:片内寻址:若某芯片内部还有多个可寻址单元,则称为片内寻址。 编址的方法:编址的方法:芯片的选择是由系统的高位地址线通过译码实现的, 片内寻址直接由系统低位地址信息确定。 产生外围芯片片选信号的方法有三种:线选法、全地址译码 法和部分译码法。 线选法:线选法:直接以系统空闲的高位地址线作为芯片的片选信号。优 点是简单明了,无须另外增加电路,缺

5、点是寻址范围不惟一,地 址空间没有被充分利用,可外扩的芯片的个数较少。线选法适用 于小规模单片机应用系统中片选信号的产生。 2. 2. 全地址译码法全地址译码法 全地址译码法:全地址译码法:利用译码器对系统地址总线中未被外扩芯片用到 的高位地址线进行译码,以译码器的输出作为外围芯片的片选信 号。常用的译码器有:74ls139,74ls138,74ls154等。优点是 存储器的每个存储单元只有惟一的一个系统空间地址,不存在地 址重叠现象;对存储空间的使用是连续的,能有效地利用系统的 存储空间。缺点是所需地址译码电路较多,。全地址译码法是单 片机应用系统设计中经常采用的方法。 1. 1. 线选法线

6、选法 3. 3. 部分地址译码法部分地址译码法 部分地址译码法:部分地址译码法:单片机的未被外扩芯片用到的高位地址线 中,只有一部分参与地址译码,其余部分是悬空的。优点是可 以减少所用地址译码器的数量。 缺点是存储器每个存储单元 的地址不是惟一的,存在地址重叠现象。因此,采用部分地址 译码法时必须把程序和数据存放在基本地址范围内,以避免因 地址重叠引起程序运行的错误。 4.2 4.2 存储器的扩展存储器的扩展 存储器是计算机系统中的记忆装置,用来存放要运行的程序和程序 运行所需要的数据。单片机系统扩展的存储器通常使用半导体存储器, 根据用途可以分为程序存储器(一般用rom)和数据存储器(一般用

7、 ram)两种类型。 mcs-51mcs-51单片机对外部存储器的扩展应考虑的问题:单片机对外部存储器的扩展应考虑的问题: (1)选择合适类型的存储器芯片 只读存储器( rom )常用于固化程序和常数,可分为掩膜rom、 可编程prom、紫外线可擦除eprom和电可擦除e2prom几种。若所设 计的系统是小批量生产或开发产品,则建议使用eprom和e2prom;若 为成熟的大批量产品,则应采用prom或掩膜rom 。 随机存取存储器( ram )常用来存取实时数据、变量和运算结果。 可分为静态ram(sram)和动态ram(dram)两类。若所用的ram 容量较小或要求较高的存取速度,则宜采用

8、sram;若所用的ram容量 较大或要求低功耗,则应采用dram,以降低成本。 此外,还可以选择otp rom、flash存储器、fram、nvsram、用 于多处理机系统的dsram(双端口ram)等。 (2)工作速度匹配 mcs-51的访存时间(单片机对外部存储器进行读写所需要 的时间)必须大于所用外部存储器的最大存取时间(存储器的 最大存取时间是存储器固有的时间 ) (3)选择合适的存储容量 在mcs-51应用系统所需存储容量不变的前提下,若所选存 储器本身存储容量越大,则所用芯片数量就越少,所需的地址 译码电路就越简单。 (4)合理分配存储器地址空间的分配 存储器的地址空间的分配必须满

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

10、功能如下:引脚符号的含义和功能如下: d7d0:三态数据总线; a0ai:地址输入线,i=1215。2764的地址线为13位,i=12; 27512的地址线为16位,i=15; :片选信号输入线; :输出允许输入线; vpp:编程电源输入线; :编程脉冲输入线; vcc:电源; gnd:接地; nc:空引脚。 ce ce oe pgm 273227512芯片的读、维持操作方式各引脚的状态如下 表所示。 2. 2. 地址锁存器地址锁存器 程序存储器扩展时,还需要地址锁存器,地址锁存器常用 的有带三态缓冲输出的8d锁存器74ls373、带有清除端的 74ls273。 74ls373是带有三态门的8

11、d锁存器,当三态门的使能信号 线 为低电平时,三态门处于导通状态,允许锁存器输出,锁 存控制端为11脚le,采用下降沿锁存,控制端可以直接与cpu 的地址锁存控制信号ale相连。 74ls273是带有清除端的8d触发器,只有在清除端保持高电 平时,才具有锁存功能,锁存控制端为11脚clk,采用上升沿 锁存。 cpu 的ale信号必须经过反相器反相之后才能与 74ls273的控制端clk 端相连。 地址锁存器使用74ls373较多。引脚图如下页图所示。与 8051连接电路如下页图所示。 oe 3典型扩展电路典型扩展电路 mcs-51外扩存储器时应考虑锁存器的选择与连接,译码 方式,存储器的选择与

12、连接。访问程序存储器的控制信号有: ale-地址锁存信号 psen-片外程序存储器读信号 ea-片内、外程序存储器访问选择信号 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接v

13、cc,只有一片 eprom,片选ce接地。 扩展电路如下: 2764的地址范围为:1000h2fffh。8051片内存储器的 范围为: 0000h0fffh。 4. 4. 超出超出64kb64kb容量程序存储器的扩展容量程序存储器的扩展 mcs-51单片机提供16位地址线,可直接访问程序存储器的 空间为64 kb(216),若系统的程序总容量需求超过64 kb,可 以采用区选法来实现。单片机系统的程序存储器每个区为64 kb, 由系统直接访问,区与区之间的转换通过控制线的方式来实现。 如下图所示为系统扩展128 kb程序存储空间(264 kb)示意 图。 p1.0输出高电平,访问a芯片; p1

14、.0输出低电平,访问b芯片。 4.2.2 4.2.2 数据存储器扩展数据存储器扩展 单片机内部的ram为128b(或256b),有的单片机应用系 统需要扩展外部数据存储器ram (如数据采集系统数据量较大, 需要专设 ram或 flash ram)。最常用的 ram器件是静态ram ( sram )。 1. 1. 常用静态常用静态ramram存储器存储器 常用的sram有6116(2k)、6264(8k)、62128(16k)、 62256(32k)、 628128(128k)等。一般选择8kb以上的芯片作为 外部程序存储器。其引脚图如下页图所示。 引脚符号的含义和功能如下:引脚符号的含义和功

15、能如下: d7d0:双向三态数据总线; a0ai:地址输入线i=10(6116芯片),i=12(6264芯片),i=14(62256芯 片); ( ):片选信号输入端,低电平有效; cs2:片选信号输入端,高电平有效(仅6264芯片有); :读选通信号输入线,低电平有效; :写选通信号 输入线, 低电平有效; vcc:电源+5v; gnd:地。 cs1cs oe we 静态ram存储器有三种工作方式:数据的读出、写入和 维持,其操作控制如下表所示。 mcs-51扩展数据存储器与扩展程序存储器电路的异同:扩展数据存储器与扩展程序存储器电路的异同: (1)所用的地址总线,数据总线完全相同; (2)

16、读/写控制线不同:扩展程序存储器的读选通信号由 psen 控制,扩展数据存储器的读、写控制线用rd 、wr分别控制存 储器芯片的oe和we ; (3)数据存储器与程序存储器的地址可以重叠,因为扩展它们 的控制信号不同。 (4)i/o扩展的地址空间与数据存储器扩展的空间是共用的, 所以扩展数据存储器涉及到的问题远比扩展程序存储器扩展多。 2.2.数据存储器典型扩展电路数据存储器典型扩展电路 mcs-51扩展6264的电路连接方法: 数据线:数据线:p0口接ram的d0d7 ; 地址线:地址线: 6264容量为8kb,213=8kb,需要a0a12共13根地址 线。p0口经地址锁存器后接ram的a

17、0a7 ; p2.0p2.4接ram 的a8a12 。 控制线:控制线:ale接373的le,rd接ram的oe、wr接ram的we, 只有一片eprom,且系统无其他i/o接口及外围设备扩展,片选 ce可以接地。扩展电路如下页图所示。 6264的地址范围为:0000h1fffh。 例题例题 在上页图的数据存储器扩展电路中,将片内ram 以50h单 元开始的16个数据,传送片外数据存储器0000h开始的单元中。 程序如下: org 1000h mov r0, #50h ; 数据指针指向片内50h单元 mov r7, #16 ; 待传送数据个数送计数寄存器 mov dptr, #0000h ;

18、数据指针指向数据存储器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芯片)和8kb数据存储器(使用一片6264芯片)。采用全地址译码方 式,p2.7用于控制24译码器的工作,p2.6, p2.5参加译码,且无悬空地址 线,无地址重叠现象

19、。1# 2764, 2# 2764, 3# 6264的地址范围分别为: 0000h1fffh, 2000h3fffh, 40005fffh。 4.2.4 程序存储空间和数据存储空间的混合程序存储空间和数据存储空间的混合 在硬件结构上将 信号 和 信号相“与”后连接到 ram芯片的读选通端,这样就 能使程序存储空间和数据存储 空间混合。如右图所示。将程 序装入6264中,很容易进行读 写修改,执行程序时,由信号 选通ram读出。调试通过后, 再 将 r a m 6 2 6 4 调 换 成 eprom2764。 psen rd 4.3 并行并行i/o口的扩展口的扩展 mcs-51单片机具有四个并行

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

21、2. mcs-51单片机扩展并行单片机扩展并行i/oi/o口的扩展性能口的扩展性能 访问扩展i/o口的方法与访问数据存储器完全相同,使用相同 的指令,所有扩展的i/o口与片外数据存储器统一编址。 利用串行口扩展法扩展的外部并行i/o口不占用外部ram地址 空间。 利用并行总线扩展的方法扩展外部并行i/o口时,必须注意p0, p2, p3口的负载问题,若负载能力不够,必须进行总线驱动能力 扩展。 扩展外部并行i/o口对外设的硬件具有依赖性(驱动功率、电 平匹配、干扰抑制、隔离等)。 4.3.2 4.3.2 普通并行普通并行i/oi/o口扩展口扩展 普通并行i/o口在扩展时,它们的选通端或时钟信号

22、端要 与地址线和控制线的逻辑组合输出端相连。其特点是电路简 单、成本低、配置灵活方便等特点,应用广泛。 1 1扩展并行输出口扩展并行输出口 (1)用74ls 377扩展并行输出口 74ls377是带有输出允许端 的8d锁存器,硬件电路如右图所示。 程序如下:程序如下: mov dptr, #7fffh ; 数据指针指向74ls377 mov a, 60h ; 输出的60h单元数据送累加器a movx dptr, a ; p0口将数据通过74ls377输出 e (2)用74ls374扩展并行输出口 74ls374是具有三态输出的8d边沿触发器,与单片机接口 电路如下图所示,74ls374的地址为

23、7fffh。 程序如下:程序如下: mov dptr, #7fffh mov a, 60h movx dptr, a 2扩展并行输入口扩展并行输入口 用单向总线缓冲器74ls244扩展并行输入口 ,硬件电路如 下图所示。74ls244的地址为7fffh。 程序如下:程序如下: mov dptr, #7fffh ; 数据指针指向74ls244 movx a, dptr ; 外部数据经过74ls244送入累加器a mov 61h, a ; 数据送61h单元保存 4.3.3 可编程并行可编程并行i/o接口芯片扩展接口芯片扩展 可编程i/o接口芯片的特点:适应多种功能需求,使用灵活, 可扩展多个并行i

24、/o口,可以编程设定为输入或输出口,应用非 常广泛。 1可编程并行口可编程并行口8255a芯片芯片 intel 8255a芯片是通用可编程并行 接口电路,广泛应用于单片机扩展并行 i/o口。它具有3个8位并行口pa, pb和 pc,一个8位的数据口d0d7 ,pc口 分高4位和低4位。高4位可与pa口合为 一组(a组),低4位可与pb口合为一组(b 组) ,pc口可按位置位/复位。40条引脚, dip封装。 引脚图如右图所示。 (1)8255a的3种工作方式 方式方式0(基本输入(基本输入/输出方式):输出方式):不需要任何选通信号,适合于 无条件传输数据的设备,数据输出有锁存功能,数据输入有

25、 缓冲(无锁存)功能。 方式方式1(选通输入(选通输入/输出方式):输出方式):a组包括a口和c口的高四位 (pc7pc4),a口可由程序设定为输入口或输出口,c口 的高四位则用来作为输入/输出操作的控制和同步信号;b组 包括b口和c口的低四位(pc3pc0),功能和a组相同。 方式方式2(双向(双向i/o口方式):口方式):仅a口有这种工作方式,b口无此工 作方式。此方式下,a口为8位双向i/o口,c口的pc7pc3 用来作为输入输出的控制和同步信号。此时,b口可以工作 在方式0或方式1。 8255a在不同的工作方式下,各口线的功能如下表所示。 (2)8255a的控制操作状态 8255a芯片

26、的工作方式是通过地址线a1, a0选择端口、通 过读写控制逻辑的组合状态来实现的。其操作状态如下表所示。 (3)8255a芯片的控制字 8255a芯片的初始化编程是通过对控制口写入控制字的方 式实现的 。 方式控制字:方式控制字:字控制8255a芯片三个端口的工作方式,特征是 最高位为1。如下图所示。 c口的按位置位/复位控制字:c口具有位操作能力,其每一 位都可以通过软件设置为置位或复位。其特征是最高位为0。格 式如下图所示。 (4)接口与编程方法 mcs-51单片机外扩8255a芯片的电路原理图如下图所示。 8255a芯片内部已有数据总线驱动器,可以直接与mcs-51单片 机总线相连接(p

27、0口接d0d7)。8255a的reset, , 分别与mcs-51单片机的reset, , 相连, 接p2.7,单 片机地址线最低2位分别接8255a芯片的a1,a0。pa, pb, pc及 控制寄存器的地址分别是7ffch, 7ffdh, 7ffeh和7fffh。 wr rdwr rd 例题例题 如图上页所示,假设8255a芯片的pa接一组8只状态指示灯,pb接一 组8个开关,现须将开关闭合的状态输入到片内60h单元保存,将70h单元的 内容送状态指示灯显示,并置位pc7引脚,编写相应程序。 解:解:根据题意,设置8255a的a口方式0输出,b口方式0输入,c口高四位输 出,则8255a的方

28、式字为82h(10000010b),c口置位/复位字为0fh (00001111b),8255a的方式字及置位/复位控制字地址为7fffh。初始化过 程及输入/输出的程序如下: org 1000h dsp8255: mov dptr, #7fffh ; 数据指针指向8255a控制口 mov a, #82h movx dptr, a; 工作方式字送8255a控制口 mov a, #0fh movx dptr, a ; c口置位/复位字送8255a控制口 mov dptr, #7ffdh ; 数据指针指向8255a 的b口 movx a, dptr mov 60h, a; 将b口开关状态送入60h

29、单元 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位计数器。其 特点是接口简单、内部资源丰 富、应用广泛。引脚图如右图 所示。 (2)8155芯片的ram和i/o地址编码 8155的i/o端口及ram地址在单片机应用系统中与外部数据 存储器是统一编址的,其控制操作如左下表所示,对应i/o口寄

30、 存器的地址编码如右下表所示。 (3)命令/状态寄存器 8155芯片的命令/状态寄存器物理上只有一个端口地址, 对该端口写操作,命令字被写入命令寄存器;对该端口读操作, 则从状态寄存器读出状态字。8155的命令字格式如下图所示。 8155的状态字格式如下图所示。 8155有有2种工作方式:种工作方式:基本i/o和选通i/o。 (4)定时器/计数器 8155芯片内有一个14位的减法计数器,可对输入脉冲进行 减法计数,它可以在0002h3fffh之间选择计数器初值, timer in为定时器时钟输入引脚,timer out为定时器输出引 脚,可输出方波、脉冲等信号。定时器的计数单元和工作方式 由8

31、155内部两个寄存器确定。格式如下图所示。其中,高字节 寄存器的最高两位m2, m1用于设定定时器/计数器的工作方式。 m2,m1 定义定时/计数器从timerout输出信号的形式: m2m2,m1m1=00 =00 输出单个方波输出单个方波 m2m2,m1m1=01 =01 输出连续方波输出连续方波 m2m2,m1m1=01 =01 输出单个脉冲输出单个脉冲 m2m2,m1m1=01 =01 输出连续脉冲输出连续脉冲 计数开始计数开始计数结束计数结束 常常用作分频器常常用作分频器 (自动重装初值自动重装初值) 常常用作分频器常常用作分频器 (自动重装初值自动重装初值) 负脉冲宽度约等于负脉冲

32、宽度约等于 输入输入ti的时钟周期的时钟周期 单方波宽度约等单方波宽度约等 于初值的一半于初值的一半 定时器定时器/ /计数器的使用(初始化):计数器的使用(初始化): 对(04h)(05h)寄存器装入14位初值和输出信号形式。14位 初值的范围是23fffh。 启动定时器/计数器。即对命令/状态字寄存器(00h)的最高 两位m2,m1写入“11”。 如果定时器/计数器在运行中要改换新的时间常数,必须先装入 新的初值,然后再发送一次启动命令,即写入:m2, m1=11。 注意:注意:8155定时器/计数器的最小初值为2。分频应用时,初值 若为偶数,则输出等占空比方波;若为奇数,则正半周多一个

33、脉冲周期。 (5)接口与编程 8155芯片可以直接与mcs-51单片机连接,不需要任何外加 逻辑电路,扩展一片8155系统可以增加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芯片内的00h0

34、fh单元,并设定8155芯片的工作方式为: a口基本输入方式,b口基本输出方式,c口输入方式,定时器 作为方波发生器,对输入脉冲100分频。 解:程序如下:解:程序如下: 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; 数据未传送完返

35、回 mov dptr, #7f04h; 指向定时器低8位 mov a, #64h; 分频系数(64)16=(100)10 movx dptr, a; 低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 4.3.4 可编程逻辑器件(可编

36、程逻辑器件(pldpld)扩展)扩展 在功能上,单片机与大规模cpld(complex programmable logic device,复杂可编程逻辑器件)有很强的互补性。 cpld/fpga(field programmable gate array,现场可编程门阵 列)具有高速、高可靠及开发便捷、规范等优点。以此两类器 件相结合的电路结构在许多高性能仪器仪表和电子产品中被广 泛应用。 单片机与单片机与cpld/fpga的接口方式有以下两种:的接口方式有以下两种: 总线方式:总线方式:mcs-51单片机按外部总线时序与cpld/fpga进行 数据与控制信息通信。其特点是速度快,节省cpl

37、d芯片的i/o 口线,单片机编程简捷,控制可靠,易于扩展sram或rom (通过cpld/fpga中的逻辑切换)。 8051单片机与 cpld/fpga之间的连接图如下页图所示。 1int mcs-51以总线方式工作, cpld/fpga与mcs-51系列单 片机接口采用vhdl电路设计,其总线接口逻辑的外部接口如 下图所示。 由8031将数据#5ah写入目标器件中的第一个寄存器 latch_out1的指令是: mov a, #5ah mov dptr, #6ff5h movx dptr, a 独立方式:独立方式:mcs-51单片机与cpld/fpga之间各自相对独立地 完成自己的通信功能。其

38、特点是cpld/fpga中的接口逻辑无需 遵循单片机内固定总线方式的读/写时序。 cpld/fpga的逻辑 设计与接口和单片机程序设计可以分先后相对独立地完成,接 口设计方法比较简单。通信的时序方式可由所设计的软件自由 决定,形式灵活多样。几乎所有单片机都能以独立接口方式与 cpld/fpga进行通信。 4.4 4.4 时钟芯片的扩展时钟芯片的扩展 实现实时时钟的方法:实现实时时钟的方法: (1)软件时钟:由软件计时实现。其特点是硬件开销小、成本 低、外围电路简单、占用cpu的时间、计时精度低、走时误差 较大。 (2)硬件时钟:由硬件时钟芯片实现,其特点是计时精确,不 占用cpu资源,扩展电路

39、简单。在单片机系统中应用较为广泛。 (3)gps时钟:由全球卫星定位系统提供。其特点是精度高, 成本高。 1ds1302 ds1302是美国达拉斯(dallas)半导体公司推出的一种高性能、 低功耗、带ram的实时时钟芯片,它可以对年、月、日、星期、时、 分、秒进行计时,且具有闰年补偿功能。采用三线串行数据传输接口 与cpu进行同步通信,内部有一个31b的高速ram,工作电压范围为 2.55.5v。 2. mc146818 mc146818是motorola公司生产的时钟芯片。它支持时间(时、分、 秒),也支持日期(世纪、年、月、日、星期)及闰月的自动调整。 工作电流小(几a )。内部有64b

40、的ram,可设定报警时间(日、时、 分、秒)并在报警时间到时产生中断。 4.4.1 4.4.1 时钟芯片概述时钟芯片概述 3. m41t50/60/65 m41t50/60/65 stm公司的实时时钟产品,具有尺寸小、功耗低(电源 电压为3.0v时,工作电流为350a,待机电流小于650na )等特点。可通过 i2c串行总线提供从秒到世纪的数据和时间信息,自动实现闰年调整。总线 工作电压为1.33.6v。尤其适用于电池操作和便携式应用,也适用于工业 系统、医学及大型家用电器。 4. x1203 x1203是一个带时钟/日历和两个闹钟(报警)的实时时钟芯片。内含 双端口时钟和报警器寄存器,能以秒

41、、分、时、日、星期、月和年为单位 跟踪时间,具有闰年校正功能。其电压为2.56v。 此外,ds12887是实时日历时钟芯片,ds1644-120是非易失性时钟芯 片,ds1387是带有看门狗的时钟芯片,m6242b是直接与cpu总线连接的定 时时钟/日历芯片,pcf8563p是宽电压i2c接口实时时钟/日历芯片等等。 4.4.2 ds12c8874.4.2 ds12c887的结构及工作原理的结构及工作原理 ds12c887是美国dallas公司生产的实时日历时钟芯片,采 用cmos技术,与mc146818b和ds1287管脚兼容,特点如下: (1)具有秒、分、时、星期、日、月、年计数功能,有1

42、2小时 制和24小时制两种模式。 (2)可实现闰年调整。时间可用二进制数和bcd码表示。 (3)内部有128字节ram,其数据具有掉电保护功能。 (4)可以选择motorola和intel总线时序。通过编程可实现多种 方波输出。 (5)工作电压为4.55.5,工作电流为715ma。在断电情 况下运行十年以上不丢失数据。 (6)功耗低、外围接口简单、精度高、工作稳定可靠,可广泛 用于各种需要较高精度的实时时钟场合中。 1. ds12c887的基本组成及引脚的基本组成及引脚 组成:组成:石英晶体振荡器、锂电池、总线接口、控制寄存器ad、实时时钟、 日历时钟、报警时钟、方波电路和用户ram等。24脚

43、dip封装,其引脚如下 图所示。 引脚的功能如下:引脚的功能如下: mot:模式选择( motorola模式和intel模式)。 sqw:方波输出,通过对控制寄存器a编程,有13 种方波信号的输出。 ad0ad7:地址/数据复用总线。 as:地址锁存。 :写数据控制输入。 :读数据控制输入。 :片选信号输入线。 :中断请求输出线。 :复位输入线。 nc:空引脚。 rd cs irq reset wr 2 ds12c887的状态控制寄存器的状态控制寄存器 ds12c887状态控制寄存器及存储单元功能表如下表所示。 (1)状态控制寄存器a(地址为xx0ah) 控制寄存器a控制字的格式如下表所示。

44、其中:其中: uip位:更新周期标志位。 dv0dv2:芯片内部振荡器rtc控制位。 rs3rs0:周期性中断或可编程方波输出速率选择位。各 种不同的组合可以产生不同的输出。 (2)控制寄存器b(地址为xx0bh) 控制寄存器b控制字的格式如下表所示。 其中:其中: set位:更新周期/芯片停止工作选择位。 pie, aie, uie位:周期中断、报警中断、更新结束中断允许位。 sqwe位:方波输出允许位。 dm位:时标寄存器用十进制bcd码表示或用二进制表示格式选择位。 24/12位:24/12小时模式设置位。 dse位:夏令时服务位。 (2)控制寄存器c(地址为xx0ch) 控制寄存器c控

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

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

47、ip位 为低电平时,则利用244s的间隔时间去读取时标信息。 4.4.3 ds12c8874.4.3 ds12c887与与mcs-51mcs-51的接口的接口 由于ds12c887片内自带地址锁存器,故ad0ad7与单片 机处理器的p0口直接相连,将单片机的ale信号连到ds12c887 的as引脚。其他的引脚与单片机的连接如下图所示。 ds12c887内部存储器起始地址为7f00h,时间、日历及报警信 息分别存储在7f00h7f09h单元中,状态控制寄存器ad的 地址分别为:7f0ah, 7f0bh, 7f0ch, 7f0dh。 4.4.4 ds12c8874.4.4 ds12c887的应用

48、举例的应用举例 1ds12c887的初始化设置的初始化设置 (1)禁止芯片内部的更新周期操作(寄存器b中的set位置1 ), (2)初始化时标参数寄存器(00h09h单元)和状态寄存器a, (3)清除寄存器c中的pf、af、uf标志位。 (4)判断ds12c887内部锂电池的状态,决定片内的ram内容是否可用。 (5)状态寄存器b中的set位置0,芯片开始计时工作。 2ds12c887的闹钟设置的闹钟设置 ds12c887共有3个闹钟单元(时、分、秒),ds12c887根据用户对3个 单元设定的初值能够提供两种闹钟报警方式。 (1)每日一次报警。 (2)固定间隔时间报警。 3ds12c887的

49、初始化编程的初始化编程 (见教材)(见教材) 4.5 4.5 系统监控芯片的扩展系统监控芯片的扩展 为了提高单片机应用系统的抗干扰性能,可外扩电源监控电路、看门狗、 系统监控芯片等。 电源监控电路:电源监控电路:利用监控芯片及少量的外围元件组成的各种有效复位电路, 能对电源异常情况进行监控。其特点是监控功能强,可靠性高,外围元件少, 监控电路简单,体积小。 “看门狗(看门狗(watchdog)”:在系统设计中通过软件或者硬件方式在一定的周 期内监控单片机或者其他处理器的运行状况,如果在规定的时间内没有收到 来自被监控单片机或者其他处理器的正确触发信号,则“看门狗”会强制系 统复位,以保证系统在

50、受到干扰时仍能够维持正常的工作状态。 软件“看门狗”是利用单片机内部空闲的定时器/计数器实现的,其特点 是无需外加硬件电路,但占用片内定时器/计数器资源。 硬件“看门狗”是指集成在专用芯片或单片机内部的专用电路,该电路 实际上是一种特殊的定时器。 系统监控芯片(也称处理器监控芯片系统监控芯片(也称处理器监控芯片p ):):可实现实时监控电源电压、看门 狗定时输出、备份电池切换、系统复位等功能。 4.5.1 4.5.1 概述概述 1. max703708/813/l系列系列 max703708/813/l系列是美国美信(maxim)公司推出 的低价位微处理器监控芯片,具有看门狗定时器、自动和手动

51、 复位以及电压门限监测等功能。引脚图如下图所示。 2. imp705708/813l系列系列 imp705708/813l系列cmos微处理器监控器能实时监控 电源、电池电压和微处理器的工作状态,可替换maxim公司的 max705/6/7/8及max813l。具有精确的电源监控、去抖动的手 动复位输入、看门狗定时器(imp705/706)、200ms复位脉冲宽 度、高电平有效的复位输出(imp707/708/813l)等。引脚图如 下图所示。 3. sp705708/ 813l/813m系列系列 sp705/706/707/708/813l/813m系列微处理器(p)监控器, 包含一个看门狗

52、定时器,一个p复位模块,一个供电失败比较 器,及一个手动复位输入模块。可监测p及数字系统中的供电 情况。其特点是高精度电压监控器(4.65v),溢出周期为1.6s 的独立看门狗定时器,复位脉冲宽度为200ms,具有开关式手动 复位输入,支持对供电失败及低电池警告进行监控。引脚图如 下图所示。 4. 带有串行带有串行e2prom的微处理器监控器的微处理器监控器 x25045 x25045是带有串行e2prom的cpu 监控器。它具有上电复位控制、电源电 压监控、看门狗定时器等功能,片内含 512字节存储单元的串行e2prom。 4.5.2 max692a4.5.2 max692a的工作原理的工作

53、原理 特点:max692a是美国maxim公司的系统监控芯片产品,具有 后备电池切换、电源失效和电池低电压报警,掉电判断(低于 4.4v将产生复位信号)、“看门狗”监控(定时时间为1.6s ) 等功能。工作电压:1.2v5.5v,静态电流:200a,备用电池 方式静态电流:50a。 1max692a引脚功能引脚功能 dip(双列直插式)或者so (表面贴片)8引脚封装,引脚图 如右图所示。 各引脚含义如下:各引脚含义如下: vout:电源输出引脚,在正常情况下,iout=50ma,vout= (v cc0.5)(vcc0.25)v之间;在备用电池模式下, iout=250a,vout=(vba

54、tt0.5)(vbatt0.25)v。 vcc:电源引脚,电压范围1.25.5v。 gnd:地。 pfi:电源失效输入,当pfi低于1.25v时,引脚变低。 :电源失效输出,当pfi低于1.25v时,引脚变低,其他情况 为高。 wdi:“看门狗”输入。 :复位输出引脚。 vbatt:备用电池电源输入。 reset pfo 2max692a工作原理工作原理 max692a由复位电路、看门狗电路、电压比较和备用电池 切换电路四部分组成。 复位电路:复位电路:在微处理器上电、掉电及低压供电时,监控器发生复 位脉冲信号。 看门狗电路:看门狗电路:定时时间为1.6s。若wdi脚输入一个脉冲,定时器 开始

55、计数,若在1.6s内不能向wdi端输入脉冲,监视器将输出一 个复位信号。 电压比较器:电压比较器:用于低电压检测。 电池切换电路电池切换电路:在vbatt端接上电池,max692a会在vcc掉电 时,自动切换到电池供电,为ram提供电源。 4.5.3 max692a4.5.3 max692a与与mcs-51mcs-51的接口的接口 max692a自动监控mcs-51微处理器的典型电路如下页图 所示。在电路设计中,应合理选择r1,r2的值,使得+5v电压跌 落到某个电压值(如本设计中的4.5v),pfi的输入电压低于 1.25v,导致 输出低电平,作为单片机中断的输入信号,使单 片机系统能够进行

56、一些必要的处理(如保存某些重要数据等)。 r1,r2选取的计算方法如下: 可取r1=10k,r2=26k。最好选取精度较高的金属膜电阻。 当+5v电压跌落到4.5v时,vr=1.25v,电压如果继续跌落, 便 输出低电平,触发 中断。 复位按钮是为手动复位而设置的,在系统需要人为干预或者 测试时使用,r4与c值的选择可按前述章节的方法进行。 6 . 3 1 4.5v 1.25v r2r1 r1 6 . 3 1 v4 . 4 v25. 1 2r1r 1r 0int pfo pfo 4.5.4 max692a4.5.4 max692a的编程应用的编程应用 为保证cpu在正常工作时,watchdog

57、定时器不产生复位信号,必须在 1.6s内改变max692a的wdi引脚上输入电平,按照上页图的电路,wdi引脚 的电平变化由mcs-51处理器的p1.0引脚控制,与watchdog定时器有关的程序 段如下: org 0000h ljmp main ; 转至主程序 org 0050h main: ; 初始化 setb p1.0 clr p1.0 ; 在p1.0引脚上输出一个正脉冲,两个正脉冲之间 的时间间隔小于1.6s setb p1.0 clr p1.0; 在p1.0引脚上输出一个正脉冲 setb p1.0 clr p1.0; 同上,与上个正脉冲间隔时间小于1.6s ljmp main end

58、 当mcs-51系统受到干扰而使处理器出现“死机”时,单片 机将不能定期执行上述两条指令,则wdi引脚上也就不能定时输 入脉冲,看门狗定时器会在1.6s后产生一个复位信号,使单片机 复位。程序将会从0000h单元重新开始程序的执行,保证了系统 的正常运转。 4.6 总线接口扩展总线接口扩展 总线种类繁多,可分为局部总线、系统总线和通信总线。通 信总线是系统之间或cpu与外设之间进行通信的一组信号线。通 信总线接口按电气标准及协议来分包括rs-232, rs-422, rs-485, modem, usb, ieee 1394, internet网络芯片等,它们在不同的领 域得到了广泛的应用。这

59、里主要介绍mcs-51单片机应用系统中 常用的通信总线标准及接口。 4.6.1 eia rs-232c4.6.1 eia rs-232c总线标准与接口电路总线标准与接口电路 eia rs-232c是异步串行通信中应用最广泛的标准总线,是 美国eia(electronic industries association,电子工业联合会)开 发公布的通信协议。适合于数据传输速率在020kb/s范围内的通 信,包括了按位串行传输的电气和机械方面的规定。在微机通信 接口中被广泛采用。 1. 电气特性 (1)采取不平衡传输方式,是为点对点(即只用一对收、发设 备)通信而设计的; (2)采用负逻辑。 (3)

60、适用于传送距离不大于15m,速度不高于20kb/s的本地设备 之间通信的场合。 2. 连接器连接器 (1)db-25连接器 db-25型连接器的外形及信号线分 配如图右所示。25芯rs-232c接口具有 20ma电流环接口功能,用9, 11, 18, 25 针来实现。 (2)db-9连接器 db-9连接器只提供异步通信的9个 信号,其外形及信号线分配如图右所示。 db-25与db-9型连接器的引脚分配 信号完全不同。 3. rs-232c的接口信号的接口信号 rs-232c标准接口有25条线,其中常用的有如下几条: dsr:数据装置准备好; dtr:数据终端准备好; rts:请求发送; cts

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论