4x4矩阵键盘扫描c语言程序,单片机4*4矩阵键盘扫描程序(c语言+汇编语言2个版本)...

;4X4矩阵键盘程序。主要原理为扫描键盘矩阵时,每次只有一行电平拉低。在逐次扫描拉低的这些行的同时,去读那些列的电平。

;被拉低的行上,按下的键对应的列的电平为0 ,其它为1. 用左移位的指令,在进位位CY里就可以检测出是0还是1.为1表示无按下,

;为0表示该键按下。在扫描按键时,如无按下,则取码指针R1加1后,继续扫描 。如有键按下,转按键处理子程序,按键按下标志位

;F0清0(表示按下)。此时,取码指针的值,就是按键的键名。 随后继续进入按键检测子程序重新扫描。

;注:本程序只通过仿真,因无按键防抖,实物中正常与否,未能确定 。

;2011 04 10    D:\DPJ\4X4KEY.ASM

ORG 00H

AJMP MAIN

ORG 30H

MAIN:

MOV SP,#60H

MOV DPTR,#TABLE

KEY:

ACALL KEY0_1   ;调用KEY0_1,判断是否有键按下

JB F0,$-2   ;无键按下,转ACALL KEY0_1,继续扫描

MOV A,R1   ;R1为取码指针

MOVC A,@A+DPTR  ;取码,关送显示

MOV P1,A

AJMP KEY

KEY0_1:    ;按键检测子程序

SETB F0   ;设F0=1

MOV R3,#0F7H  ;行扫描指针初值(P2.3=0)

MOV R1,#00H   ;取码指针初值

L2

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值