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

📄 dzz.asm

📁 单片机的电子钟设计
💻 ASM
字号:
ORG	0000H
LJMP 	MAIN
ORG	0003H
LJMP	SECTION
ORG	000BH
LJMP	TIME
;************  MAIN PROGRAM  ***************
ORG	0100H
MAIN:  MOV     SP,#50H
        MOV     TCON,#01H  ;定义中断方式
	    MOV	    20H,#00H   ;BIN  SECOND
	    MOV	    21H,#00H   ;BIN  MINUTE
       	MOV	    22H,#00H   ;BIN  HOUR
        MOV     23H,#00H
        MOV     30H,#00H   ;BCD  SECOND
        MOV     31H,#00H   ;
        MOV     32H,#00H   ;BCD  MINUTE
        MOV     33H,#00H   ;
        MOV     34H,#00H   ;BCD  HOUR
        MOV     35H,#00H
      	MOV	TMOD,#01H   ;16位计数器
	    MOV	TH0,#03CH
	    MOV	TL0,#0B0H
	MOV	IE,#10000011B
	    SETB	TR0             ;T0启动计数
        MOV   R2,#0AH
	    MOV	P2,#0FFH
ML1:	ACALL	DISP
        JB P1.0,ML1
        MOV C,P1.0           ;按键消振
        JC ML1
        LCALL DELAY
        MOV C,P1.0
        JC ML1
STOP1:  MOV C,P1.0
        JNC STOP1
        LCALL DELAY
        MOV C,P1.0
        JNC STOP1
        JB  23H.0,HOUR
MIN:    INC  21H
        MOV A,21H
        CJNE     A,#3CH,GO11
        MOV      21H,#0
        MOV      32H,#0
        MOV      33H,#0
        SJMP     ML1
GO11:   MOV B,#0AH
        DIV AB
        MOV 32H,B
 MOV 33H,A
        AJMP    ML1
HOUR:  INC  22H         
        MOV  A,22H
        CJNE     A,#18H,GO22
        MOV      22H,#0
        MOV      34H,#0
        MOV      35H,#0
        SJMP     ML1
GO22:   MOV      B,#0AH
        DIV      AB
        MOV      34H,B
        MOV      35H,A
        AJMP     ML1
DELAY:MOV R4,#14H
DL00: MOV R5,#0FFH
DL11: DJNZ R5,DL11
      DJNZ R4,DL00
      RET
;***********  TIME  PROCESS  **************
TIME:   PUSH ACC
        PUSH PSW
        MOV	TH0,#03CH
    	MOV	TL0,#0B0H
	    DJNZ	R2,RET0
    	MOV	R2,#0AH
    	MOV	A,20H
    	CLR C
	    INC  A
	    CJNE 	A,#3CH,GO1
	    MOV	20H,#0
        MOV     30H,#0
        MOV     31H,#0
	    MOV	A,21H
	    INC	A
    	CJNE	A,#3CH,GO2
        MOV  21H,#0H
        MOV  32H,#0
        MOV  33H,#0
    	MOV	A,22H
    	INC	A
    	CJNE	A,#18H,GO3
    	MOV   22H,#00H
        MOV   34H,#0
        MOV   35H,#0
    	AJMP	RET0
GO1:	MOV	20H,A
        MOV     B,#0AH
        DIV     AB
        MOV     31H,A
        MOV     30H,B
    	AJMP	RET0
GO2:	MOV	21H,A
        MOV     B,#0AH
        DIV     AB
        MOV     33H,A
        MOV     32H,B
	AJMP	RET0
GO3:	MOV	22H,A
        MOV     B,#0AH
        DIV     AB
        MOV     35H,A
        MOV     34H,B
       	AJMP	RET0
RET0:   POP PSW
        POP ACC
        RETI
;;;////*******--DISPLAY  PART---+++++
DISP:	MOV	R0,#30H
	    MOV	R3,#0FEH
	    MOV	A,R3
PLAY:  MOV   P2,A
       MOV   A,@R0
       MOV   DPTR,#DSEG1
       MOVC  A,@A+DPTR
       MOV   P0,A
       LCALL DL1
       MOV P2,#0FFH
       MOV   A,R3
       RL       A
       JNB    ACC.6,LD1
       INC      R0
       MOV   R3,A
       LJMP  PLAY
LD1:   RET
;;;;;;;;;;;;;;;DELAY
DL1:	MOV	R7,#05H
DL:	    MOV	R6,#0FFH
DL6:	DJNZ	R6,$
	    DJNZ	R7,DL
	    RET
DSEG1:DB 3FH,06H,5BH,4FH,66H
      DB 6DH,7DH,07H,7FH,6FH
;///////***//////*******/////////////
SECTION:PUSH    ACC
        PUSH    PSW
        MOV C,P3.2          ;按键消振
        JC PPP
        ACALL DELAY
        MOV C,P3.2
        JC PPP
STOP0:  MOV C,P3.2
        JNC STOP0
        ACALL DELAY
        MOV C,P3.2
        JNC STOP0
        CPL 23H.0
PPP:    POP     PSW
        POP     ACC
        RETI
        END

⌨️ 快捷键说明

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