📄 radioasm.asm
字号:
;--TAB=8----------------------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** RADIO.asm **;
;** **;
;** **;
;** version 1.0 **;
;** **;
;** update 2002/8/22 YCD **;
;** **;
;*****************************************************************;
;*****************************************************************;
;-----------------------------------------------------------------;
RADIO_RW EQU P1.0
RADIO_DAT EQU P1.1
RADIO_CLK EQU P1.2
RADIO_STERC EQU P1.3
extern gRadioBuf
extern _R
;-----------------------------------------------;
RSEG D_IDATA
Vw_FMBuf DS 3
Vw_AMBuf DS 3
Vw_VfdBakBuf DS 18
public Vw_FMBuf
public Vw_AMBuf
public Vw_VfdBakBuf
;-----------------------------------------------;
RSEG CODE
;-----------------------------------------------;
;Name: Lsb_RadioOutByte ;
;In: A ;
;Out: RADIO_CLK high ;
;Update: 2002/8/22 ;
;check: RadioOutByte ;
;-----------------------------------------------;
Lsb_RadioOutByte:
PUSH B
MOV B,#8
;-(1) LOW-------;
rob_1: CLR RADIO_CLK
RLC A
MOV RADIO_DAT,C
NOP
NOP
NOP
NOP
;-(2) HIGH------;
SETB RADIO_CLK
NOP
NOP
NOP
NOP
NOP
DJNZ B,rob_1
POP B
RET
;-----------------------------------------------;
;Name: Lsb_RadioShift9Bit ;
;In: A ;
;Out: RADIO_CLK high ;
;Update: 2002/8/22 ;
;check: RadioShift9Bit ;
;-----------------------------------------------;
Lsb_RadioShift9Bit:
PUSH B
MOV C,ACC.7 ;-new: d7 d6(dum) d5 d4 d3 d2 d1 d0 C-;
ANL A,#7FH ;-old: D7 0 D6 D5 D4 D3 D2 D1 D0
RRC A ;-bit: 1 2 3 4 5 6 7 8 9
;-(1) LOW-------;
MOV B,#9
rs9b_1: CLR RADIO_CLK
RLC A
MOV RADIO_DAT,C
NOP
NOP
NOP
NOP
;-(2) HIGH------;
SETB RADIO_CLK
NOP
NOP
NOP
NOP
NOP
DJNZ B,rs9b_1
POP B
RET
;-----------------------------------------------;
;Name: Lsb_RadioInByte ;
;In: A ;
;Out: RADIO_CLK LOW ;
;Update: 2002/8/9 ;
;check: RadioInByte ;
;-----------------------------------------------;
Lsb_RadioInByte:
PUSH B
MOV B,#8
rib_1: ;-(1) High------;
SETB RADIO_CLK
NOP
NOP
NOP
NOP
NOP
;-(2) low-------;
CLR RADIO_CLK
NOP
NOP
NOP
NOP
NOP
MOV C,RADIO_DAT
RLC A
SETB C
MOV RADIO_DAT,C
DJNZ B,rib_1
POP B
RET
;-----------------------------------------------;
;Name: Lsb_ReadReady ;
;In: NO ;
;Out: NO ;
;Update: 2002/8/22 ;
;check: InitRadio ;
;-----------------------------------------------;
Lsb_ReadReady:
CLR RADIO_CLK
CLR RADIO_RW
NOP
NOP
NOP
SETB C
MOV RADIO_DAT,C
RET
;-----------------------------------------------;
;Name: Lsb_InitRadio ;
;In: NO ;
;Out: NO ;
;Update: 2002/8/22 ;
;check: InitRadio ;
public Lsb_InitRadio ;
;-----------------------------------------------;
Lsb_InitRadio:
CLR RADIO_CLK
NOP
NOP
CLR RADIO_RW
RET
;-----------------------------------------------;
;Name: Lsb_ReadRadio ;
;In: NO ;
;Out: NO ;
;Update: 2002/8/22 ;
;check: ReadRadio ;
public Lsb_ReadRadio ;
;-----------------------------------------------;
Lsb_ReadRadio:
PUSH B
PUSH _R
CLR A
MOV R0,#gRadioBuf+3
MOV @R0,A
CALL Lsb_ReadReady
MOV R0,#gRadioBuf
MOV B,#3
rr_1: CALL Lsb_RadioInByte
MOV @R0,A
INC R0
DJNZ B,rr_1
CLR RADIO_CLK
POP _R
POP B
RET
;-----------------------------------------------;
;Name: Lsb_WriteRadio ;
;In: gRadioBuf ;
;Out: RADIO_RW=WRITE ;
;Update: 2002/8/22 ;
;check: WriteRadio ;
public Lsb_WriteRadio ;
;-----------------------------------------------;
Lsb_WriteRadio:
PUSH _R
MOV R0,#gRadioBuf
SETB RADIO_RW
;-(1)BYTE HIGH-;
MOV A,@R0
CALL Lsb_RadioOutByte
;-(2)BYTE MID-;
INC R0
MOV A,@R0
CALL Lsb_RadioShift9Bit
;-(3)BYTE LOW-;
INC R0
MOV A,@R0
CALL Lsb_RadioOutByte
;----------------;
;CLR RADIO_CLK
NOP
NOP
NOP
CLR RADIO_RW
POP _R
RET
;-----------------------------------------------;
;Name: Lsb_TurnEnd ;
;In: gRadioBuf ;
;Out: RADIO_RW=WRITE ;
;Update: 2002/8/22 ;
;check: WriteRadio ;
public Lsb_TurnEnd ;
;-----------------------------------------------;
Lsb_TurnEnd:
MOV A,P1
MOV _R+7,A
RET
;---------------------------------------------------------------------------;
;---------------------------------------------------------------------------;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -