第8章MCS-51系统扩展与接口.ppt

上传人:本田雅阁 文档编号:2257903 上传时间:2019-03-12 格式:PPT 页数:72 大小:927.01KB
返回 下载 相关 举报
第8章MCS-51系统扩展与接口.ppt_第1页
第1页 / 共72页
第8章MCS-51系统扩展与接口.ppt_第2页
第2页 / 共72页
第8章MCS-51系统扩展与接口.ppt_第3页
第3页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章MCS-51系统扩展与接口.ppt》由会员分享,可在线阅读,更多相关《第8章MCS-51系统扩展与接口.ppt(72页珍藏版)》请在三一文库上搜索。

1、2019/3/12,MCS-51单片机原理与应用,1,本章导读 本章首先介绍MCS-51单片机最小应用系统与总线扩展,通过总线挂靠的方法,介绍了片外程序存储器和数据存储器扩展,包括大容量存储器扩展技术;并行I/O口的扩展,包括8255A可编程接口芯片的扩展技术。本章还介绍了单片机系统各种可编程接口技术,显示器及键盘接口,A/D转换与D/A转换接口,以及接口的初始化编程和程序设计。,第8章 MCS-51系统扩展与接口,2019/3/12,MCS-51单片机原理与应用,2,单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以独立工作的单片机系统,也称为单片机基本系统。 1单片机最小应用系统

2、 (1)8051/8751最小应用系统 只要外加振荡和复位电路即 构成了最小应用系统,如图8.1。 由于只访问片内程序存储 器, 引脚要接高电平。 P0P3都可用作通用I/O。 (2)8031最小应用系统 除了外加振荡和复位电路外,必须扩展片外程序存储器,1.1 单片机概述 8.1 最小应用系统与总线扩展 1,2019/3/12,MCS-51单片机原理与应用,3,8.1 最小应用系统与总线扩展 2,如图8.2: 引脚要接地,以访问片外程序存储器。 P0作为复用的地址/数据总线,需要有两个“信号灯”来告诉CPU在P0口线上的是地址还是数据? 地址锁存允许信号ALE连接到片外程序存储器的地址锁存控

3、制端,以锁存P0口送出的低8位地址。高8位地址由P2提供。 外部程序存储器选通信号 连接到程序存储器的输出允许端,以控制程序存储器在单片机取指时将指令代码送上P0口。用户可使用的I/O口线只有P1和P3。 图8.1与8.2的晶体振荡器电路中,电容取值为(3010)pF,晶振频率常用612MHz,复位电路中电容C3及电阻,2019/3/12,MCS-51单片机原理与应用,4,R1的取值在晶振频率为12MHz时,为10F及8.2k,在晶振频率为6MHz时,为22F及1k,R2可取300左右。 2单片机总线扩展与地址锁存器 总线是指信息传送的公共流通线。总线具有“串行发送,并行接收”的特 点,每次只

4、能有 一个数据在总 线上发送,但允 许有多个单元 接收总线上的 数据,只要相应 的接收门打开就可以了。,8.1 最小应用系统与总线扩展 3,2019/3/12,MCS-51单片机原理与应用,5,8.1 最小应用系统与总线扩展 4,MCS-51三总线扩展电路示例如图8.3,此图是图8.2中的地址锁存器采用74LS373而来,只是若采用8031则 引脚要接地,若采用8051则 引脚要接高电平。整个扩展系统以单片机为核心,各外围部件挂靠在三总线上构成了较大规模的应用系统。 (1)地址总线AB 地址总线是单向的,传送的是 CPU给存储单元或I/O的地址 在ALE信号有效时将P0口的 低8位地址A0A7

5、通过地址 锁存器输出,而高8位地址 A8A15则由P2口输出,构成,2019/3/12,MCS-51单片机原理与应用,6,8.1 最小应用系统与总线扩展 5,16位的地址总线。寻址范围为64KB,即0000HFFFFH。 但实际扩展的存储器容量不同,高位地址并不固定为8位,而是据需要从P2口中引出。 (2)数据总线DB 数据总线是双向的,传送的是CPU与存储单元或I/O之间的数据。在 、 或 信号有效时,将P0口的8位数据D0D7通过数据总线来传送。CPU通过地址总线选中相应的数据单元后,就可以通过数据总线收发选中的数据单元数据。 (3)控制总线CB MCS-51控制总线传送的是CPU与存储单

