第8章单片机经典ppt课件.ppt

上传人:飞****2 文档编号:90013719 上传时间:2023-05-13 格式:PPT 页数:176 大小:3.45MB
返回 下载 相关 举报
第8章单片机经典ppt课件.ppt_第1页
第1页 / 共176页
第8章单片机经典ppt课件.ppt_第2页
第2页 / 共176页
点击查看更多>>
资源描述

《第8章单片机经典ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章单片机经典ppt课件.ppt(176页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第八章 单片机系统扩展 第八章 单片机系统扩展 8.1 片外总线结构和最小应用系统片外总线结构和最小应用系统8.2 外围扩展外围扩展 8.3 应用接口扩展应用接口扩展 8.4 可编程器件的扩展简介可编程器件的扩展简介 思考练习题思考练习题第八章 单片机系统扩展 8.1 片外总线结构和最小应用系统片外总线结构和最小应用系统MCS-51系列单片机一块芯片本身就是一个基本的计算机,可以完成计算机的一些基本功能。但在实际系统应用中,它的功能可能不够,还需要进行外部扩展。扩展是通过总线方式等实现的。8.1.1 80C51片外总线结构片外总线结构我们知道,CPU内部和外部电路都采用总线结构。所谓扩展,就是

2、通过CPU的外部总线连接外部电路和CPU一起工作,增加CPU的功能。80C51单片机的外部扩展可通过地址总线、数据总线和控制总线进行,但由于受到管脚限制,数据线和地址线低8位复用,且与I/O口线兼用,如图8-1所示。第八章 单片机系统扩展 图8-1 MCS-51片外三总线第八章 单片机系统扩展 1地址总线地址总线(AB)80C51地址总线由16位构成:由P0口经地址锁存器(如74373)提供低8位地址(A0A7),P2口提供高8位地址(A8A15),用于传送单片机输出的地址信号,决定操作的存储单元或I/O口。地址总线是单向总线,只能由单片机送出。可直接访问的存储单元为216,即通常所说的寻址范

3、围为64KB。对外部寻址时,P0口是低8位地址和8位数据的复用线,P0口首先将低8位的地址发送出去,当ALE由高变低时,用锁存器(74373)将先送出的低8位地址锁存后再传送数据,在下一次ALE变高时,和P2口高8位地址共同作用寻址。第八章 单片机系统扩展 2数据总线数据总线(DB)数据总线宽度为8位,由P0口提供,用于单片机与存储器或I/O端口之间传送数据。它与单片机处理数据的字长是一致的,所以我们通常也称MCS-51为8位机,即指其每次处理8位数据。数据总线是双向的,可以进行两个方向的数据传送。第八章 单片机系统扩展 第八章 单片机系统扩展 8.1.2 总线驱动能力及扩展总线驱动能力及扩展

4、 单片机在外部扩展时,根据芯片的生产厂家、工艺等的不同及所带负载的类型和数量,要考虑设计的电路是否能稳定可靠工作。因此在应用系统设计时要遵循一些基本原则。1TTL电路和电路和CMOS电路的带负载问题电路的带负载问题在单片机应用系统中,经常会遇到TTL与CMOS两种电路并存的情况,这就存在将两种器件互相对接的问题。例如,早期的8031是用双极型晶体管工艺制造的,而现在生产的89C51(87C51)采用CMOS工艺。无论是用TTL电路驱动CMOS电路还是用CMOS电路驱动TTL电路,驱动门必须能为负载门提供合乎标准的高、低电平和足够的驱动电流,这样电路才能协调一致地工作,也就是必须同时满足下列各式

5、:第八章 单片机系统扩展 VOH(min)VIH(min)(8-1)VOL(max)VIL(max)(8-2)IOH(max)(8-3)IOL(max)(8-4)第八章 单片机系统扩展 上面各式就是电路连接时必须满足的条件。这样,我们就可以根据电路的具体参数来确定电路的连接原则。实际上,式(8-1)、式(8-2)用于解决接口电平的匹配问题,而式(8-3)、式(8-4)用于解决能带多少负载的问题。为便于对照比较,表8-1中列出了常用的TTL和CMOS两种电路的输入、输出特性参数。因为电流条件是任何电路都要满足的,即使同一种电路也有带多少负载的问题,所以我们这里主要考虑电平匹配问题。当TTL与CM

6、OS两种电路并存时,我们主要解决两类问题:一是TTL电路驱动CMOS电路的问题,还有一类是CMOS电路驱动TTL电路的问题。应该说,现在4000(包括4000B)系列CMOS电路应用已经不多,而且它的特性和电源有关,所以我们这里主要针对高速CMOS电路进行讨论。第八章 单片机系统扩展 表表8-1 TTL、CMOS电路的输入、输出特性参数电路的输入、输出特性参数第八章 单片机系统扩展 1)TTL电路驱动CMOS电路(1)用TTL电路驱动74HC系列CMOS电路。根据表8-1给出的数据可知,无论是用74系列TTL电路作驱动门还是用74LS系列TTL电路作驱动门,只有式(8-1)不能满足。74HC系

