第八章AT系列单片机的接口扩展技术.ppt

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

《第八章AT系列单片机的接口扩展技术.ppt》由会员分享,可在线阅读,更多相关《第八章AT系列单片机的接口扩展技术.ppt(105页珍藏版)》请在三一文库上搜索。

1、*1 单片机原理与应用单片机原理与应用电子课件电子课件 第第 8 8 章章 AT89 AT89系列单片机的系列单片机的 接口扩展技术接口扩展技术 *2 本章主要内容:本章主要内容: 8.1 I/O 8.1 I/O接口的扩展技术接口的扩展技术 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 8.3 LED 8.3 LED显示器及其与单片机的接口技术显示器及其与单片机的接口技术 8.4 LCD 8.4 LCD显示器及其接口技术显示器及其接口技术 8.5 A/D 8.5 A/D、D/AD/A转换器及其与单片机的接口转换器及其与单片机的接口 技术技术 *3 I/OI/O接口的功能

2、接口的功能 实现和不同外设的速度匹配实现和不同外设的速度匹配; ; 输出数据锁存输出数据锁存; ; 输入数据三态缓冲输入数据三态缓冲. . 实现和不同外设的速度匹配实现和不同外设的速度匹配 多种多样外设的工作速度差别很大,但大多数外设的速度很慢,无法和多种多样外设的工作速度差别很大,但大多数外设的速度很慢,无法和ss 量级的单片机速度相比。单片机和外设之间的数据传送方式有同步、异步量级的单片机速度相比。单片机和外设之间的数据传送方式有同步、异步 、中断三种。无论采用哪种方式来设计、中断三种。无论采用哪种方式来设计I/OI/O接口电路,单片机只有在确认外接口电路,单片机只有在确认外 设已为数据传

3、送做好准备的前提下才能进行设已为数据传送做好准备的前提下才能进行I/OI/O操作。而知道外设是否准备操作。而知道外设是否准备 好,就需要好,就需要I/OI/O接口电路与外设之间传送状态信息,以实现单片机与外设之接口电路与外设之间传送状态信息,以实现单片机与外设之 间的速度匹配。间的速度匹配。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *4 输出数据锁存输出数据锁存 由于单片机工作速度快,数据在数据总线上保留的时间十分短由于单片机工作速度快,数据在数据总线上保留的时间十分短 暂,无法满足慢速外设的数据接收。暂,无法满足慢速外设的数据接收。I/OI/O电路应具有数据锁存电路应具有数

4、据锁存 器,以保证输出数据能被接收设备所接收。可见数据输出锁存器,以保证输出数据能被接收设备所接收。可见数据输出锁存 应成为应成为I/OI/O接口电路的一项重要功能。接口电路的一项重要功能。 输入数据三态缓冲输入数据三态缓冲 输入设备向单片机输入数据时,要经过数据总线,但数据总线输入设备向单片机输入数据时,要经过数据总线,但数据总线 上面可能上面可能“挂挂”有多个数据源,为了传送数据时不发生冲突,有多个数据源,为了传送数据时不发生冲突, 只允许当前时刻正在进行数据传送的数据源使用数据总线,其只允许当前时刻正在进行数据传送的数据源使用数据总线,其 余的数据应处于隔离状态,为此要求接口电路能为数据

5、输入提余的数据应处于隔离状态,为此要求接口电路能为数据输入提 供三态缓冲功能。供三态缓冲功能。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *5 I/O I/O端口(端口(PortPort) I/OI/O口的编址口的编址 I/OI/O接口(接口(InterfaceInterface) I/O I/O端口编址方式端口编址方式 I/OI/O端口(端口(PortPort) I/OI/O端口简称端口简称I/OI/O口,常指口,常指I/OI/O接口电路中具有端口地址的寄存接口电路中具有端口地址的寄存 器或缓冲器。器或缓冲器。 I/OI/O接口(接口(InterfaceInterface)

6、I/OI/O接口是指单片机与外设的接口是指单片机与外设的I/OI/O接口芯片。一个接口芯片。一个I/OI/O接口芯片接口芯片 可以有多个可以有多个I/OI/O端口,传送数据的称为数据口,传送命令的称端口,传送数据的称为数据口,传送命令的称 为命令口,传送状态的称为状态口。为命令口,传送状态的称为状态口。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *6 I/OI/O端口编址方式端口编址方式 常用的常用的I/OI/O端口编址有两种方式,一种是统一编址方式(或称为端口编址有两种方式,一种是统一编址方式(或称为 存储器映像编址),另一种是独立编址方式。存储器映像编址),另一种是独立编址

7、方式。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 统一编址方式统一编址方式 统一编址就是统一编址就是I/OI/O端口的寄存器与存储器单元同等对待,统一进端口的寄存器与存储器单元同等对待,统一进 行编址,把存储器的一部分地址空间分给端口,把每一个端口作行编址,把存储器的一部分地址空间分给端口,把每一个端口作 为一个存储单元。统一编址的优点是对端口信息的处理就像对主为一个存储单元。统一编址的优点是对端口信息的处理就像对主 存储器单元一样,不必专门设置专门的输入输出指令来访问端存储器单元一样,不必专门设置专门的输入输出指令来访问端 口,直接使用访问数据存储器的指令进行口,直接使用访问

8、数据存储器的指令进行I/OI/O操作,简单、方便操作,简单、方便 且功能强。但是,统一编址会减少存储器容量。且功能强。但是,统一编址会减少存储器容量。 *7 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 独立编址方式独立编址方式 独立编址就是独立编址就是I/OI/O地址空间和存储器地址空间分开编址,端口不地址空间和存储器地址空间分开编址,端口不 占存储器地址空间。独立编址的优点是占存储器地址空间。独立编址的优点是I/OI/O地址空间和存储器地地址空间和存储器地 址空间相互独立,界限分明。但是,必须设置专门的输入输出址空间相互独立,界限分明。但是,必须设置专门的输入输出 指令访问端口

9、。访问存储器与访问端口采用不同的指令,译码后指令访问端口。访问存储器与访问端口采用不同的指令,译码后 ,产生的控制信息不同,其地址虽有重叠,但不会发生冲突。,产生的控制信息不同,其地址虽有重叠,但不会发生冲突。 *8 I/OI/O接口数据的传送方式接口数据的传送方式 无条件传送方式无条件传送方式; ; 查询传送方式查询传送方式; ; 中断传送方式中断传送方式. . 无条件传送方式无条件传送方式 无条件传送又称为同步传送。当外设时刻都处于无条件传送又称为同步传送。当外设时刻都处于“准备好准备好”状态状态 ,外设的速度可与单片机速度相比拟时,常采用同步传送方式,外设的速度可与单片机速度相比拟时,常

10、采用同步传送方式, 这种方式不需要交换状态信息。例如,将数据输出给这种方式不需要交换状态信息。例如,将数据输出给LEDLED数码管数码管 ,一般采用这种传送方式。由于无条件传送方式在任何时候都不,一般采用这种传送方式。由于无条件传送方式在任何时候都不 考虑外设是否准备好,常常会产生错误,所以,很少场合使用此考虑外设是否准备好,常常会产生错误,所以,很少场合使用此 种传送方式。种传送方式。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *9 查询传送方式查询传送方式 查询传送又称为有条件传送,也称为异步传送。查询传送方式可查询传送又称为有条件传送,也称为异步传送。查询传送方式可 以避

11、免无条件传送方式出现的错误。在查询传送方式中,单片机以避免无条件传送方式出现的错误。在查询传送方式中,单片机 首先要查询外设是否准备好,只有当外设淮备好后,再进行数据首先要查询外设是否准备好,只有当外设淮备好后,再进行数据 传送。查询方式的过程为:查询传送。查询方式的过程为:查询等待等待数据传送。查询传送的数据传送。查询传送的 优点是通用性好,可用于各种速度的外设和单片机之间的数据传优点是通用性好,可用于各种速度的外设和单片机之间的数据传 送,硬件连线和查询程序十分简单。其缺点是效率不高,在连续送,硬件连线和查询程序十分简单。其缺点是效率不高,在连续 传送数据时,每传送一个数据,都有一个等待过

12、程,等待期间传送数据时,每传送一个数据,都有一个等待过程,等待期间 CPUCPU不能进行其他操作,不能进行其他操作,CPUCPU利用率低。为了提高单片机的工作效利用率低。为了提高单片机的工作效 率,通常采用中断传送方式。率,通常采用中断传送方式。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *10 中断传送方式中断传送方式 中断传送方式是利用中断传送方式是利用AT89AT89系列单片机本身的中断功能和系列单片机本身的中断功能和I/OI/O接口接口 的中断功能来实现的中断功能来实现I/OI/O数据的传送。在这种方式中,数据的传送。在这种方式中,CPUCPU不再进行不再进行 查询,只

13、有在外设准备好后,发出数据传送请求,才中断主程序查询,只有在外设准备好后,发出数据传送请求,才中断主程序 ,而进入与外设进行数据传送的中断服务程序,进行数据的传送,而进入与外设进行数据传送的中断服务程序,进行数据的传送 。中断服务完成后又返回主程序继续执行。因此,采用中断传送。中断服务完成后又返回主程序继续执行。因此,采用中断传送 方式可以大大提高单片机的工作效率。方式可以大大提高单片机的工作效率。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *11 简单简单I/OI/O接口的扩展接口的扩展 利用利用74LS74LS系列系列TTLTTL电路或电路或CMOSCMOS电路锁存器、三态

14、门电路作为电路锁存器、三态门电路作为 I IO O端口扩展芯片。端口扩展芯片。 这种这种I/OI/O端口一般都是通过端口一般都是通过P0P0口扩展,它具有电路简单、成口扩展,它具有电路简单、成 本低、配置灵活的优点。本低、配置灵活的优点。 一种扩展简单一种扩展简单I IO O端口的实例端口的实例 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *12 一种扩展简单一种扩展简单I IO O端口的实例端口的实例 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 电路的功能是按下任意健,对应的电路的功能是按下任意健,对应的LEDLED发光。发光。 *13 简单简单I IO O端口的

15、实例,电路的功能是按下任意健,对应的端口的实例,电路的功能是按下任意健,对应的LEDLED发发 光的汇编语言和光的汇编语言和C C语言程序:语言程序: 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 LOOPLOOP: MOV DPTRMOV DPTR,#0FEFFH #0FEFFH ;扩展;扩展I/OI/O口地址送口地址送DPTRDPTR MOVX A MOVX A,DPTR DPTR ;通过;通过74LS24474LS244读入数据,检测键的状态读入数据,检测键的状态 MOVX DPTRMOVX DPTR,A A ;向;向74LS37374LS373输出数据,驱动输出数据,驱动L

16、EDLED SJMP LOOP SJMP LOOP ;循环;循环 C C语言程序:语言程序: #include#include #include unsigned char i;unsigned char i; main()main() while(1) / while(1) / 循环循环 i=XBYTE0xfeff; /i=XBYTE0xfeff; /通过通过74LS24474LS244读入数据,检测键的状态读入数据,检测键的状态 XBYTE0xfeff=i; / XBYTE0xfeff=i; / 向向74LS37374LS373输出数据,驱动输出数据,驱动LEDLED *14 可编程可编程

17、8255A8255A的并行的并行I/OI/O扩展 扩展 8255A8255A芯片介绍芯片介绍 8255A8255A控制字控制字 8255A8255A的的3 3种工作方式种工作方式 8255A8255A和和AT89AT89系列单片机的接口系列单片机的接口 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 * 8255A8255A芯片介绍 芯片介绍 8255A8255A是是IntelIntel公司生产的可编程并行公司生产的可编程并行I/OI/O接口芯片,具有接口芯片,具有3 3个个8 8位的并行位的并行I/OI/O口,口, 3 3种工作方式,种工作方式,8255A8255A可编程并行可编程

18、并行I/OI/O接口芯片与一般接口芯片(如前面介绍的接口芯片与一般接口芯片(如前面介绍的 74LS244/74LS37374LS244/74LS373)一样可对单片机的)一样可对单片机的I/OI/O口进行扩展,但口进行扩展,但8255A8255A可通过编程可通过编程 改变其功能,因而使用灵活方便,通用性强。改变其功能,因而使用灵活方便,通用性强。 8255A8255A内部结构内部结构 8255A8255A内部结构见图内部结构见图8-28-2,它由以下,它由以下4 4部分组成:部分组成: 1 1) 并行并行I/OI/O端口端口A A、B B、C C 2 2) A A组和组和B B组控制器组控制器

19、 3 3)数据总线缓冲器)数据总线缓冲器 4) 4) 读读/ /写控制逻辑电路线写控制逻辑电路线 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *16 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 8255A8255A引脚说明引脚说明 8255A8255A共有共有4040只引脚,采用双列直插式封装,各引脚功能如下:只引脚,采用双列直插式封装,各引脚功能如下: D7D7D0D0:三态双向数据线,与单片机数据总线连接,用来传送数据信息。:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 :片选信号线,低电平有效,表示本芯片被选中:片选信号线,低电平有效,表示本芯片被

20、选中 :读出信号线,控制:读出信号线,控制8255A8255A中数据的读出中数据的读出 :写入信号线,控制向:写入信号线,控制向8255A8255A数据的写入。数据的写入。 PA7PA7PA0PA0:A A口输入口输入/ /输出线。输出线。 PB7PB7PB0PB0:B B口输入口输入/ /输出线。输出线。 PC7PC7PC0PC0:C C口输入口输入/ /输出线。输出线。 A1A1、A0A0:地址线,用来选择:地址线,用来选择8255A8255A内部内部 的的4 4个端口,如表个端口,如表8-18-1所示。所示。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 *18 8.1 I/

21、O8.1 I/O接口的扩展技术接口的扩展技术 * 8255A8255A控制字 控制字 8255A8255A有两种控制字即工作方式选择控制字和有两种控制字即工作方式选择控制字和C C口置位口置位/ /复位控制字。这两个复位控制字。这两个 控制字以控制字以D7D7位为标志位,若位为标志位,若D7=1D7=1为工作方式选择控制字,若为工作方式选择控制字,若D7=0D7=0为为C C口置位口置位 / /复位控制字。复位控制字。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 工作方式选择控制字工作方式选择控制字 3 3种工作方式由写入控制字寄存器的方式控制字来决定。方式控制字的格式种工作方式

