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

📄 gpf_keyled.asm

📁 通过按键在3位一体的数码管上显示数字
💻 ASM
字号:
;=====================================================================================
; copyright belong to 贵鹏斐(设置P0.0(INT1)为+,P0.1(INT0)为-,数码管显示00~99,用中断方式。)
;	   信电学院
;	  2008.8.21
;*****不足之处在于因为是三位一体,所以数字显示是跳变的,目前减法还没编好,从0减到9还没编好*****
;=====================================================================================
P0MDOUT   DATA  0A4H                   ; Port 0 Output Mode Configuration
P1MDOUT   DATA  0A5H                   ; Port 1 Output Mode Configuration
P3MDOUT   DATA  0A7H                   ; Port 3 Output Mode Configuration
XBR1      DATA  0E2H                   ; Port I/O Crossbar Control 1
PCA0MD    DATA  0D9H                   ; PCA Mode
;=====================================================================================
          ORG	0000H
		  LJMP  MAIN
		  ORG   0003H
		  LJMP  INT0_INT
		  ORG   0013H
		  LJMP  INT1_INT
;=======================================================================================
		  ORG   00B3H
MAIN:
	      MOV  SP,        #60H
		  MOV  P0MDOUT,   #0FFh
		  MOV  P1MDOUT,   #0FFh		   ;P1口输出段码		   
          MOV  P3MDOUT,   #0FFh		   ;P3口输出位码
          MOV  XBR1,      #0C0h 
	      ANL  PCA0MD,    #0BFh
          MOV  PCA0MD,    #000h
		  SETB  IT0					   ;
		  SETB  IT1
		  SETB  EX0
		  SETB  EX1
		  SETB  PX0
		  SETB  EA
START:	  
		  MOV R1,#0AAH
		  MOV R0,#0
		  MOV R2,#0
NEXT:	  
		  MOV DPTR,#TABLE
		  MOV A,R0
		  MOVC A,@A+DPTR
		  MOV P1,A
		  MOV A,R1
		  MOV P3,A
		  LCALL DELAY2MS
		  
L1:		  CJNE R2,#0,R0EQ10
		  SJMP L1
;=========动态显示=====================================================================
R0EQ10:	  
		  MOV DPTR,#TABLE
		  MOV A,R0
		  MOVC A,@A+DPTR
		  MOV P1,A
		  MOV A,R1
		  RL A
		  MOV R1,A
		  MOV P3,A
		  LCALL DELAY2MS
		  MOV P3,#0FFH
		  MOV DPTR,#TABLE
		  MOV A,R2
		  MOVC A,@A+DPTR
		  MOV P1,A
		  MOV A,R1
		  RL A
		  MOV R1,A
		  MOV P3,A
		  LCALL DELAY2MS
		  MOV P3,#0FFH
		  CJNE R2,#0AH,R0EQ10
		  SJMP START
;=========外部中断0(P0.1-)===========================================================
INT0_INT:
          DEC R0
		  JNB P0.1,$
		  MOV A,R0
		  MOV DPTR,#TABLE
		  MOVC A,@A+DPTR
		  MOV P1,A
		  MOV A,R1
		  MOV P3,A
		  LCALL DELAY2MS
		  MOV P3,#0FFH
		  RETI
;=========外部中断1(P0.0+)===========================================================
INT1_INT:
 		  INC R0
		  JNB P0.0,$
		  CJNE R0,#0AH,L0
		  INC R2
		  MOV R0,#0
		  SJMP L2
L0:		 
		  MOV DPTR,#TABLE
		  MOV A,R0
		  MOVC A,@A+DPTR
		  MOV P1,A
		  MOV A,R1
		  MOV P3,A
		  LCALL DELAY2MS
		 
L2:		  RETI
;=========延时2毫秒===================================================================
DELAY2MS:
          MOV R6,#4
D1:       MOV R7,#250
		  DJNZ R7,$
		  DJNZ R6,D1
		  RET
;=====================================================================================
TABLE:    DB 3FH,03H,6DH,67H,53H,76H,7EH,23H,7FH,73H
          END
		  
		  
		  
		  
		  
		  
		  
		    

⌨️ 快捷键说明

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