7、列CMOS电路的VIH(min)=3.5V,而74系列TTL电路(包括74LS系列)的VOH(min)=2.4V图8-2 接上拉电阻提高TTL电路输出的高电平(2.7V),因此,必须设法将TTL电路输出的高电平提升到3.5V以上才能满足要求。解决方法一般是在TTL电路的输出端与电源之间接入上拉电阻Ru,如图8-2所示。当TTL电路的输出为高电平时,其输出级的驱动管截止,负载管导通,故有:VOH=VDDRu(nIIHI0)(8-5)第八章 单片机系统扩展 图8-2 接上拉电阻提高TTL电路输出的高电平 第八章 单片机系统扩展 式中的I0为TTL电路输出高电平时的拉电流。由于I0和nIIH近似相等

8、,所以流过Ru的电流很小,只要Ru的阻值不是特别大,输出高电平将被提升至VOHVDD,这样就可以满足要求。(2)用TTL电路驱动74HCT系列CMOS电路。为了能方便地实现直接驱动,厂家又生产了74HCT系列高速CMOS电路。通过改进工艺和设计,使74HCT系列的VIH(min)值降至2V。这样,TTL电路的输出可以直接接到74HCT系列电路的输入端而无需外加任何元器件,使电路设计应用更加简单、方便。第八章 单片机系统扩展 2)CMOS电路驱动TTL电路当用74HC/74HCT系列CMOS电路驱动TTL电路时,根据表8-1给出的数据可知,无论负载是74系列TTL电路还是74LS系列TTL电路,

9、都可以直接用74HC或74HCT系列CMOS电路直接驱动,可驱动负载的数目不难从表8-1的数据中求出。第八章 单片机系统扩展 2单片机总线驱动扩展单片机总线驱动扩展在单片机扩展应用中,由于CPU是通过总线与数片存储器芯片及若干个I/O接口芯片相连接的,而且这些芯片可能是TTL器件,也可能是CMOS器件,所以当构成系统时,CPU总线能否支持其负载是必须考虑的问题。当CPU总线上连接的器件均为CMOS器件且数量不多时,因为CMOS器件功耗低,所以一般不会超载。当总线上连接的器件使CPU超载时,就应该考虑总线的驱动问题。这时需在总线上增加缓冲器和驱动器,以增加CPU总线的带负载能力。第八章 单片机系

10、统扩展 虽然都是MCS-51系列单片机,但各个厂家采用的生产工艺不同(TTL或CMOS),产品不同,端口不同,驱动的外部负载电路不同,则带负载能力也不一样。在设计单片机外围扩展电路时都要考虑其是否能驱动所有负载正常工作。特别是外围扩展电路较多时,更要考虑这一问题。在实际系统设计中,首先要详细了解所用芯片的电气指标(高、低电平,输入、输出电流等),如果是TTL和CMOS电路混合系统,不但要考虑电流,还要考虑电平。然后,根据指标要求,考虑单片机是否能驱动所要扩展的所有外围电路,如果不行,则需要进行驱动扩展。第八章 单片机系统扩展 1)地址和控制总线驱动扩展我们知道,单片机的地址线和控制线都是单向的

11、(单向输出驱动外部设备),因此选用的驱动器也应为单向驱动器。而且由于驱动器是在总线上应用的,所以其要具有三态功能。常用的驱动器有74244和74240(带反向输出),它们都是8位总线驱动器,应用比较简单:输入端接单片机端口,输出端接负载。当然,还要考虑74244本身的带载问题。第八章 单片机系统扩展 2)数据总线驱动扩展对单片机系统来说,数据是双向传输的,所以数据总线的驱动器也为双向驱动器。对MCS-51来说,因为外设和外部数据存储器共同占用64KB空间,所以理论上可以外接64K个外部设备(当然实际不会)。一般常用的双向驱动器有74245,它是8位双向总线驱动器,有数据传输方向控制端,在单片机

12、控制下可以实现数据的双向传输。第八章 单片机系统扩展 8.1.3 外部扩展芯片的地址译码选择外部扩展芯片的地址译码选择 单片机对外部的访问操作首先要寻址,也就是要找到本次操作的源和目的地址,然后才能进行相应的读写等操作。这样,扩展的外部设备就要有一个唯一的地址,单片机才能对其访问。在计算机中,凡需要进行读写操作的部件都存在编址问题。MCS-5l单片机使用统一编址方式,就是把系统中的外部数据存储器和I/O接口统一编址。在这种编址方式中,I/O接口中的寄存器(端口)与存储器中的存储单元等同对待,具有一个统一的地址空间,不需设置I/O指令和专用信号。具体地讲,就是I/O端口地址与外部数据存储器单元地

