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

📄 ebu.asm

📁 EBU格式加GPS0183对时完整实现程序源代码
💻 ASM
字号:
; ***********************
; *     EBU.ASM      *
; ***********************
LTG     EQU      47H
LTP     EQU      50H
LTA     EQU      41H
LTD     EQU      44H
LTZ     EQU      5AH
ADRSS   EQU      26h
HOUR    EQU      27H
MIN     EQU      28H
SEC     EQU      29H
DATE    BIT      00H
ZDA     BIT      01H
FIX2D   BIT      02H
FIX3D   BIT      03H
GPSINT  BIT      04H
EBU     BIT      P1.0
LED     BIT      P1.1
;----------------------
;EBU-GPS-MAIN-PROGRAM
;----------------------
	ORG     0000H
	AJMP    MAIN0
	ORG     0003H
	AJMP    MAIN1
	ORG     000BH
	AJMP    MAIN1
	ORG     0013H
	AJMP    MAIN1
	ORG     001BH
	AJMP    MAIN1
	ORG     0023H
	AJMP    GPSDB
	ORG     0032H
MAIN0:  MOV     PSW,#0
	MOV     IP,#10h
	MOV     IE,#0h
	MOV     SP,#6AH
	MOV     TCON,#00H
	MOV     TMOD,#20H
	MOV     SCON ,#01000000B
	MOV     PCON,#00H;SMOD=0
	MOV     TL1,#0FAH
	MOV     TH1,#0FAH
	MOV     20H,#00H
	MOV     21H,#00H
	MOV     HOUR,#0h
	MOV     MIN,#0h
	MOV     SEC,#0h
	SETB    REN
	SETB    ES
	SETB    TR1
MAIN1:  SETB    EA
	JNB     GPSINT,$
	CLR     EA
	CLR     GPSINT
	ACALL   CHULI
	ACALL   O_EBU
	CPL     LED
	AJMP    MAIN1
;**********************************
CHULI:  MOV     A,30H
	MOV     R0,#31H
	SWAP    A
	XCHD    A,@R0
	ORL     A,#40H
	MOV     HOUR,A
	INC     R0
	MOV     A,@R0
	SWAP    A
	INC     R0
	XCHD    A,@R0
	MOV     MIN,A
	INC     R0
	MOV     A,@R0
	SWAP    A
	INC     R0
	XCHD    A,@R0
	MOV     SEC,A
	RET
	;
GPSDB:  CLR EA
	PUSH ACC
	PUSH PSW
	SETB RS0
	MOV R0,ADRSS
	MOV A,SBUF
	JB DATE,WGPSDB
	ACALL PSJT
	MOV ADRSS,#30H
GPSDB1: CLR TI
	CLR RI
	CLR RS0
	POP PSW
	POP ACC
	SETB EA
	RETI
WGPSDB: NOP
	CJNE A,#2AH,TODATE
	CLR DATE
	CLR ZDA
	SETB GPSINT
	AJMP GPSDB1
TODATE: MOV @R0,A
	INC R0
	MOV ADRSS,R0
	AJMP GPSDB1
	;
PSJT:   JBC RI,$
	MOV A,SBUF
	CJNE A,#24H,SEXT1
	CLR RI
SDBB0:  JBC RI,SDBG1
	AJMP SDBB0
SDBG1:  MOV A,SBUF
	CJNE A,#LTG,SEXT1
WAIT1:  JBC RI,SDBBP
	AJMP WAIT1
SDBBP:  MOV A,SBUF
	CJNE A,#LTP,SEXT1
WAIT2:  JBC RI,SDBG2
	AJMP WAIT2
SDBG2:  MOV A,SBUF
	CJNE A,#LTZ,SEXT1
WAIT3:  JBC RI,SDBG3
	AJMP WAIT3
SDBG3:  MOV A,SBUF
	CJNE A,#LTD,SEXT1
WAIT4:  JBC RI,SDBBA
	AJMP WAIT4
SDBBA:  MOV A,SBUF
	CJNE A,#LTA,SEXT1
WAIT5:  JB RI,SDBBB
	AJMP WAIT5
SDBBB:  SETB DATE
	CPL LED
SEXT1:  CLR RI
	RET
;++++++++++++++++++++++++++++++++++
O_EBU:  ACALL   LOWLEV  ;50uS
	MUL     AB
	MUL     AB
	NOP
	NOP
	NOP
	ACALL   HIGLEV  ;50uS(49.91)
	MOV     R7,#25
	NOP
OUTDB0: MOV     R2,#6
	MOV     R3,#7
	MOV     R4,#7
	MUL     AB
	NOP
	MOV     A,HOUR
	ACALL   HIGLEV  ;50uS
	DJNZ    R7,OUTDB0
	;52uS
OHOUR1: RRC     A
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	JC      HGLV1   ;2uS
	ACALL   LOWLEV  ;2
	DJNZ    R2,OHOUR1
	AJMP    OMIN
	;54
HGLV1:  ACALL   HIGLEV
	DJNZ    R2,OHOUR1
	NOP
	NOP
;THE HOUR SEND END      
OMIN:   MOV     A,MIN
	MOV     R2,#7
OMIN1:  RRC     A
	NOP
	NOP
	JC      HGLV2   ;2uS
	ACALL   LOWLEV  ;2
	NOP
	NOP
	NOP
	MOV     R3,#7
	DJNZ    R2,OMIN1
	NOP
	MOV     A,SEC
OSECH1: RRC     A
	JC      HGLV3H
	ACALL   LOWLEV
	PUSH    DPH
	NOP
	POP     DPH
	NOP
	DJNZ    R3,OSECH1
	AJMP    OZERO
HGLV3H: ACALL   HIGLEV
	PUSH    DPH
	NOP
	POP     DPH
	NOP
	DJNZ    R3,OSECH1
	AJMP    OZERO
	;
HGLV2:  ACALL   HIGLEV
	NOP
	NOP
	NOP
        MOV     R3,#7
	DJNZ    R2,OMIN1
	NOP
	;57
OSEC:   MOV     A,SEC
OSEC1:  RRC     A
	JC      HGLV3
	ACALL   LOWLEV
	PUSH    DPH
	NOP
	POP     DPH
	NOP
	DJNZ    R3,OSEC1
	AJMP    OZERO
HGLV3:  ACALL   HIGLEV
	PUSH    DPH
	NOP
	POP     DPH
	NOP
	DJNZ    R3,OSEC1
	NOP
	NOP
	;60
OZERO:  NOP
	ACALL   LOWLEV
	NOP
	RET             
;***************************
LOWLEV: CLR     EBU     ;1uS
	PUSH    ACC     ;2uS
	MUL     AB      ;4uS
	MUL     AB      ;4uS
	MUL     AB      ;4uS
	SETB    EBU     ;1uS
	;
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	MUL     AB      ;4uS
	NOP
	NOP
	POP     ACC     ;2uS
	RET             ;2uS
	;

HIGLEV: CLR     EBU     ;1uS
	PUSH    ACC     ;2uS
	MOV     B,#1    ;1uS
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	MUL     AB      ;
	MUL     AB      ;4uS
	NOP
	SETB    EBU     ;1uS
	POP     ACC     ;2uS
	RET             ;2uS
	;
SP_IN:  MOV     SCON,#50H
	JNB     RI,$
	MOV     A,SBUF
	RET     
	END

⌨️ 快捷键说明

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