资源描述:
《4×4矩阵式键盘的课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机4×4矩阵式键盘的课程设计一、实验目的 1.掌握4×4矩阵式键盘程序识别原理。 2.掌握4×4矩阵式键盘按键的设计方法。二、设计原理 (1)如图14.2所示,用单片机的并行口P3连接4×4矩阵键盘,并以单片机的P3.0-P3.3各管脚作输入线,以单片机的P3.4-P3.7各管脚作输出线,在数码管上显示每个按键“0-F”的序号。 (2)键盘中对应按键的序号排列如图14.1所示。三、参考电路 图14.24×4矩阵式键盘识别电路原理图
2、 图14.14×4键盘0-F显示 图14.34×4矩阵式键盘识别程序流程图四、电路硬件说明 (1)在“单片机系统”区域中,把单片机的P3.0-P3.7端口通过8联拨动拨码开关JP3连接到“4×4行列式键盘”区域中的M1-M4,N1-N4端口上。 (2)在“单片机系统”区域中,把单片机的P0.0-P0.7端口连接到“静态数码显示模块”区域中的任何一个a-h端口上;要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着h。五、程序设计内
3、容 (1)4×4矩阵键盘识别处理。 (2)每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。六、程
4、序流程图(如图14.3所示)七、汇编源程序;;;;;;;;;;定义单元;;;;;;;;;;COUNTEQU30H;;;;;;;;;;入口地址;;;;;;;;;;ORG0000HLJMPSTARTORG0003HRETIORG000BHRETIORG0013HRETIORG001BHRETIORG0023HRETIORG002BHRETI;;;;;;;;;;主程序入口;;;;;;;;;;ORG0100HSTART:LCALLCHUSHIHUALCALLPANDUANLCALLXIANSHILJMP
5、START;;;;;;;;;;初始化程序;;;;;;;;;;CHUSHIHUA:MOVCOUNT,#00HRET;;;;;;;;;;判断哪个按键按下程序;;;;;;;;;;PANDUAN:MOVP3,#0FFHCLRP3.4MOVA,P3ANLA,#0FHXRLA,#0FHJZSW1LCALLDELAY10MSJZSW1MOVA,P3ANLA,#0FHCJNEA,#0EH,K1MOVCOUNT,#0LJMPDKK1:CJNEA,#0DH,K2MOVCOUNT,#4LJMPDKK2:CJNEA,#
6、0BH,K3MOVCOUNT,#8LJMPDKK3:CJNEA,#07H,K4MOVCOUNT,#12K4:NOPLJMPDKSW1:MOVP3,#0FFHCLRP3.5MOVA,P3ANLA,#0FHXRLA,#0FHJZSW2LCALLDELAY10MSJZSW2MOVA,P3ANLA,#0FHCJNEA,#0EH,K5MOVCOUNT,#1LJMPDKK5:CJNEA,#0DH,K6MOVCOUNT,#5LJMPDKK6:CJNEA,#0BH,K7MOVCOUNT,#9LJMPDKK7:C
7、JNEA,#07H,K8MOVCOUNT,#13K8:NOPLJMPDKSW2:MOVP3,#0FFHCLRP3.6MOVA,P3ANLA,#0FHXRLA,#0FHJZSW3LCALLDELAY10MSJZSW3MOVA,P3ANLA,#0FHCJNEA,#0EH,K9MOVCOUNT,#2LJMPDKK9:CJNEA,#0DH,KAMOVCOUNT,#6LJMPDKKA:CJNEA,#0BH,KBMOVCOUNT,#10LJMPDKKB:CJNEA,#07H,KCMOVCOUNT,#14KC
8、:NOPLJMPDKSW3:MOVP3,#0FFHCLRP3.7MOVA,P3ANLA,#0FHXRLA,#0FHJZSW4LCALLDELAY10MSJZSW4MOVA,P3ANLA,#0FHCJNEA,#0EH,KDMOVCOUNT,#3LJMPDKKD:CJNEA,#0DH,KEMOVCOUNT,#7LJMPDKKE:CJNEA,#0BH,KFMOVCOUNT,#11LJMPDKKF:CJNEA,#07H,KGMOVCOUNT,#15KG:NOPLJMPDKSW4:LJMPPANDUAND