13、址共同使用0000HFFFFH这64KB地址空间。第八章 单片机系统扩展 由于外部程序存储器与外部RAM或I/O端口的读操作使用不同的指令和控制信号,所以允许它们的地址重复,因此程序存储器的64KB单元地址的寻址范围也是0000HFFFFH。一般来说,扩展的芯片都有一个片选控制端以控制芯片的工作,为实现对其的访问,单片机首先要选定一些地址线连接到片选控制端,这样,当这些地址线有效时也就实现了对该芯片的访问。一片存储器芯片包含若干个存储单元,对应于若干个单元地址。同样,一片I/O接口芯片也包含多个(端)口,例如数据口、状态口、命令口等,因此一片I/O接口芯片也对应着多个端口地址。存储器需要对存储

14、单元进行编址,而I/O接口则需要对其中的端口进行编址。第八章 单片机系统扩展 外部扩展芯片的地址选择方法(即芯片片选线与地址总线的连接)主要有下面两种。1线选法线选法一般当外部扩展电路较少时采用这种方法,它简单直观,直接把一位高位地址线连到扩展芯片的片选端,当该位地址线有效时(一般为低电平)即实现了单片机对它的访问。例如扩展两个芯片,芯片1的片选端接地址线A15,芯片2的片选端接地址线A14,都是低电平有效,芯片1的地址范围为4000H7FFFH,芯片2的地址范围为8000HBFFFH。不管芯片内有多少个单元,它们所占的地址空间大小是相同的,都是16KB。第八章 单片机系统扩展 如果芯片内部有

15、若干个单元,则一般用低位地址来控制访问。例如,设芯片1内部有4个单元,可以用A0、A1来控制对它们的访问,这4个单元的地址为A15=0,A14=1,A13A2任意为0或1,A1A0=00、01、10、11,写成二进制为01xx xxxx xxxx xx0001xx xxxx xxxx xx11只要上面地址有效,单片机就能实现对芯片1内部4个单元的访问。可以看到,虽然芯片地址不唯一,但内部单元的地址还是由A1A0确定的。第八章 单片机系统扩展 2全地址译码法全地址译码法线选法简单直观,但是地址空间浪费严重,每个芯片要占用16KB字节空间。当扩展较多RAM及I/O设备时,一般采用全地址译码法。常用

16、的地址译码器有74138(3-8译码器)、74139(双2-4译码器)等。例如在线选法中用A15和A14来控制两个芯片的片选端,用74139进行译码,输入还是A15和A14,但输出可以产生4个选片信号,即可以控制对4个芯片的访问,每个芯片占用地址为16KB;如选用74138作为译码器,输入为A15、A14和A13,则可以产生8个选片信号,每个芯片占用地址为8KB。第八章 单片机系统扩展 应该说,这两种方法是最基本的方法。实际应用中,扩展的RAM、I/O和外部设备的数量及型号、用法不同,所采用的译码方式也不同,如采用分级译码,译码中有控制线、地址线然后从中选择等多种方式。要灵活选择译码方式,尽量

17、不使地址重叠。8.1.4 最小应用系统最小应用系统单片机的最小应用系统是指其在最少外接电路的情况下能正常工作。单片机本身就是一个独立的计算机,所以其应用系统可以非常简单。第八章 单片机系统扩展 第八章 单片机系统扩展 图8-3 89C51单片机的最小应用系统第八章 单片机系统扩展 第八章 单片机系统扩展 图8-4 8031单片机的最小应用系统第八章 单片机系统扩展 应该看到,最小应用系统仅使单片机系统能正常工作,实际应用中一般要通过I/O口输出控制外部设备,否则没有实际意义。第八章 单片机系统扩展 8.2 外外 围围 扩扩 展展单一的单片机在实际应用中往往不能满足要求,需要进行外围扩展。外围扩

18、展一种是功能的扩展,如存储器容量不够、I/O口不够等;还有一种是接口的扩展,通过接口使单片机与外部设备协调工作,如与低速设备(打印机)协调工作、对模拟信号进行处理等。市场上可提供的外围设备种类很多,扩展方式各种各样,要遵循经济、适用、稳定、可靠的原则,尽量选用常用器件。单片机系统的有些功能可以由硬件实现,也可以由软件实现,要综合分析,找出最佳方案。第八章 单片机系统扩展 8.2.1 TTL或或CMOS芯片扩展的简单芯片扩展的简单I/O接口接口在单片机应用系统中,常采用TTL或CMOS数字集成电路构成各种类型的简单接口。TTL或CMOS三态门、寄存器、三态缓冲寄存器等电路具有数据缓冲或锁存功能,

19、但自身仅有数据的输入或输出以及选通端或时钟端,没有地址线和读写控制线,其扩展方法与I/O接口芯片不同。它们的选通端或时钟端应与地址线和控制线的逻辑组合的输出相连,数据线与数据总线相连,但数据线数量不必要求一定与MCS-5l单片机的数据总线数相等,可以少于8根数据线,视具体情况而定。用其扩展的I/O接口具有电路简单、成本低、配置灵活方便等特点,在单片机应用系统中被广泛采用。第八章 单片机系统扩展 1寄存器扩展的简单输出接口寄存器扩展的简单输出接口寄存器(由触发器或锁存器构成)用于寄存微处理器送出的数据和命令。只要是寄存器,都可以用来存储数据。常用的寄存器有7474(21位)、74175(4位)和

20、74273(8位)等。设计时,要根据具体要求选择相应的电路。例如74273 8D触发器如图8-5所示,8个数据输入端D0D7与单片机的数据总线相连,8个数据输出端Q0Q7与外设相连。加到74273时钟端CLK的脉冲信号的上升沿将出现在D0D7上的数据写入该触发器寄存,寄存的数据可由上的脉冲下降沿清除。该触发器寄存数据的过程是由单片机执行MOVX指令完成的。执行MOVX指令时,微处理器发出写寄存器信号,该信号通常是由端口地址与写信号 第八章 单片机系统扩展 图8-6 74273线选扩展图第八章 单片机系统扩展 第八章 单片机系统扩展 2三态缓冲器扩展的输入接口三态缓冲器扩展的输入接口单片机是通过

21、总线方式进行外部扩展的,而三态缓冲器因为具有高阻态,可以在总线上应用,所以应用很多,也很方便。在使用三态缓冲器扩展时,首先要确定数据的传输方向。我们知道,74244是单向的,可以向外送数据,也可以接收数据,但只能单方向传送。74245是双向三态缓冲器,可以双向传输数据。因此,在设计中首先要根据应用的要求确定数据传输方式,然后再选择相应的器件。设从外设输入数据和状态信号,通过数据输入三态缓冲器或三态总线驱动器经数据总线传送给微处理器,可选用74244 8位三态总线驱动器,如图8-7所示。第八章 单片机系统扩展 图8-7 74244三态总线驱动器 第八章 单片机系统扩展 第八章 单片机系统扩展 用

22、线选法扩展74244作为输入接口的电路如图8-8所示。如Ai=A7,74244的端口地址用DPTR间接寻址为FF7FH(高8位00FFH,低8位007FH),则将输入设备的数据读入累加器A的程序段如下:MOV DPTR,#0FF7FHMOVX A,DPTR第八章 单片机系统扩展 图8-8 74244线选扩展第八章 单片机系统扩展 3三态缓冲寄存器扩展输入三态缓冲寄存器扩展输入/输出接口输出接口三态缓冲寄存器由三态缓冲器和寄存器组成,所以具有寄存器和三态缓冲器的特点。数据进入寄存器寄存后并不直接从寄存器输出,要经过三态缓冲器才能输出。三态缓冲寄存器既可以作为数据输入寄存器,又可以作为数据输出寄存

23、器。寄存器既可以由触发器构成,也可以由锁存器构成。触发器与锁存器是有差别的,锁存器有一锁存允许信号端,当加到该端的信号为有效电平时,Q端随D端变化,这时锁存器好像一个“直通门”。当锁存允许信号变为无效时,锁存器将此变化前一瞬间D端的输入信号锁存起来,此后D端的变化不再影响Q端。第八章 单片机系统扩展 将三态缓冲锁存器的锁存允许端接有效电平,三态缓冲锁存器即为三态缓冲器;将三态缓冲锁存器的输出允许端接有效电平,三态缓冲锁存器即为锁存器。74373是三态缓冲锁存器,74374是三态缓冲触发器,它们的引脚排列相同,如图8-9所示。应该注意到,它们都是单向数据传输的。传输数据可以采用中断、查询等多种方

24、式。第八章 单片机系统扩展 图8-9 74373和74374三态缓冲寄存器第八章 单片机系统扩展 8.2.2 程序存储器扩展程序存储器扩展我们知道,在MCS-51系列单片机中,程序空间内外统一编址,最大为64KB。8031片内没有程序存储器,而基本的8051/8751/8951内部的程序存储空间为4KB(当然现在也有64KB产品),所以,如果在我们的应用系统中选用8031或程序量超过4KB时,就要在外部扩展程序存储器。从应用角度考虑,尽量采用内部含有ROM(EPROM/EEPROM)的产品,这样会使系统简单可靠(包括选用超过4KB ROM的产品)。而且随着电子技术的迅速发展,内部有ROM的产品

25、与8031价格已接近。ROM为厂家定制产品,由用户把程序编好后由生产CPU的厂家在生产时写入,不可更改,但成本低,保密性好,工作可靠,适用于大批量成熟产品的生产。第八章 单片机系统扩展 EPROM产品应用比较广泛,程序可擦除修改,但需要专门的擦除器和写入器。现在EEPROM产品应用非常广泛,它具有在线多次擦除、写入的特点,写入速度快。另外,现在市场上已很难买到小容量的EPROM产品,所以读者在扩展时可直接选用27512,价格也便宜,如程序量不满,将相应的高位地址线不用即可,具体应用见图8-10。如果是8751/8951产品,要接高电平,而且因为程序存储空间内外统一编址,所以片外程序要从4KB以

26、上存放,这样当执行程序超过4KB时自动访问外部程序存储器。当然,在这种情况下也可将接低电平,作8031使用,程序全部放在外部程序存储器中。应该说,现在单片机产品内部程序存储器的容量有多种选择,故在实际应用中已很少扩展片外程序存储器。第八章 单片机系统扩展 图8-10 8031片外扩展64 KB EPROM和32 KB RAM系统 第八章 单片机系统扩展 8.2.3 数据存储器扩展数据存储器扩展基本的MCS-51单片机片内RAM的容量只有128 B(80C52有256B),当系统计算比较多,工作过程中有大量数据时,片内RAM就不够用了,此时就需片外扩展数据存储器RAM,最大可扩展64KB(特殊应

27、用可不受此限制)。由于单片机面向控制,对于一般实际需要,扩展容量不大,若需要具有随机读写功能,则采用静态RAM较方便,如6116为2K8位RAM,6264为8K8位RAM,62256为32K 8位RAM等,与程序存储器同样道理,一般可直接选用62256。与动态RAM相比,静态RAM无需考虑保持数据而设置有刷新电路,故扩展电路较简单。第八章 单片机系统扩展 第八章 单片机系统扩展 1静态静态RAM的扩展的扩展静态RAM存储器有读出、写入、维持三种工作方式,这些工作方式的操作控制见表8-2。扩展应用62256,就是根据62256的工作方式,由单片机在读出、写入和维持数据时在相应的地址处发出对应的控

28、制信号,完成对62256的操作。第八章 单片机系统扩展 表表8-2 62256(6264等等)的操作控制的操作控制第八章 单片机系统扩展 图8-10所示为采用大容量存储器芯片27512和62256为8031片外扩展64KB EPROM和32KB RAM的原理电路图。其中8031要接地,如为8751/8951而不扩展程序存储器可直接将27512去掉,这时接高电平。图中62256的片选端接8031的P2.7,P2.7输出为0时,才能选通62256,所以它的地址为0000H7FFFH。27512的接地,为常选通,地址为0000HFFFFH。如选用其它RAM芯片,则仅是地址线数目和个别引脚有些差别。第

29、八章 单片机系统扩展 2EEPROM的扩展的扩展EEPROM即电擦除可编程只读存储器,它突出的优点是能够在线擦除和改写,不像EPROM必须用紫外线照射才能擦除。EEPROM既具有ROM的非易失性的优点,又能像RAM一样随机地进行读写,每个单元可重复进行1万次改写,保留信息的时间长达20年,不存在EPROM在日光下信息缓慢丢失的问题。过去,EEPROM产品在写数据时需要比较高的编程电压(12.5V),但现在一般EEPROM产品在写入时能自动完成擦除,且不再需要专用的编程电源,可以直接用单片机系统的5V电源来完成,这大大方便了用户,使EEPROM产品的应用更加广泛。第八章 单片机系统扩展 在芯片的

30、引脚设计上,2KB的EEPROM 2816与同容量的EPROM 2716和静态RAM 6116是兼容的,8KB的EEPROM 2864A与同容量的EPROM 2764A和静态RAM 6264也是兼容的,因此可以直接作为数据存储器和程序存储器使用。上述这些特点使硬件电路的设计和调试更加方便。现在EEPROM产品主要有两类:一类采用并口操作,如上面所说的28系列;还有一类采用串口操作,如ATMEL的24C等,只能做RAM扩展。第八章 单片机系统扩展 在调试程序中也可用EEPROM代替仿真RAM,既可方便修改程序,又能保存调试好的程序。当然,与RAM芯片相比,EEPROM的写操作速度很慢;另外,它的

