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

📄 myclock.asm

📁 用51单片机实现数字钟 利用数码管、I/O口实现数字钟的计数功能
💻 ASM
字号:
;已使用的内存空间:-----------------------------
;80H , 81H ,82H
;31H -- 38H
;30H
;5BH
;
;
;----------------------------------------------
COUNT EQU 5BH



ORG 0000H
		LJMP INIT
;-----------------------------------------------

ORG 000BH
		LJMP TIME

;-----------------------------------------------

ORG 0050H
INIT:	
		MOV TMOD , #01H
		SETB EA
		SETB ET0
		MOV TH0 , #0D8H
		MOV TL0 , #0F0H
		SETB TR0
		
		MOV R0 , #31H
AG:		MOV @R0 , #00H
		INC R0
		CJNE R0 , #39H , AG
		MOV 33H , #0AH
		MOV 36H , #0AH	

		MOV COUNT , #00H

		MOV DPTR , #TABLE

		SETB TR0
;-----------------------------------------------------
MAIN:	
LP1:	MOV P3 , #00H		
		MOV 30H , #00H		;用30H内存单元保存当前P3的输出
		MOV R0 , #38H		
LP0:	MOV A , @R0
		MOVC A , @A+DPTR
		MOV P1 , A
		ACALL DELAY
		DEC R0
		MOV A , 30H
		ADD A , #04H
		MOV 30H , A
		MOV P3 , A 
		CJNE A , #20H,  LP0
		AJMP LP1
;-------------------------------------------------------

DELAY:	MOV R2 , #1FH
DL1:	MOV R3 , #1FH
		DJNZ R3 , $
		DJNZ R2 , DL1
		RET
;------------------------------------------------------
TIME:	PUSH ACC
		PUSH PSW
		SETB RS0
		MOV TH0 , #0D8H
		MOV TL0 , #0F0H
		INC COUNT
		MOV A , COUNT
		CJNE A , #100 , RT
		MOV COUNT , #00H
		INC 31H
		MOV A , 31H
		CJNE A , #10 , RT
		MOV 31H , #00H
		INC 32H
		MOV A , 32H
		CJNE A , #6 , RT
		MOV 32H , #00H
		INC 34H
		MOV A , 34H
		CJNE A , #9 , RT
		MOV 34H , #00H
		INC 35H
		MOV A , 35H
		CJNE A , #6 , RT
		MOV 35H , #00H
		INC 37H
		MOV A , 37H
		CJNE A , #5 , RT
		MOV 37H , #00H
		INC	38H
		MOV A , 38H
		CJNE A ,#3 , RT
		MOV 38H , #00H

RT:		POP PSW
		POP ACC
		RETI
			
TABLE:	DB 0C0H , 0F9H , 0A4H , 0B0H , 99H ,92H ,82H ,0F8H	;P1口输出到数码管的表值
		DB 80H , 90H , 0BFH
 
		END


⌨️ 快捷键说明

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