22、由写入控制字寄存器的方式控制字来决定。方式控制字的格式 如图如图8-48-4所示。所示。3 3个端口中个端口中C C被分为被分为2 2个部分,上半部分随个部分,上半部分随A A口称为口称为A A组,下半组,下半 部分随部分随B B口称为口称为B B组。其中组。其中A A口可工作于方式口可工作于方式0 0、1 1和和2 2,而,而B B口只能工作在方式口只能工作在方式 0 0和和1 1。 *20 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 C C口置位口置位/ /复位控制字复位控制字 本控制字可使本控制字可使C C口口8 8位中的任意一位置位为位中的任意一位置位为“ “1”1”或复

23、位清或复位清“ “0”0”。通过控制。通过控制C C口的口的 各位状态,实现某些控制功能。其控制字格式如图各位状态,实现某些控制功能。其控制字格式如图8-58-5所示。所示。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 * 例如,例如,07H07H写入控制口,置写入控制口,置1 PC31 PC3;08H08H写入控制口,写入控制口,PC4PC4清清0 0。若。若8255A8255A的的 控制口寄存器地址为控制口寄存器地址为FBHFBH,PC5PC5先置先置“ “1”1”,后清,后清“ “0”0”的程序如下:的程序如下: MOV R0MOV R0,#0FBH #0FBH ;控制字端

24、口地址送;控制字端口地址送R0R0 MOV AMOV A,#0BH #0BH ;PC5PC5置置“ “1”1”控制字送控制字送A A MOVX R0MOVX R0,A A ;使;使PC5=1PC5=1 MOV AMOV A,#0AH #0AH ;PC5PC5清清“ “0”0”控制字送控制字送A A MOVX R0MOVX R0,A A ;使;使PC5=0PC5=0 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 * 8255A8255A的三种工作方式 的三种工作方式 8255A8255A有有3 3中工作方式:中工作方式: 1) 1) 方式方式0 0:基本输入输出;:基本输入输出; 2

25、) 2) 方式方式1 1:选通输入输出;:选通输入输出; 3) 3) 方式方式2 2:双向传送(仅:双向传送(仅A A口有)。口有)。 方式方式0 0 方式方式0 0是一种基本的输入是一种基本的输入/ /输出方式。在方式输出方式。在方式0 0下,下,AT89AT89系列单片机可对系列单片机可对8255A8255A 进行进行I/OI/O数据的无条件传送,数据的无条件传送,8255A8255A的的A A口、口、B B口和口和C C口均可设定为方式口均可设定为方式0 0,并,并 可根据需要规定各端口为输入方式或输出方式。可根据需要规定各端口为输入方式或输出方式。8255A8255A的方式的方式0 0

