?? gp4360.asm
字號:
;該程序為北斗時鐘授時項目中對SI4136初始化的源程序
;寄存器緩沖區
;===================================
;R寄存器
REG02 EQU 30H
REG01 EQU 31H
REG00 EQU 32H
;C寄存器
REG12 EQU 33H
REG11 EQU 34H
REG10 EQU 35H
;N寄存器
REG22 EQU 36H
REG21 EQU 37H
REG20 EQU 38H
; ===================================
;復位入口
;===================================
ORG 0000H
LJMP STAR
;=====================================
;程序初始化
;=====================================
STAR:
MOV R0,#7FH
CLR A
CLEAR:
MOV @R0,A
DJNZ R0,CLEAR
MOV PSW,#00H
MOV SP,#70H
MOV P1,#0FFH
MOV P0,#0FFH
LCALL XDLY1
;=================================
;主程序入口
;=================================
MAIN0:
;初始化SI4136
MOV REG02,#00H ;寄存器R
MOV REG01,#00H
MOV REG00,#93H
MOV REG12,#0F2H ;寄存器C
MOV REG11,#83H
MOV REG10,#14H
MOV REG22,#40H ;寄存器N
MOV REG21,#2FH
MOV REG20,#4CH
MAIN11:
MOV R2,#3 ;定義AD4360寄存器的數目
MOV R0,#30H ;定義入口地址
MAIN5:
CLR P1.4 ;EN si4136選通
LCALL WRITE2
LCALL WRITE2
LCALL WRITE2
SETB P1.4 ;EN si4136關閉
LCALL DELAY3
DJNZ R2,MAIN5
MAIN2:
LCALL XDLY1
JNB P1.5,MAIN0
NOP
NOP
NOP
NOP
NOP
NOP
LJMP MAIN2
;==================================
;子程序入口
;==================================
WRITE2:
NOP
MOV R4,#8 ;設置循環次數
MOV A,@R0
LOOP2:
NOP
NOP
CLR P1.2 ;CLK
NOP
NOP
RRC A
MOV P1.3,C ;DATA
NOP
NOP
SETB P1.2 ;CLK
NOP
NOP
DJNZ R4,LOOP2
INC R0 ;寄存器地址加一
RET
;================================
;延時子程序
;================================
DELAY3:
MOV R6,#20
DELAY4:
NOP
NOP
DJNZ R6,DELAY4
RET
;*********************************
XDLY1: MOV R5,#F0H
XDLY2: MOV R6,#3FH
XDLY3: MOV R7,#0FFH
XDLY4: NOP
NOP
DJNZ R7,XDLY4
DJNZ R6,XDLY3
DJNZ R5,XDLY2
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -