⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyboard.asm

📁 汇编语言开发的各种实用程序
💻 ASM
字号:
                ORG   0000H
				LJMP  MAIN
				ORG   0100H
MAIN:
KEY:            MOV   P1,#0FFH
                MOV   A,P1	     ;读入按键状态
				ANL   A,#0FH	 ;屏蔽掉无用位
				CJNE  A,0FH,KEY1 ;有键按下,转移 
KEY3:           CLR   PSW.5		 ;无键按下,清按键标志
                RET				 ;返回主程序
KEY1:           LCALL DELAY
                MOV   A,P1		 ;再次读入按键状态
				ANL   A,#0FH	 ;屏蔽掉无用位
				CJNE  A,0FH,KEY2 ;有键按下,转移
				SJMP  KEY3		 ;无键按下,转移
KEY2:           JB    ACC.0,KEY4 ;是“0”号键?
                MOV   A,#0		 ;键号为0
				SJMP  KEY5
KEY4:           JB    ACC.1,KEY6
                MOV   A,#1
				SJMP  KEY5
KEY6:           JB    ACC.2,KEY7
                MOV   A,#2
				SJMP  KEY5
KEY7:           JB    ACC.3,KEY3
                MOV   A,#3
KEY5:           PUSH  ACC		  ;保存键号
KEY8:           MOV   A,P1		  ;读入键状态
                ANL   A,#0FH	  ;屏蔽掉无用位
				CJNE  A,#0FH,KEY8 ;按键没释放,等待
				LCALL DELAY
				MOV   A,P1		  ;在此读入键状态
				ANL   A,#0FH	  ;屏蔽掉无用位
				CJNE  A,#0FH,KEY8 ;键抖动,按键没释放,等待
				POP   ACC		  ;返回键号
				SETB  PSW.5		  ;置标志位
				RET				  ;返回主程序
DELAY:          MOV   R6,#20
D1:             MOV   R7,#250
                DJNZ  R7,$
				DJNZ  R6,D1
				RET

				END
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -