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

📄 exp3_calculator.asm

📁 4*4键盘控制计算器的c语言和汇编程序源码
💻 ASM
字号:



		ORG		00H
		AJMP 	MAIN
		ORG		30H

    	DBUF	EQU		30H
		TEMP	EQU		40H
		KBUF    EQU		30H
		LOPD_H	EQU		31H
		LOPD_L	EQU		32H
		ROPD_H	EQU		33H
		ROPD_L	EQU		34H
		RES
		ORG		00H

MAIN:	ACALL	KEY
		ACALL	CALCU
		ACALL	DISPLAY
		AJMP	MAIN
;***********************KEY PROC *********************************
KEY:	MOV		P0,#0F0H
		MOV		A,P0
		CJNE	A,#0F0H,ROW0
		AJMP    KEY
ROW0:   ACALL	DELAY_20MS
		CJNE	A,#0F0H,ROW1
		AJMP	KEY
ROW1:	MOV     B,A

CL0:    MOV		P0,#0FH
		MOV		A,P0
		CJNE	A,#0FH,CL1
		AJMP	KEY
CL1:	ORL		A,B
		CPL		A
		MOV 	B,A
		MOV		DPTR,#TABLE0
		MOV		R0,#00H
		MOV		R1,#16
K0:		MOV		A,R0
		MOVC	A,@A+DPTR
		CJNE	A,B,K1
		MOV		A,R0
		RET

K1:		INC		R0
		DJNZ	R1,K0
		AJMP	KEY

TABLE0: DB		81H,41H,21H,11H
		DB		82H,42H,22H,12H
		DB		84H,44H,24H,14H
		DB		88H,48H,28H,18H	

TABLE0: DB		48H,84H,44H,24H  ;0 1 2 3
		DB		82H,42H,22H,81H	 ;4 5 6 7
		DB		41H,21H,18H,14H	 ;8 9 + -
		DB		12H,11H,88H,28H	 ;*	/ C =
		
					
;*********************** CALCU PROC ******************************

;*********************** DISPLAY PROC ****************************


		MOV		DPTR,#TABLE
		MOV		P3,00H
LOOP0:	MOV		R0,#DBUF
		MOV		R1,#04H
		MOV		R2,#6
LOOP1:	MOV		A,@R0
		MOVC	A,@A+DPTR
		MOV		P2,A
		MOV		A,R1
		MOV		P3,A
		INC		R0
		MOV		A,R1
		RL		A
		MOV		R1,A
		ACALL	DELAY
		DJNZ	R2,LOOP1
		RET

TABLE:  DB		3FH,06H,5BH,4FH,66H,6DH
		DB		7DH,07H,7FH,6FH,77H,7CH
		DB		58H,5EH,79H,71H,00H,40H

DELAY:
		MOV		R6,#03H
D:		MOV		R7,#0FFH
		DJNZ	R7,$
		DJNZ	R6,D
		RET
	

DELAY_20MS:
		MOV		R6,#100
D:		MOV		R7,#100
		DJNZ	R7,$
		DJNZ	R6,D
		RET
		END

⌨️ 快捷键说明

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