26、称为基本输入称为基本输入/ / 输出方式。方式输出方式。方式0 0的基本功能为:的基本功能为: 1 1)具有两个)具有两个8 8位端口(位端口(A A、B B)和两个)和两个4 4位端口(位端口(C C的上半部分和下半部分)的上半部分和下半部分) 2 2)任一个端口都可以设定为输入或输出。)任一个端口都可以设定为输入或输出。 3 3)数据输出锁存,输入不锁存。)数据输出锁存,输入不锁存。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 * 例:假设例:假设8255A8255A的控制字寄存器地址为的控制字寄存器地址为FF7FHFF7FH,则令,则令A A口和口和C C口的口的 高高4

27、4位工作在方式位工作在方式0 0输出,输出, B B口和口和C C口的低口的低4 4位工作于方式位工作于方式0 0输入。输入。 初始化程序:初始化程序: MOV DPTRMOV DPTR,#0FF7FH #0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H #83H ;方式控制字;方式控制字83H83H送送A A MOVX DPTRMOVX DPTR,A A ;83H83H送控制字寄存器送控制字寄存器 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 方式方式1 1 方式方式1 1是一种选通输入是一种选通输入/ /输出工作方式。输出

28、工作方式。A A口和口和B B口都可以独立地设置成这种工口都可以独立地设置成这种工 作方式。在方式作方式。在方式1 1下,下,8255A8255A的的A A口和口和B B口通常用于传送和它们相连外设的口通常用于传送和它们相连外设的I/OI/O 数据,数据,C C口作为口作为A A口和口和B B口的握手联络线,图中标有口的握手联络线,图中标有I/OI/O各位仍可用作基本输入各位仍可用作基本输入 / /输出,不作联络线用。输出,不作联络线用。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 1)1)方式方式1 1输入输入 当任一端口工作于方式当任一端口工作于方式1 1输入时,控制联络信号

29、如图输入时,控制联络信号如图8-68-6所示所示 *26 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 A A口的输入方式口的输入方式1 1工作示意图见工作示意图见8-78-7。 方式方式2 2 方式方式2 2是一种双向总线方式。只有是一种双向总线方式。只有A A口才能设定为方式口才能设定为方式2 2。在方式。在方式2 2下,下,PA7PA7 PA0PA0为双向为双向I/OI/O总线。当作输入总线使用时,总线。当作输入总线使用时,PA7PA7PA0PA0受受 和和 控控 制,其工作过程和方式制,其工作过程和方式1 1输入时相

30、同;当作输出总线使用时,输入时相同;当作输出总线使用时,PA7PA7PA0PA0受受 、 控制,其工作过程和方式控制,其工作过程和方式1 1输出时相同。输出时相同。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 B B口方式口方式1 1选通输出工作示意图选通输出工作示意图 *29 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 * 8255A8255A和 和AT89AT89系列单片机的接口系列单片机的接口 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 8255A8255A端口地址的确定端口地址的确定 8255A8255A的的A A、B B、C C及控制口的地址

31、分别为:及控制口的地址分别为:0000H0000H、0001H0001H、0002H0002H、0003H0003H。 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 软件编程软件编程 如图如图8-108-10所示,在所示,在8255A8255A的的B B口接有口接有8 8个按键,个按键,A A口接有口接有8 8个发光二极管,按下某个发光二极管,按下某 键对应的发光二极管发光。实现的程序如下:键对应的发光二极管发光。实现的程序如下: 汇编语言参考程序:汇编语言参考程序: MOV DPTR MOV DPTR,#0FF7FH #0FF7FH ;指向;指向82558255控制口控制口 MO

32、V A MOV A,#83H #83H MOVX DPTR MOVX DPTR,A A ;向控制口写控制字,;向控制口写控制字,A A口输出,口输出,B B口输入口输入 LOOPLOOP:MOV DPTRMOV DPTR,#0FF7DH #0FF7DH ;指向;指向8255A8255A的的B B口口 MOVX DPTRMOVX DPTR,A A ;检测按键,将按键状态读入累加器;检测按键,将按键状态读入累加器A A MOV DPTR MOV DPTR,#0FF7CH #0FF7CH ;指向;指向8255A8255A的的A A口口 MOVX DPTRMOVX DPTR,A A ;驱动;驱动LED

