第5章MCS-51单片机系统的并行扩展技术_第1页
第5章MCS-51单片机系统的并行扩展技术_第2页
第5章MCS-51单片机系统的并行扩展技术_第3页
第5章MCS-51单片机系统的并行扩展技术_第4页
第5章MCS-51单片机系统的并行扩展技术_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 MCS-51单片机系统的并行扩展技术5.1 单片机并行扩展概述5.2 外部存储器的扩展5.3 并行I/O接口的扩展5.4 键盘与显示器的接口技术5.5 并行A/D和D/A转换器接口第5章 MCS-51单片机系统的并行扩展技术内容提要:内容提要: 本章学习本章学习MCS-51MCS-51单片机的并行扩展技术。首先介绍并行单片机的并行扩展技术。首先介绍并行扩展的原理和常用芯片,然后详细给出程序存储器扩展、数扩展的原理和常用芯片,然后详细给出程序存储器扩展、数据存储器扩展、据存储器扩展、I/OI/O口扩展、口扩展、81558155综合扩展、综合扩展、82798279键盘和显示键盘和显示器扩展

2、、并行器扩展、并行A/DA/D和和D/AD/A扩展的原理和具体应用实例。扩展的原理和具体应用实例。5.1 单片机并行扩展概述5.1.1 单片机的外部扩展总线5.1.2 系统扩展常用芯片 5.1.3 系统扩展的寻址方法 5.1 单片机并行扩展概述单片机扩展系统框图单片机扩展系统框图 5.1.1 单片机的外部扩展总线 单片机的外部扩展总线:单片机的外部扩展总线: MCS-51MCS-51单片机内部有地址总线、数据总线和控制总线,内部部单片机内部有地址总线、数据总线和控制总线,内部部件的运行和操作要依靠这三种总线。在进行系统扩展时,需要利件的运行和操作要依靠这三种总线。在进行系统扩展时,需要利用这三

3、种总线把外部芯片与单片机连接为一体。用这三种总线把外部芯片与单片机连接为一体。 5.1.1 单片机的外部扩展总线单片机的并行总线单片机的并行总线 5.1.1 单片机的外部扩展总线单片机系统扩展所用到的控制线主要有如下几根:单片机系统扩展所用到的控制线主要有如下几根: ALEALE:作为低:作为低8 8位地址锁存的选通信号;位地址锁存的选通信号; #PSEN#PSEN:作为扩展程序存储器的读选通信号;:作为扩展程序存储器的读选通信号; #RD#RD,#WR#WR:作为扩展数据存储器和外接:作为扩展数据存储器和外接I/OI/O口芯片的读、写选口芯片的读、写选 通信号。通信号。 5.1.2 系统扩展

4、常用芯片系统扩展常用芯片:系统扩展常用芯片: 1.1.锁存器锁存器 锁存器在地址扩展中的作用就是锁存地址。地址锁存器可锁存器在地址扩展中的作用就是锁存地址。地址锁存器可使用带三态缓冲输出的使用带三态缓冲输出的8 8位锁存器位锁存器74HC37374HC373,常简称,常简称7437374373或或373373。 5.1.2 系统扩展常用芯片74HC37374HC373芯片引脚图芯片引脚图 74HC37374HC373常用连接方法常用连接方法 5.1.2 系统扩展常用芯片系统扩展常用芯片:系统扩展常用芯片: 2.2.缓冲缓冲/ /驱动器驱动器 由于单片机功率有限,故每个由于单片机功率有限,故每个

5、I/OI/O管脚的驱动能力有限。因管脚的驱动能力有限。因此,为驱动负载,往往采用缓冲此,为驱动负载,往往采用缓冲/ /驱动器。驱动器。74HC24574HC245是常用的数是常用的数据缓冲据缓冲/ /驱动器,也简称驱动器,也简称245245,其输入阻抗高,输出阻抗低,具,其输入阻抗高,输出阻抗低,具有三态缓冲功能有三态缓冲功能 5.1.2 系统扩展常用芯片74HC24574HC245引脚图引脚图 74HC24574HC245常用接法常用接法 5.1.2 系统扩展常用芯片输入输入输入输入/ /输出输出#OE#OEDIRDIRAnAnBnBnL LL LA=BA=B输入输入L LH H输入输入B=

6、AB=AH HX X高阻高阻高阻高阻74HC24574HC245的真值表的真值表 5.1.2 系统扩展常用芯片系统扩展常用芯片:系统扩展常用芯片: 3.3.译码器译码器 译码器有变量译码器、代码译码器和显示译码器等,在此仅介译码器有变量译码器、代码译码器和显示译码器等,在此仅介绍用作地址译码的变量译码器。常用译码器有绍用作地址译码的变量译码器。常用译码器有74HC13874HC138和和74HC13974HC139等。等。5.1.2 系统扩展常用芯片74HC24574HC245的读写操作原理图的读写操作原理图 5.1.2 系统扩展常用芯片74HC13874HC138引脚图引脚图 74HC139

7、74HC139引脚图引脚图 5.1.3 系统扩展的寻址方法系统扩展的寻址方法:系统扩展的寻址方法: 系统扩展的寻址方法是指当单片机扩展了存储器、系统扩展的寻址方法是指当单片机扩展了存储器、I/OI/O接口等接口等外围接口芯片之后,寻找这些芯片的地址的方法。外围接口芯片之后,寻找这些芯片的地址的方法。 包括:包括: 1.1.线选法寻址线选法寻址 2.2.译码法寻址译码法寻址 5.1.3 系统扩展的寻址方法线选法寻址的单片机接线图线选法寻址的单片机接线图 5.1.3 系统扩展的寻址方法线选法寻址地址分配表线选法寻址地址分配表 5.1.3 系统扩展的寻址方法译码法寻址的单片机接线图译码法寻址的单片机