6、元或I/O之间的各种控制信号,有的是CPU到存储器或I/O的控制信号,2019/3/12,MCS-51单片机原理与应用,7,8.1 最小应用系统与总线扩展 6,如读、写信号,有的是存储器或I/O发给CPU的,如中断请求输入、计数脉冲输入等。对具体的一条信号线来说,其传送方向是单向的。与总线扩展有关信号说明: ALE为地址锁存选通信号,用以对低8位地址的锁存; 为片外程序存储器的读选通信号,用以取指; 为片外数据存储器和I/O口的读选通信号; 为片外数据存储器和I/O口的写选通信号。 (4)地址锁存器 74LS373是带三态缓冲输出的8D锁存器,其结构示意如图8.4(a), G为允许数据输入端,

7、当G为高电平时,锁存器输出端Q0Q7状态与输入D0D7状态相同(透明);当G由高电平变为低电平时(下降沿),输入端的,2019/3/12,MCS-51单片机原理与应用,8,8.1 最小应用系统与总线扩展 7,数据就被锁存在锁存器中,输入端数据变化不再影响Q端输出。当三态门的输出允许端 为低电平时,三态门处于导通状态,允许Q端输出;当 为高电平时,三态门处于高阻隔离状态,不允许Q端输出。根据74LS373的特性,把作为P0口地址锁存器的连接如图8.4(b)。若采用74LS273, 因其CLK端是上升沿锁存, 所以ALE端输出锁存控制信号必须加一个反相器,如图8.4(c)。,2019/3/12,M

8、CS-51单片机原理与应用,9,1程序存储器EPROM引脚的三总线结构 EPROM 276427512的引脚如图8.5 , 其引脚呈三总线结构,可以方便地与图8.3 MCS-51三总线扩展电路匹配而直接连接。将要介绍的EEPROM和SRAM芯片引脚也是呈三总线结构,以27512为例来说明芯片引脚的三总线结构如表8.1所示,其中VPP为芯片编程电源输入线。 芯片存储容量M由地址数N决定: M = 2N 从图8.5可以得到276427512地址数为1316个,所以各芯片的存储容量分别为: 8KB64KB。,8.2 存储器的扩展 8.2.1 程序存储器的扩展 1,2019/3/12,MCS-51单片

9、机原理与应用,10,8.2.1 程序存储器的扩展 2,2019/3/12,MCS-51单片机原理与应用,11,2片外存储器的扩展方法 EPROM的扩展可按存储器扩展方法进行,将三总线结构的存储器芯片引脚一一对应地与图8.3 所示MCS-51三总线匹配连接。其中, (1)存储器芯片的所有地址线一一对应地与单片机的地址总线同名相连,用于对存储器芯片片内单元的寻址。 (2)单片机剩余的高位地址线作为地址译码,控制存储器芯片的片选端,用于芯片的选择。如果采用单片机的每条剩余地址线直接与存储器芯片的片选端相连,称为线译码。如果单片机所有剩余的高位地址线通过地址译码器输出片选信号,称为全译码。 (3)单片

10、机的读写控制。如果扩展的是程序存储器,8.2.1 程序存储器的扩展 2,2019/3/12,MCS-51单片机原理与应用,12,8.2.1 程序存储器的扩展 3,应将单片机的 与存储器芯片的 端相连;如果扩展的是数据存储器,应将单片机的 和 分别与存储器芯片的 和 端相连。 例8.1 扩展2片27256为程序存储器, 画出框图和计算地址范围。 解:存储器扩展的核心问题是片选与地址分配,按照存储器扩展方法,把两片27256芯片的引脚与单片机的三总线一一对应连接,连接框图如图8.6。,2019/3/12,MCS-51单片机原理与应用,13,(1)两片27256的15条地址线A0A14与单片机的15

11、条地址线一一对应同名并连,用于对存储器芯片片内单元的寻址。 (2)单片机剩余的地址线A15(P2.7)作为线译码线,控制27256的片选端,用于芯片的选择。单片机的地址线A15加到27256(1)的片选端,反相后加到27256(2)的片选端。 (3)27256芯片的地址范围如表8.2。 A15 = 0,选中芯片256(1),对片内单元寻址的A0A14取值范围是全0到全1,所以256(1)的地址范围是0000H7FFFH。 A15 = 1,选中芯片256(2),同样可得256(2)的地址范围是8000HFFFFH。,8.2.1 程序存储器的扩展 4,2019/3/12,MCS-51单片机原理与应

