2022年单片机×矩阵式键盘识别技术实验.docx

上传人:Che****ry 文档编号:12868676 上传时间:2022-04-26 格式:DOCX 页数:14 大小:169.52KB
返回 下载 相关 举报
2022年单片机×矩阵式键盘识别技术实验.docx_第1页
第1页 / 共14页
2022年单片机×矩阵式键盘识别技术实验.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年单片机×矩阵式键盘识别技术实验.docx》由会员分享,可在线阅读,更多相关《2022年单片机×矩阵式键盘识别技术实验.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源1444矩阵式键盘识别技术1 试验任务 如图 4.14.2所示,用 AT89S51的并行口 P1 接 44矩阵键盘,以P1.0 P1.3 作输入线,以 P1.4 P1.7 作输出线;在数码管上显示每个按键的“0F”序号;对 应的按键的序号排列如图4.14.1所示 3 系统板上硬件连线1把“单片机系统 “区域中的 P3.0 P3.7 端口用 8芯排线连接到“4X4行列式键盘 ”区域中的 C1 C4R1 R4端口上;2把“单片机系统 ”区域中的 P0.0/AD0 P0.7/AD7端口用 8芯排线连接到 “四路静态数码显示模块 ”区域中的任一个 a h端口上; 要求: P0.0/AD0对

2、应着a,P0.1/AD1对应着b, P0.7/AD7对应着h;4. 程序设计内容144矩阵键盘识别处理2每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码;矩阵的行线和列线分别通过两并行接 口和 CPU通信;每个按键的状态同样需变成数字量“0”和“1”,开关的一端 列线)通过电阻接 VCC,而接地是通过程序输出数字“ 0”实现的;键盘处理程序的任务是:确定有无键按下,判定哪一个键按下,键的功能是什么;仍要排除按欢迎下载精品学习资源键在闭合或断开时的抖动;两个并行口中,一个输出扫描 码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过

3、软件查表,查出该键的功能;5. 程序框图图 4.14.36. 汇编源程序KEYBUFEQU 30HORG 00HSTART:MOV KEYBUF,#2欢迎下载精品学习资源WAIT:MOV P3,#0FFH CLR P3.4MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1LCALL DELY10MSMOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FHCJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1欢迎下载精品学习资源NK1:CJNE A,#0DH,NK2 MOV KEY

4、BUF,#1 LJMP DK1NK2:CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1NK3:CJNE A,#07H,NK4MOV KEYBUF,#3 LJMP DK1NK4:NOPDK1:MOV A,KEYBUF欢迎下载精品学习资源MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK1A:MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1ANOKEY1:MOV P3,#0FFH CLR P3.5MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2LCALL DELY10MSMOV A

5、,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P3 ANL A,#0FHCJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2NK5:CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2NK6:CJNE A,#0BH,NK7欢迎下载精品学习资源MOV KEYBUF,#6 LJMP DK2NK7:CJNE A,#07H,NK8MOV KEYBUF,#7 LJMP DK2NK8:NOPDK2:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK2A:MOV A,

6、P3 ANL A,#0FH XRL A,#0FH JNZ DK2ANOKEY2:MOV P3,#0FFH CLR P3.6MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3LCALL DELY10MSMOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3欢迎下载精品学习资源ANL A,#0FHCJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3NK9:CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3NK10:CJNE A,#0BH,NK11 MOV KEYBUF,#1

7、0 LJMP DK3NK11:CJNE A,#07H,NK12MOV KEYBUF,#11 LJMP DK3NK12:NOPDK3:MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK3A:MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3ANOKEY3:MOV P3,#0FFH CLR P3.7MOV A,P3 ANL A,#0FH欢迎下载精品学习资源XRL A,#0FH JZ NOKEY4LCALL DELY10MSMOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P

8、3 ANL A,#0FHCJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4NK13:CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4NK14:CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4NK15:CJNE A,#07H,NK16MOV KEYBUF,#15 LJMP DK4NK16:NOP DK4:MOV A,KEYBUFMOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK4A:MOV A,P3欢迎下载精品学习资源ANL A,#0FH XRL A,#0FH JNZ DK

9、4ANOKEY4:LJMP WAIT DELY10MS:MOV R6,#10D1:MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END7. C语言源程序#include unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;unsigned char temp;

10、unsigned char key;unsigned char i,j;void mainvoidwhile1欢迎下载精品学习资源P3=0xff;P3_4=0;temp=P3;temp=temp & 0x0f;if temp.=0x0ffori=50;i0 ;i-forj=200;j0 ;j-;temp=P3;temp=temp & 0x0f;if temp.=0x0ftemp=P3;temp=temp & 0x0f;switchtempcase 0x0e:key=7;break;case 0x0d:key=8;break;case 0x0b:key=9;break;case 0x07:key

11、=10;欢迎下载精品学习资源break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;whiletemp.=0x0ftemp=P3;temp=temp & 0x0f;P3=0xff;P3_5=0;temp=P3;temp=temp & 0x0f;if temp.=0x0ffori=50;i0 ;i-forj=200;j0 ;j-;temp=P3;temp=temp & 0x0f;if temp.=0x0ftemp=P3;temp=temp & 0x0f;欢迎下载精品学习资源switchtempcase 0x0e:key=4;break;case

12、0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=11;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;whiletemp.=0x0ftemp=P3;temp=temp & 0x0f;P3=0xff;欢迎下载精品学习资源P3_6=0;temp=P3;temp=temp & 0x0f;if temp.=0x0ffori=50;i0 ;i-forj=200;j0 ;j-;temp=P3;temp=temp & 0x0f;if temp.=0x0ftemp=P3;temp=temp &

13、0x0f;switchtempcase 0x0e:key=1;break;case 0x0d:key=2;break;case 0x0b:key=3;break;case 0x07:key=12;break;欢迎下载精品学习资源temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;whiletemp.=0x0ftemp=P3;temp=temp & 0x0f;P3=0xff;P3_7=0;temp=P3;temp=temp & 0x0f;if temp.=0x0ffori=50;i0 ;i-forj=200;j0 ;j-;temp=P3;temp=temp & 0x0f;if temp.=0x0ftemp=P3;temp=temp & 0x0f;switchtemp欢迎下载精品学习资源case 0x0e:key=0;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;whiletemp.=0x0ftemp=P3;temp=temp & 0x0f;欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