8、接线图 5.1.3 系统扩展的寻址方法线选法寻址的单片机接线图线选法寻址的单片机接线图 5.2 外部存储器的扩展 单片机可以根据需要在片外扩展程序存储器和单片机可以根据需要在片外扩展程序存储器和/ /或数据或数据存储器,本节介绍采用并行总线结构进行扩展的方法。存储器,本节介绍采用并行总线结构进行扩展的方法。5.2 外部存储器的扩展5.2.1 程序存储器扩展5.2.2 数据存储器扩展 5.2.1 程序存储器的扩展程序存储器扩展:程序存储器扩展: MCS-51MCS-51单片机的程序存储器为只读存储器,目前使用最多的单片机的程序存储器为只读存储器,目前使用最多的是是EEPROMEEPROM存储器芯

9、片,存储器芯片,EPROMEPROM芯片已很少采用,但其使用方法和芯片已很少采用,但其使用方法和EEPROMEEPROM相同。这些存储器的型号有:相同。这些存储器的型号有: EPROMEPROM:27162716,27322732,27642764,2712827128,2725627256,2751227512; EEPROMEEPROM:28642864,28172817等。等。5.2.1 程序存储器的扩展扩展扩展2K2K程序存储器的单片机系统程序存储器的单片机系统 5.2.1 程序存储器的扩展 地址线连接地址线连接: 27162716的存储容量为的存储容量为2k2k8bit8bit,需,

10、需1111位地址位地址(A10A10A0A0)进行存储单元的选择。为此先把芯片的)进行存储单元的选择。为此先把芯片的A7A7A0A0与与地址锁存器的低地址锁存器的低8 8位地址输出对应连接,剩下的高位地址位地址输出对应连接,剩下的高位地址(A10A10A8A8)与)与P2P2口的口的P2.2P2.2P2.0P2.0相连。相连。 数据线的连接数据线的连接:程序存储器的数据输出引脚与:程序存储器的数据输出引脚与P0P0口对应连接。口对应连接。 控制信号线的连接控制信号线的连接:单片机的外部存储器选通信号:单片机的外部存储器选通信号#PSEN#PSEN与与27162716的的#OE#OE端相接,以便

11、进行存储单元的读出选通。端相接,以便进行存储单元的读出选通。 5.2.1 程序存储器的扩展 片选线的连接片选线的连接:本例采用线选法,选取高位地址线:本例采用线选法,选取高位地址线P2.7P2.7作为芯作为芯片选择信号,与片选择信号,与27162716的的#CE#CE端相连。端相连。 扩展芯片的地址范围扩展芯片的地址范围:最低地址:当:最低地址:当A0A0A10A10取值为取值为0000000000000000000000时;最高地址:当时;最高地址:当A0A0A10A10取值为取值为1111111111111111111111时。时。该连接方式程序存储器的地址范围是该连接方式程序存储器的地址

12、范围是0000H0000H07FFH07FFH,同时,同时,0800H0800H0FFFH0FFFH、1000H1000H17FFH17FFH、,也是其地址范围。这种,也是其地址范围。这种地址范围重叠是由线选法造成的。地址范围重叠是由线选法造成的。 5.2.2 数据存储器的扩展数据存储器扩展:数据存储器扩展: MCS-51MCS-51单片机的数据存储器分为片内存储器和片外存储器,它单片机的数据存储器分为片内存储器和片外存储器,它们占用不同的地址空间。片外数据存储器最大可扩展们占用不同的地址空间。片外数据存储器最大可扩展64KB64KB,一般采,一般采用静态用静态RAMRAM型芯片进行扩展。型芯

13、片进行扩展。 在在5151单片机系统中,可以用做数据存储器的芯片主要是静态存单片机系统中,可以用做数据存储器的芯片主要是静态存储器,常用芯片有储器,常用芯片有2K2K8 8位的位的RAM RAM 芯片芯片61166116,16K16K8 8位的位的RAMRAM芯片芯片 6212862128,32K32K8 8位的位的RAMRAM芯片芯片 6225662256,64K64K8 8位的位的RAMRAM芯片芯片6251262512等。等。 5.2.2 数据存储器的扩展单片机扩展外部数据存储器原理框图单片机扩展外部数据存储器原理框图 5.2.2 数据存储器的扩展扩展扩展2K2K数据存储器的单片机系统数

14、据存储器的单片机系统 5.3 并行I/O接口的扩展 MCS-51 MCS-51单片机共有单片机共有4 4个个8 8位并行位并行I/OI/O,这些,这些I/OI/O口一般不能完全口一般不能完全供用户使用。但是在有些情况,即使供用户使用。但是在有些情况,即使4 4个个I/OI/O口全部外用,也不能口全部外用,也不能满足要求。此时,需要对单片机应用系统进行满足要求。此时,需要对单片机应用系统进行I/OI/O口的扩展。口的扩展。 在在MCS-51MCS-51单片机中,扩展的单片机中,扩展的I/OI/O口采取与数据存储器相同的寻口采取与数据存储器相同的寻址方法。所有扩展址方法。所有扩展I/OI/O口以及

15、通过扩展口以及通过扩展I/OI/O口连接的外设均与片外口连接的外设均与片外数据存储器统一编址。数据存储器统一编址。 扩展扩展I/OI/O口所用芯片主要有通用可编程口所用芯片主要有通用可编程I/OI/O芯片和芯片和TTLTTL、CMOSCMOS锁锁存器、缓冲器芯片等。存器、缓冲器芯片等。 5.3 并行I/O接口的扩展5.3.1 简单的I/O扩展5.3.2 5.3.2 可编程I/O接口电路的扩展 5.3.1 简单的I/O扩展简单的简单的I/OI/O扩展:扩展: 扩展扩展I/OI/O口的数据一般挂在数据总线上,即连接到口的数据一般挂在数据总线上,即连接到P0P0口,口,I/OI/O口口的选通一般由地