12、用,14,8.2.2 数据存储器的扩展 1,(4)单片机的数据总线与27256芯片的数据线一一对应同名并连, 与27256芯片的输出允许端 都相连。 1SRAM与EEPROM芯片引脚的三总线结构 EEPROM2864A的引脚图见图8.7, 作为程序存储器时,其引脚与图8.5的2764是兼容;作为数据存储器时,则与其在同一图中的SRAM 6264兼容。,2019/3/12,MCS-51单片机原理与应用,15,一般称容量超过单片机寻址范围的存储器为超大容量存储器。FEEPROM(闪存)是EEPROM的改进产品,图8.8是几种AT29C型闪存引脚图。当用超大容量闪存来扩展片外存储器时, 对超出A15

13、的地址线可与P1口的I/O线相连接。,8.2.2 数据存储器的扩展 2,2019/3/12,MCS-51单片机原理与应用,16,8.2.2 数据存储器的扩展 3,2存储器扩展举例 例8.2 扩展一片超大容量AT29C010作为单片机的程序存储器存储器或数据存储器,试画出连接框图和计算其地址范围。 解:AT29C010有17根地址线,容量为128KB,所以要采用扩展超大容量存储器的方法,连接框图如图8.9。 (1)29C010的A0A15与单片机的地址总线一一对应同名相连,A16与P1.0相连,用于对存储器芯片片内单元的寻址。 (2)因系统中存储器只有单片扩展,29C010的 可以直接接地。,2

14、019/3/12,MCS-51单片机原理与应用,17,8.2.2 数据存储器的扩展 4,(3)29C010的数据线I/O0I/O7与单片机的地址总线一一对应同名相连, 与 相连。单片机 和 经过与门后与29C010的 相连,两个控制信号只要有一个有效,就可以对29C010进行读出操作。这样的接法是把29C010芯片既看作是程序存储器,又看作是数据存储器。 把29C010看作程序存储器是在 信号有效,即执行取指指令: MOVC A,A+DPTR。 把其看作数据存储器是在 或 信号有效,即执行读写指令: MOVX A,DPTR ;读片外数据存储器 MOVX A,Ri MOVX DPTR,A ;写片

15、外数据存储器 MOVX Ri,A (4)29C010的地址范围如表8.3,其17条地址线A0A16取值范围从全0到全1,就可得到其为寻址空间为00000H1FFFFH。当,2019/3/12,MCS-51单片机原理与应用,18,8.2.2 数据存储器的扩展 5,P1.0 = 0时,对0000HFFFFH间的低64KB寻址;当P1.0 = 1时,对10000H1FFFFH的高64KB寻址。 例8.3 扩展一片29C256为程序存储器,一片62256为数据存储器,采用74HC139为地址译码器,试画出连接框图和计算其地址范围。解:29C256和62256均为32KB芯片,按照存储器芯片扩展方法,分

16、别将29C256和62256扩展为程序存储器和数据存储器,将它们三总线结构的引脚与单片机的三总线一一对应连接,连接框图如图8.10。,2019/3/12,MCS-51单片机原理与应用,19,8.2.2 数据存储器的扩展 6,(1)两扩展芯片15条地址线A0A14都与单片机的15条地址线一一对应同名相连,用于对存储器芯片片内单元的寻址。 (2)两扩展芯片数据线I/O0I/O7与单片机数据总线一一对应同名相连。单片机 与29C256的 相连,用于取指控制;单片机的 与 信号分别与62256的 和 相连,用于数据的读写控制。,2019/3/12,MCS-51单片机原理与应用,20,8.2.2 数据存

17、储器的扩展 7,(3)二四译码器74HC139的输出端Y0和Y1分别与两扩展芯片的片选端相连,用于芯片的选择。139的译码输入端B接地,另一个译码输入端与单片机剩余的地址线A15(P2.7)相连,其使能端 则与P1.0相连。当P1.0 = 0时,74HC139被选中。 P2.7 = 0,按139的真值表译码输出端Y0有效,选中的是程序存储器29C256;对片内单元寻址的A0A14取值范围是全0到全1,所以29C256的地址范围是0000H7FFFH。 P2.7 = 1,同理可得Y1有效,选中的是数据存储器62256;其A0A14取值范围是全0到全1,所以62256地址范围是8000HFFFFH

18、。地址分配如表8.4。本例片选控制采用的就是全译码方法。,2019/3/12,MCS-51单片机原理与应用,21,8.3 并行I / O口的扩展 1,I/O接口扩展3种方法: 中小规模集成电路的简单I/O口扩展 可编程接口芯片进行I/O口扩展 串行口外接移位寄存器进行I/O口扩展(见第7章)。 8.3.1 并行I/O口的简单扩展 扩展简单I/O口时,数据线的连接方法与片外存储器扩展时一样,将输入具有三态缓冲,输出具有锁存的芯片的I/O口线与单片机数据总线一一对应地相连。虽然这些简单I/O芯片没有专门的地址线,可以将单片机的高位地址线与读写( 与 )信号线通过组合门电路与I/O芯片的控制端相连,

19、从然使它们具有了相应的口地址。 图8.11采用8位三态缓冲器74HC244扩展输入口,采用8D锁存器74HC574扩展输出口。扩展的I/O口并行数据,2019/3/12,MCS-51单片机原理与应用,22,8.3 并行I / O口的扩展 2,都经过双向总线P0口,P0口的8条数据线一一对应地与574的8个输入端以及244的8个输出端相连。这样,P0口既能通过244读入外部输入开关的状态,又能将此数据通过锁存器574输出保持,去控制LED的状态。两个扩展芯片的输出允许端都是接地的。 扩展输出口地址获得:P2.7与 相或后去控制574的时钟端CP,当或门输入 全0时,或门输出为0, 将P0口输出的

20、数据 锁存到574的输出端。 同样,可以按存储器 扩展时地址计算方 法,得到扩展输出口,2019/3/12,MCS-51单片机原理与应用,23,8.3 并行I / O口的扩展 3,地址为7FFFH。这里,只用到了一条地址线P2.7,与其余的15条地址线无关,所以扩展输出口将有许多重叠的地址。一般是将没有用到的地址线取1,如表8.5。 扩展输入口地址获得:P2.7与 相或后去控制244的使能端 ,当或门输入全0时,或门输出为0,使244芯片被选通,将外部按钮状态读入到P0口。同样,可得扩展输入口地址为7FFFH。扩展输入/出口地址虽相同,但由于受单片机读写信号不会同时为0的约束,而不会引起地址冲

21、突。用指令来实现在图8.11中按下任意一个按钮,对,2019/3/12,MCS-51单片机原理与应用,24,8.3.2 8255A可编程并行I/O接口 1,应的LED灯就会发光: MOV DPTR, #7FFFH ;指向I/O口地址 MOVX A, DPTR ;从244读入按钮状态 MOVX DPTR,A ;将按钮状态向574输出,控制LED 8255A可编程并行I/O接口芯片可以同MCS-51系列单片机直接相连,可以为系统扩展3个8位的并行I/O端口,各端口的功能可由编程设定。 可以通过编程来改变其功能的接口芯片称为可编程接口芯片。 18255A引脚和内部结构 8255A的内部结构框图和引脚

22、图如图8.12(a)和(b)。各引脚的功能见表8.6,8255A共有40个引脚。表中前4行为数据总线,D0D7用于传送CPU与8255A之间的命,2019/3/12,MCS-51单片机原理与应用,25,8.3.2 8255A可编程并行I/O接口 2,令与数据,A口C口的数据线用于8255A与外设之间数据传送。 、A1和A0为寻址线,A1和A0通常与单片机地址总线最低两位A1和A0相连,当 有效时,A1和A0的4种编码组合00、01、10、11,2019/3/12,MCS-51单片机原理与应用,26,8.3.2 8255A可编程并行I/O接口 3,分别用来选择A、B、C口和控制寄存器。 、 和R

23、ESET控制8255A的读写和复位。 8255A可编程接口由以下4个逻辑结构组成。,2019/3/12,MCS-51单片机原理与应用,27,8.3.2 8255A可编程并行I/O接口 4,(1)3个并行I/O端口 每个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。通常A口和B口用作输入/输出口,而C口可分为两个4位口,也用于输入/输出。当A或B被设为选通方式时,C口将降到从属地位,成了A、B的联络信号。可以通过编程设置端口的不同工作方式,即输入方式和输出方式,对于A口还可以设定为输入/输出双向方式。 (2)工作方式控制器 工作方式控制器有A和B两组,A组控制A口和C口的高4位(

24、PC7PC4),B组控制B口和C口的低4位(PC3PC0),对C口还可按位实现置位或复位。两组控制器共享一个控制寄存器,接收来自CPU的命令字,从而决定8255A的工作方式。,2019/3/12,MCS-51单片机原理与应用,28,8.3.2 8255A可编程并行I/O接口 5,(3)数据总线缓冲器 它是一个8位的双向三态驱动器,能与单片机的数据总线直接相连,D0D7用来传送8255A与CPU间的数据、命令和状态字。 (4)读写控制逻辑 读写控制逻辑有6条信号线,各引脚的功能已经在表8.6中作了说明。读写控制逻辑主要用于接收单片机送来的读写命令、片选、口地址选择和复位信号,控制各个口的工作状态

25、,管理所有的数据、控制字或状态字的传送,实现对8255A的硬件管理。这些信号线对8255A 端口选择和读写操作如表8.7。 28255A 控制字与初始化编程 8255A 有两个控制字,即方式控制字和C口置位/复位,2019/3/12,MCS-51单片机原理与应用,29,8.3.2 8255A可编程并行I/O接口 6,控制字,这两个控制字以D7位为标志来区分。若D7 = 1,为方式控制字;若D7 = 0,为C口置位/复位控制字。 (1)方式控制字 方式控制字设置8255A三个数据口的工作方式,其格式,2019/3/12,MCS-51单片机原理与应用,30,8.3.2 8255A可编程并行I/O接

26、口 7,和各位的含义如图8.13。 (2)C口置位/复位控制字 8255A初始化编程就是向控制寄存器写入方式控制字或C口置位/复位控制字。这两个控制字可按同一地址写入,也不 受先后顺 序的限制, 8255A会,2019/3/12,MCS-51单片机原理与应用,31,根据两个控制字的标志位来加以区分。 例8.4 试分别对8255A初始化编程: (1)A口为方式0输入,B口为方式0输出,C口高低4位均为输入;(2)使PC7 = 0,PC0 = 1。设控制寄存器的地址为03FFH。 解:(1)按要求8255A方式控制字为99H,如图8.15。 初始化程序段为: MOV DPTR, #03FFH ;指

27、向8255A制寄存器地址 MOVX A,#99H ;向控制口写入方式控制字 MOVX DPTR,A (2)若要使PC7 = 0,PC0 = 1,根据图8.14的C口置位/复位控制,8.3.2 8255A可编程并行I/O接口 8,2019/3/12,MCS-51单片机原理与应用,32,字,容易得到置位/复位控制字分别为0EH和01H。程序段为: MOV DPTR,#03FFH ;指向8255A制寄存器地址 MOVX A,#0EH ;向控制口写入C口置位/复位控制字 MOVX DPTR,A MOVX A,#01H ;向控制口写入C口置位/复位控制字 MOVX DPTR,A 38255A工作方式 (

28、1)方式0 方式0为基本I/O方式,AC口均可由编程设定为输入/输出。CPU可无条件对8255A进行数据传送,而不需要联络信号线。各个I/O口作为输出时,输出数据可被锁存;但作为输入时,除A口外,B和C口的输入数据不能被锁存。改变方式控制字中的相关位的值,A口、B口以及C口的高低4位可组合成16种不同的输入或输出方式。,8.3.2 8255A可编程并行I/O接口 9,2019/3/12,MCS-51单片机原理与应用,33,8.3.2 8255A可编程并行I/O接口 10,(2)方式1 方式1为选通I/O方式,在此方式下3个口被分成A、B两个组。A 组由A口和C口的高4位组成,A口可由编程设定为

29、输入/输出,C口的高4位则用来作为输入/输出操作的联络信号。B组由B口和C口的低4位组成,B口可由编程设定为输入/输出,C口的低4位则用来作为输入/输出操作的联络信号。C口提供的联络信号线见表8.8中,用户不能编程改变表中定义,不能用C口置位/复位控制字来使其置位或复位。因为B口和A口的联络信号线的含义是一样的,拿A口的联络信号和A口的输入/输出为例来说明。 :外设送往A口数据输入选通信号。其有效时,外设把己经送到A口数据线上的数据选通锁存到A口的输入锁存器内,并使IBFA信号变高。 IBFA:A口输入缓冲器满信号,由8255A输出给CPU或外设以供查询。当IBFA = 1时,表示A口已经接收

30、到外设输入的数据,但尚,2019/3/12,MCS-51单片机原理与应用,34,8.3.2 8255A可编程并行I/O接口 11,未被CPU取走。此时外设应暂停发送新的数据,直到输入缓冲区变空为止。它由 信号置位,由 信号上升沿复位。 :输出缓冲器满信号,由8255A输出给CPU或外设以供查询。当 = 0时,表示CPU已将数据送到A口,外设可以将其取走。它由 信号置位,由 信号上升沿复位。,2019/3/12,MCS-51单片机原理与应用,35,8.3.2 8255A可编程并行I/O接口 12, 外设收到输出数据的响应信号,由外设输入给8255A。当 = 0时,表示外设已将A口数据取走,并使