31、擦除/写入是有寿命限制的,虽然有一万次之多,但也不宜用于数据频繁更新的场合。因此,应注意平均地使用各单元,不然有些单元可能提前就结束寿命了。EEPROM的取数时间与相同容量的EPROM速度相当,均为250ns,甚至还快一些,但写入的时间较长,一般为10ms。由于EEPROM多用于在工作情况下改写存储单元中的内容,即在程序运行中进行改写,因此需在软件设计时充分考虑这一特点。第八章 单片机系统扩展 第八章 单片机系统扩展 图8-11 2864A DIP引脚图第八章 单片机系统扩展 表表8-3 2864A的工作方式的工作方式 应该说,EEPROM产品不同,工作方式也有一些差别(如并行、串行,页操作等

32、)。2864A的工作方式如表8-3所示,有4种工作方式。第八章 单片机系统扩展 第八章 单片机系统扩展 3)写方式2864A写方式分为字节写入和页写入两种。16个字节为1页,页写入操作就是每次连续对EEPROM中16个单元进行写入。不论是字节写入还是页写入,写操作都由页装载和页存储两步完成:第一步由CPU(即单片机)向2864A中的页缓冲器写入数据,这一步称为页装载,与一般的静态RAM写操作是一样的。第二步在最后一个字节(即第16个字节)写入到页缓冲器后20ns自动开始,把页缓冲器中的内容写到EEPROM阵列中对应地址的单元中,这一步称为页存储。2864A中有一个16字节的静态RAM用作页缓冲

33、器。EEPROM阵列由512页组成,地址线A3A0选择页缓冲器中的16个字节,A12A4选择512页中的1页。第八章 单片机系统扩展 第八章 单片机系统扩展 第八章 单片机系统扩展 第八章 单片机系统扩展 图8-12 8031外扩2864A系统第八章 单片机系统扩展 第八章 单片机系统扩展*入口参数:N=写入字节数(16)Byte=写入EEPROM的地址(低位)Page=写入EEPROM的地址(高位)Pt=源数据区首址*第八章 单片机系统扩展 int S_DATA,F_DATA,C_DATA,N;XDATA Byte低地址;XDATA Page高地址;for(N=0;N16;N+)S_DATA

34、=*Pt;/取数据Byte=S_DATA;/写入2864ADPTR+;Byte+;第八章 单片机系统扩展 if(Byte=0)Page+;/高位地址加1Byte=Byte-;/数据查询和最后一个字节的原始数据比较ACC7=1;while(ACC7=1)F_DATA=Byte;C_DATA=S_DATAF_DATA;第八章 单片机系统扩展 在应用中要注意EEPROM中程序区和数据区的区分,一定不要重叠,否则会产生灾难性后果。应该说,由于8031已很少使用,图8-12的实用价值并不大,而且很不可靠。但略加变化,将CPU改为8751/8951,2864作为数据存储器使用保存掉电不丢失的数据还是很实用

35、的。8.2.4 人机通道接口人机通道接口随着单片机应用系统功能的增多,在系统运行前和运行中人进行数据输入和工作状态控制已非常普遍。而且,人也希望了解系统运行的实时状态和结果。这样,键盘、显示器等就成为人机交互的良好渠道。因此,人机通道接口设计是单片机应用设计的一个重要方面。第八章 单片机系统扩展 1.显示接口显示接口通过显示接口,显示器可以向人们提供系统参数、运行状态和结果等信息。从电路组成来看,一是要根据显示信息的要求选择合适的显示器件;二是要完成单片机与显示器件的连接,即接口电路的设计。当然,提供所要求的信息还需要有软件的支持。从显示器件来看,可以只采用发光二极管来显示状态,其设计简单,成

36、本低,但显示状态少;也可以使用液晶显示器显示比较复杂的图形等,此设计相对复杂,成本高(有段式、点阵字符式和点阵图形式等显示方式,一般有驱动芯片)。现在单片机应用系统使用最多的LED数码显示器具有设计方便,使用灵活,成本低等特点,已被广泛采用。第八章 单片机系统扩展 1)LED显示器简介通常所说的LED显示器也称为七段LED显示器,其排列形状如图8-13所示,由7个发光二极管构成字型“8”的各个笔画(段)ag。此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。当在某段发光二极管上施加一定的正向电压时,该段发光二极管(该段笔画)即点亮。这样,通过七段发光二极管亮暗的不同组

37、合,可以显示多种数字、字母以及其它符号。通常称控制发光二极管的8位数据位为段选位,显示器共阴极或共阳极的公共连接点为位选位。第八章 单片机系统扩展 图8-13 七段LED显示器 第八章 单片机系统扩展 LED显示器中的发光二极管有两种连接方法。(1)共阳极接法。把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V或位控制端。这样,阴极端输入低电平段(位控制端选通)的发光二极管就导通点亮,而输入高电平的则不点亮。(2)共阴极接法。把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地或位控制端。这样,阳极端输入高电平段(位控制端选通)的发光二极管就导通点亮,而输入低电平的则不点亮。

38、使用LED显示器时要区分这两种不同的接法。为了显示数字或符号,要为LED显示器提供代码,因为这些代码是与显示字形相对应的,因此称之为字形代码,如表8-4所示。第八章 单片机系统扩展 表表8-4 七段七段LED显示器显示字形编码表显示器显示字形编码表第八章 单片机系统扩展 2)LED显示器的工作方式(1)静态显示。所谓静态显示,就是当显示器显示某一个字符时,相应的段(发光二极管)恒定地导通或截止,直到显示下一个字符为止。例如七段显示器的a、b、c、d、e、f段导通,g段截止,则显示“0”。当b、c段导通而其它段截止时显示“1”。这种显示方式每一位显示器都需要有一个8位输出口控制。当显示器位数较少

39、时,采用静态显示的方法是适合的;当位数较多时,用静态显示所需的I/O口太多,这时一般采用动态显示方法。第八章 单片机系统扩展(2)动态显示。实际使用的LED显示器一般都是多位的,为了简化电路,降低成本,可将所有LED显示器的段选线并联在一起,由一个8位I/O口控制,每一个LED显示器的公共端由相应的I/O线控制,实现各位的分时选通。对多位LED显示器,通常都采用动态扫描的方法进行动态显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。为了实现LED显示器的动态扫描,除了要给显示器提供段(字形代码)的输出之

40、外,还要对显示器位加以控制,这就是通常所说的段控和位控。第八章 单片机系统扩展 因此,多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于显示器的位数。对于显示器的每一位来说,每隔一段时间依次点亮。显示器的亮度既与导通电流有关,又与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。第八章 单片机系统扩展 3)显示扩展应用例例8-1 用输出寄存器74273接8个七段显示器(共阴极),试设计接口电路和控制程序。解解 因显示器较多(8个),所以采用动态显示方式。8个七段显示器的接口电路需要两片7427

41、3,一个段控,一个位控,接口电路如图8-14所示。段选地址为7FFFH(A15=0,A14=1),因为74273输出接有反向器,所以输出低电平有效,相应的段码亮。其中dp没有使用,所以只使用了D6D0 7根数据线。位选的地址为BFFFH(A15=1,A14=0),74273输出高电平有效,三极管打开,选中相应的数码显示器。第八章 单片机系统扩展 虽然图中使用的是共阴极器件,但存储的是共阳极段选码(74273输出接反向器),而且dp不用,为0。DB区数据如程序所示。第八章 单片机系统扩展 图8-14 两片74273接口8个七段显示器的接口电路第八章 单片机系统扩展*入口参数disbuffer8=

42、源数据区*void delay(uinti);void display(void);void delay(uint i)uint j;for(j=0;ji;j+)第八章 单片机系统扩展 第八章 单片机系统扩展 第八章 单片机系统扩展 2键盘接口键盘接口键盘是单片机应用系统中最简单常用的输入设备。操作员通过键盘输入数据或命令,实现简单的人机通信,控制系统的工作状态及向系统输入数据。键盘是一组按键的集合,按键通常是一种常开型按钮开关,平时按键的两个触点处于断开(开路)状态,按下后闭合(短路)。键盘上闭合键的识别由专用硬件实现的,称为编码键盘;靠软件实现的,称为非编码键盘。第八章 单片机系统扩展 过

43、去单片机系统采用的按键开关多为机械弹性开关,由于机械触点的弹性作用,开关在按下闭合时并不能马上稳定,断开时也不会马上断开,因而开关在闭合和断开瞬间均伴随有一连串的抖动。抖动的时间长短由按键开关的机械特性及按键的人为因素所决定,一般为520ms。如果对按键抖动处理不当,可能会引起一次按键被处理多次。为了确保CPU对一次按键仅做一次处理,必须做消除按键抖动处理,在按键闭合稳定后再读取按键的状态。消除按键抖动可用硬件或软件方法。当按键数较少时可采用RC电路、RS触发器、施密特触发器等硬件电路去除抖动。第八章 单片机系统扩展 如果按键数较多,为降低成本,简化电路,一般采用软件方法去除抖动,即当检测到按

44、键状态发生变化时执行一个520ms的延时,待抖动消除后再检测按键的状态是否真正发生变化。随着电子技术和电路加工工艺水平的发展,现在很多单片机应用系统(特别是产品类,量比较大)都使用薄膜开关。薄膜开关是由具有一定柔性的绝缘材料层和导电材料层组成的一种多层结构非自锁按键开关,它集按键开关、面板、功能标记、读数显示窗、指示灯透明窗、开关内连线、开关电路引出线以及常规面板上要标注的文字、符号、装饰内容为一体,从而构成整个电子操纵系统,带来了电子产品外观及操作系统的根本变革。第八章 单片机系统扩展 薄膜开关装置中有许多种不同形式和结构的按键。按键的基本性能例如行程、操作力和机械寿命主要由按键类型和材料决