16、址线译码得到。常用的的选通一般由地址线译码得到。常用的I/OI/O口扩展芯片有口扩展芯片有373373、573573、377377、245245、244244、273273、367367等。等。 5.3.1 简单的I/O扩展简单的简单的I/OI/O扩展扩展 5.3.1 简单的I/O扩展 上图采用上图采用74HC24574HC245作扩展输入、作扩展输入、74HC37374HC373作扩展输出的简单作扩展输出的简单I/OI/O 扩展电路。图中,扩展电路。图中,P0P0为双向数据线,既从为双向数据线,既从74HC24574HC245输入数据,又向输入数据,又向74HC37374HC373输出数据。

17、输出数据。 要求实现如下功能:任意按下一个键,对应的要求实现如下功能:任意按下一个键,对应的LEDLED发亮,例如,发亮,例如,按按K0K0则则LED0LED0发亮,按发亮,按K1K1则则LED1LED1发亮等。则编写程序如下发亮等。则编写程序如下LOOPLOOP:MOV DPTRMOV DPTR,#0FEFFH#0FEFFH ;数据指针指向扩展;数据指针指向扩展I/OI/O口地址口地址MOVX AMOVX A,DPTR DPTR ;从;从245245主动读数据,检测按钮主动读数据,检测按钮MOVX DPTRMOVX DPTR, A A ;向;向373373输出数据,驱动输出数据,驱动LEDL

18、EDSJMP LOOP SJMP LOOP ;循环;循环 5.3.2 可编程I/O接口电路的扩展可编程可编程I/OI/O接口电路的扩展:接口电路的扩展: 可编程序接口是指其功能可由计算机的指令来加以改变的接口可编程序接口是指其功能可由计算机的指令来加以改变的接口芯片。可编程芯片。可编程I/OI/O接口芯片可通过编程来执行多种不同的接口功能,接口芯片可通过编程来执行多种不同的接口功能,因此使用十分灵活。常用的可编程接口芯片有可编程计数因此使用十分灵活。常用的可编程接口芯片有可编程计数/ /定时器定时器82538253、可编程串行接口、可编程串行接口82508250、可编程并行接口、可编程并行接口

19、82558255和和81558155、可编程、可编程中断控制器中断控制器82598259等。下面以等。下面以MCS-51MCS-51单片机中常用的单片机中常用的81558155为例来说明为例来说明可编程接口芯片的使用:可编程接口芯片的使用: 5.3.2 可编程I/O接口电路的扩展81558155片内资源有:片内资源有: 256 256字节的静态字节的静态RAMRAM; 两个可编程的两个可编程的8 8位并行位并行I IO O口口PAPA、PBPB; 一个可编程的一个可编程的6 6位并行位并行I IO O口口PCPC; 一个可编程的一个可编程的1414位定时位定时/ /计数器;计数器; 5.3.2

20、 可编程I/O接口电路的扩展81558155的引脚分布的引脚分布 81558155的结构框图的结构框图 1.81551.8155引脚功能引脚功能 5.3.2 可编程I/O接口电路的扩展 地址数据线:地址数据线:AD0AD0AD7AD7 AD0 AD0AD7AD7是是8 8位地址线和数据线共用输入位地址线和数据线共用输入/ /输出口,它应与输出口,它应与5151单片机的单片机的P0P0口相连。口相连。81558155是专为是专为IntelIntel单片机设计的单片机设计的I/OI/O扩展芯片,扩展芯片,因此,其接口线也采用了地址因此,其接口线也采用了地址/ /数据复用结构,连接时将其复用总数据复

21、用结构,连接时将其复用总线直接连接到线直接连接到5151单片机的单片机的P0P0口,将其口,将其ALEALE信号与信号与5151单片机的单片机的ALEALE信信号连接即可。号连接即可。 端口线:端口线:PA0PA0PA7PA7、PB0PB0PB7PB7、PC0PC0PC5PC5 其中:其中:PA0PA0PA7PA7、PB0PB0PB7 PB7 用于用于81558155与外设之间传送数据。与外设之间传送数据。PC0PC0PC5PC5既可用于既可用于81558155与外设之间传送数据,也可作为与外设之间传送数据,也可作为A A口、口、B B口口的控制信号线。的控制信号线。 5.3.2 可编程I/O

22、接口电路的扩展 地址锁存线:地址锁存线:ALEALE 在在ALEALE的下降沿,的下降沿,81558155将单片机将单片机P0P0口输出的低口输出的低8 8位地址信息及位地址信息及#CE#CE、IO/#MIO/#M的状态都锁存至内部寄存器。因此,单片机的状态都锁存至内部寄存器。因此,单片机P0P0口输出的低口输出的低8 8位地址信位地址信号不需外接锁存器。号不需外接锁存器。 RAMRAM或或I/OI/O口选择线:口选择线:IO/#MIO/#M 当当IO/#M=0IO/#M=0时,选中时,选中81558155的片内的片内RAMRAM,AD0AD0AD7AD7为为RAMRAM的地址(的地址(00H

23、00HFFHFFH)或数据;或数据; 当当IO/#M=1IO/#M=1时,选中时,选中81558155片内片内3 3个个I/OI/O端口以及命令端口以及命令/ /状态寄存器和定时状态寄存器和定时/ /计数器。计数器。AD0AD0AD7AD7为为I/OI/O口地址,其分配如表口地址,其分配如表5-65-6所示。所示。 5.3.2 可编程I/O接口电路的扩展 片选线:片选线:#CE#CE :若:若#CE#CE为低电平,选中本芯片。为低电平,选中本芯片。 读、写线读、写线:#RD#RD、#WR#WR。控制对。控制对81558155的读、写操作。的读、写操作。 定时定时/ /计数器的脉冲输入、输出线计