31、变高,表示CPU可以输出下一个数据,更新A口的输出缓冲区。 INTRA:中断请求信号,由 8255A输出给CPU或中断控制器。输入时出现IBFA 信号或输出时出现 信号有效后,8255A都会形成有效的中断请求信号INTRA以向CPU申请中断,请求CPU输入/输出下一个数据。 每组作选通输入或选通输出时,均使用3条联络信号线,见表8.8。 (3)方式2 方式2为双向数据传送方式,A口为8位双向数据口, C口的PC3PC7作为联络信号,如表8.8。只有A口可编程为双向数据口,这时B口只能编程为方式0或方式1;而C口剩下的3条线PC0PC2可作为I/O线用,或作为B口方式1下的控制线。A口方式2实际

32、上是在方式1下输入输出的结合, 其输入/输出过程与联络信号线的作用可参照方式1中说明来理解。,2019/3/12,MCS-51单片机原理与应用,36,8.3.2 8255A可编程并行I/O接口 13,48255A与MCS-51的连接 8255A与MCS-51单片机的连接时,可按同名信号线直接相连,图8.16是一种常用的采用线译码的连接方法。 例8.5 试用图8.16电路来实现图8.11电路功能。设A口接按钮,B口接LED,实现按下任意一个按钮,对应的LED灯就会发光。 解:(1)方式控制字 A口为方式0输入,输入 按钮状态;B口为方式 0输出,决定LED是否点 亮。例8.4已求出方式 控制字为

33、99H。 (2)各端口地址 要选中8255A,必须P2.7 (A15)= 0;,2019/3/12,MCS-51单片机原理与应用,37,8.4 显示器及键盘接口 8.4.1 显示器及其接口 1,单片机的最低两位地址线与8255A的端口选择线同名相连,因此,根据上节中介绍的地址分配计算方法可得8255A的AC口和控制口的地址分别为7FFCH、7FFDH、7FFEH和7FFFH。 (3)相关的程序段: MOV DPTR,#7FFFH ;指向8255A制寄存器地址 MOVX A,#99H ;向控制口写入方式控制字 MOVX DPTR,A MOV DPTR,#7FFCH ;指向A口地址 MOVX A,

34、DPTR ;从A口读入按钮状态 INC DPTR ;指向B口地址 MOVX DPTR,A ;将按钮状态信息向B输出,控制LED 1LED显示器结构与原理 LED显示器是由发光二极管组成能显示字段的显示器件,又称为数码管。它由8个发光二极管构成,其中7个发光二极管做成七段,2019/3/12,MCS-51单片机原理与应用,38,8.4.1 显示器及其接口 2,横竖笔划的字段,组成一个8字,第8个做成小数点的形状,其外形结构如图8.17(a)。七段中取不同的组合可用来显示数字09、字母AF及小数点等字符。 共阳极:把显示器8个LED的阳极并接在一起,如图8.17(b);一般阳极接+5V, 阴极串联

35、电阻后, 低电平来驱动。 共阴极:把显示器8个LED的阴极并接在一起,如图8.17(c);一般阴极接地, 阳极串联电阻,用高电平驱动。 限流电阻值按单个LED显示器电流为2030mA为宜。,2019/3/12,MCS-51单片机原理与应用,39,8.4.1 显示器及其接口 3,要显示某个字形就应使此字形的相应字段点亮,这种驱动相应字段点亮的字形数据称七段码,或叫字形码。 共阴极LED显示器字形与七段码关系:把七段码用一个8位二进制数来表示,其各位定义如图8.18,按此定义可以得到LED显示器的共阴七段码如表8.9中右起第2列所示,表中各字段点亮为1,不点亮为0。如要显示数字0,只有dp和g段不

36、 亮,其余字段均应点 亮,所以对应的七段 码为00111111B,即 3FH。对于低电平驱动的共阳七段码,只要将表8.9中的共阴七段码对应取反就可以了,如要显示数字0,所对应的七段码为11000000B,即C0H。,2019/3/12,MCS-51单片机原理与应用,40,8.4.1 显示器及其接口 4,2019/3/12,MCS-51单片机原理与应用,41,8.4.1 显示器及其接口 5,2LED显示器的显示方式及其接口 LED显示器按对公共端接法分静态与动态显示两种。 (1)静态显示方式 图8.19是一个串行静态共阴LED显示电路,8个74LS164的CLR端 接高电平, 成为串入 并出的移

