51 单片机汇编语言--矩阵键盘的驱动
来源:互联网 发布:mv -r linux 编辑:程序博客网 时间:2024/05/12 08:15
用这个矩阵键盘做单片机输入,插 P1 口的 P1.0~P1.6。
想问的是,当:
按下 1 键 P0 口的 P0.0 输出高电平;
按下 2 键 P0.1 输出高电平;
……
一直到 8 键就可以了。
还有一个要求,当按下一个键时延时5秒并锁住其它按键,5秒之后回到起点。用汇编语言哦。
题目链接:http://zhidao.baidu.com/question/1818035154693419228.html
;=====================================================
;如下即可:
ORG 0000H
START:
MOV P0, #255
MOV P1, #255
CLR P1.0
NOP
JNB P1.4, K1
JNB P1.5, K2
JNB P1.6, K3
MOV P1, #255
CLR P1.1
NOP
JNB P1.4, K4
JNB P1.5, K5
JNB P1.6, K6
MOV P1, #255
CLR P1.2
NOP
JNB P1.4, K7
JNB P1.5, K8
; JNB P1.6, K9
SJMP START
K1: CLR P0.0
SJMP DELAY
K2: CLR P0.1
SJMP DELAY
K3: CLR P0.2
SJMP DELAY
K4: CLR P0.3
SJMP DELAY
K5: CLR P0.4
SJMP DELAY
K6: CLR P0.5
SJMP DELAY
K7: CLR P0.6
SJMP DELAY
K8: CLR P0.7
DELAY:
MOV R5, #10
DJNZ R7, $
DJNZ R6, $ - 2
DJNZ R5, $ - 4
LJMP START
END
如果需要按键控制输出高电平,把上述程序中的 CLR,全改成 SETB。
再把: MOV P0, #255
改成: MOV P0, #0
即可。
;=====================================================
提问者评价:太给力了,你的回答完美的解决了我的问题 !
- 51 单片机汇编语言--矩阵键盘的驱动
- 单片机,矩阵键盘扫描驱动
- 51单片机--矩阵键盘
- 51单片机的数码管和矩阵键盘
- 单片机矩阵键盘的实现
- 51单片机矩阵键盘扫描
- 51单片机矩阵键盘库
- 51单片机—矩阵键盘
- 51单片机汇编语言--延时程序的延时时间
- 51单片机的4x4矩阵键盘扫描例程(C51)
- 基于51单片机的4×4矩阵键盘电子琴
- 51 单片机 C 语言:不规则的矩阵键盘
- 汇编语言程序分析-51单片机
- 单片机之矩阵键盘的驱动程序
- 一种实用的单片机矩阵键盘设计
- 51单片机矩阵式键盘扫描思想
- 51单片机(AT89C52)矩阵键盘检测程序
- 51单片机STC89C52 矩阵键盘数码管显示
- 80x86 汇编语言编程:排序与显示
- 80x86汇编语言程序:提示输入矩形的长和宽,并显示周长
- 80x86汇编语言程序:判断奇、偶数的个数
- 80x86 汇编代码,在屏幕上显示汉字
- 80x86汇编编程:显示数据区字符串中第一个空格的位置
- 51 单片机汇编语言--矩阵键盘的驱动
- 51单片机 C语言电子琴
- 80x86 汇编语言编程:斐波那契数列
- C语言编写51单片机程序:键控流水灯
- 51单片机汇编编程--16位拉幕灯
- 经验分享——工具类
- 80x86汇编语言:输入字符串、转换、输出
- 51单片机 C 语言编程:单片机定时中断
- Xcode7中你一定要知道的调试神技 & EXC_BAD_ACCESS