24、数器的脉冲输入、输出线:TITI、TOTO。TITI是外界向是外界向81558155输入输入计数脉冲信号的输入端,计数脉冲信号的输入端,TOTO是是81558155向外界输出脉冲或方波的输出向外界输出脉冲或方波的输出端。端。 5.3.2 可编程I/O接口电路的扩展A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0选中寄存器选中寄存器0 00 00 0内部命令内部命令/ /状态寄存器状态寄存器0 00 01 1PAPA口寄存器口寄存器0 01 10 0PBPB口寄存器口寄存器0 01 11 1PCPC口寄存器口寄存器1 10 00 0定时定时/ /计数器低计数器低8 8位寄存器位寄

25、存器1 10 01 1定时器定时器/ /计数器高字节寄存器计数器高字节寄存器计数方式码计数方式码M2M1M2M181558155口地址分布口地址分布 5.3.2 可编程I/O接口电路的扩展2.81552.8155的工作方式与基本操作的工作方式与基本操作 81558155可作为通用可作为通用I/OI/O口,也可作为片外口,也可作为片外256256字节字节RAMRAM及定时及定时/ /计数计数器使用,在各种不同工作方式下的操作分述如下。器使用,在各种不同工作方式下的操作分述如下。 片外片外256256字节字节RAMRAM操作操作 在这种工作方式,将在这种工作方式,将IO/#MIO/#M引脚置为低电

26、平,这时引脚置为低电平,这时81558155内部的内部的RAMRAM只能作片外只能作片外RAMRAM使用,其寻址范围由片选线使用,其寻址范围由片选线#CE#CE(高位地址译码)(高位地址译码)和和AD0AD0AD7AD7决定,应与应用系统中其它的片外数据存储器统一编决定,应与应用系统中其它的片外数据存储器统一编址。使用址。使用“MOVX”MOVX”指令对片外指令对片外RAMRAM进行读进行读/ /写操作。写操作。 5.3.2 可编程I/O接口电路的扩展 作扩展作扩展I/OI/O口使用口使用 81558155作扩展作扩展I/OI/O口时,口时,IO/#MIO/#M引脚置为高电平,这时引脚置为高电

27、平,这时PAPA、PBPB、PCPC口口分别占用端口地址分别占用端口地址1 1、2 2、3 3(设地址无关位为(设地址无关位为0 0时),参见表时),参见表5-65-6。 81558155的的I/OI/O工作方式选择是通过对工作方式选择是通过对81558155内部命令寄存器送命令字内部命令寄存器送命令字来实现的。命令寄存器由来实现的。命令寄存器由8 8位锁存器组成,只能写入不能读出,它占位锁存器组成,只能写入不能读出,它占用端口地址用端口地址0 0,参见,参见81558155口地址分布表。命令字每位定义如下表所口地址分布表。命令字每位定义如下表所示。示。 5.3.2 可编程I/O接口电路的扩展

28、76543210TM2TM1IEBIEAPC2PC1PBPA81558155的命令寄存器格式的命令寄存器格式 5.3.2 可编程I/O接口电路的扩展 PAPA:A A口数据传送方向设置位。口数据传送方向设置位。0 0:输入;:输入;1 1:输出。:输出。 PBPB:B B口数据传送方向设置位。口数据传送方向设置位。0 0:输入;:输入;1 1:输出。:输出。 PC1PC1、PC2PC2:C C口工作方式设置位。具体方式如表口工作方式设置位。具体方式如表5-85-8所示。所示。 IEAIEA:A A口的中断允许设置位。口的中断允许设置位。0 0:禁止;:禁止;1 1:允许。:允许。 IEBIEB

29、:B B口的中断允许设置位。口的中断允许设置位。0 0:禁止;:禁止;1 1:允许。:允许。 TM2TM2、TM1TM1:计数器工作方式设置位。其具体方式如表:计数器工作方式设置位。其具体方式如表5-95-9所示所示。 5.3.2 可编程I/O接口电路的扩展C C口工作方式口工作方式 PC2 PC1PC2 PC1工作方式工作方式说明说明0000ALT1ALT1A A、B B口为基本口为基本I/OI/O,C C口方向为输入口方向为输入1111ALT2ALT2A A、B B口为基本口为基本I/OI/O,C C口方向为输出口方向为输出0101ALT3ALT3A A口为选通口为选通I/OI/O,B B

30、为基本为基本I/OI/O口,口,PC0PC0PC2PC2作为作为A A的的选通应答选通应答1010ALT4ALT4A A,B B口为选通口为选通I/OI/O,PC0PC0PC2PC2作为作为A A的选通应答的选通应答PC3-PC5PC3-PC5作为作为B B的选通应答的选通应答 5.3.2 可编程I/O接口电路的扩展定时器定时器/ /计数器命令字计数器命令字 TM2TM1TM2TM1方式方式说明说明0000方式方式1 1不影响定时器工作不影响定时器工作0101方式方式2 2若计数器未启动,则无操作;若计数器已运行,则停若计数器未启动,则无操作;若计数器已运行,则停止计数止计数1010方式方式3

31、 3达到当前计数达到当前计数TCTC后,立即停止,若未启动定时器,则后,立即停止,若未启动定时器,则无操作无操作1111方式方式4 4装入方式和计数值后,立即启动定时器,若定时器已装入方式和计数值后,立即启动定时器,若定时器已在运行,在运行,则达到当前计数值后,按新的方式和长度予以启动则达到当前计数值后,按新的方式和长度予以启动 5.3.2 可编程I/O接口电路的扩展81558155的状态字的状态字 5.3.2 可编程I/O接口电路的扩展 INTRnINTRn:中断请求标志。此处:中断请求标志。此处n n表示表示A A或或B B。INTRnINTRn=1=1,表示,表示A A口或口或B B口口