37、 位寄存器, 每个164 的8个输 出端 Q0Q7分别,2019/3/12,MCS-51单片机原理与应用,42,8.4.1 显示器及其接口 6,驱动对应LED显示器的8个段选端,各LED显示器的COM端接地。在串口方式0下,CPU从TXD输出移位脉冲到各个164的时钟端CP,而RXD发送移位数据(七段码)到164(0)的串行数据输入端A和B,每次输出8个字节七段码数据,由164把串口输入的数据变为并行输出去驱动各个LED显示器的8个段选端。 例8.6 4位LED串行静态显示采用图8.19电路结构,试编写显示子程序JDIR。要显示的十六进制数存放在7CH7FH显示缓冲区中,通过查表法获取要显示数

38、的七段码。 解:对显示子程序JDIR说明如下。 操作功能:将显示缓冲区中十六进制数据送4位LED显示器以静态方式显示。 入口条件:要显示的数存放在以7CH为起址的连续4个单元组成的显示缓冲区中。,2019/3/12,MCS-51单片机原理与应用,43,8.4.1 显示器及其接口 7,出口条件:把预置在显示缓冲区中的数通过4位LED显示器输出,更新原有的显示。汇编源程序如下: JDIR: SETB RS0 ;切换到第1组工作寄存器,保护现场 MOV SCON, #00H ;串口方式0,波特率为 /12 MOV R7,#04H ;4位LED显示器 MOV R0,#7CH ;指向显示缓冲区首地址 D

39、L0: MOV A,R0 ;从显示缓冲区取要显示的数 MOV DPTR,#SEGPT ;指向七段码表首地址 MOVC A,A+DPTR ;查要显示的数七段码 MOV SBUF,A ;串行发送七段码 DL1: JNB TI,DL1 ;状态查询,1字节发送完了吗? CLR TI ;发送完,清发送中断标志 INC R0 ;指向下一个显示缓冲单元 DJNZ R7,DL0 ;4位未传送完,继续 CLR RS0 ;切换到第0组工作寄存器,恢复现场 RET SEGPT:DB 3FH,06H,5BH,4FH,66H,6DH;共阴七段码表 DB 7DH,07H,7FH,6FH,77H,7CH,39H,5EH,7

40、9H,71H,2019/3/12,MCS-51单片机原理与应用,44,8.4.1 显示器及其接口 8,(2)动态显示方式 LED显示器动态显示方式下,CPU送出的七段码是加到所有显示器的段选端的,要决定那个显示器点亮,还取决于受I/O线控制的COM端的电平。图8.20是6位共阳LED显示器动态扫描显示电路,164的8个输出端Q0Q7分别加到所有LED显示器的8个段选端,决定显示的字形。6个I/O线P1.0P1.5分别连接到7406的6个输入端,7406的6个输出端控制各个LED显示器的COM端,这是个位选口,决定那一个LED显示器被点亮。 P1.0P1.5按一定的顺序轮流输出一个“0”时,经7

41、406反相器驱动使相应的LED显示器的com端获得高电位,动态扫描将使各个显示器轮流点亮。,2019/3/12,MCS-51单片机原理与应用,45,8.4.1 显示器及其接口 8,例8.7 试编写图8.20或图8.34所示6位LED显示器动态扫描显示子程序DDIR,要显示的十六进制数存放在7AH7FH显示缓冲区中,通过查表法获取要显示数的七段码。 解:对显示子程序DDIR说明如下。 操作功能:将显示缓 冲区中十六进制数据 送到6位LED显示器 以动态方式显示。 入口条件:要显示的 数存放在以7AH为起 址的连续6个单元组 成的显示缓冲区中。 出口条件:把预置在 显示缓冲区中的数 通过6位LED

42、显示器,2019/3/12,MCS-51单片机原理与应用,46,8.4.1 显示器及其接口 9,输出,更新原有的显示。汇编源程序如下: DDIR: SETB RS0 ;切换到第1组工作寄存器,保护现场 MOV SCON,#00H ;设定串口方式0 MOV R0,#7AH ;显示缓冲区最大地址送R0 MOV DPTR,#SEGT ;指向七段码表首地址 MOV R3,#0FEH ;位选码 MOV A,R3 ;AR3 DL0: MOV P1,A ;轮流选中某1位LED显示器 MOV A,R0 ;从显示缓冲区取要显示的数 MOVC A,A+DPTR ;查要显示的数七段码 MOV SBUF,A ;串行发