33、LED发光发光 SJMP LOOPSJMP LOOP 8.1 I/O8.1 I/O接口的扩展技术接口的扩展技术 C C语言参考程序:语言参考程序: #include#include #include #define #define portAportA XBYTE0xff7c XBYTE0xff7c #define #define portBportB XBYTE0xff7d XBYTE0xff7d #define #define portCRportCR XBYTE0xff7f XBYTE0xff7f unsigned char i;unsigned char i; void main()v

34、oid main() while (1) while (1) portCRportCR=0x83; / =0x83; / 向向8255A8255A控制口写入控制字,控制口写入控制字,A A口输出,口输出,B B口输入口输入 while(1)while(1) i= i=portBportB; /; /监测监测8255A8255A的的B B口按键,读入按键状态口按键,读入按键状态 portAportA= i; / = i; / 向向8255A8255A的的A A口输出数据,驱动口输出数据,驱动LEDLED发光发光 *33 键盘的工作原理键盘的工作原理 键盘是由一组规则排列的按键组成,一个按键实际上

35、是一个开关元件,也就键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就 是说,键盘是一组规则排列的开关。是说,键盘是一组规则排列的开关。 按键的分类按键的分类 触点式开关按键触点式开关按键 结构原理结构原理 无触点式开关按键无触点式开关按键 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 编码键盘编码键盘 接口原理接口原理 非编码键盘非编码键盘 * 按键的结构特点按键的结构特点 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转 换成为电气上的逻辑关系。能提供标准的换成为电气上的

36、逻辑关系。能提供标准的TTLTTL逻辑电平,以便与通用数字系统逻辑电平,以便与通用数字系统 的逻辑电平相容。的逻辑电平相容。 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定 时间的触点机械抖动,抖动时间的长短与开关的机械特性有关,一般为时间的触点机械抖动,抖动时间的长短与开关的机械特性有关,一般为55 10ms10ms 在触点抖功期间检测按键的通与断状态,可能导致判断出错,必须采取在触点抖功期间检测按键的通与断状态,可能导致判断出错,必须采取 去抖动措施,可采用硬件去抖与软件去抖的方法。去抖动措施,可采用硬件去抖

37、与软件去抖的方法。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 * 硬件去抖动硬件去抖动 可采用在键输出端加可采用在键输出端加RSRS触发器或单稳态触发器构成去抖动电路。图触发器或单稳态触发器构成去抖动电路。图8-128-12是是 一种由一种由R-SR-S触发器构成的去抖动电路。触发器构成的去抖动电路。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 * 软件去抖动软件去抖动 在检测到有按键按下时,执行一个在检测到有按键按下时,执行一个10ms10ms左右的延时程序后,再确认该按键左右的延时程序后,再确认该按键 电平是否仍保持闭合状态电平,若仍保

38、持闭合状态电平,则确认该键处于电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于 闭合状态。闭合状态。 按键编码按键编码 一组按键或键盘都要通过接口线查询按键的开关状态。根据键盘结构的不同一组按键或键盘都要通过接口线查询按键的开关状态。根据键盘结构的不同 ,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换为相,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换为相 对应的键值,以实现按键功能程序的跳转。对应的键值,以实现按键功能程序的跳转。 编制键盘程序编制键盘程序 一个完善的键盘控制程序应具备以下功能:一个完善的键盘控制程序应具备以下功能: (1)(1)检

39、测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触 点抖动的影响。点抖动的影响。 (2)(2)判断是哪一个键按下,并且每次只处理一个按键。判断是哪一个键按下,并且每次只处理一个按键。 (3)(3)准确输出按键值准确输出按键值( (或键号或键号) ),以满足跳转指令要求。,以满足跳转指令要求。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 *37 独立式按键与单片机的接口独立式按键与单片机的接口 键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就键盘是由一组规则排列的按键组成,一个按键实际上是

40、一个开关元件,也就 是说,键盘是一组规则排列的开关。是说,键盘是一组规则排列的开关。 独立式按键结构独立式按键结构 独立式键盘的结构如图独立式键盘的结构如图8-138-13所示,这是最简单的键盘结构形式。所示,这是最简单的键盘结构形式。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 * 独立式键盘与独立式键盘与AT89AT89单片机的接口单片机的接口 图图8-148-14为独立式按键程序查询方式和中断方式的接口电路。为独立式按键程序查询方式和中断方式的接口电路。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 * 独立式按键的软件设计独立式按键的软