32、有中断请求;有中断请求;INTRnINTRn=0=0,表示,表示A A或或B B口无中断请求。口无中断请求。 BFnBFn:口缓冲器空:口缓冲器空/ /满标志。满标志。BFnBFn=1=1,表示口缓冲器已装满数据,可,表示口缓冲器已装满数据,可由外设或单片机取走;由外设或单片机取走;BF=0BF=0,表示口缓冲器为空,可以接收外设或,表示口缓冲器为空,可以接收外设或单片机发送数据。单片机发送数据。 INTEnINTEn:口中断允许:口中断允许/ /禁止标志。禁止标志。INTEnINTEn=1=1,表示允许口中断;,表示允许口中断;INTEnINTEn=0=0,表示禁止口中断。,表示禁止口中断。

33、 TIMERTIMER:计数器计满标志。:计数器计满标志。 TIMER=1TIMER=1, 表示计数器的原计数初值表示计数器的原计数初值已计满回零;已计满回零; TIMER=0TIMER=0, 表示计数器尚未计满。表示计数器尚未计满。 5.3.2 可编程I/O接口电路的扩展 端口操作端口操作 A A口寄存器和口寄存器和B B口寄存器有完全相同的功能,可工作于基本口寄存器有完全相同的功能,可工作于基本I/OI/O方方式或选通式或选通I/OI/O方式。方式。C C口可工作于基本口可工作于基本I/OI/O方式,也可作为方式,也可作为A A口、口、B B口选通口选通方式工作时的状态控制信号线。方式工作

34、时的状态控制信号线。 当当81558155设定为方式设定为方式1 1和方式和方式2 2时,时,A A口、口、B B口、口、C C口均工作于基本输入口均工作于基本输入/ /输出方式,由输出方式,由“MOVX”MOVX”类指令进行输入类指令进行输入/ /输出操作,设定为方式输出操作,设定为方式3 3时,时,A A口定义为选通输入口定义为选通输入/ /输出,由输出,由C C口低口低3 3位作位作A A口联络线,口联络线,C C口其余位作口其余位作I/OI/O线,设定为方式线,设定为方式4 4时,时,A A口、口、B B口均定义为选通输入口均定义为选通输入/ /输出方式,由输出方式,由C C口作口作为

35、为A A口、口、B B口的联络线,其逻辑组态下图所示。口的联络线,其逻辑组态下图所示。C C口工作方式及每位的关口工作方式及每位的关系见下表。系见下表。C C口在不同方式下的定义和功能是不同的口在不同方式下的定义和功能是不同的。 5.3.2 可编程I/O接口电路的扩展逻辑组态逻辑组态 5.3.2 可编程I/O接口电路的扩展 C C口的工作方式口的工作方式引脚引脚方式方式1 1方式方式2 2方式方式3 3方式方式4 4PC0PC0输入输入输出输出A A口中断请求口中断请求A A口中断请求口中断请求PC1PC1输入输入输出输出A A口缓冲器满口缓冲器满A A口缓冲器满口缓冲器满PC2PC2输入输入

36、输出输出A A口选通口选通A A口选通口选通PC3PC3输入输入输出输出输出输出B B口中断请求口中断请求PC4PC4输入输入输出输出输出输出B B口缓冲器满口缓冲器满PC5PC5输入输入输出输出输出输出B B口选通口选通 5.3.2 可编程I/O接口电路的扩展 INTRA INTRA、INTRBINTRB分别为分别为A A、B B口的中断请求输出线,高电平有效。口的中断请求输出线,高电平有效。当当81558155的的A A口或口或B B口缓冲器接收到设备输入的数据或设备从缓冲器中取口缓冲器接收到设备输入的数据或设备从缓冲器中取走数据时,中断请求线走数据时,中断请求线INTRINTR升高,向升

37、高,向CPUCPU请求中断;请求中断;CPUCPU对对81558155的相的相应应I/OI/O口进行一次读口进行一次读/ /写操作后,写操作后,INTRINTR自动变为低电平。自动变为低电平。 BFBF为为I/OI/O口缓冲器标志输出线。缓冲器存有数据时,口缓冲器标志输出线。缓冲器存有数据时,BFBF为高电为高电平,否则为低电平。平,否则为低电平。 #STB#STB为设备选通信号输入线,低电平有效。为设备选通信号输入线,低电平有效。 5.3.2 可编程I/O接口电路的扩展 I/O I/O口设定为输出口时,仍可用对应的口地址执行操作,读取输出口设定为输出口时,仍可用对应的口地址执行操作,读取输出

38、口的内容;设定为输入口时,输出锁存器被清除,无法将数据写入输口的内容;设定为输入口时,输出锁存器被清除,无法将数据写入输出锁存器。所以每次通道由输入方式转为输出方式时,输出端总是低出锁存器。所以每次通道由输入方式转为输出方式时,输出端总是低电平。电平。81558155复位时,清除所有输出寄存器,复位时,清除所有输出寄存器,3 3个端口都为输入方式。个端口都为输入方式。 5.3.2 可编程I/O接口电路的扩展 作定时作定时/ /计数器用计数器用 81558155的可编程定时的可编程定时/ /计数器在功能上与计数器在功能上与MCS-51MCS-51内部的定时内部的定时/ /计数器计数器是相同的,但

