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

📄 4.asm

📁 我的大学单片机课程案例和ppt
💻 ASM
字号:
	ORG	0h
	AJMP	START
	ORG	30h
START:	MOV	P1,#10111111B
SCANK:	MOV	P2,#0FFH
	CLR	P2.3	;P2.3清0,扫描第1行
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANL2	;如果低三位为1,则无按键,转第二行扫描	LCALL	DELAY10MS;延时10ms(去抖延时)
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANL2	;如果低三位为1,则无按键,转第二行扫描
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B;保留低三位的结果
	CJNE	A,#00000110B,NOK0;不是K0键,转NOK0
	MOV	A,#0	;是K0键将A赋值为0
	LJMP	DISPLAY	;转显示子程序
NOK0:	CJNE	A,#00000101B,NOK1;不是K1键,转NOK1
	MOV	A,#1	;是K1键将A赋值为1
	LJMP	DISPLAY	;转显示子程序
NOK1:	MOV	A,#2	; 不是K0、K1,则一定是K2。将A赋值为2
	LJMP	DISPLAY
SCANL2 :MOV	P2,#0FFH
	CLR	P2.4	;P2.4清0,扫描第2行
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANL3	;如果低三位为1,则无按键,转第三行扫描	LCALL	DELAY10MS;延时10ms(去抖延时)
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANL3	;如果低三位为1,则无按键,转第三行扫描
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B;保留低三位的结果
	CJNE	A,#00000110B,NOK3;不是K3键,转NOK3
	MOV	A,#3	;是K3键将A赋值为3
	LJMP	DISPLAY	;转显示子程序
NOK3:	CJNE	A,#00000101B,NOK4;不是K4键,转NOK4
	MOV	A,#4	;是K4键将A赋值为4
	LJMP	DISPLAY	;转显示子程序
NOK4:	MOV	A,#5	; 不是K3、K4,则一定是K5。将A赋值为5
	LJMP	DISPLAY
SCANL3 :	MOV	P2,#0FFH
	CLR	P2.5	;P2.5清0,扫描第3行
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANLOOP;如果低三位为1,则无按键,转SCANLOOP
	LCALL	DELAY10MS;延时10ms(去抖延时)
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B
	XRL	A,#00000111B;判断A的低三位是否为1
	JZ	SCANLOOP;如果低三位为1,则无按键,转SCANLOOP
	MOV	A,P2	;读键盘至A
	ANL	A,#00000111B;保留低三位的结果
	CJNE	A,#00000110B,NOK6;不是K6键,转NOK6
	MOV	A,#6	;是K6键将A赋值为6
	LJMP	DISPLAY	;转显示子程序
NOK6:	CJNE	A,#00000101B,NOK7;不是K7键,转NOK7
	MOV	A,#7	;是K7键将A赋值为7
	LJMP	DISPLAY	;转显示子程序
NOK7:	MOV	A,#8	; 不是K6、K7,则一定是K8。将A赋值为8
	LJMP	DISPLAY
SCANLOOP:
	LJMP	SCANK
DELAY10MS:
	MOV	R6,#10
D1:	MOV	R7,#250
D2:	DJNZ	R7,D2
	DJNZ	R6,D1
	RET
DISPLAY:
	MOV	DPTR,#TABLE	;将数据表TABLE的首地址赋给DPTR
	MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
	MOV	P1,A	;送到P1口数码管显示
	LJMP	SCANK	;跳到SCANK,重新开始扫描
TABLE:	DB	0C0H,0F9H,0A4H,0B0H
	DB	99H,92H,82H,0F8H,80H
	END

⌨️ 快捷键说明

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