45、定,其中包括单片线路开关和双片线路开关,具有金属弹片按键、聚脂按键和无感按键等形式。这种开关由厂家根据用户的要求直接定做,具有体积小,美观大方,工作可靠和寿命长等特点,当量大、键数多时成本也很低,所以现在应用也很普遍。第八章 单片机系统扩展 键盘有独立式和行列式(矩阵式)两类。1)独立式键盘独立式键盘的各键相互独立,每一个按键接一条数据线。这种键盘结构简单,当任何一个键按下时,与之相连的输入数据线状态就会发生变化(如由高变低)。因为单片机具有位处理指令,所以判别并处理这种按键操作非常方便。当键数较多时,这种工作方式要占用较多的I/O口线(每一个键一条),所以其应用范围有限。第八章 单片机系统扩

46、展 2)行列式键盘当键数较多时,为减少键处理的I/O口线数量,通常将键排成行列矩阵形式。按键接在行列的交叉点,行线和列线平时不通,当键按下时接通。N条行线和M条列线可以组成NM个按键的键盘,需要N+M条I/O口线。44的键盘结构如图8-15所示,N=M=4,共16个键,需要N+M=8条I/O口线(图中由74373和74244扩展)。CPU对74373的操作是输出,对74244的操作是读入。图中列线通过电阻接+5V电源,74373行线上输出低电平有效。当键盘上没有键闭合时,所有的行线和列线断开,则在列线读的D7D4都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线与列线短路。第八章 单片机系

47、统扩展 例如,6号键按下闭合时,行线Q2(D2)和列线D5短路,此时D5的电平由Q2的电平所决定。在CPU的控制下,使行线Q0(D0)为低电平0,其余三根行线Q1、Q2、Q3都为高电平。然后CPU通过74244读列线的状态,如果D7D4都为高电平,则Q0这一行上没有键闭合,如果读出的列线状态不全为高电平,则为低电平的列线和Q0相交的键处于闭合状态。如果Q0这一行上没有键闭合,接着使行线Q1为低电平,其余行线为高电平,用同样的方法检查Q1这一行线上有无键闭合,依此类推,最后使行线Q3为低电平,其余的行线为高电平,检查Q3这一行上是否有键闭合。6号键按下闭合后,当Q2等于0时会读得D5为0,则CP

48、U可以确定是6号键按下。第八章 单片机系统扩展 这种逐行逐列检查键盘状态的过程称为对键盘的一次扫描。如不采用中断方式,CPU可以先确定是否有键按下。这时可以向键盘送(输出)扫描字,然后读键盘状态来确定。例如图8-15中,首先向74373的D3D0输出全0,读74244状态。如果不全为高,则必有键按下,再逐行检查具体哪一个键按下。如果读的状态全高,则没有键按下,不需要逐行扫描,此次检查完毕。这样CPU处理速度更快。因此,实际上单片机对按键的处理工作分两步:首先通过送扫描字或通过中断确定是否有键按下,然后再逐行(或逐列)扫描确定具体是哪一个键按下。第八章 单片机系统扩展 当然,也可以行线通过电阻接

49、高电平,列线分别置低检查行线的状态。如果不通过74373和74244扩展,有一个8位口也可完成。但当键多时,如64个键,就需要两个8位口,用简单的集成电路扩展还是很方便的。第八章 单片机系统扩展 图8-15 44键盘及其接口电路第八章 单片机系统扩展 CPU对键扫描处理一般有三种方式:第一,可以采取程序控制的查询方式,CPU空闲时扫描键盘;第二,可以采取定时控制方式,利用单片机内部定时器产生定时中断,这样每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求,其电路与程序控制方式相同;第三,也可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断请求,对键盘进

50、行扫描,以识别哪一个键处于闭合状态,并对键输入信息做出相应处理。CPU对键盘上闭合键键号的确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。第八章 单片机系统扩展 例例8-2 用输出寄存器和输入缓冲器接44非编码键盘,设计接口电路并编写向单片机输入0F 16个十六进制数字的控制程序。解解 在单片机应用系统中,非编码键盘是一种常用的输入设备,用74373和74244接口的44键盘及其接口电路如图8-15所示。第八章 单片机系统扩展 第八章 单片机系统扩展 表表8-5 44键盘编码对应表键盘编码对应表按对应关系和十六进制数的顺序,将按键的编码排成数据表,放在程序存储器的数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com