《(精品)第7章 单片机并行IO扩展.ppt》由会员分享,可在线阅读,更多相关《(精品)第7章 单片机并行IO扩展.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础第第7 7章章 单片机并行单片机并行I/OI/O扩展扩展教学基本要求教学基本要求:(1 1)、了解单片机)、了解单片机I/OI/O扩展的原因;扩展的原因;(2 2)、熟悉单片机)、熟悉单片机I/OI/O的控制方式及编址技术;的控制方式及编址技术;(3 3)、熟悉单片机)、熟悉单片机I/OI/O的的直接应用及简单扩展的方法;直接应用及简单扩展的方法;(4 4)、掌握)、掌握82558255芯片的应用方法;芯片的应用方法;(5 5)、掌握单片机键盘接口技术;)、掌握单片机键盘接口技术;(6 6)、掌握单片机)、掌握单片机LEDLED
2、显示器接口技术;显示器接口技术;教学重点教学重点:(1 1)、)、82558255与与MCS-51MCS-51单片机的接口方法;单片机的接口方法;(2 2)、单片机独立式键盘接口技术;)、单片机独立式键盘接口技术;(3 3)、单片机)、单片机LEDLED显示器动态扫描接口技术;显示器动态扫描接口技术;教学难点教学难点:(1 1)、键盘扫描子程序、)、键盘扫描子程序、LEDLED显示子程序的设计。显示子程序的设计。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.1 7.1 单片机单片机I/OI/O扩展基础知识扩展基础知识 7.1.1 I/O7.1.1 I/O接口电路的功能接
3、口电路的功能 1 1、速度协调;、速度协调;2 2、输出数据锁存;、输出数据锁存;3 3、数据总线隔离;、数据总线隔离;4 4、数据转换;、数据转换;5 5、增强驱动能力、增强驱动能力7.1.2 7.1.2 关于接口电路的更多说明关于接口电路的更多说明 1 1、接口与接口电路、接口与接口电路 (a a)接口:是研究单片机与外设之间的连接问题。)接口:是研究单片机与外设之间的连接问题。(b b)接口电路)接口电路:是指是指单片机与外设之间接口界面的硬件电路。单片机与外设之间接口界面的硬件电路。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 2 2、口或端口、口或端口 指接口电
4、路中,已被编址并能进行读指接口电路中,已被编址并能进行读/写操作的寄存器,简称写操作的寄存器,简称口。口。一个接口电路往往对应着多个口地址,使用端口其实质是对寄一个接口电路往往对应着多个口地址,使用端口其实质是对寄存器进行读写操作。它通常包含以下部分:存器进行读写操作。它通常包含以下部分:1 1)数据寄存器,用于保存输入)数据寄存器,用于保存输入/输出数据;输出数据;2 2)状态寄存器,用于保存外设的状态信息;)状态寄存器,用于保存外设的状态信息;3 3)命令寄存器,用于保存来自)命令寄存器,用于保存来自CPUCPU有关数据传送的控制命令。有关数据传送的控制命令。以上各寄存器均为可读以上各寄存
5、器均为可读/写的编址寄存器,具有确定的地址,写的编址寄存器,具有确定的地址,CPUCPU可对其进行读可对其进行读/写操作写操作 3 3、I/OI/O接口的特点接口的特点 4 4、并行接口与串行接口、并行接口与串行接口课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.1.3 7.1.3 I/OI/O编编址技址技术术 单片机系统中存在两个需要编址的子系统:单片机系统中存在两个需要编址的子系统:一个是存储器,主要是对存储单元进行编址,已在第一个是存储器,主要是对存储单元进行编址,已在第6 6章讲解;章讲解;另一个是接口电路中的寄存器(可编址端口),主要是对可另一个是接口电路中的寄
6、存器(可编址端口),主要是对可编址端口进行编址,也称编址端口进行编址,也称I/OI/O编址。编址。常用常用I/OI/O编编址方式:独立址方式:独立编编址方式和址方式和统统一一编编址方式址方式。(a a)独立编址方式)独立编址方式所谓独立编址,就是把所谓独立编址,就是把I/OI/O和存储器分开进行编址。和存储器分开进行编址。优点:优点:I/OI/O和存储器地址空间相互独立。和存储器地址空间相互独立。缺点:除存储器读缺点:除存储器读/写指令外,还要设置一套写指令外,还要设置一套I/OI/O指令及控制信号。指令及控制信号。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(b b)统
7、一编址方式统一编址方式 所谓统一编址,就是把系统中的所谓统一编址,就是把系统中的I/OI/O和存储器统一进行编址。和存储器统一进行编址。优点:无需专门优点:无需专门I/OI/O指令,指令,I/OI/O地址范围不受限制。地址范围不受限制。缺点:使存储器地址空间缩小,地址译码复杂。缺点:使存储器地址空间缩小,地址译码复杂。MCS-51MCS-51单单片机采用片机采用统统一一编编址方式。址方式。因此接口电路中因此接口电路中I/OI/O地址与地址与存储单元地址长度相同(存储单元地址长度相同(1616位二进制数)。位二进制数)。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.1.4
8、 7.1.4 单片机单片机I/OI/O控制方式控制方式 在单片机系统中,实现数据的输入在单片机系统中,实现数据的输入/输出传送,通常使用无条输出传送,通常使用无条件传送方式、查询方式和中断方式三种。件传送方式、查询方式和中断方式三种。(1 1)无条件无条件传传送方式送方式 即即同步程序同步程序传传送,送,单单片机不需片机不需测试测试外外设设状状态态,随时可以与外,随时可以与外设进行数据传送操作。设进行数据传送操作。如开关、如开关、LEDLED等等外部设备外部设备。无条件无条件传传送送的接口电路如图所示的接口电路如图所示:(2 2)查询查询方式方式 也称也称有条件有条件传传送方式,送方式,即即数
9、据数据传传送是有条件的,送是有条件的,单单片机片机在在传传送数据送数据之前,之前,需需测试测试外外设设的状的状态态(查询查询),它是一种),它是一种软软硬件硬件结结合合的数据的数据传传送方式送方式。查询流程框图如图所示查询流程框图如图所示:课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(3 3)中断方式中断方式 也称程序也称程序中断方式,中断方式,它与它与查询查询方式方式的主要区别在于如何知道的主要区别在于如何知道设备是否为数据传送作好了准备,设备是否为数据传送作好了准备,查询查询方式方式是单片机的主动形式,是单片机的主动形式,而中断方式则是单片机等待通知(中断请求)的被动
10、形式。而中断方式则是单片机等待通知(中断请求)的被动形式。中断方式数据传送示意图中断方式数据传送示意图:单片机单片机I/OI/O口直接应用举例口直接应用举例(1 1)数据的无条件传送)数据的无条件传送 例:从例:从P1.3P1.3P1.0P1.0输入开关状态,再从输入开关状态,再从P1.7P1.7P1.4P1.4输出去驱输出去驱动发光二极管,使其显示开关的状态。动发光二极管,使其显示开关的状态。解:解:电路原理图如图所示电路原理图如图所示:程序流程框图程序流程框图:程序清单:程序清单:课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 ORG 0000HORG 0000H MA
11、IN MAIN:MOV AMOV A,#OFH#OFH;熄灭发光二极管熄灭发光二极管MOV P1MOV P1,A A;MOV AMOV A,P1P1;输入开关状态输入开关状态CPL ACPL A;状态取反状态取反ANL AANL A,#0FH#0FH;屏蔽屏蔽A A的高半字节的高半字节SWAP ASWAP A;A A的高低半字节交换的高低半字节交换MOV P1MOV P1,A A;开关状态输出开关状态输出 ENDEND 课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(2 2)中断方式的数据传送)中断方式的数据传送 例:从例:从P1.3P1.3P1.0P1.0输输入开关状入开
12、关状态态,再从,再从P1.7P1.7P1.4P1.4输输出去出去驱驱动发动发光二极管,使其光二极管,使其显显示开关的状示开关的状态态。解:由外电路产生外部中断请求解:由外电路产生外部中断请求0 0,脉冲,脉冲边沿触发边沿触发 电路原理图如图所示电路原理图如图所示:程序流程框图程序流程框图:程序清单:程序清单:ORG 0000HORG 0000H START START:LJMP MAINLJMP MAIN;ORG 0003HORG 0003H LJMP EXTR LJMP EXTR;课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 ORG 0030HORG 0030H MAI
13、N MAIN:SETB IT0SETB IT0;脉冲边沿触发脉冲边沿触发 SETB EX0SETB EX0;外部中断外部中断0 0允许允许 SETB EASETB EA;总中断允许总中断允许 HEREHERE:LJMP HERELJMP HERE;等待中断等待中断 ORG 1000HORG 1000H EXTR EXTR:MOV AMOV A,#OFH#OFH;熄灭发光二极管熄灭发光二极管MOV P1MOV P1,A A;MOV AMOV A,P1P1;输入开关状态输入开关状态CPL ACPL A;状态取反状态取反ANL AANL A,#0FH#0FH;屏蔽屏蔽A A的高半字节的高半字节SWA
14、P ASWAP A;A A的高低半字节交换的高低半字节交换MOV P1MOV P1,A A;开关状态输出开关状态输出 RETIRETI;中断返回中断返回 ENDEND 课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础补充内容补充内容 单片机简单单片机简单I/OI/O扩展扩展 利用中、小规模集成电路芯片实现的单片机利用中、小规模集成电路芯片实现的单片机I/OI/O扩展。扩展。1 1、简单输简单输入口入口扩扩展展 简单输简单输入口入口扩扩展展只用于解决数据输入的缓冲问题,因此,只用于解决数据输入的缓冲问题,因此,简简单输单输入接口入接口的的扩扩展展就是就是扩扩展数据展数据缓缓冲器
15、冲器。典型芯片:典型芯片:74LS24474LS244,245245 2 2、简单输简单输出出口口扩扩展展 简单输简单输出出口口扩扩展展主要用于进行数据保存,因此,主要用于进行数据保存,因此,简单输简单输出出口口的的扩扩展展就是就是扩扩展展数据数据锁锁存器存器。典型芯片:典型芯片:74LS37774LS377、273273、373373课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:采用例:采用74LS24474LS244作为扩展输入、作为扩展输入、74LS27374LS273作为扩展输出的简单作为扩展输出的简单I/OI/O口扩展。口扩展。解:解:简单简单I/OI/O口扩
16、展电路如图所示口扩展电路如图所示:(1 1)芯片及连线说明)芯片及连线说明 74LS24474LS244为为8 8缓冲线驱动器,为低电平有效的使能端。缓冲线驱动器,为低电平有效的使能端。74LS27374LS273为为8D8D触触发发器器,为为低低电电平平有有效效的的清清除除端端。当当=0=0时时,输输出出全全为为0 0且且与与其其它它输输入入端端无无关关;CPCP端端是是时时钟钟信信号号,当当CPCP由由低低电电平平向向高高电平跳变时刻,电平跳变时刻,D D端输入数据传送到端输入数据传送到Q Q输出端。输出端。P0P0口作为双向口作为双向8 8位数据线,既能够从位数据线,既能够从74LS24
17、474LS244输入数据,又能输入数据,又能够从够从74LS27374LS273输出数据。输出数据。输入控制信号由输入控制信号由P2.0P2.0和和/RD/RD相相“或或”后形成。当二者都为后形成。当二者都为0 0时,时,74LS24474LS244的控制端有效,选通的控制端有效,选通74LS24474LS244,外部的信息输入到外部的信息输入到P0P0数据数据课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础总线上。当与总线上。当与74LS24474LS244相连的按键都没有按下时,输入全为相连的按键都没有按下时,输入全为1 1,若,若按下某键,则所在线输入为按下某键,则所在
18、线输入为0 0。输出控制信号由输出控制信号由P2.0P2.0和和/WR/WR相相“或或”后形成。当二者都为后形成。当二者都为0 0后,后,74LS27374LS273的控制端有效,选通的控制端有效,选通74LS27374LS273,P0P0上的数据锁存到上的数据锁存到273273的输的输出端,控制发光二极管出端,控制发光二极管LEDLED,当某线输出为当某线输出为0 0时,相应时,相应LEDLED亮。亮。(2 2)I/OI/O口地址确定口地址确定 因为因为74LS24474LS244和和74LS27374LS273都是在都是在P2.0P2.0为为0 0时被选通的,所以二者时被选通的,所以二者的
19、口地址都为的口地址都为FEFFHFEFFH。(3 3)程序设计程序设计CONTCONT:MOV DPTRMOV DPTR,#0FEFFH#0FEFFH;数据指针指向口地址数据指针指向口地址 MOVX AMOVX A,DPTRDPTR;检测按键,向检测按键,向74LS24474LS244读入数据读入数据 MOVX DPTRMOVX DPTR,A A;向向74LS27374LS273输出数据,驱动输出数据,驱动LEDLED LJMP CONT LJMP CONT ;循环循环课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教
20、材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y4
21、31G12G1974LS244A02A13A24A35A46A57A68A79B018B117B216B315B414B513B612B711E19DIR174LS245返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR174LS273课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.2 7.2 可编程并行接口芯片可编程并行接口芯片825582
22、55所谓可编程的接口芯片是指其功能可由微处理机的指令来加所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。不同的接口功能。7.2.1 82557.2.1 8255硬件逻辑结构硬件逻辑结构 1 1、封装及引脚定义;、封装及引脚定义;2 2、内部结构;、内部结构;课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.2.2 82557.2.2 8255工作方式工作方式 82558255有三
23、种工作方式:方式有三种工作方式:方式0 0、方式、方式1 1、方式、方式2 2。1 1、方式、方式0 0(基本输入(基本输入/输出方式):输出方式):A A口、口、B B口及口及C C口高口高4 4位、低位、低4 4位都可以设置输入或输出,不需要选通信号。单片机可以对位都可以设置输入或输出,不需要选通信号。单片机可以对82558255进行进行I/OI/O数据的无条件传送,外设的数据的无条件传送,外设的I/OI/O数据在数据在82558255的各端口能得的各端口能得到锁存和缓冲。到锁存和缓冲。2 2、方式、方式1 1(选通输入(选通输入/输出方式):输出方式):A A口和口和B B口都可以独立的
24、设口都可以独立的设置为方式置为方式1 1,在这种方式下,在这种方式下,82558255的的A A口和口和B B口通常用于传送和它们口通常用于传送和它们相连外设的相连外设的I/OI/O数据,数据,C C口作为口作为A A口和口和B B口的握手联络线,以实现中口的握手联络线,以实现中断方式传送断方式传送I/OI/O数据。数据。C C口作为联络线的各位分配是在设计口作为联络线的各位分配是在设计82558255时时规定的,分配表如表所示。规定的,分配表如表所示。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础C口各位方式1方式2输入方式输出方式双向方式PC0INTRBINTRB由B口
25、方式决定PC1IBFB由B口方式决定PC2SETB由B口方式决定PC3INTRAINTRBINTRAPC4I/OPC5IBFAI/OIBFAPC6I/OPC7I/O表 8255C口联络信号分配表课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 3 3、方式、方式2 2(双向数据传送方式):方式(双向数据传送方式):方式2 2是在方式是在方式1 1的基础上的基础上加上双向传送功能,但只有加上双向传送功能,但只有A A口才能选择这种工作方式,这时口才能选择这种工作方式,这时A A口口既能输入数据又能输出数据。既能输入数据又能输出数据。如果把如果把A A口置于方式口置于方式2 2下
26、,则下,则B B口只能工作于方式口只能工作于方式0 0。分配表如表所示。分配表如表所示。7.2.3 82557.2.3 8255的编程内容的编程内容 82558255的编程内容主要是两条控制命令,即工作方式命令和的编程内容主要是两条控制命令,即工作方式命令和C C口口位置位位置位/复位命令。复位命令。1 1、工作方式命令、工作方式命令 2 2、C C口位置位口位置位/复位命令复位命令 3 3、初始化编程、初始化编程课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础例:设例:设82558255控制字寄存器的地址为控
27、制字寄存器的地址为00F3H00F3H,试编程使,试编程使A A口为方式口为方式0 0输出,输出,B B口为方式口为方式0 0输入,输入,PC4PC4PC7PC7为输出,为输出,PC0PC0PC3PC3为输入。为输入。MOV DPTR,#00F3HMOV DPTR,#00F3H MOV A,#83H MOV A,#83H MOVX DPTR,A MOVX DPTR,A例:设例:设82558255控制字寄存器地址为控制字寄存器地址为00F3H00F3H,要求将,要求将PC1PC1置置1 1,PC3PC3清清0 0。MOV DPTR,#00F3HMOV DPTR,#00F3H MOV A,#03H
28、 MOV A,#03H MOVX DPTR,A MOVX DPTR,A MOV A,#06H MOV A,#06H MOVX DPTR,A MOVX DPTR,A课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.2.4 82557.2.4 8255接口应用接口应用 1 1、82558255与单片机的接口电路设计与单片机的接口电路设计 课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础数据线:数据线:82558255的的8 8根数据线根数据线D0D0D7D7直接和直接和P0P0口一一对应相连。口一一对应相连。控制线:控制线:82558255的复位线的复位线RE
29、SETRESET与单片机的复位端相连,在图中未与单片机的复位端相连,在图中未 画出。画出。地址线:地址线:82558255的的/CS/CS和和A1A1、A0A0分别由分别由P0.7P0.7和和P0.1P0.1、P0.0P0.0经地址锁经地址锁 存器存器74LS37374LS373后提供。后提供。82558255的的I/OI/O口线:口线:可以根据用户需要连接外部设备。可以根据用户需要连接外部设备。图中,图中,A A口作输出,接口作输出,接8 8个发光二极管个发光二极管LEDLED;B B口作输入,口作输入,接接8 8个按键开关;个按键开关;C C口未用。口未用。课程:单片机技术课程:单片机技术
30、 教材:单片机基础教材:单片机基础 2 2、82558255的可编址端口的地址确定的可编址端口的地址确定 假设没有连接的地址线状态为假设没有连接的地址线状态为0 08051 A15A14A13A12A11A10A9A8 A7A6A5A4A3A2A1A0 P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08255 A1A0A口:000B口:001C口:010控制口:011课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 根据上述接法,根据上述接法,82558255的的A A、B B、C C以及控制口
31、的地址分别为以及控制口的地址分别为0000H0000H、0001H0001H、0002H0002H和和0003H0003H。3 3、82558255的编程应用的编程应用 例:如果在例:如果在82558255的的B B口接有口接有8 8个按键,个按键,A A口接有口接有8 8个发光二极个发光二极管,即类似于图中按键和二极管的连接,则下面的程序能够完管,即类似于图中按键和二极管的连接,则下面的程序能够完成按下某一按键,相应的发光二极管发光的功能。成按下某一按键,相应的发光二极管发光的功能。MOV DPTRMOV DPTR,#0003H#0003H ;指向;指向82558255的控制口的控制口 MO
32、V AMOV A,#83H#83H MOVX DPTR,A MOVX DPTR,A ;向控制口写控制字,;向控制口写控制字,A A口输出,口输出,B B口输入口输入 MOV DPTRMOV DPTR,#0001H#0001H ;指向;指向82558255的的B B口口课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础LOOPLOOP:MOVX A,DPTR MOVX A,DPTR ;检测按键,将按键状态;检测按键,将按键状态 读入读入A A累加器累加器 MOV MOV DPTRDPTR,#0000H#0000H ;指向;指向82558255的的A A口口 MOVX MOVX D
33、PTR,A DPTR,A ;驱动;驱动LEDLED发光发光 LJMPLJMP LOOP LOOP END END课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础7.3 7.3 键盘接口技术键盘接口技术补充内容补充内容 单片机键盘和键盘接口概述单片机键盘和键盘接口概述(1 1)键盘的功能:)键盘的功能:键盘是单片机应用系统最常见的一种输入设备,键盘是单片机应用系统最常见的一种输入设备,用户通过键用户通过键盘可以向盘可以向CPUCPU输入数据、地址和命令。输入数据、地址和命令。(2 2)键盘的分类:键盘的分类:(a a)键盘按照接口原理可分为键盘按照接口原理可分为编码键盘与非编码
34、键盘两类。这编码键盘与非编码键盘两类。这两类键盘的主要区别是识别键符及给出相应键码的方法。两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别;编码键盘主要是用硬件来实现对键的识别;非编码键盘主要是由软件来实现键盘的定义与识别。非编码键盘主要是由软件来实现键盘的定义与识别。(b b)键盘按照其结构可分为键盘按照其结构可分为独立式键盘与矩阵式键盘两类。独立式键盘与矩阵式键盘两类。独立式键盘主要用于按键较少的场合;独立式键盘主要用于按键较少的场合;课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 矩阵式键盘主要用于按键较多的场合,也称行列式键盘。
35、矩阵式键盘主要用于按键较多的场合,也称行列式键盘。(3 3)MCS-51MCS-51单片机键盘接口方法及接口芯片:单片机键盘接口方法及接口芯片:(a a)利用单片机芯片本身的并行口;利用单片机芯片本身的并行口;(b b)利用单片机芯片本身的串行口;利用单片机芯片本身的串行口;(c c)利用通用接口芯片(利用通用接口芯片(82558255、81558155等);等);(d d)利用专用接口芯片利用专用接口芯片82798279。(4 4)单片机键盘接口电路应完成的操作功能:单片机键盘接口电路应完成的操作功能:(a a)判定是否有闭合键;判定是否有闭合键;(b b)确定闭合键的位置;确定闭合键的位置
36、;(c c)形成闭合键的键码;形成闭合键的键码;(d d)排除多键、串键及去抖动。排除多键、串键及去抖动。以上操作功能通常是以软硬件结合的方式来完成的。以上操作功能通常是以软硬件结合的方式来完成的。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(5 5)单片机键盘按键的结构及特点:单片机键盘按键的结构及特点:(a a)单片机键盘按键的结构;单片机键盘按键的结构;单片机的键盘通常是由多个按键组成的,按键通常有两类:单片机的键盘通常是由多个按键组成的,按键通常有两类:1 1)触点式开关按键:如机械式开关、导电橡胶式开关等;)触点式开关按键:如机械式开关、导电橡胶式开关等;2 2
37、)无触点式开关按键:如电气式按键,磁感应按键等;)无触点式开关按键:如电气式按键,磁感应按键等;前者造价低,后者寿命长。单片机应用系统中最常见的是机前者造价低,后者寿命长。单片机应用系统中最常见的是机械触点式开关按键。械触点式开关按键。(b b)机械触点式开关按键机械触点式开关按键的功能及特点;的功能及特点;1 1)机械触点式开关按键的功能:机械触点式开关按键的功能:把开关按键机械上的通断关系转换成为电气上的逻辑关系。把开关按键机械上的通断关系转换成为电气上的逻辑关系。也就是说,它能提供标准的也就是说,它能提供标准的TTLTTL逻辑电平,以便与通用数字系统的逻辑电平,以便与通用数字系统的逻辑电
38、平相兼容。逻辑电平相兼容。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 2 2)机械触点式开关按键的特点:机械触点式开关按键的特点:机械触点式开关按键的理想波形:机械触点式开关按键的理想波形:见图见图 机械触点式开关按键的实际波形:机械触点式开关按键的实际波形:见图见图 机械开关特点:闭合时,不会马上稳定地接通。机械开关特点:闭合时,不会马上稳定地接通。断开断开时时,也不会一下子断开。,也不会一下子断开。即在即在闭闭合,断开的瞬合,断开的瞬间间,均伴随有一,均伴随有一连连串的抖串的抖动动,抖,抖动时间动时间的的长长短由按短由按键键机械特性决定,一般机械特性决定,一般为为5
39、 510ms10ms,按按键闭键闭合合稳稳定期定期长长短由操作人短由操作人员员按按键动键动作决定,一般作决定,一般为为十分之几秒到几秒。十分之几秒到几秒。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(6 6)按按键键的确的确认认:键的闭合与否,反应在口线的电平上,即口线的电平是呈现键的闭合与否,反应在口线的电平上,即口线的电平是呈现高电平还是低电平状态。因此,可以通过口线电平高、低状态的高电平还是低电平状态。因此,可以通过口线电平高、低状态的检测,来确认按键是否按下。检测,来确认按键是否按下。但如果在触点抖动期间检测按键的通与断状态,可能导致判但如果在触点抖动期间检测按键
40、的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,确保判,确保CPUCPU对一次按键动作只确认一次按键,对一次按键动作只确认一次按键,必须采取去抖动措必须采取去抖动措施。施。(7 7)消除按消除按键键抖抖动动的措施的措施:具体措施可从硬件、软件两方面予以考虑。在键数较少时,可具体措施可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。采用硬件去抖,而当键数较
41、多时,采用软件去抖。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 (a a)硬件措施硬件措施:由由两两个个与与非非门门构构成成一一个个RSRS触触发发器器,当当按按键键未未按按下下时时,OUT1OUT1输输出出为为“1 1”,OUT2OUT2输输出出为为“0 0”。当当按按键键按按下下时时,则则OUT1OUT1输输出出为为“0 0”,OUT2OUT2输出为输出为“1 1”。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 即使在按键过程中产生抖动(在与非门输入端输入一串即使在按键过程中产生抖动(在与非门输入端输入一串O O或或1 1),只要按键不返回原始
42、状态,经双稳态电路之后,其输出为正),只要按键不返回原始状态,经双稳态电路之后,其输出为正规的矩形方波(即已消失抖动影响)。规的矩形方波(即已消失抖动影响)。(b b)软件措施:软件措施:在第一次检测到有键按下时,执行一段延时在第一次检测到有键按下时,执行一段延时10ms10ms的子程序,的子程序,之后,再次检测该键的电平状态,如果该键电平仍保持闭合状态之后,再次检测该键的电平状态,如果该键电平仍保持闭合状态电平,则确认为真正有键按下。否则,认为无键按下;电平,则确认为真正有键按下。否则,认为无键按下;同理,在同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除检测到该键释放后,也
43、应采用相同的步骤进行确认,从而可消除抖动的影响。抖动的影响。(8 8)按按键的编码键的编码 根据键盘结构的不同,采用不同的编码方式。根据键盘结构的不同,采用不同的编码方式。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(9 9)编制键盘程序编制键盘程序 一个完善的键盘控制程序应具备以下功能:一个完善的键盘控制程序应具备以下功能:(a a)检检测测有有无无按按键键按按下下,并并采采取取硬硬件件或或软软件件措措施施,消消除除键键盘盘按按键机械触点抖动的影响;键机械触点抖动的影响;(b b)有有可可靠靠的的逻逻辑辑处处理理办办法法。每每次次只只处处理理一一个个按按键键,其其间间对
44、对任任何何按按键键的的操操作作对对系系统统不不产产生生影影响响,且且无无论论一一次次按按键键时时间间有有多多长长,系统仅执行一次按键功能程序;系统仅执行一次按键功能程序;(c c)准确输出按键编码值(或键号),以满足跳转指令要求。准确输出按键编码值(或键号),以满足跳转指令要求。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础返回返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础补充内容:补充内容:独立式独立式键盘键盘接口接口技术技术 (1 1)独立式键盘结构)独立式键盘结构 独立式键盘的按键独立式键盘的按键相互独立,每个按相互独立,每个按键键接一根接一根
45、I/OI/O口口线线,一根,一根I/OI/O口口线线上的按上的按键键工作状工作状态态不会影响其它不会影响其它I/OI/O口口线线的工作状的工作状态态。因。因此,通此,通过检测过检测I/OI/O口口线线的的电电平状平状态态,即可判断,即可判断键盘上键盘上哪个哪个键键被按下被按下。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(2 2)独立式键盘的程序设计)独立式键盘的程序设计 一般把键盘扫描程序设计成子程序,以便其它各程序调用。一般把键盘扫描程序设计成子程序,以便其它各程序调用。程序设计通常采用查询法。假设键盘扫描子程序的名称为程序设计通常采用查询法。假设键盘扫描子程序的名称
46、为KEYKEY,则则键盘扫描子程序键盘扫描子程序KEYKEY应应具有以下功能:具有以下功能:(a a)判定有无按键动作;判定有无按键动作;(b b)去抖动;去抖动;(c c)确认是否真正有闭合键;确认是否真正有闭合键;(d d)计算并保存闭合键键码(键号);计算并保存闭合键键码(键号);(e e)判定闭合键是否释放;判定闭合键是否释放;(f f)恢复闭合键键码(键号)。恢复闭合键键码(键号)。以上图为例,说明独立式键盘的程序设计过程:以上图为例,说明独立式键盘的程序设计过程:假设四个按键名称依次是假设四个按键名称依次是KEYAKEYA、KEYBKEYB、KEYCKEYC、KEYDKEYD;显示
47、子显示子程序的名称为程序的名称为DIRDIR,执行一次时间约执行一次时间约6ms6ms。课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(3 3)键盘扫描子程序)键盘扫描子程序KEYKEY流程框图:流程框图:课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础(4 4)键盘扫描子程序)键盘扫描子程序KEYKEY程序清单:程序清单:键盘扫描子程序键盘扫描子程序KEYKEY:出口:键值在内部出口:键值在内部RAM 20HRAM 20H单元中单元中 KEYKEY:LCALL KEYCHULILCALL KEYCHULI;调调P1P1口数据处理子程序口数据处理子程序 J
48、Z EXITJZ EXIT;没有键按下,转返回没有键按下,转返回 LCALL DIRLCALL DIR;调显示子程序去抖动调显示子程序去抖动 LCALL DIRLCALL DIR;LCALL KEYCHULILCALL KEYCHULI;调调P1P1口数据处理子程序口数据处理子程序 JZ EXITJZ EXIT;没有键按下,转返回没有键按下,转返回 MOV BMOV B,20H20H;保存取反后的键值保存取反后的键值 KEYSFKEYSF:LCALL KEYCHULILCALL KEYCHULI;调调P1P1口数据处理子程序口数据处理子程序 JZ KEY1JZ KEY1;键键释放释放,转恢复键
49、值转恢复键值 LCALL DIRLCALL DIR;调显示子程序延时调显示子程序延时 LJMP KEYSFLJMP KEYSF;等待键释放等待键释放 KEY1KEY1:MOV 20HMOV 20H,B B;键值送键值送20H20H保存保存 EXIT:RETEXIT:RET;子程序返回子程序返回课程:单片机技术课程:单片机技术 教材:单片机基础教材:单片机基础 P1P1口数据处理子程序口数据处理子程序KEYCHULIKEYCHULI:出口:出口:A A,20H20H KEYCHULI KEYCHULI:PUSH PSWPUSH PSW;保护现场保护现场 CLR RS1CLR RS1;改变当前寄存
50、器组为组改变当前寄存器组为组1 1 SETB RS0 SETB RS0;MOV P1MOV P1,#0FFH#0FFH;先向先向P1P1口写口写1 1 MOV A MOV A;P1P1;读读P1P1口数据口数据 CPL ACPL A;P1P1口数据取反口数据取反 ANL AANL A,#0FH#0FH;屏蔽屏蔽P1P1口高口高4 4位位 MOV 20HMOV 20H,A A;保存取反后的键值保存取反后的键值 CLR RS1CLR RS1;恢复当前寄存器组为组恢复当前寄存器组为组0 0 CLR RS0 CLR RS0;POP PSWPOP PSW;恢复现场恢复现场 RETRET;子程序返回子程序