39、是在使用上却不完全相同。见图是相同的,但是在使用上却不完全相同。见图5-215-21。具体表现在如下。具体表现在如下几点:几点:(1 1)81558155的可编程定时的可编程定时/ /计数器实际上是一个计数器实际上是一个1414位减法计数器,它位减法计数器,它只有一种固定的工作方式,即只有一种固定的工作方式,即1414位计数;位计数;(2 2)其不论是定时还是计数工作,都由外部提供计数脉冲,由)其不论是定时还是计数工作,都由外部提供计数脉冲,由TITI端输入,使用时需注意芯片允许的最高计数频率;端输入,使用时需注意芯片允许的最高计数频率;(3 3)计满溢出时,由)计满溢出时,由TOTO端输出脉

40、冲或方波,输出波形通过软件可端输出脉冲或方波,输出波形通过软件可定义为定义为4 4种形式。种形式。 5.3.2 可编程I/O接口电路的扩展 定时定时/ /计数器寄存器计数器寄存器 5.3.2 可编程I/O接口电路的扩展M2M1M2M1方式方式定时器输出方波定时器输出方波0000单次方波单次方波计数长度前半部分输出高电平,后半部分输出低电平计数长度前半部分输出高电平,后半部分输出低电平0101连续方波连续方波计数长度前半部分输出高电平,后半部分输出低电平,计数长度前半部分输出高电平,后半部分输出低电平,计数器回计数器回0 0后又自动向计数器重装初值后又自动向计数器重装初值1010单脉冲输单脉冲输

41、出出计数器回计数器回0 0后输出一个单脉冲后输出一个单脉冲1111连续脉冲连续脉冲计数器回计数器回0 0后输出单脉冲,又自动向计数器重装初值,后输出单脉冲,又自动向计数器重装初值,回回0 0后又输出单脉冲,如此循环后又输出单脉冲,如此循环 M2 M2、M1M1位输出方式定义位输出方式定义 5.3.2 可编程I/O接口电路的扩展 使用时,先把计数初值和输出方式装入定时器的两个寄存器。使用时,先把计数初值和输出方式装入定时器的两个寄存器。计数初值(长度)为计数初值(长度)为2 23FFFH3FFFH之间的任意值,然后通过命令寄存器之间的任意值,然后通过命令寄存器的最高两位控制计数器的启动和停止。的

42、最高两位控制计数器的启动和停止。 以计数值是以计数值是8 8为例,所谓单次方波,是从启动计数开始,前为例,所谓单次方波,是从启动计数开始,前4 4个个计数输出计数输出1 1电平,后电平,后4 4个计数输出个计数输出0 0电平。若计数值是奇数,则电平。若计数值是奇数,则1 1电平电平比比0 0电平多一个计数值。电平多一个计数值。 当计数器正在计数时,允许装入新的计数方式和长度,但必须当计数器正在计数时,允许装入新的计数方式和长度,但必须再向定时器发一个启动命令。硬件复位后,停止计数,应注意重新再向定时器发一个启动命令。硬件复位后,停止计数,应注意重新发启动命令。发启动命令。 5.3.2 可编程I

43、/O接口电路的扩展单片机与单片机与81558155接口电路接口电路5.4 键盘与显示器的接口技术5.4.1 键盘接口技术 5.4.2 显示器接口技术 5.4.3 典型键盘/显示器接口实例 5.4.3 可编程键盘/显示器接口8279 5.4.1 键盘接口技术 计算机键盘有全编码键盘和非编码键盘两种。全编码键盘由计算机键盘有全编码键盘和非编码键盘两种。全编码键盘由硬件逻辑来提供与被按键对应的编码,它一般还具有去抖动和多硬件逻辑来提供与被按键对应的编码,它一般还具有去抖动和多键、串键保护电路。这种键盘使用方便,但需要较多的硬件,价键、串键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的

44、单片机应用系统较少采用。非编码键盘只简单地格较贵,一般的单片机应用系统较少采用。非编码键盘只简单地提供输入按键连接电路,其它工作靠软件来完成,它具有经济实提供输入按键连接电路,其它工作靠软件来完成,它具有经济实用的特点,目前在单片机应用系统中多采用这种办法。本节将介用的特点,目前在单片机应用系统中多采用这种办法。本节将介绍非编码键盘接口。绍非编码键盘接口。 5.4.1 键盘接口技术1. 1. 键盘工作原则键盘工作原则 键盘通过接口电路与键盘通过接口电路与CPUCPU相连,相连,CPUCPU可以采用查询或中断方可以采用查询或中断方式了解有无按键输入并检查是哪一个键按下,并根据输入的键式了解有无按

45、键输入并检查是哪一个键按下,并根据输入的键号转入执行该按键的功能程序,执行完毕又返回到原始的查询号转入执行该按键的功能程序,执行完毕又返回到原始的查询或等待中断的状态。或等待中断的状态。 5.4.1 键盘接口技术 键开关状态的可靠输入键开关状态的可靠输入 按键大都是利用机械触点的开合作用,机械触点在闭合及断开瞬间,按键大都是利用机械触点的开合作用,机械触点在闭合及断开瞬间,由于其弹性作用的影响有一个抖动过程,从而使电压信号也出现抖动,由于其弹性作用的影响有一个抖动过程,从而使电压信号也出现抖动,抖动时间长短与开关的机械特性有关,一般为抖动时间长短与开关的机械特性有关,一般为5ms5ms10ms

