3x3矩阵键盘扫描原理及扫描程序.doc

上传人:白大夫 文档编号:3244621 上传时间:2019-08-05 格式:DOC 页数:4 大小:19KB
返回 下载 相关 举报
3x3矩阵键盘扫描原理及扫描程序.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《3x3矩阵键盘扫描原理及扫描程序.doc》由会员分享,可在线阅读,更多相关《3x3矩阵键盘扫描原理及扫描程序.doc(4页珍藏版)》请在三一文库上搜索。

1、3x3矩阵键盘扫描原理及扫描程序3x3矩阵键盘简介矩阵键盘,33矩阵键盘,数码管显示对应按键,动态扫描,中断实现。其中上拉电阻属性需设置为“digital”。3x3矩阵键盘扫描原理及扫描程序将9个按键排成3行3列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,这样一共有3行3列一共6根线,我们将这六根线连接到STM32的6个IO口上,通过程序扫描键盘就可检测9个键。无论独立键盘还是矩阵键盘,单片机检测其是否被按下的原理都是一样的,也就是检测与该键对应的I/O口是否为低电平。独立按键有一端固定为低电平,单片机写程序检测时比较方便。而矩阵键盘两端都与单片机I

2、/O口相连,因此在检测时需要人为通过单片机I/O口送出低电平。检测时,先送一列为低电平,其余几列为高电平(此时我们确定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(此时我们又确定了行数),则我们便可确认当前按下的键是哪一行哪一列的,用同样的方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样既可检测完所有的按键。当然我们也可将行线置低电平,扫描列是否有低电平。这就是矩阵键盘的检测原理和方法。SETB P1.0 ;首先各位先置一SETB P1.1SETB P1.2SETB P1.3SETB P1.4SETB P1.5KEY: CLR P1.0 ;行线均清零C

3、LR P1.1 CLR P1.2JNB P1.3 , KEY0 ;判断是否有按键按下JNB P1.4, KEY0JNB P1.5 , KEY0SJMP KEY ;无按键按下回到KEY继续查询是否有按键按下KEY0: LCALL DELAY ;调用延时函数CLR P1.0 ;P1.0清零,P1.1、P1.2置一SETB P1.1SETB P1.2JNB P1.3 , KEY1 ;P1.3为零则按键一被按下,跳转到按键一KEY1处JNB P1.4 , KEY2JNB P1.5 , KEY3SETB P1.0 ;P1.1清零,P1.0、P1.2置一 CLR P1.1SETB P1.2JNB P1.3

4、 , KEY4JNB P1.4 , KEY5JNB P1.5 , KEY6SETB P1.0 ;P1.2清零,P1.0、P1.1置一SETB P1.1CLR P1.2JNB P1.3 , KEY7JNB P1.4 , KEY8JNB P1.5 , KEY9SJMP KEY ;如果无按键按下重新跳回到按键查询程序KEY1: LCALL PRO1 ;调用按键一的处理子程序LJMP KEY ;返回继续查询按键是否被按下KEY2: LCALL PRO2LJMP KEYKEY3: LCALL PRO3LJMP KEYKEY4: LCALL PRO4LJMP KEYKEY5: LCALL PRO5LJMP KEYKEY6: LCALL PRO6LJMP KEYKEY7: LCALL PRO7LJMP KEYKEY8: LCALL PRO8LJMP KEYKEY9: LCALL PRO9LJMP KEYPRO1: 。 ;按键一的处理子程序RET ;子程序返回PRO2:。 RETPRO3:RETPRO4:RETPRO5:RETPRO6:RETPRO7:RETPRO8:RETPRO9:RET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1