43、送七段码 DL1: JNB TI,DL1 ;状态查询,1字节发送完了吗? CLR TI ;发送完,清发送中断标志 ACALL D01S ;调用延时子程序 INC R0 ;指向下一个显示缓冲单元 MOV A,R3 ;取位选码 JNB ACC.5, EDIR ;6位未传送完,继续 RL A ;指向下1位,产生新的位选码,2019/3/12,MCS-51单片机原理与应用,47,8.4.2 键盘及其接口 1,MOV R3,A ;更新位选码 AJMP DL0 ;继续显示下1位 EDIR: CLR RS0 ;切换到第0组工作寄存器,恢复现场 RET D01S: MOV R6,#0D0H ;延时子程序,在p

44、rotues中调试通过 D1: MOV R7,#0FFH ;若硬件改为图8.34电路,则可修改数据为: D2: DJNZ R7,D2 ;R6 = 4,R7 = 248。 DJNZ R6,D1 ;不同的延时时间,将有不同的效果 RET SEGT: DB 0C0H,0F9H,0A4H,0B0H ;共阳七段码表 DB 99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH 键盘是由若干个按键组成的开关阵列, 可分为编码键盘与非编码键盘。编码键盘用硬件逻辑来实现对键的识别,其硬件结构复杂,成本高。非编码键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处

45、理。本节着重介绍非编码键盘与单片机的接口和编程方法。,2019/3/12,MCS-51单片机原理与应用,48,8.4.2 键盘及其接口 2,1按键的机械特性与去抖原理 按键能把机械上的通断转换成为电平的高低, 提供标准的TTL电平给单片机系统。图8.21为一次按键的过程,在闭合和断开的前后沿,有一定的抖动时间,一般为510ms。只有去除或避开抖动时间的影响,才能保证CPU正确识别按键的闭合,可用硬件或软件去抖处理。 硬件消抖常采用的一种R-S触发器电路如图8.22。开关K向下打时的抖动,经R-S触发器后输出的是一个没有毛刺的负脉冲。,2019/3/12,MCS-51单片机原理与应用,49,8.

46、4.2 键盘及其接口 3,软件消抖算法是避开按键的抖动期,在检测到有按键按下时,先执行一个10ms左右的延时等待,再次检测该键时若是否仍处于闭合时的电平,则确认该键牌闭合状态。在检测到有键释放时,也采用相同的算法检测确认,从而消除了抖动的影响。 2键盘电路原理及程序设计 图8.23 为独立 式按键 结构键 盘电路, 每个按 键单独,2019/3/12,MCS-51单片机原理与应用,50,8.4.2 键盘及其接口 4,占有一根I/O线,其工作状态与其它I/O线的状态无关,经每根I/O线输入的信号对应一个输入数据。独立式按键配套的软件常采用查询方式,去抖后查到哪个I/O口线是低电平表明哪个键按下,

47、CPU根据接收到的键值,转向该键的功能处理程序。 图8.24为一44矩阵式键盘电路,由行线X0X3(P1.0P1.3)和列线Y0Y3(P1.4P1.7)组成,按键位于行与列的交叉点上,可设置的按键数为行与列数的乘积,即16个按键。键盘的行线通过上拉电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都被置为高电平。当键盘上有键闭合时,该键所对应的行与列线短路,该行线的电平将由被短路的列线电平所决定。可用图8.25键盘扫描算法,来检测是否有键按下,2019/3/12,MCS-51单片机原理与应用,51,8.4.2 键盘及其接口 5,并确定闭合键所在的行列位 置。算法从列线输出全0扫 描

48、字,读入行线状态来判断 键盘中有无键按下;再从 列线逐列输出0电平,读入 行线状态来判断键盘中哪列 有键按下。检测到电平为0 的行线和列线的交叉处的键 即为闭合的键,并将此行首 键号与列号相加就可得到闭 合键的键号。图8.24键盘电 路为例,可用表8.10来说明键 盘扫描过程,设9号键已闭合,2019/3/12,MCS-51单片机原理与应用,52,8.4.2 键盘及其接口 6,第1步使列线Y0Y3全0,读行线状态。因9号键闭合,则该键所对应的行线X2为0,说明有键按下。 第2步输出列扫描字1110,读行线状态。X0X3都为1,说明列Y0无键按下。 第3步输出列扫描字1101,读行线状态,X0X3不全为1,说明列Y1上有键按下。找到有键按下后,扫描就会停止。如果读到行线状态全为1,列扫描将继续进行,直至步骤5扫描完为止。,2019/3/12,MCS-51单片机原理与应用,53,8.4.2 键盘及其接口 7,确定

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

当前位置:首页 > 其他


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