46、10ms。 按键的稳定闭合时间,由操作人员的按键动作所确定,一般为十分按键的稳定闭合时间,由操作人员的按键动作所确定,一般为十分之几秒至几秒。之几秒至几秒。 为了保证为了保证CPUCPU对按键的一次闭合仅作一次键输入处理,必须去除抖动对按键的一次闭合仅作一次键输入处理,必须去除抖动影响,这个过程称为去抖。去抖通常有硬件和软件两种方法。硬件方法影响,这个过程称为去抖。去抖通常有硬件和软件两种方法。硬件方法通常可在按键的输出端加入通常可在按键的输出端加入R-SR-S触发器或单稳态电路。软件方法通常可在触发器或单稳态电路。软件方法通常可在检测到有按键按下时,执行一个延时程序,然后再检查该按键以确认它

47、检测到有按键按下时,执行一个延时程序,然后再检查该按键以确认它是否处于闭合状态。是否处于闭合状态。 5.4.1 键盘接口技术 对按键进行编码以得到键值或直接给出键号对按键进行编码以得到键值或直接给出键号 一个完善的键盘控制程序应能完成下述任务:一个完善的键盘控制程序应能完成下述任务: 1 1)监测有无键按下;)监测有无键按下; 2 2)有键按下时,若无硬件去抖电路,则软件上应延时去抖;)有键按下时,若无硬件去抖电路,则软件上应延时去抖; 3 3)有可靠的逻辑处理办法,如多键锁定,即一段时间只处理一个键,)有可靠的逻辑处理办法,如多键锁定,即一段时间只处理一个键,其间任何按下又松开的键不产生影响

48、;不管一次按键持续有多长时间,其间任何按下又松开的键不产生影响;不管一次按键持续有多长时间,仅执行一次按键功能程序;仅执行一次按键功能程序; 4 4)输出确定的键号以满足跳转指令要求。)输出确定的键号以满足跳转指令要求。 5.4.1 键盘接口技术2. 2. 独立式按键工作原理独立式按键工作原理 独立式按键电路独立式按键电路 5.4.1 键盘接口技术3. 3. 行列式键盘工作原理行列式键盘工作原理 行列式键盘电路行列式键盘电路 5.4.1 键盘接口技术4. 4. 键盘的工作方式键盘的工作方式 键盘的工作方式一般有编程扫描和中断扫描方式两种。编程扫键盘的工作方式一般有编程扫描和中断扫描方式两种。编

49、程扫描方式是利用描方式是利用CPUCPU在完成其它工作的空余,调用键盘扫描程序,来在完成其它工作的空余,调用键盘扫描程序,来响应键输入要求。在执行键功能程序时,响应键输入要求。在执行键功能程序时,CPUCPU不再响应键输入要求。不再响应键输入要求。该方式通常需要定时查询。为了提高该方式通常需要定时查询。为了提高CPUCPU的利用率,可采用中断扫的利用率,可采用中断扫描方式,即只有在键盘有键按下时,发中断请求,描方式,即只有在键盘有键按下时,发中断请求,CPUCPU响应中断请响应中断请求后,转中断服务程序,进行键盘扫描,识别键码。求后,转中断服务程序,进行键盘扫描,识别键码。 5.4.1 键盘接

50、口技术键盘扫描程序一般应具有下述几个功能:键盘扫描程序一般应具有下述几个功能:1 1)判断有无键按下及延时去抖)判断有无键按下及延时去抖2 2)扫描键盘,得到按下键的键号)扫描键盘,得到按下键的键号 3 3)判别闭合的键是否释放)判别闭合的键是否释放 5.4.1 键盘接口技术中断工作方式键盘中断工作方式键盘 中断扫描方式的一种简易键盘接口:中断扫描方式的一种简易键盘接口: 5.4.2 显示器的接口技术1.1. LEDLED显示器的结构与原理显示器的结构与原理(a) LEDa) LED外形结构外形结构(b) (b) 共阴极共阴极 (c) (c) 共阳极共阳极 5.4.2 显示器的接口技术2. L

51、ED2. LED静态显示接口静态显示接口 静态显示电路静态显示电路 5.4.2 显示器的接口技术3. LED3. LED动态显示接口动态显示接口 六位动态显示电路六位动态显示电路 5.4.2 显示器的接口技术动态显示子程序流程图动态显示子程序流程图 5.4.3 典型键盘/显示器的接口实例81558155扩展扩展I/OI/O口的键盘、显示器接口电路口的键盘、显示器接口电路 5.4.4 可编程键盘/显示器接口8279 82798279是是Intel-8279Intel-8279的简称,是一种通用可编程接口芯片,它有的简称,是一种通用可编程接口芯片,它有键盘和显示两部分。键盘部分可以作为常规的打字机

52、式键盘或随键盘和显示两部分。键盘部分可以作为常规的打字机式键盘或随机触发器开关接口,显示部分可以驱动文字数字显示器或一系列机触发器开关接口,显示部分可以驱动文字数字显示器或一系列指示灯指示灯。 82798279与单片机的总线连接,键盘部分能自动消抖、识别按键并与单片机的总线连接,键盘部分能自动消抖、识别按键并给出编码,能对双键或多键同时按下实行保护,显示部分为数码给出编码,能对双键或多键同时按下实行保护,显示部分为数码管提供了按扫描方式工作的显示接口,它提供多路复用信号,最管提供了按扫描方式工作的显示接口,它提供多路复用信号,最多可连接多可连接1616个数码管。个数码管。5.4.4 可编程键盘

53、/显示器接口8279 CPUCPU通过编程来设置通过编程来设置82798279的工作模式。需要编程的输入模式包的工作模式。需要编程的输入模式包括键盘扫描的方式、传感器矩阵扫描的方式和选通输入模式等,括键盘扫描的方式、传感器矩阵扫描的方式和选通输入模式等,需要编程的输出模式包括是显示模式设置、显示数据输入方式等。需要编程的输出模式包括是显示模式设置、显示数据输入方式等。 82798279的其它可编程特性还包括时钟分频系数和中断控制方式等的其它可编程特性还包括时钟分频系数和中断控制方式等。82798279封装及引线封装及引线 5.4.4 可编程键盘/显示器接口82791. 1. 硬件引脚定义及寄存

54、器功能描述硬件引脚定义及寄存器功能描述5.4.4 可编程键盘/显示器接口827982798279的逻辑框图的逻辑框图5.4.4 可编程键盘/显示器接口827982798279各寄存器的功能描述各寄存器的功能描述 数据缓冲器。数据缓冲器。 数据缓冲器用于传送数据缓冲器用于传送CPUCPU和和82798279之间的命令、状态或数据,是双向之间的命令、状态或数据,是双向缓冲器。引脚缓冲器。引脚A0A0用于区别信息的状态。用于区别信息的状态。A0=1A0=1时,数据缓冲器输入的时,数据缓冲器输入的是是CPUCPU命令字,输出的是命令字,输出的是82798279的状态。的状态。A0=0A0=0时,数据缓

55、冲器输入和输时,数据缓冲器输入和输出的均为数据。出的均为数据。 控制寄存器及定时控制器。控制寄存器及定时控制器。 控制寄存器用于寄存键盘及显示器的工作方式,以及由控制寄存器用于寄存键盘及显示器的工作方式,以及由CPUCPU编程的编程的其它操作方式。定时控制器是一个其它操作方式。定时控制器是一个5 5位的可编程计数器,其计数值位的可编程计数器,其计数值N N可由软件设置为可由软件设置为2 23131之间的一个值,它用于对外部时钟之间的一个值,它用于对外部时钟CLKCLK进行分进行分频,从而得到内部所需要的频,从而得到内部所需要的100kHZ100kHZ的时钟信号,作为逐行扫描和显的时钟信号,作为

56、逐行扫描和显示扫描的时钟。示扫描的时钟。5.4.4 可编程键盘/显示器接口8279 扫描计数器。扫描计数器。 扫描计数器为扫描计数器为4 4位二进制计数器,有编码和译码两种工作方式。按编位二进制计数器,有编码和译码两种工作方式。按编码方式工作时,码方式工作时,4 4位计数状态从扫描线位计数状态从扫描线SL0-SL3SL0-SL3输出,经外部译码后,输出,经外部译码后,可为键盘和传感器提供最多可为键盘和传感器提供最多1616根扫描线。按译码方式工作时,扫描计根扫描线。按译码方式工作时,扫描计数器的最低数器的最低2 2位被译码后,从位被译码后,从SL0-SL3SL0-SL3输出。其输出可直接用作键

57、盘和输出。其输出可直接用作键盘和显示的扫描码。显示的扫描码。 回复缓冲器、键盘消抖及控制。回复缓冲器、键盘消抖及控制。 来自来自RL0RL0RL7RL7这这8 8根回复线的回复信号,由回复缓冲器缓冲并储存。根回复线的回复信号,由回复缓冲器缓冲并储存。在键盘工作方式中,这些线被接到键盘矩阵的列线。在逐行扫描时,在键盘工作方式中,这些线被接到键盘矩阵的列线。在逐行扫描时,回复线用来搜索一行中闭合的键。当某一键闭合时,消抖电路就被置回复线用来搜索一行中闭合的键。当某一键闭合时,消抖电路就被置位,延时等待位,延时等待10mS10mS之后,再检验该键是否继续保持闭合。若闭合,则之后,再检验该键是否继续保

58、持闭合。若闭合,则该键的地址和附加的位移、控制状态一起形成键盘数据被送入该键的地址和附加的位移、控制状态一起形成键盘数据被送入82798279内内部的部的FIFOFIFO存储器。存储器。 5.4.4 可编程键盘/显示器接口8279键盘数据的格式键盘数据的格式 键盘数据的格式见下表,其中,控制码键盘数据的格式见下表,其中,控制码D7D7和移位码和移位码D6D6的状态分别的状态分别由独立的附加开关由独立的附加开关CNTLCNTL和和SHIFTSHIFT决定,而扫描码和回复码则是被按键决定,而扫描码和回复码则是被按键的位置数据,的位置数据,D5D5、D4D4、D3D3来自扫描计数器,是按键的行编码,

59、而来自扫描计数器,是按键的行编码,而D2D2、D1D1、D0D0则是来自列计数器,是根据回复信号而确定的列编码。则是来自列计数器,是根据回复信号而确定的列编码。 在传感器矩阵方式中,回复线的内容直接被送往相应的传感器在传感器矩阵方式中,回复线的内容直接被送往相应的传感器RAMRAM(即(即FIFOFIFO存储器)。存储器)。 在选通输入方式时,回复线的内容在在选通输入方式时,回复线的内容在CNTL/STBCNTL/STB线的脉冲上升沿时,线的脉冲上升沿时,被送入被送入FIFOFIFO存储器存储器 5.4.4 可编程键盘/显示器接口8279 FIFO FIFO存储器存储器/ /传感器传感器RAM

60、RAM及其状态寄存器。及其状态寄存器。 FIFOFIFO存储器存储器/ /传感器传感器RAMRAM是一个双重功能的是一个双重功能的8bit8bit8 8的的RAMRAM。 在键盘或选通工作方式时,它是在键盘或选通工作方式时,它是FIFOFIFO存储器。每次新的输入都存储器。每次新的输入都顺序写入到顺序写入到RAM RAM 单元,而每次读出时,总是按输入的顺序,将最先单元,而每次读出时,总是按输入的顺序,将最先输入的数据读出。输入的数据读出。FIFOFIFO状态寄存器用来存放状态寄存器用来存放FIFOFIFO存储器的工作状态。存储器的工作状态。例如:例如:RAMRAM是满还是空,其中存有多少字符

温馨提示

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

评论

0/150

提交评论