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

📄 key.asm

📁 at89s51实验例程代码
💻 ASM
字号:
;实验名称:键盘实验
;功能:每按一个数字键,数码管显示相应的数字。
;  作者:http://www.mcuyjf.com.cn
;        05-02-01
;***********************************************************
E		BIT	P3.5		;LCD口线的定义
RW		BIT	P3.6
RS		BIT	P3.7

		ORG	0000H
		AJMP	MAIN
		ORG	0030H
MAIN:		CLR	E		;取消LCD对LED的影响	
		CLR	RW
		SETB	RS
		CLR	P2.0		;用第一个8字数码管显示
		MOV	P0,#8CH		;上电显示"P"
LOOP:		MOV	P1,#0FEH   	;循环扫描按键
		ACALL	SCANKEY
		MOV	P1,#0FDH
		ACALL	SCANKEY
		MOV	P1,#0FBH
		ACALL	SCANKEY
		MOV	P1,#0F7H	
		ACALL	SCANKEY
		AJMP	LOOP

;按键扫描程序
SCANKEY:	MOV	A,P1		;读P1口
		CJNE	A,#0EEH,NEXT2
		MOV	A,#01H
		AJMP	SENDLED
NEXT2:		CJNE	A,#0DEH,NEXT3
		MOV	A,#02H
		AJMP	SENDLED
NEXT3:		CJNE	A,#0BEH,NEXT4
		MOV	A,#03H
		AJMP	SENDLED
NEXT4:		CJNE	A,#7EH,NEXT5
		MOV	A,#04H
		AJMP	SENDLED

NEXT5:		CJNE	A,#0EDH,NEXT6
		MOV	A,#05H
		AJMP	SENDLED
NEXT6:		CJNE	A,#0DDH,NEXT7
		MOV	A,#06H
		AJMP	SENDLED
NEXT7:		CJNE	A,#0BDH,NEXT8
		MOV	A,#07H
		AJMP	SENDLED
NEXT8:		CJNE	A,#7DH,NEXT9
		MOV	A,#08H
		AJMP	SENDLED

NEXT9:		CJNE	A,#0EBH,NEXT10
		MOV	A,#09H
		AJMP	SENDLED
NEXT10:		CJNE	A,#0DBH,NEXT_UP
		MOV	A,#00H
		AJMP	SENDLED
	
NEXT_UP:	CJNE	A,#0BBH,NEXT_DN		;+键		
		AJMP	SCAN_RE
NEXT_DN:	CJNE	A,#7BH,NEXT_A
		AJMP	SCAN_RE

NEXT_A:		CJNE	A,#0E7H,NEXT_B
		MOV	A,#0AH
		AJMP	SENDLED
NEXT_B:		CJNE	A,#0D7H,NEXT_C
		MOV	A,#0BH
		AJMP	SENDLED
NEXT_C:		CJNE	A,#0B7H,NEXT_D
		MOV	A,#0CH
		AJMP	SENDLED
NEXT_D:		CJNE	A,#77H,SCAN_RE
		MOV	A,#0DH
SENDLED:	MOV	DPTR,#LEDCODE
		MOVC	A,@A+DPTR
		MOV	P0,A
SCAN_RE:	RET


;8字LED的连接方法
;P0.7	P.06	P0.5	P0.4	P0.3	P0.2	P0.1	P0.0
; H      G	 F	 E	 D	 C	 B 	 A
;LED字段码表
LEDCODE:	DB	0C0H		;0
		DB	0F9H		;1
		DB	0A4H		;2
		DB	0B0H		;3
		DB	99H		;4
		DB	92H		;5
		DB	82H		;6
		DB	0F8H		;7
		DB	80H		;8
		DB	90H		;9
		DB	88H		;A
		DB	83H		;B
		DB	0C6H		;C
		DB	0A1H		;D
		DB	86H		;E
		DB	8EH		;F
		
		END	




⌨️ 快捷键说明

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