单片机的接口技术PPT讲稿.ppt
《单片机的接口技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片机的接口技术PPT讲稿.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机的接口技术单片机的接口技术第1页,共73页,编辑于2022年,星期五第第99章章 目录目录n9.1 9.1 单片机键盘接口技术单片机键盘接口技术 9.1.1 独立键盘 9.1.2 矩阵式键盘n9.2 9.2 数码显示器接口电路数码显示器接口电路 9.2.1 数码管显示原理 9.2.2 数码管动态显示n9.3 A/D9.3 A/D转换接口技术转换接口技术n9.4 D/A9.4 D/A转换接口技术转换接口技术第2页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘在单片机系统中广泛使用机械式非编码键盘,通过键盘向单片
2、机输入数字、字符等代码,是最常用的输入手段。弹性按键被按下时闭合,松手后自动断开。自锁式按键按下时闭合且会自动锁住,只有再次按下时才弹起断开。通常我们把自锁式按键当做开关使用,比如单片机系统中的电源开关就使用自锁按键。单片机的外围输入控制用弹性按键较好。(a)弹性按键实物图 (b)自 锁按键 按键实物图 (C)按键 引脚电 气关系第3页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘1、独立按键与单片机的连接电路 独立式按键特点是:一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可容
3、易地判断哪个按键被按下。独立式按键的连接方法非常简单,I/O端与单片机的任一I/O口相连。图 9-2 独立式按键 与单片机的连接 第4页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘2、独立式按键的识别(1).测试有键被按下否单片机检测按键的原理是:单片机的I/O口既可作为输出也可作为输入使用,当检测按键时用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某个I/O口相连,开始时先给该I/O口赋一高电平,然后让单片机不断地检测该I/O口是否变为低电平,当按键闭合时,即相当于该I/O口通过按键与地相连,变成低
4、电平,程序一旦检测到I/O口变为低电平则说明按键被按下。第5页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘2、独立式按键的识别(2).去抖动 键是一种开关结构,由于机械触点的弹性及电压突跳等原因,在闭合及断开的瞬间,行线上会出现电压抖动。按键在被按下时,其触点电压变化过程如下图所示。理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关,一般为510ms。通常我们手动按下键然后立即释放,这个动作中稳定闭合的时间超过20ms。因此单片机在检测键盘是否按下时都要加
5、上去抖动操作软件或专用的去抖动电路及去抖动芯片。(a)按键 按下时电压的理想波形 (b)按键 按下时电压的实际波形第6页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘2、独立式按键的识别(3).键扫描以确定被按键的物理位置要想知道被按下的是哪个键,单片机只需要读入P0口的数值,如执行指令:MOV A,P0。然后执行测试条件转移指令如:JB ACC.*(07),rel。根据累加器A中的值判断连接P0口的键盘是哪一位被按下。(4).等待键释放确定键的物理位 置后,再以延时的方法判定键释放。键释放之后,就可以根据得到的键
6、码转去执行相应的键处理子 程序,进行数据的输入或命令的处理。第7页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘3、独立式键盘的识别程序 下面是识别某一键是否按下的子程序:KEYIN:MOV P1,0FFH ;P1口写入1,设置P1口为输入状态 MOV A,P1 ;读入8个按键的状态 CJNE A,#0FFH,QUDOU ;有键按下,跳去抖动 LJMP RETURN ;无键按下,返回QUDOU:MOV R3,A ;8个按键的状态送R3保存 LCALL DELAY10 ;调用延时子程序,软件去键抖动 MOV A,P1
7、 ;再一次读入8个按键的状态 CJNE A,R3,RETURN ;两次键值比较,不同,则是抖动KEY0:MOV C,P1.0 ;有键按下,读P1.0的按键状态 JC KEY1 ;P1.0为高,该键未按下,跳KEY1,判下一个键 LJMP PKEY0 ;P1.0的键按下,跳PKEY0功能程序第8页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.19.1.1独立键盘独立键盘3、独立式键盘的识别程序KEY1:MOV C,P1.1 ;读P1.1的按键状态JC KEY2 ;P1.1为高,该键未按下,跳KEY2,判下一个键 LJMP PKEY1 ;P1.1
8、的键按下,跳PKEY1功能程序KEY2:MOV C,P1.2 ;读P1.2的按键状态JC KEY3 ;P1.2为高,该键未按下,跳KEY3判下一个键LJMP PKEY2 ;P1.2的键按下,跳PKEY2功能程序KEY3:MOV C,P1.3 ;读P1.3的按键状态KEY7:MOV C,P1.7 ;读P1.7的按键状态JC RETURN ;P1.7为高,该键未按下,跳RETURN处LJMP PKEY7 ;P1.7的键按下,跳PKEY7功能程序RETURN:RET ;子程序返回说明:其中子程序PKEY0、PKEY1PKEY7为按键07的键盘功能程序,由于篇幅所限此处省略。第9页,共73页,编辑于2
9、022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘矩阵式键盘通常是由若干个键按行列排成矩阵而组成的,在行列的交点处对应有一个键。研究键盘接口技术的主要内容就是如何确定被按键的行列位置,并据此产生键码,CPU根据键码产生相应的键功能程序。1、矩阵式键盘与单片机的连接 将16个按键排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另端连接在一起构成列线,这样便一共有4行4列共8根线,我们将这8根线连接到单片机的8个I/O口上,通过程序扫描键盘就可检测16个键。第10页,共73页,编辑于2022年,星期五9.1 9.
10、1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘图 9-4(a)矩阵式键盘与单片机的连接 图 9-4(b)矩阵式键盘单个按键的电气图第11页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘2、矩阵式按键的识别(1).测试有键被按下否 矩阵式键盘有键按下的判断方法单片机检测矩阵式键盘是否有键被按下的依据与独立式键盘一样,也是检测与该键对应的I/O口是否为低电平。矩阵键盘两端都与单片机I/O口相连,因此在检测时需人为通过单片机I/O口送出低电平。键盘的行线一端经电阻接5V电源,另一端
11、接单片机系统的输入口;各列线一端接输出口,另一端接5V电源。为判断有没有键被按下,可先经输出口向所有列线输出低电平,然后再经输入口输入各行线状态。若各行线状态皆为高电平,则表明无键被按下;若各行线状态中有低电平出现,则表明有键被按下。第12页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘2、矩阵式按键的识别(1).测试有键被按下否 单片机键扫描方式键盘扫描工作方式选取原则是:既要保证及时响应按键操作,又不过多占用单片机工作时间。键盘扫描工作方式有3种,即查询扫描、定时扫描和中断扫描。查询方式,利用单片机空闲时,
12、调用键盘扫描子程序,反复扫描键盘。如果单片机的查询的频率过高,虽能及时响应键盘的输入,但也会影响其他任务的进行。查询的频率过低,可能会对键盘的输入漏判。所以要根据单片机系统的繁忙程度和键盘的操作频率,来调整键盘扫描的频率。定时扫描,每隔一定的时间对键盘扫描一次。在这种方式中,通常利用单片机内的定时器产生的定时中断,进入中断子程序来对键盘进行扫描,在有键按下时识别出该键,并执行相应键的功能程序。为了不漏判有效的按键,定时中断的周期一般应小于100ms。第13页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘 中断方
13、式,利用外部中断0和外部中断1的输入引脚触发键扫描程序。图 9-5 中断扫描方式电路第14页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘2、矩阵式按键的识别(2).去抖动矩阵式键盘也需要去抖动操作,在单片机系统中多采用软件方法,延迟时间大约10ms左右。(3).键扫描以确定被按键的物理位置 列扫描 要想确定被按键的物理位置,先送一列为低电平,其余几列全为高电平,然后立即检测各行是否有低电平,若检测到某一行为低电平,则我们便可确认当前被按下的键是哪一行哪一列的,用同样方法轮流送各列一次低电平,并检测相应各行是否
14、变为低电平,这样即可检测完所有的按键,当有键被按下时便可判断出按下的键是哪一个键。当然我们也可以将行线置低电平,扫描列是否有低电平。这就是矩阵键盘检测的原理和方法,通常被称为列扫描。第15页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘在键盘中假定有A键被按下,这时键盘矩阵中A点处的行线和列线相通。键扫描的过程是:先从端口输出FEH,即是左端列线为低电平,然后CPU读取行线状态,判断行线状态中是否有低电平者(见图9-6(a));如果没有低电平,再从输出口输出FDH,再判断行线状态(见图9-6(b));依次向下,
15、当输出口输出FBH时,行线状态中有一条为低电平,则闭合键找到(见图9-6(c))。如此继续进行下去,以发现可能出现的多键同时被按下的现象。图9-6 键扫描过程第16页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘图9-4所示电路的列扫描程序如下:SMKEY:MOV P1,#0FH ;置P1口高4位为“0”、低4位为输入状态 MOV A,P1 ;读P1口 ANL A,0FH ;屏蔽高4位 CJNE A,0FH,HKEY ;有键按下,转HKEY SJMP SMKEY ;无键按下转回HKEY:LCALL DELAY1
16、0 ;延时10ms,去抖 MOV A,P1 ;ANL A,0FH ;CJNE A,0FH,WKEY ;确认有键按下,转判哪一键按下 SJMP SMKEY ;是抖动转回WKEY:MOV P1,1110 1111B;置扫描码,检测P1.4列 MOV A,P1 ;ANL A,0FH ;CJNE A,0FH,PKEY ;P1.4列(Y0)有键按下,转键处理第17页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵矩阵式式键盘键盘MOV P1,1101 1111B;置扫描码,检测P1.5列 MOV A,P1 ;ANL A,0FH ;CJNE
17、 A,0FH,PKEY ;P1.5列(Y1)有键 按下转键处理 MOV P1,1011 1111B;置扫描码,检测P1.6列 MOV A,P1 ;ANL A,0FH ;CJNE A,0FH,PKEY ;P1.6列(Y2)有键 按下,转键处理 MOV P1,0111 1111B;置扫描,检测P1.7列 MOV A,P1 ;ANL A,0FH ;CJNE A,0FH,PKEY ;P1.7列(Y3)有键 按下,转键处理 LJMP SMKEY ;PKEY:;键 处理第18页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘
18、2、矩阵式按键的识别(3).键扫描以确定被按键的物理位置 反转法 扫描法要逐列扫描查询,有时则要多次扫描。而线反转法则很简练,无论被按键是处于第一列或最后一列,均只需经过两步便能获得此按键所在的行列值,下面以图9-4(a)所示的矩阵式键盘为例,介绍线反转法的具体步骤。首先让行线编程为输入线,列线编程为输出线,并使输出线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。再把行线编程为输出线,列线编程为输入线,并使输出线输出为全低电平,则列线中电平由高变低所在列为按键所在列。两步即可确定按键所在的行和列,从而识别出所按的键。第19页,共73页,编辑于2022年,星期五9.1 9.1 单片机
19、键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘以图9-4(a)为例的反转法程序如下:SMKEY:MOV P1,#0FH ;置P1口高4位“0”、低4位输入状态 MOV A,P1 ;读P1口 ANL A,0FH ;屏蔽高4位 CJNE A,0FH,HKEY ;有键按下,转HKEY SJMP SMKEY ;无键按下转回 HKEY:LCALL DELAY10 ;延时10ms,去抖 MOV A,P1 ;ANL A,0FH ;MOV B,A ;行线状态在B的低4位 CJNE A,0FH,WKEY ;有键按下,判哪一键按下 SJMP SMKEY ;是抖动转回 WKEY:MOV P
20、1,0F0H ;置P1高4位为输入、低4位为“0”MOV A,P1 ;ANL A,0F0H ;屏蔽低4位 ORL A,B ;列线高4位,与行线合成于B ;键处理 第20页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘(4).计算键码根据输出低电平的列线号和变为低电平的行线值,可以求得闭合键的键码。键码实际上就是键在矩阵中按从左向右、从上向下的序号。按这种规律,图9-7所示键盘的32个键的键码为00H1FH。键码的计算公式为:键码=行首键码+列值图9-7的行首键码为分别为:00H、08H、10H、18H,列值为0
21、7。图 9-7 4 8键盘键码 第21页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘(5)等待键释放计算键码之后,再以延时和扫描的方法等待和判定键释放。键释放之后,就可以根据得到的键码转相应的键处理子程序,进行数据的输入或命令的处理。第22页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘3、矩阵键盘举例【例9-1】键盘的接口电路如图9-8所示,其接口芯片为8155。其中PA口为输出口,接键盘列线。PC口为输入口,以PC3PC0
22、接键盘的四条行线。此外,已知PA口的地址为0101H,PC口的地址为0103H。试编制8155的键扫描和读键码程序。图 9-8 典型的键盘接口电路第23页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘在键盘程序中共调用两个子程序,它们分别是:DELAY延时子程序(程序略),该程序的执行时间约为6ms。KS1判断子程序,用于判断键盘上是否有键闭合。KS1的程序如下:KS1:MOV DPTR,#0101H ;设定PA口地址 MOV A,#00H MOVX DPTR,A ;PA口向列线输出00H INC DPTR ;
23、设定PC口地址 INC DPTR MOVX A,DPTR ;PC口输入行线状态 CPL A ;行线状态取反 ANL A,#0FH ;屏蔽A的高半字节 RET ;返回第24页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵式键盘矩阵式键盘 键盘扫描程序KEY:ACALL KS1 ;调用子程序,检查有键闭合否 JNZ LK1 ;A非0则有键按下,转移到消抖处理程序 ACALL DELAY ;执行一次延时程序(延时6ms)AJMP KEY LK1:ACALL DELAY ;有键闭合,延时12ms以去抖动 ACALL DELAY ACA
24、LL KS1 ;再检查有键闭合否 JNZ LK2 ;若有键闭合,则转LK2 ACALL DELAY ;若无键闭合,则说明是干扰信号,不处理 AJMP KEY ;延时6ms后转KEY继续等待键人第25页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵矩阵式式键盘键盘LK2:MOV R2,#FEH ;扫描初值 送R2 MOV R4,#00H ;列号 初值送R4LK4:MOV DPTR,#0101H ;建立PA口地址 MOV A,R2 MOVX DPTR,A ;扫描初值 送PA口 INC DPTR INC DPTR ;指向PC口 MO
25、VX A,DPTR ;输入行状态 JB ACC.0,LONE ;ACC.0=1,第 0行无键闭合,转 LONE MOV A,#00H ;第 0行行值 AJMP LKP 第26页,共73页,编辑于2022年,星期五9.1 9.1 单片机键盘接口技术单片机键盘接口技术n9.1.29.1.2矩阵矩阵式式键盘键盘LTWO:JB ACC.2,LTHR ;ACC.2=1,第 2行无键闭合,转LTHR MOV A,#10H ;第 2行行值 AJMP LKPLTHR:JB ACC.3,NEXT ;ACC.3=1,第 3行无键闭合,转NEXT MOV A,#18H ;第 3行行值 LKP:ADD A,R4 ;计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 接口 技术 PPT 讲稿
限制150内