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

📄 程序.txt

📁 公交调度显示系统开发 显示当前时间和下一班次车子出发时间
💻 TXT
字号:
MARKT0	EQU 00H			;t0中断标志
MARKT0T	EQU 01H			;t0中断时间
MARKT1T EQU 02H
DIGTL0 EQU 40H			;数码管地址个
DIGTH0 EQU 41H          ;数码管地址十
DIGTL1 EQU 42H          ;数码管地址百
DIGTH1 EQU 43H          ;数码管地址千
HOUR1 EQU 38H			;小时十位
HOUR2 EQU 39H			;小时个位
MINT1 EQU 3AH			;分钟十位
MINT2 EQU 3BH			;分钟个位

ORG 0000H
LJMP INITIAL
ORG 000BH
LJMP PTF0		 
;*****************************************************************************
 ORG 0080H
INITIAL:MOV SP,#5FH		;初始化
MOV MARKT0T,#14H
MOV MARKT1T,#60
MOV TL0,#0B0H
MOV TH0,#3CH
		MOV TMOD,#1
		MOV IP,#2
		MOV IE,#82H
		SETB TR0
		CLR P1.4
		CLR P1.5
		CLR P1.6
        CLR P1.3
        MOV 30H,#0    ;给等待时间0300初值(按RESET键则回初值)
        MOV 31H,#0
        MOV 32H,#3
        MOV 33H,#0
        MOV 34H,#0
        MOV 35H,#0
        MOV 36H,#8
        MOV 37H,#0

MAIN:   LCALL KEY		;处理显示当前时间和等待时间
        LCALL DISPLAY
	LJMP MAIN
;*****************************************************************************
DISPLAY:	PUSH DPL
			PUSH DPH
			CLR P2.4
			CLR P2.5
			CLR P2.6
			CLR P2.7
            MOV A,38H
            MOV DPTR,#SEGTAB
            MOVC A,@A+DPTR
			MOV P0, A
			SETB P2.4
			LCALL DL10MS
            CLR P2.4
			MOV A,39H
            MOV DPTR,#SEGTAB
            MOVC A,@A+DPTR
            MOV P0, A
			SETB P2.5
			LCALL DL10MS
            CLR P2.5
			MOV A,3AH
            MOV DPTR,#SEGTAB
            MOVC A,@A+DPTR
            MOV P0, A
			SETB P2.6
			LCALL DL10MS
            CLR P2.6
			MOV A,3BH
            MOV DPTR,#SEGTAB
            MOVC A,@A+DPTR
            MOV P0, A
			SETB P2.7
			LCALL DL10MS
            CLR P2.7
			POP DPH
			POP DPL
			RET

SEGTAB: DB  03H,9FH,25H,0DH,99H  ;0,1,2,3,4
        DB  49H,41H,1FH,01H,09H  ;5,6,7,8,9

;****************************************************************************** PTF0:   PUSH ACC		
        MOV TL0,#0B0H
		MOV TH0,#3CH
PT01:	DJNZ MARKT0T,PT0R
        MOV MARKT0T,#14H
        LCALL WAITDSP
PT02:   DJNZ MARKT1T,PT0R
        LCALL TIME
        MOV MARKT1T,#60
PT0R:	POP ACC
		MOV TL0,#0B0H
		MOV TH0,#03CH
		RETI
;******************************************************************************
WAITDSP: 	MOV  A,30H
            CJNE A,#0,W2
            MOV  A,31H
            CJNE A,#0,W3
            MOV  A,32H
            CJNE A,#0,W4
            CLR P1.6
 RESET:     LCALL DISPLAY
            JB P1.1,RESET
            MOV 30H,#0                
MOV 31H,#0
            MOV 32H,#3
            MOV 33H,#0
            RET
         W2:DEC  30H
            LCALL DISPLAY
            LCALL COUNT
            RET 
         W3:MOV  30H,#9
            DEC  31H
            LCALL COUNT
            RET
         W4:MOV  30H,#9
            MOV  31H,#5
            DEC  32H
            LCALL DISPLAY
            LCALL COUNT
	   		RET
	;************************************************************************** COUNT:	MOV  A,32H
    	CJNE A,#2,C14
C12:	MOV  A,31H
   		CJNE A,#0,C25
C13:	MOV  A,30H
    	CJNE A,#9,C21
    	SETB  P1.3
C21:	MOV A,30H
    	CJNE A,#0,C25
    	CLR  P1.3
C14:	MOV  A,32H
    	CJNE A,#1,C23
C15:	MOV  A,31H
    	CJNE A,#0,C25
C16:	MOV  A,30H
    	CJNE A,#9,C17
    	SETB P1.4
C17:	MOV A,30H
    	CJNE A,#0,C25
    	CLR P1.4
C23:	MOV  A,32H
    	CJNE A,#0,C25
    	MOV  A,31H
   		CJNE A,#0,C25
    	MOV  A,30H
    	CJNE A,#9,C24
    	SETB  P1.5
C24:	MOV  A,30H
    	CJNE A,#1,C25
    	CLR P1.5
    	SETB P1.6
C25:    RET
;******************************************************************************
TIME:PUSH ACC
         MOV  A,34H
         CJNE A,#9,C2
         MOV  A,35H
         CJNE A,#5,C3
         MOV  A,37H
         CJNE A,#2,C4
         MOV  A,36H
         CJNE A,#3,C5
         MOV 34H,#0
         MOV 35H,#0
         MOV 36H,#0
         MOV 37H,#0
         POP ACC
         RET
      C2:ADD  A,#1
         MOV  34H,A
         POP ACC
         RET
      C3:ADD  A,#1
         MOV  35H,A
         MOV 34H,#0
         POP ACC
         RET
      C4:MOV  A,36H
         CJNE A,#9,C7
         MOV 34H,#0
         MOV 35H,#0
         MOV 36H,#0
         MOV 37H,#0
         ADD  A,#1
         MOV  36H,A
         POP ACC
         RET
      C7:MOV 34H,#0
         MOV 35H,#0
         ADD A,#1
         MOV 36H,A
         POP ACC
         RET
      C5:MOV 34H,#0
         MOV 35H,#0
         ADD  A,#1
         MOV  37H,A
         POP ACC
         RET
;*****************************************
KEY: JNB  P1.0,TIME1
     LJMP WAIT
TIME1: MOV 38H,34H
       MOV 39H,35H
       MOV 3AH,36H
       MOV 3BH,37H
       RET
WAIT: MOV 38H,30H
      MOV 39H,31H
      MOV 3AH,32H
      MOV 3BH,33H
      RET
;***********************************************************************
DL10MS:	MOV      R6,#14H
DL1:	MOV      R7,#19H
DL2:	DJNZ     R7,DL2
DJNZ R6,DL1
RET

⌨️ 快捷键说明

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