版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、非编码键盘接口 键盘与显示系统 第七章 显示器与键盘接口技术 LED数码管显示接口 .LED发光二极管是单片机系统的重要外设,用于显示控制过程和运算结果。 第七章 显示器与键盘接口技术第一节 LED数码管显示接口.1. LED数码管显示原理 LED显示器是单片机运用系统常用的输出器件。由假设干发光二极管组成。 控制不同组合的发光二极管导通,就能显示出各种不同的字形。这种显示器可分为共阴极和共阳极两种,它们的构造分别如右图。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术(a) 外型 (b) 共阴极 (c) 共阳极 图 7-1 LED显示器构造图 .表7-1 八段LED段码表第一节 L
2、ED数码管显示接口第七章 显示器与键盘接口技术显示字符共阴极接法八段状态 s 共阴极接法段码(十六进制)共阳极接法段码(十六进制)0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88Hb011111007CH83Hc0011100139HC6Hd010111105EHA1HE0111100179H86HF011100017
3、1H8EH灭(空格)0000000000HFFHP0111001173H8CHH0111011076H89H1000000080H7FH0100000040HBFH.2.数码管显示器的显示方式 单片机运用系统 ,通常由多块LED显示器构成一个N位的LED显示器; N位LED显示器有N根位选线和8N根段选线; 位选线用于选中一个LED显示器,段选线控制显示的字形。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术显示方式分类静态显示 动态显示 .1.数码管显示器的静态显示方式 静态显示是指LED显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。 图7-2所示为单片机AT89C51
4、控制的2位静态LED显示器接口电路,图中显示器为共阳极显示器。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术图 7-2 数码管静态显示实例 . 图7-3所示流程图:完成099的计数功能。其中LED2显示十位计数值,LED1显示个位计数值。 静态显示唯有当计数值发生改动时,才进展数据的显示更新! 第一节 LED数码管显示接口第七章 显示器与键盘接口技术图 7-3 数码管静态显示程序流程图 .实例7-1:根据如图7-2所示的数码管静态显示实例和图7-3所示的流程图,请列写出实现099循环计数静态显示的程序( )。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术解:相应程序如下
5、: CNT_H EQU 61H ;计数待显示十位数据CNT_L EQU 60H ;计数待显示个位数据 ORG 0000HLJMP MAINORG 0066HMAIN: MOV SP, #70HMOV CNT_H, #00H ;去除RAM 61H、60H单元内容MOV CNT_L, #00HLCALL DISPLAY ;调用显示子程序.第一节 LED数码管显示接口第七章 显示器与键盘接口技术LOOP:LCALLDELAY1SINCCNT_LMOVA, CNT_LXRLA, #10JNZDSPMOVCNT_L, #00HINCCNT_HMOVA, CNT_HXRLA, #10JNZDSPMOVCN
6、T_H, #00H.第一节 LED数码管显示接口第七章 显示器与键盘接口技术DSP:LCALLDISPLAY ;调用显示子程序LJMPLOOP;*DISPLAY:MOVDPTR, #TABLE ;显示子程序MOVA, CNT_HMOVCA, A+DPTRMOVP3, AMOVDPTR, #TABLEMOVA, CNT_LMOVCA, A+DPTRMOVP1, ARET.第一节 LED数码管显示接口第七章 显示器与键盘接口技术;*DELAY1S: MOVR3, #04H;延时1秒子程序LOOP3: MOVR2, #0FAHLOOP2: MOVR1, #0F9H NOPLOOP1: NOP NOP
7、 DJNZR1, LOOP1 DJNZR2, LOOP2 DJNZR3, LOOP3 RETTABLE: DB C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END .2.数码管显示器的动态显示方式 动态显示是一位一位地轮番循环点亮各位显示器 。 每位延时点亮的时间为15ms 。 利用人眼的视觉暂留效应,就可以给人同时显示的觉得。图7-4所示为单片机AT89C51控制的2位动态LED显示器接口电路 第一节 LED数码管显示接口第七章 显示器与键盘接口技术图 7-4 数码管动态显示实例 .图7-5所示流程图:完成0099的计数功能。 共阳极显示器 ! 为
8、了实现电路的动态扫描,程序采用T0溢出中断方式,实现4ms的动态扫描。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术图 7-5 数码管动态显示程序流程图 开 始初始化系统T0定时器初始化、T0开中断延时1S个位计数值加1个位计数值=10?个位计数值清0,且十位计数值加1十位计数值=10?十位计数值清0结 束YNYN动态显示T0中断效力子程序显示控制位取反显示控制位=1?个位数码管阳极置高电平十位数码管阳极置低电平查找个位数据编码个位数码管阳极置低电平十位数码管阳极置高电平查找十位数据编码数据端口=数据编码恢复现场维护现场 中断前往YNT0重装初值.实例7-2:根据如图7-4所示的数
9、码管动态显示实例和图7-5所示的流程图,请编写实现099循环计数动态显示程序 ( )。 第一节 LED数码管显示接口第七章 显示器与键盘接口技术解:相应程序如下: 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 ;计数待显示十位数据CNT_L EQU 60H ;计数待显示个位数据 ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0.第一节 LED数码管显示接口第七
10、章 显示器与键盘接口技术ORG0066HMAIN:MOVSP, #70HMOVCNT_H, #00H;去除RAM 61H、60H单元内容MOVCNT_L, #00HMOVTMOD, #01HMOVTH0, #0F0H;T0装初值,延时4msMOVTL0, #5FHSETBET0SETBEASETBTR0 .第一节 LED数码管显示接口第七章 显示器与键盘接口技术LOOP:LCALLDELAY1S;调用延时1秒子程序INCCNT_LMOVA, CNT_LXRLA,#10JNZLOOPMOVCNT_L,#00HINCCNT_HMOVA, CNT_HXRLA,#10JNZLOOPMOVCNT_H,#
11、00HLJMPLOOP.第一节 LED数码管显示接口第七章 显示器与键盘接口技术;*INT_T0:PUSHACC;T0中断,实现动态显示PUSHPSWCPLDSP_C;显示子程序JBDSP_C, DSPLCLRL_CSETBH_CMOVDPTR, #TABLE MOVA, CNT_HMOVCA, A+DPTRLJMPDPS_END .第一节 LED数码管显示接口第七章 显示器与键盘接口技术DSPL: CLRH_C SETBL_C MOVDPTR, #TABLE MOVA, CNT_L MOVCA, A+DPTRDPS_END: MOVPORT_G, A MOVTH0, #0F0H;T0重装初值
12、 MOVTL0, #5FH POPPSW POPACC RETI.第一节 LED数码管显示接口第七章 显示器与键盘接口技术;*DELAY1S:MOVR3, #04H;延时1秒子程序LOOP3:MOVR2, #0FAHLOOP2:MOVR1, #0F9HNOPLOOP1:NOPNOPDJNZR1, LOOP1DJNZR2, LOOP2DJNZR3, LOOP3RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H END .键盘是假设干按键的集合,是单片机的常用输入设备,操作人员可以经过键盘输入数据或命令,实现人机通讯;单片机的键
13、盘通常运用机械触点式按键开关; 图 7-6 反映了按键触点的机械抖动情况。第七章 显示器与键盘接口技术第二节 非编码键盘接口 图 7-6 按键触点的机械抖动 .触点去抖动:分软件去抖动软件延时10ms和硬件去抖动;键盘可以分为独立衔接式和行列矩阵式两类,每一类又可根据对键盘的译码方法分为编码键盘和非编码键盘两种类型。 第七章 显示器与键盘接口技术第二节 非编码键盘接口 .编码键盘是经过一个编码电路来识别闭合键的键码,具有去抖动功能,但硬件较复杂,PC机所用的规范键盘就属于这种; 非编码键盘是经过软件来识别键码,需占用CPU一定的时间,但硬件简单,可以方便地增减键的数量,单片机运用系统中得到广泛
14、的运用; 本节仅引见非编码键盘的原理和接口电路。 第七章 显示器与键盘接口技术第二节 非编码键盘接口 .1.独立式按键接口 独立式键盘是每个按键独立地占用一根数据输入线,图7-7所示。 通常运用于按键数量较少的场所。 第二节 非编码键盘接口 第七章 显示器与键盘接口技术图 7-7 AT89C51对独立式键盘的接口 .实例7-3:根据如图7-7所示的AT89C51单片机与独立式键盘的接口电路,请用查询的方式写出其键盘扫描程序。 第二节 非编码键盘接口第七章 显示器与键盘接口技术解:相应程序如下: ORG 0100HKEYSCAN: MOV P1, #0FFH ;置P1口为输入态 MOV A, P
15、1 ;读入键值 LCALL DELAY10ms ;延时10ms,去抖动 MOV 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 ;5号键按下,转5号键功能程序 JNB ACC.6, KEY6 ;6号键按下,转6
16、号键功能程序 JNB ACC.7, KEY7 ;7号键按下,转7号键功能程序GORET: RET ;从键盘效力子程序前往.第一节 LED数码管显示接口第七章 显示器与键盘接口技术KEY0:LCALLFUNC0;执行0号键功能效力程序RET;从键盘效力子程序前往KEY1:LCALLFUNC1;执行1号键功能效力程序RET;从键盘效力子程序前往KEY2:LCALLFUNC2;执行2号键功能效力程序RET;从键盘效力子程序前往KEY3:LCALLFUNC3;执行3号键功能效力程序RET;从键盘效力子程序前往KEY4:LCALLFUNC4;执行4号键功能效力程序RET;从键盘效力子程序前往KEY5:L
17、CALLFUNC5;执行5号键功能效力程序RET;从键盘效力子程序前往KEY6:LCALLFUNC6;执行6号键功能效力程序RET;从键盘效力子程序前往KEY7:LCALLFUNC7;执行7号键功能效力程序RET;从键盘效力子程序前往 .2.行列式非编码键盘接口 行列式键盘又称矩阵式键盘。 它是将I/O线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉处。 第二节 非编码键盘接口 第七章 显示器与键盘接口技术图 7-8 44矩阵键盘电路图 .第二节 非编码键盘接口 第七章 显示器与键盘接口技术判别能否有键按下 识别按键位置行扫描法 键值的计算 图 7-8 44矩阵键盘电路图 .1
18、.判别能否有键按下 首先把I/O口P1.0P1.3 设置成输出口,把P1.4P1.7设置成输入口,接着把全“0送到P1.0 P1.3,这样就可以在一切行线x0 x3上得到低电平,然后读取y0y3上的列值就可以判别能否有键按下。 假设无键按下,那么所读列值必全为“1;假设有键按下,那么所读列值必因被按按键的行、列线接通而不全为“1。 第二节 非编码键盘接口第七章 显示器与键盘接口技术.2.识别按键位置行扫描法 当键盘上某一个按键闭合时,那么该按键所对应的列线与行线短接。 运用“行扫描法来识别按键的位置。第二节 非编码键盘接口第七章 显示器与键盘接口技术.3.键值的计算 第二节 非编码键盘接口第七
19、章 显示器与键盘接口技术设键盘为 矩阵键盘,其中, 为行数, 为列数。假设由扫描法得按下按键的行号和列号分别为m和n,那么所按下按键的键值为: 。. 图7-9为键盘扫描子程序的程序流程图第二节 非编码键盘接口第七章 显示器与键盘接口技术图 7-9 键盘扫描子程序流程图 .实例7-4:根据图7-8所示的44矩阵键盘电路图程序流程图如图7-9所示,请写出其键盘扫描程序。 第二节 非编码键盘接口第七章 显示器与键盘接口技术解:相应程序如下: KEYSCAN:ACALL KSCAN ;查有没有键按下 JZ GORET ;A=0表示没有键按下,前往 LCALL DELAY10ms ;有键按下,延时10m
20、s,防抖动。;延时10ms的子程序DELAY10ms略 ACALL KSCAN ;再查有没有键按下 JZ GORET ;A=0表示没有键按下,前往 ACALL KEYSUM ;有键按下,扫描确定键值 RL A RL A ;键值4; 主要思索FTAB 以下指令LCALL3字节和RET1字节的总;字节数为4 MOV DPTR, #FTAB JMP A+DPTR ;散转,执行所按键相应功能子程序GORET: RET .第二节 非编码键盘接口第七章 显示器与键盘接口技术FTAB:LCALLFUNC0;调用0号键功能子程序RETLCALLFUNC1;调用1键功能子程序RET . . .LCALLFUNC
21、15;调用15键功能子程序RETLCALLERRSUB;键值为16,异常处置RET.第二节 非编码键盘接口第七章 显示器与键盘接口技术; KSCAN为判别有无键按下子程序,表示有键按下KSCAN: MOVP1, #0F0H ;行线置低电平,列线置输入态 MOVA, P1 ;读列线数据 CPLA ;A取反 ANLA, #0F0H ;屏蔽行线 RET ;前往,表示有键按下; KEYSUM为求键值子程序,键值在A中KEYSUM:MOVR6, #00H ;R6存放每行最左键的键值,初始清零 MOVR7, #0FEH ;预备扫描第0行 .第二节 非编码键盘接口第七章 显示器与键盘接口技术LOOP:MOV
22、P1, R7;逐行输出0扫描MOVA, P1;读列线数据SWAPA;A的高低半字节交换JBACC.0, L1;第0列无键按下,转查第1列MOVA, #0;第0列有键按下,SJMPKSOLVE;转求键值L1:JBACC.1, L2;第1列无键按下,转查第2列MOVA, #1;第1列有键按下,SJMPKSOLVE;转求键值L2:JBACC.2, L3;第2列无键按下,转查第3列MOVA, #2;第2列有键按下,SJMPKSOLVE;转求键值L3:JBACC.3, NEXT;4列均无键按下,本行扫描终了MOVA, #3;第3列有键按下,SJMPKSOLVE;转求键值 .第二节 非编码键盘接口第七章
23、显示器与键盘接口技术NEXT: MOV A, R7;预备扫描下一行 JNB ACC.3,ERR;扫描完未读到键值,异常处置 RL A;R7循环左移一位 MOV R7, A;得到下一行行扫描字 ADD R6, #4;得到下一行首键键值 SJMP LOOP;转LOOP,扫描下一行ERR: MOV A, #16;键值赋16,表示出错! RETKSOLVE:ADD A,R6;得键值 PUSH ACC;键值进栈暂存WAIT: ACALL KSCAN;查按键释放否?防止反复执行键功能 JNZ WAIT;没有释放,等待 POP ACC;键值出栈 RET .在单片机运用系统中,为节省I/O口线,可将显示电路和
24、键盘做在一同,构成适用的键盘、显示器电路。 图7-10 所示为适用的键盘/显示器接口电路。第七章 显示器与键盘接口技术第三节 键盘与显示系统 .第七章 显示器与键盘接口技术第三节 键盘与显示系统 图 7-10 AT89C51对键盘/LED的接口 .图7-10所示的44矩阵键盘电路已在第二节中引见过,键盘扫描程序与实例7-4引见的KEYSCAN子程序一样; 图7-10所示的4位LED动态显示电路与图7-4 引见的电路一样,只是LED的位数变成4位 。其动态显示子程序如下: 第七章 显示器与键盘接口技术第三节 键盘与显示系统 .第七章 显示器与键盘接口技术第三节 键盘与显示系统 DPLAY: MO
25、V R0,#30H ;R0指针指向显示缓冲区首址 MOV DPTR,#SEGTAB MOV R2,#01H ;置位选码初值 MOV A,R2DISP: MOV P1,A ;输出位选码 MOV A,R0 ;取出要显示的数,预备查段选码 MOVC 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 DISPGORET: RETSEGTAB:DB
26、 C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H DB 88H,83H,C6H,A1H,86H,8EH ;段选码表“0,1,2,,D,E,F .由于键盘和显示器共用一个接口电路,所以键盘和显示器的控制要统筹思索,程序中既要完成键盘的扫描,又要完成LED显示器的动态显示。程序的框图如图7-11所示。 第三节 键盘与显示系统 第七章 显示器与键盘接口技术图 7-11 键盘、显示程序流程图 .实例7-5:请写出图7-11所示的键盘、显示程序流程图对应的程序 。 第三节 键盘与显示系统 第七章 显示器与键盘接口技术解:相应程序如下: ORG0000H LJMPMAIN
27、ORG0100HMAIN: . ;初始化部分 . .KEYSCAN:LCALLKSCAN ;查有没有键按下 JZ KS1 ;A=0表示没有键按下,转KS1 AJMPKS2KS1: LCALLDPLAY ;调用动态显示子程序,显示一遍 AJMPKEYSCAN.第三节 键盘与显示系统 第七章 显示器与键盘接口技术;以下循环次数L的选取要使显示子程序运转总时间约为10ms,作为防;抖动延时。KS2:MOVR3, #L;防抖动延时10msDELY:LCALLDPLAY;调用动态显示子程序,显示一遍DJNZR3, DELY;延时终了LCALLKSCAN;查有没有键按下JZKS1;A=0表示没有键按下,转KS1LCALLKEYSUM;有键按下,行扫描法确定键值;以下条指令完成键值中的内容乘以倍 MOVR2, A RL AADDA,R2RL A;键值6 .第三节 键盘与显示系统 第七章 显示器与键盘接口技术; 主要思索FTAB 以下指令LCALL3字节和LJMP3字节的总;字节数为6MOVDPTR, #FTABJMPA+DPTR;散转,执行所按键相应功能子程序FTAB:LCALLFUNC0;调用0号键功能子程序LJMPKS1;程序进入循环LCALLFUNC1;调用1键功能子程序LJMPKS1;程序进入循环 . . .LCALLFUNC15;调用15键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温泉度假村装修监理合同
- 水性聚氨酯保温施工方案
- 专利技术居间合作协议
- 牡丹江2025年黑龙江牡丹江医学院科大学招聘93人笔试历年参考题库附带答案详解
- 深圳广东深圳市眼科医院招聘工作人员笔试历年参考题库附带答案详解
- 浙江浙江省院士专家服务中心招聘笔试历年参考题库附带答案详解
- 惠州2025年广东惠州龙门县总医院第一批招聘编外人员25人笔试历年参考题库附带答案详解
- 张掖2025年甘肃张掖市高台县招聘辅警30人笔试历年参考题库附带答案详解
- 2025年度餐饮服务合同:高端餐厅经营权转让3篇
- 2025年新能源汽车充电站停车位租赁及运营管理合同3篇
- 试卷(完整版)python考试复习题库复习知识点试卷试题
- 海外资管机构赴上海投资指南(2024版)
- GB/T 44679-2024叉车禁用与报废技术规范
- 抖音直播带货协议书模板
- 2024义务教育体育与健康课程标准(2022年版)必考题库及答案
- 工业机器人控制器:FANUC R-30iB:机器人实时监控与数据采集技术教程
- 墓地销售计划及方案设计书
- 新加坡留学完整版本
- 劳务服务合作协议书范本
- 优佳学案七年级上册历史
- 中医五脏心完整版本
评论
0/150
提交评论