版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1 显示器与键盘接口技术显示器与键盘接口技术 1. 1. LEDLED数码管显示原理数码管显示原理 LEDLED显示器是单片机显示器是单片机 应用系统常用的输出器应用系统常用的输出器 件。由若干发光二极管件。由若干发光二极管 组成。组成。 控制不同组合的发光二控制不同组合的发光二 极管导通,就能显示出极管导通,就能显示出 各种不同的字形。各种不同的字形。 这种显示器可分为共阴这种显示器可分为共阴 极和共阳极两种,它们极和共阳极两种,它们 的结构分别如右图。的结构分别如右图。 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 G G a b c d e f g sp sp g f
2、 e d c b a dp. g f e d c b a dpc Gde gfGab (a) (a) 外型外型 (b) (b) 共阴极共阴极 (c) (c) 共阳极共阳极 图图 7-1 LED7-1 LED显示器结构图显示器结构图 第1页/共47页 表表7-1 八段八段LED段码表段码表 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 显示显示 字符字符 共阴极接法八段状态共阴极接法八段状态 s 共阴极接法共阴极接法 段码段码(十六进制十六进制) 共阳极接法共阳极接法 段码段码(十六进制十六进制) 0001111113FHC0H 10000011006HF9H 2010110115
3、BHA4H 3010011114FHB0H 40110011066H99H 5011011016DH92H 6011111017DH82H 70000011107HF8H 8011111117FH80H 9011011116FH90H A0111011177H88H b011111007CH83H c0011100139HC6H d010111105EHA1H E0111100179H86H F0111000171H8EH 灭 (空格) 0000000000HFFH P0111001173H8CH H0111011076H89H 1000000080H7FH 0100000040HBFH 第2
4、页/共47页 2.2.数码管显示器的显示方式数码管显示器的显示方式 单片机应用系统单片机应用系统 ,通常由多块,通常由多块LEDLED显示器构成一个显示器构成一个N N位的位的LEDLED显示器;显示器; N N位位LEDLED显示器有显示器有N N根位选线和根位选线和8 8N N根段选线;根段选线; 位选线用于选中一个位选线用于选中一个LEDLED显示器,段选线控制显示的字形。显示器,段选线控制显示的字形。 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 显示方式显示方式 分类分类 静态显示静态显示 动态显示动态显示 第3页/共47页 1 1). .数码管显示器的静态显示方式数码
5、管显示器的静态显示方式 静态显示是指静态显示是指LED显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。 图图7-2所示为单片机所示为单片机AT89C51控制的控制的2位静态位静态LED显示器接口电路,图中显示器为共阳极显示器。显示器接口电路,图中显示器为共阳极显示器。 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 LED1 LED2 G G a b c d e f g g f e d c b a 图图 7-2 7-2 数码管静态显示实例数码管静态显示实例 第4页/共47页 图图7-3所示流程图:完成所示流程图:完
6、成099的计数功能。的计数功能。 其中其中LED2显示十位计数值,显示十位计数值,LED1显示个位计数值。显示个位计数值。 静态显示唯有当计数值发生改变时,才进行数据的显示更新静态显示唯有当计数值发生改变时,才进行数据的显示更新! 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 图图 7-3 7-3 数码管静态显示程序流程图数码管静态显示程序流程图 第5页/共47页 实例实例7-17-1:根据如图根据如图7-2所示的数码管静态显示实例和图所示的数码管静态显示实例和图7-3所示的所示的 流程图,请列写出实现流程图,请列写出实现099循环计数静态显示的程序循环计数静态显示的程序( )。
7、 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 MHzfosc12 解:相应程序如下:解:相应程序如下: CNT_H EQU 61H ;计数待显示十位数计数待显示十位数 据据 CNT_L EQU 60H ;计数待显示个位数据计数待显示个位数据 ORG 0000H LJMP MAIN ORG 0066H MAIN: MOV SP, #70H MOV CNT_H, #00H ;清除清除RAM 61H、60H单元单元 内容内容 MOV CNT_L, #00H LCALL DISPLAY ;调用显示子程序调用显示子程序 第6页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘
8、接口技术 LOOP:LCALLDELAY1S INCCNT_L MOVA, CNT_L XRLA, #10 JNZDSP MOVCNT_L, #00H INCCNT_H MOVA, CNT_H XRLA, #10 JNZDSP MOVCNT_H, #00H 第7页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 DSP:LCALLDISPLAY ;调用显示子程调用显示子程 序序 LJMPLOOP ;* DISPLAY: MOVDPTR, #TABLE ;显示子程序显示子程序 MOVA, CNT_H MOVCA, A+DPTR MOVP3, A MOVDPTR, #TABL
9、E MOVA, CNT_L MOVCA, A+DPTR MOVP1, A RET 第8页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 ;* DELAY1S: MOVR3, #04H ;延时延时1秒子程序秒子程序 LOOP3: MOVR2, #0FAH LOOP2: MOVR1, #0F9H NOP LOOP1: NOP NOP DJNZ R1, LOOP1 DJNZ R2, LOOP2 DJNZ R3, LOOP3 RET TABLE: DB C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END 第9页/共47页 2 2).
10、.数码管显示器的动态显示方式数码管显示器的动态显示方式 动态显示是一位一位地轮流循环点亮各位显示器动态显示是一位一位地轮流循环点亮各位显示器 。 每位延时点亮的时间为每位延时点亮的时间为15ms 。 利用人眼的视觉暂留效应,就可以给人同时显示的感觉。利用人眼的视觉暂留效应,就可以给人同时显示的感觉。 图图7-4所示为单片机所示为单片机AT89C51控制的控制的2位动态位动态LED显示器接口电路显示器接口电路 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 LED1LED2 ab c d efgdpG AB/BACE A1 A2 A3 A4 A5 A6 A7 A0B0 Gdp g f
11、edcb a B7 B6 B5 B4 B3 B2 B1 图图 7-4 数码管动态显示实例数码管动态显示实例 第10页/共47页 图图7-5所示流程图:完成所示流程图:完成0099的计数功能。的计数功能。 共阳极显示器共阳极显示器 ! 为了实现电路的动态扫描,程序采用为了实现电路的动态扫描,程序采用T0溢出中断方式,实现溢出中断方式,实现4ms的动态扫描。的动态扫描。 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 图图 7-5 数码管动态显示程序流程图数码管动态显示程序流程图 第11页/共47页 实例实例7-27-2:根据如图根据如图7-4所示的数码管动态显示实例和图所示的数码管动
12、态显示实例和图7-5所示的所示的 流程图,请编写实现流程图,请编写实现099循环计数动态显示程序循环计数动态显示程序 ( )。 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 MHzfosc12 解:相应程序如下:解:相应程序如下: H_C EQU P1.0 ;P1.0控制十位数码管阳极控制十位数码管阳极 L_C EQU P1.1 ;P1.1控制个位数码管阳极控制个位数码管阳极 PORT_G EQU P3 ;数码管数据端数码管数据端 DSP_C EQU 20H.0 ;显示控制位:显示控制位:1-显示个位,显示个位,0-显示显示 十位十位 CNT_H EQU 61H ;计数待显示十位
13、数据计数待显示十位数据 CNT_L EQU 60H ;计数待显示个位数据计数待显示个位数据 ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 第12页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 ORG0066H MAIN:MOVSP, #70H MOVCNT_H, #00H;清除清除RAM 61H、60H 单元内容单元内容 MOVCNT_L, #00H MOVTMOD, #01H MOVTH0, #0F0H;T0装初值装初值,延时延时4ms MOVTL0, #5FH SETBET0 SETBEA SETBTR0 第13页/共47页
14、第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 LOOP:LCALLDELAY1S;调用延时调用延时1秒子程秒子程 序序 INCCNT_L MOVA, CNT_L XRLA,#10 JNZLOOP MOVCNT_L,#00H INCCNT_H MOVA, CNT_H XRLA,#10 JNZLOOP MOVCNT_H,#00H LJMPLOOP 第14页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 ;* INT_T0:PUSHACC;T0中断,实现动中断,实现动 态显示态显示 PUSHPSW CPLDSP_C;显示子程序显示子程序 JBDSP_C, DSP
15、L CLRL_C SETBH_C MOVDPTR, #TABLE MOVA, CNT_H MOVCA, A+DPTR LJMPDPS_END 第15页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 DSPL: CLRH_C SETBL_C MOV DPTR, #TABLE MOV A, CNT_L MOVCA, A+DPTR DPS_END: MOVPORT_G, A MOV TH0, #0F0H;T0重装初值重装初值 MOV TL0, #5FH POP PSW POP ACC RET 第16页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 ;*
16、 DELAY1S:MOVR3, #04H ;延时延时1秒子程序秒子程序 LOOP3:MOVR2, #0FAH LOOP2:MOVR1, #0F9H NOP LOOP1:NOP NOP DJNZR1, LOOP1 DJNZR2, LOOP2 DJNZR3, LOOP3 RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H END 第17页/共47页 键盘是若干按键的集合,是单片机的常用输入键盘是若干按键的集合,是单片机的常用输入 设备,操作人员可以通过键盘输入数据或命令,设备,操作人员可以通过键盘输入数据或命令, 实现人机通信
17、实现人机通信; ; 单片机的键盘通常使用机械触点式按键开关单片机的键盘通常使用机械触点式按键开关; 图图 7-6 7-6 反映了按键触点的机械抖动情况反映了按键触点的机械抖动情况。 第七章 显示器与键盘接口技术 第二节 非编码键盘接口非编码键盘接口 图图 7-6 7-6 按键触点的机械抖动按键触点的机械抖动 理想波形 实际波形 稳定闭合 释放抖动 按下抖动 第18页/共47页 触点去抖动:分触点去抖动:分软件去抖动软件去抖动(软件延时软件延时10ms10ms) 和和硬件去抖动硬件去抖动; 键盘可以分为键盘可以分为独立连接式独立连接式和和行列(矩阵)式行列(矩阵)式 两类,每一类又可根据对键盘的
18、译码方法分为两类,每一类又可根据对键盘的译码方法分为 编码键盘编码键盘和和非编码键盘非编码键盘两种类型。两种类型。 第七章 显示器与键盘接口技术 第二节 非编码键盘接口非编码键盘接口 第19页/共47页 编码键盘编码键盘是通过一个编码电路来识别闭合键的键码,是通过一个编码电路来识别闭合键的键码, 具有去抖动功能,但硬件较复杂,具有去抖动功能,但硬件较复杂,PCPC机所用的标准键盘机所用的标准键盘 就属于这种;就属于这种; 非编码键盘非编码键盘是通过软件来识别键码,需占用是通过软件来识别键码,需占用CPUCPU一定一定 的时间,但硬件简单,可以方便地增减键的数量,单片的时间,但硬件简单,可以方便
19、地增减键的数量,单片 机应用系统中得到广泛的应用;机应用系统中得到广泛的应用; 本节仅介绍本节仅介绍非编码键盘非编码键盘的原理和接口电路。的原理和接口电路。 第七章 显示器与键盘接口技术 第二节 非编码键盘接口非编码键盘接口 第20页/共47页 1.1.独立式按键接口独立式按键接口 独立式键独立式键 盘是每个按盘是每个按 键独立地占键独立地占 用一根数据用一根数据 输入线,图输入线,图 7-77-7所示。所示。 通常应用于通常应用于 按键数量较按键数量较 少的场合。少的场合。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 图图 7-7 AT89C517-7 AT89C51
20、对独立式键盘的接口对独立式键盘的接口 第21页/共47页 实例实例7-37-3:根据如图根据如图7-77-7所示的所示的AT89C51AT89C51单片机与独立式键盘的接口单片机与独立式键盘的接口 电路,请用查询的方式写出其键盘扫描程序。电路,请用查询的方式写出其键盘扫描程序。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 解:相应程序如下:解:相应程序如下: ORG 0100H KEYSCAN: MOV P1, #0FFH ;置置P1口为输入态口为输入态 MOV A, P1 ;读入键值读入键值 LCALL DELAY10ms ;延时延时10ms,去抖动,去抖动 MOV
21、B, P1 ;再读键值再读键值 CJNE A, B, GORET ;两次键值不一致,直接返回两次键值不一致,直接返回 JNB ACC.0, KEY0 ;0号键按下,转号键按下,转0号键功能程号键功能程 序序 JNB ACC.1, KEY1 ;1号键按下,转号键按下,转1号键功能程号键功能程 序序 JNB ACC.2, KEY2 ;2号键按下,转号键按下,转2号键功能程号键功能程 序序 JNB ACC.3, KEY3 ;3号键按下,转号键按下,转3号键功能程号键功能程 序序 JNB ACC.4, KEY4 ;4号键按下,转号键按下,转4号键功能程号键功能程 序序 JNB ACC.5, KEY5
22、;5号键按下,转号键按下,转5号键功能程号键功能程 序序 JNB ACC.6, KEY6 ;6号键按下,转号键按下,转6号键功能程号键功能程 序序 JNB ACC.7, KEY7 ;7号键按下,转号键按下,转7号键功能程号键功能程 序序 GORET: RET ;从键盘服务子程序返回从键盘服务子程序返回 第22页/共47页 第一节 LED数码管显示接口 第七章 显示器与键盘接口技术 KEY0:LCALLFUNC0;执行执行0号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY1:LCALLFUNC1;执行执行1号键功能服号键功能服 务程序务程序 RET;
23、从键盘服务子程从键盘服务子程 序返回序返回 KEY2:LCALLFUNC2;执行执行2号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY3:LCALLFUNC3;执行执行3号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY4:LCALLFUNC4;执行执行4号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY5:LCALLFUNC5;执行执行5号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY6:LCALLFUNC6;执行
24、执行6号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 KEY7:LCALLFUNC7;执行执行7号键功能服号键功能服 务程序务程序 RET;从键盘服务子程从键盘服务子程 序返回序返回 第23页/共47页 2.2.行列式非编码键盘接口行列式非编码键盘接口 行列式键盘行列式键盘 又称矩阵式键又称矩阵式键 盘盘。 它是将它是将I/OI/O 线的一部分作线的一部分作 为行线,另一为行线,另一 部分作为列线部分作为列线 ,按键设置在,按键设置在 行线和列线的行线和列线的 交叉处。交叉处。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 图图 7
25、-8 47-8 44 4矩阵键盘电路图矩阵键盘电路图 x3 x2 x1 x0 y3y2y1 y0 15141312 111098 7654 3210 第24页/共47页 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 判别是否有键按下判别是否有键按下 识别按键位置(行扫描法)识别按键位置(行扫描法) 键值的计算键值的计算 第25页/共47页 1 1). .判别是否有键按下判别是否有键按下 首先把首先把I/OI/O口口P1.0P1.0P1.3 P1.3 设置成输出口,把设置成输出口,把P1.4P1.4 P1.7P1.7设置成输入口,接着把全设置成输入口,接着把全“0 0”送到
26、送到P1.0P1.0 P1.3P1.3,这,这 样就可以在所有行线样就可以在所有行线x0 x0 x3x3上得到低电平,然后读取上得到低电平,然后读取y0y0 y3y3上的列值就可以判断是否有键按下。上的列值就可以判断是否有键按下。 若无键按下,则所读列值必全为若无键按下,则所读列值必全为“1 1”;若;若有键按下有键按下,则,则 所读列值必因被按按键的行、列线接通而所读列值必因被按按键的行、列线接通而不全为不全为“1 1”。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 第26页/共47页 2 2). .识别按键位置(行扫描法)识别按键位置(行扫描法) 当键盘上某一个按键
27、闭合时,则该按键所对当键盘上某一个按键闭合时,则该按键所对 应的列线与行线短接。应的列线与行线短接。 应用应用“行扫描法行扫描法”来识别按键的位置。来识别按键的位置。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 第27页/共47页 3 3). .键值的计算键值的计算 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 设键盘为设键盘为 矩阵键盘,其中,矩阵键盘,其中, 为行数,为行数, 为列数为列数 。如果由扫描法得按下按键的行号和列号分别为。如果由扫描法得按下按键的行号和列号分别为m m和和n n, 则所按下按键的键值为:则所按下按键的键值为: 。 n
28、Km L LH KK H K L K 第28页/共47页 图图7-97-9为键盘扫描子程序的程序流程图为键盘扫描子程序的程序流程图 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 图图 7-9 7-9 键盘扫描子程序流程图键盘扫描子程序流程图 第29页/共47页 实例实例7-47-4:根据图根据图7-87-8所示的所示的4 44 4矩阵键盘电路图矩阵键盘电路图 (程序流程图如图(程序流程图如图7-97-9所示),请写出其键盘扫描程序。所示),请写出其键盘扫描程序。 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 解:相应程序如下:解:相应程序如下: KE
29、YSCAN:ACALL KSCAN ;查有没有键按下查有没有键按下 JZ GORET ;A=0表示没有键按下,表示没有键按下, 返回返回 LCALL DELAY10ms ;有键按下,延时有键按下,延时10ms,防抖动,防抖动 。 ;(延时(延时10ms的子程序的子程序DELAY10ms略)略) ACALL KSCAN ;再查有没有键按下再查有没有键按下 JZ GORET ;A=0表示没有键按下,表示没有键按下, 返回返回 ACALL KEYSUM ;有键按下,扫描确定键有键按下,扫描确定键 值值 RL A RL A ;键值键值4 ; 主要考虑主要考虑FTAB 以下指令以下指令LCALL(3字节
30、)和字节)和RET(1字节)的总字节)的总 ;字节数为字节数为4 MOV DPTR, #FTAB JMP A+DPTR ;散转,执行所按键相应散转,执行所按键相应 功能子程序功能子程序GORET: RET 第30页/共47页 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 FTAB:LCALLFUNC0;调用调用0号键功能子号键功能子 程序程序 RET LCALLFUNC1;调用调用1键功能子程键功能子程 序序 RET . . . LCALLFUNC15;调用调用15键功能子程序键功能子程序 RET LCALLERRSUB ;键值为键值为16,异常处理,异常处理 RET 第
31、31页/共47页 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 ; KSCAN为判断有无键按下子程序,表示有键按下为判断有无键按下子程序,表示有键按下 KSCAN: MOVP1, #0F0H ;行线置低电平,列线置输入态行线置低电平,列线置输入态 MOVA, P1 ;读列线数据读列线数据 CPLA ;A取反取反 ANLA, #0F0H ;屏蔽行线屏蔽行线 RET ;返回,表示有键按下返回,表示有键按下 ; KEYSUM为求键值子程序,键值在为求键值子程序,键值在A中中 KEYSUM:MOVR6, #00H ;R6存放每行最左键的键值,初始存放每行最左键的键值,初始 清零清
32、零 MOVR7, #0FEH ;准备扫描第准备扫描第0行行 第32页/共47页 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 LOOP:MOVP1, R7;逐行输出逐行输出0扫描扫描 MOVA, P1;读列线数据读列线数据 SWAPA;A的高低半字节交换的高低半字节交换 JBACC.0, L1;第第0列无键按下,转查第列无键按下,转查第1列列 MOVA, #0;第第0列有键按下,列有键按下, SJMPKSOLVE ;转求键值转求键值 L1:JBACC.1, L2;第第1列无键按下,转查第列无键按下,转查第2列列 MOVA, #1;第第1列有键按下,列有键按下, SJMPK
33、SOLVE ;转求键值转求键值 L2:JBACC.2, L3;第第2列无键按下,转查第列无键按下,转查第3列列 MOVA, #2;第第2列有键按下,列有键按下, SJMPKSOLVE ;转求键值转求键值 L3:JBACC.3, NEXT;4列均无键按下,本列均无键按下,本 行扫描结束行扫描结束 MOVA, #3;第第3列有键按下,列有键按下, SJMPKSOLVE ;转求键值转求键值 第33页/共47页 第二节 非编码键盘接口非编码键盘接口 第七章 显示器与键盘接口技术 NEXT: MOV A, R7;准备扫描下一行准备扫描下一行 JNB ACC.3,ERR;扫描完未读到键值,异常扫描完未读到
34、键值,异常 处理处理 RL A;R7循环左移一位循环左移一位 MOV R7, A;得到下一行行扫描字得到下一行行扫描字 ADD R6, #4;得到下一行首键键值得到下一行首键键值 SJMP LOOP;转转LOOP,扫描下一行,扫描下一行 ERR: MOV A, #16;键值赋键值赋16,表示出错,表示出错! RET KSOLVE:ADD A,R6;得键值得键值 PUSH ACC;键值进栈暂存键值进栈暂存 WAIT: ACALL KSCAN;查按键释放否?防止重复执行键功能查按键释放否?防止重复执行键功能 JNZ WAIT;没有释放,等待没有释放,等待 POP ACC;键值出栈键值出栈 RET
35、第34页/共47页 在单片机应用系统中,为节省在单片机应用系统中,为节省I/OI/O口线,可将口线,可将 显示电路和键盘做在一起,构成实用的键盘、显示电路和键盘做在一起,构成实用的键盘、 显示器电路显示器电路。 图图7-10 7-10 所示为实用的键盘所示为实用的键盘/ /显示器接口电路显示器接口电路。 第七章 显示器与键盘接口技术 第三节 键盘与显示系统键盘与显示系统 第35页/共47页 第七章 显示器与键盘接口技术 第三节 键盘与显示系统键盘与显示系统 IC0IC1IC2IC3 共阳 x3 x2 x1 x0 y3y2y1 y0 15141312 111098 7654 3210 LED0
36、ab c d efgdpG Gdp g fedcb a LED1LED2LED3 ab c d efgdpG Gdp g fedcb a 图图 7-10 AT89C517-10 AT89C51对键盘对键盘/LED/LED的接口的接口 第36页/共47页 图图7-107-10所示的所示的4 44 4矩阵键盘电路已在第二节中矩阵键盘电路已在第二节中 介绍过,键盘扫描程序与介绍过,键盘扫描程序与实例实例7-47-4介绍的介绍的KEYSCANKEYSCAN 子程序相同;子程序相同; 图图7-107-10所示的所示的4 4位位LEDLED动态显示电路与图动态显示电路与图7-4 7-4 介绍的电路相同,只
37、是介绍的电路相同,只是LEDLED的位数变成的位数变成4 4位位 。其其 动态显示子程序如下:动态显示子程序如下: 第七章 显示器与键盘接口技术 第三节 键盘与显示系统键盘与显示系统 第37页/共47页 第七章 显示器与键盘接口技术 第三节 键盘与显示系统键盘与显示系统 DPLAY: MOV R0,#30H ;R0指针指向显示缓冲区首址指针指向显示缓冲区首址 MOV DPTR,#SEGTAB MOV R2,#01H ;置位选码初值置位选码初值 MOV A,R2 DISP: MOV P1,A ;输出位选码输出位选码 MOV A,R0 ;取出要显示的数,准备查段选码取出要显示的数,准备查段选码 M
38、OVC A,A+DPTR ;查字型码查字型码 MOV P3,A ;段选码送段选码送P3口口 ACALL DELAY1ms ;延时延时1ms。延时子程序。延时子程序 DELAY1ms略略 INC R0 ;修改显示缓冲区单元地址修改显示缓冲区单元地址 MOV A,R2 JB ACC.3,GORET;4位显示完否?位显示完否? RL A ;未显示完,位选码左移未显示完,位选码左移1位位 MOV R2,A AJMP DISP GORET: RET SEGTAB:DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H DB 88H,83H,C6H,A1H,86H,8EH ;
39、段选码表段选码表“0,1,2,,D,E,F” 第38页/共47页 由于键盘和显由于键盘和显 示器共用一个接示器共用一个接 口电路,所以键口电路,所以键 盘和显示器的控盘和显示器的控 制要统筹考虑,制要统筹考虑, 程序中既要完成程序中既要完成 键盘的扫描,又键盘的扫描,又 要完成要完成LEDLED显示显示 器的动态显示。器的动态显示。 程序的框图如程序的框图如 图图7-117-11所示。所示。 第三节 键盘与显示系统键盘与显示系统 第七章 显示器与键盘接口技术 图图 7-11 7-11 键盘、显示程序流程图键盘、显示程序流程图 第39页/共47页 实例实例7-57-5:请写出图请写出图7-117
40、-11所示的键盘、显示程序流程图对应的程序所示的键盘、显示程序流程图对应的程序 。 第三节 键盘与显示系统键盘与显示系统 第七章 显示器与键盘接口技术 解:相应程序如下:解:相应程序如下: ORG0000H LJMP MAIN ORG0100H MAIN: . ;初始化部分初始化部分 . . KEYSCAN:LCALLKSCAN ;查有没有键按下查有没有键按下 JZ KS1 ;A=0表示没有键按下,表示没有键按下, 转转KS1 AJMP KS2 KS1: LCALLDPLAY ;调用动态显示子程序,调用动态显示子程序, 显示一遍显示一遍 AJMP KEYSCAN 第40页/共47页 第三节 键
41、盘与显示系统键盘与显示系统 第七章 显示器与键盘接口技术 ;以下循环次数以下循环次数L的选取要使显示子程序运行总时间约为的选取要使显示子程序运行总时间约为10ms,作为防,作为防 ;抖动延时。抖动延时。 KS2:MOVR3, #L;防抖动延时防抖动延时10ms DELY:LCALLDPLAY;调用动态显示子程序,显调用动态显示子程序,显 示一遍示一遍 DJNZR3, DELY ;延时结束延时结束 LCALLKSCAN;查有没有键按下查有没有键按下 JZKS1;A=0表示没有键按下,转表示没有键按下,转 KS1 LCALLKEYSUM ;有键按下,行扫描法确定键值有键按下,行扫描法确定键值 ;以下条指令完成键值中的内容乘以倍以下条指令完成键值中的内容乘以倍 MOVR2, A RL A ADDA,R2 RL A;键值键值6 第41页/共47页 第三节 键盘与显示系统键盘与显示系统 第七章 显示器与键盘接口技术 ; 主要考虑主要考虑FTAB 以下指令以下指令LCALL(3字节)和字节)和LJMP(3字节)的总字节)的总 ;字节数为字节数为6 MOVDPTR, #FTAB JMPA+DPTR;散转,执行所按键相应散转,执行所按键相应 功能子程序功能子程序 FTAB:LCALLFUNC0;调用调用0号键功能子程序号键功能子程序 LJMPKS1;程序进入循环程序进入循环 LCALLFUNC1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于姓死的研究报告
- 2026年青海农牧科技职业学院单招职业倾向性考试题库含答案详解(夺分金卷)
- 2026年陕西国际商贸学院单招职业适应性测试题库有完整答案详解
- 2026年韶关学院单招职业倾向性测试题库及答案详解1套
- 2026年鹤岗师范高等专科学校单招职业技能测试题库带答案详解(精练)
- 2026年黑龙江农业工程职业学院单招职业倾向性测试题库附答案详解(基础题)
- 2026年长治幼儿师范高等专科学校单招职业倾向性测试题库含答案详解(突破训练)
- 2026年阳江职业技术学院单招职业适应性测试题库附参考答案详解(能力提升)
- 2026年长沙电力职业技术学院单招职业倾向性考试题库含答案详解ab卷
- 烈士陵园的研究报告
- 2026年中学新团员入团测试题及答案
- (一模)东北三省三校2026年高三第一次联合模拟考试语文试卷(含答案详解)
- 2026河南郑州建设集团所属公司社会招聘工作人员44名笔试备考题库及答案解析
- 2026辽宁大连理工大学后勤处自聘管理岗位招聘2人笔试备考题库及答案解析
- 2026年吉安职业技术学院单招综合素质考试题库含答案详解
- 2026年春五年级下册数学教学计划(附教学进度表)
- 薄抹灰施工方案
- 2026年餐饮服务标准操作流程培训
- 2026年南京交通职业技术学院单招职业技能考试题库及答案详解(基础+提升)
- 2025年青岛农商银行春招笔试及答案
- 绍兴2025年浙江绍兴市政务服务办公室招聘政务服务专员6人笔试历年参考题库附带答案详解
评论
0/150
提交评论