41、件设计 程序清单如下:程序清单如下: STARTSTART: MOV AMOV A,#0FFH #0FFH ;置;置P1P1口为输入方式口为输入方式 MOV P1MOV P1,A A LOOPLOOP: MOV AMOV A,P1 P1 ;读键值;读键值 CJNE ACJNE A,#0FFH#0FFH,L0 L0 ;有键按下否;有键按下否 SJMP LOOP SJMP LOOP ;无键按下等待;无键按下等待 L0L0: LCALL DELAY LCALL DELAY ;调延时去抖;调延时去抖 MOV AMOV A,P1 P1 ;重新读入键盘状态;重新读入键盘状态 CJNE ACJNE A,#0

42、FFH#0FFH,L1 L1 ;非误读,转;非误读,转 SJMP LOOPSJMP LOOP L1L1: JNB ACC.0JNB ACC.0, K0 K0 ;为;为0 0号键按下,转相应程序号键按下,转相应程序K0K0 JNB ACC.1 JNB ACC.1, K1 K1 ;为;为1 1号键按下,转相应程序号键按下,转相应程序K1K1 JNB ACC.2 JNB ACC.2, K2K2 JNB ACC.3 JNB ACC.3, K3K3 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 JNB ACC.5 JNB ACC.5, K5K5 JNB ACC.6 JNB ACC

43、.6, K6K6 JNB ACC.7 JNB ACC.7, K7K7 SJMP START SJMP START ;无键按下,返回;无键按下,返回 K0K0: AJMP KEY0 AJMP KEY0 ;各功能键程序入口地址表;各功能键程序入口地址表 K1K1: AJMP KEY1 AJMP KEY1 K2K2: AJMP KEY2AJMP KEY2 K3K3: AJMP KEY1 AJMP KEY1 K4 K4: AJMP KEY2AJMP KEY2 K5 K5: AJMP KEY1 AJMP KEY1 K6 K6: AJMP KEY2AJMP KEY2 K7 K7: AJMP KEY1 AJ

44、MP KEY1 KEY0 KEY0: ;0 0号功能键处理程序号功能键处理程序 LJMP START LJMP START ;0 0号键处理程序执行完返回号键处理程序执行完返回 KEY7 KEY7: ;7 7号功能键处理程序号功能键处理程序 LJMP START LJMP START ;7 7号键处理程序执行完返回号键处理程序执行完返回 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 *41 矩阵式键盘与单片机的接口矩阵式键盘与单片机的接口 矩阵式键盘的结构及工作原理矩阵式键盘的结构及工作原理 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 *42

45、键盘的编码键盘的编码 对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可 分别对行号和列号进行二进制编码,然后将两值合成一个字节分别对行号和列号进行二进制编码,然后将两值合成一个字节 ,高,高4 4位是行号,低位是行号,低4 4位是列号。位是列号。 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 矩阵式键盘按键的识别矩阵式键盘按键的识别 扫描法:扫描法: 1 1) 判断有无键按下。判断有无键按下。 2 2) 如果有键按下,识别是哪一个键按下,键盘扫描取得闭合如果有键按下,识别是哪一个键按下,键盘扫描取得闭合 键的行

46、、列值。键的行、列值。 3 3)用计算法或查表法得到键值。)用计算法或查表法得到键值。 4 4)判断闭合键是否释放,如没释放则继续等持)判断闭合键是否释放,如没释放则继续等持 5 5)将闭合键键号保存,同时转去执行该闭合键的功能。)将闭合键键号保存,同时转去执行该闭合键的功能。 *43 8.2 8.2 键盘及其与单片机的接口技术键盘及其与单片机的接口技术 *44 键盘的工作方式键盘的工作方式 (1 1)编程扫描方式)编程扫描方式 利用利用CPUCPU在完成其它工作的空余时间,调用键盘扫描子程序来响应键在完成其它工作的空余时间,调用键盘扫描子程序来响应键 盘输入的要求。盘输入的要求。 (2 2)定时扫描工作方式)定时扫描工作方式 每隔一定的时间对键盘扫描一次,它利用单片机内部的定时器产生一每隔一定的时间对键盘扫描一次,它利用单片机内部的定时器产生一 定时间(例如定时间(例如10ms10ms)的定时,当定时时间到就产生定时器溢出中断,)的定

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

当前位置:首页 > 其他


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