?? xl032_szgs01.dt
字號:
Same_Key_Status:
mov a,ACC_Port
and a,@Key_Status_Buffer
xor a,Key_Value
jbc status,z
jmp Same_Key
xor Key_Value,a
jmp Quiver_Key_Samples
Same_Key:
jbs Key_Value,Acc;Acc_Port,Acc
jmp Key_Acc_Power_Off
; bs System_Status,Not_Lock
clr Acc_Time_Counter
Key_Acc_Power_On:
jbs System_RF_Status,Warm_Enable ;沒有設警
jmp Quiver_Key_Samples
mov a,Sound_Event_Counter
jbs status,z
jmp Quiver_Key_Samples
jbs Key_Value,Acc;Acc_Port,Acc
jmp Quiver_Key_Samples
bs System_Status,Acc_Warm
bc Quiver_Counter+1,0
bc System_RF_Status,Warm_Again
jmp Key_Warm_Status
;======;
Key_Acc_Power_Off:
jbs System_Status,Acc_Warm
jmp Key_Acc_Power_Off2
bc System_Status,Acc_Warm
clr Sound_Event_Counter
; bc Quiver_Counter+1,0
; bc System_RF_Status,Warm_Again
clr System_Clock+2
Key_Acc_Power_Off2:
jbc System_RF_Status,Warm_Enable
jmp Quiver_Key_Samples
bc Sound_Control_Port,Sound_Control
jmp Quiver_Key_Samples
Key_Quiver:
jbc Quiver_Port,Quiver
inc Quiver_Counter
jbs Quiver_Port,Quiver
clr Quiver_Counter
mov a,Quiver_Edit_Event
and a,@0b00000011
call Warm_Wait_Time_Table
sub a,Quiver_Counter
jbs status,c
jmp RF_Samples
jmp Key_Warm_Status2
Key_Warm_Status:
jbc Quiver_Counter+1,5
jmp RF_Samples
Key_Warm_Status2:
jbc Quiver_Counter+1,0
bs System_RF_Status,Warm_Again
inc Quiver_Counter+1
jbc System_Status,Not_Sound
bs System_RF_Status,No_Sound
bc System_RF_Status,Quiver_Enable
clr System_Clock+2
mov a,@13
jbc System_RF_Status,Warm_Again
mov a,@5
mov Sound_Event_Counter,a
bs System_Status,Warm_Initialize
; bs Lock_Port,Lock ;報警觸發就開鎖電機信號
jbc Check_Port,Check
jmp Key_Warm_Status3
jbc System_Status,Acc_Warm
jmp RF_Samples
jbc Start_Port,Start
jmp RF_Samples
bs Start_Control_Port,Start_Control
call Delay_50mS;Delay_200mS
bs Start_Port,Start ;報警時輸出高
call Delay_300mS
bc Start_Control_Port,Start_Control
jmp RF_Samples
Key_Warm_Status3:
bc Start_Port,Start
bs Start_Control_Port,Start_Control
jmp RF_Samples
;==========================================;
;-----------子程序Read_Key結束-------------;
;==========================================;
;==========================================;
Non_Sound_Event:
bc Warm_Port,Warm ;關聲音
clr Sound_Event_Counter
clr Sound_Time_Counter+0
clr Sound_Time_Counter+1
clr Sound_Time_Counter+2
clr Sound_Time_Counter+3
bc System_Status,Sound_Status_Flag
bc Lamp_Port,Lamp
jbc System_RF_Status,Warm_Enable ;報警使能時關低
bc Start_Port,Start
; bc Lock_Port,Lock ;報警結束就關鎖電機信號
jbc Check_Port,Check ;為1時,不報警
bc Start_Control_Port,Start_Control
jmp Tcc_End
;======;
Bi_Sound_Event:
jbs System_Status,Warm_Initialize
jmp Bi_Main_Loop_Event
mov Sound_Time_Counter+3,@1
jmp Bi_Main_Loop_Event
;======;
Bi_Bi_Sound_Event:
jbs System_Status,Warm_Initialize
jmp Bi_Main_Loop_Event
mov Sound_Time_Counter+3,@2
jmp Bi_Main_Loop_Event
;======;
Bi_Bi_Bi_Sound_Event:
jbs System_Status,Warm_Initialize
jmp Bi_Main_Loop_Event
mov Sound_Time_Counter+3,@3
jmp Bi_Main_Loop_Event
;======;
Bi_Bi_Bi_Bi_Sound_Event:
jbs System_Status,Warm_Initialize
jmp Bi_Main_Loop_Event
mov Sound_Time_Counter+3,@4
jmp Bi_Main_Loop_Event
;======;
Bi_Bi_Bi_Bi_BiSound_Event:
jbs System_Status,Warm_Initialize
jmp Bi_Main_Loop_Event
mov Sound_Time_Counter+3,@5
jmp Bi_Main_Loop_Event
;======;
Bi_Main_Loop_Event:
clr Hold_Key_Time
jbc System_Status,Warm_Initialize
call Bi_Main_Loop_Event_Tcc_Set
;------;
bs Lamp_Port,Lamp
clr System_Clock+1
jbc Warm_Port,Warm
jmp Bi_Main_Loop_Sound_High_Status
Bi_Main_Loop_Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-13 ;延時110uS
jmp Tcc_End
Bi_Main_Loop_Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@13
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
mov a,Sound_Time_Counter+1
add a,@256-7;5
jbs status,c
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Add_Bi_Main_Loop
Sub_Bi_Main_Loop:
inc Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-31-1 ;260uS=(31+2)*8uS
jbc status,c
jmp Tcc_End
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Add_Bi_Main_Loop:
dec Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-66-1 ;544uS=(68+2)*8uS
jbs status,c
jmp Tcc_End
bc System_Status,Sound_Status_Flag
;------;
mov Sound_Time_Counter+4,@33
Delay_mS_Bi_Main_Loop:
bc Lamp_Port,Lamp
mov Sound_Time_Counter+0,@248 ;延時1000uS=8uS+4uS*248
call Delay_uS
wdtc
djz Sound_Time_Counter+4
jmp Delay_mS_Bi_Main_Loop
djz Sound_Time_Counter+3 ;聲音次數
jmp Tcc_End
bc System_Status,Find_key
clr System_Clock+2
clr Sound_Event_Counter
bs System_RF_Status,RF_Key_Hold
;------;
jbs System_Status,Edit_Flag
jmp Tcc_End
; mov Same_Key_Value,@0x0C
; mov RF_Byte_Buffer+2,a
; call Delay_100mS
jmp Tcc_End
Bi_Main_Loop_Event_Tcc_Set:
bc System_Status,Warm_Initialize
mov Sound_Time_Counter+2,@256-66 ;544uS=(68+2)*8uS
clr Sound_Time_Counter+1
ret
;======;
Wu_Wu_Sound_Event:
jbc System_Status,Warm_Initialize
call Wu_Wu_Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Wu_Wu_Sound_High_Status
Wu_Wu_Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-13 ;延時110uS
jmp Tcc_End
Wu_Wu_Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@13
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
mov a,Sound_Time_Counter+1
add a,@256-6
jbs status,c
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Add_Wu_Wu_Sound
Sub_Wu_Wu_Sound:
inc Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-31-1 ;260uS=(31+2)*8uS
jbc status,c
jmp Tcc_End
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Add_Wu_Wu_Sound:
dec Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-66-1 ;544uS=(68+2)*8uS
jbs status,c
jmp Tcc_End
bc System_Status,Sound_Status_Flag
;------;
mov a,@13
xor a,Sound_Event_Counter
jbc status,z
jmp Wu_Wu_Wu_Sound_Ret
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,3
jmp Tcc_End
clr Sound_Time_Counter+3
inc Sound_Event_Counter
bs System_Status,Warm_Initialize
jmp Tcc_End
Wu_Wu_Wu_Sound_Ret:
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,4
jmp Tcc_End
Wu_Wu_Wu_Sound_End:
clr Sound_Time_Counter+3
clr Sound_Event_Counter
bs System_Status,Warm_Initialize
clr System_Clock+2
jmp Tcc_End
Wu_Wu_Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
mov Sound_Time_Counter+2,@256-66 ;544uS=(68+2)*8uS
clr Sound_Time_Counter+1
clr Sound_Time_Counter+3
ret
;======;
Du__Sound_Event:
jbc System_Status,Warm_Initialize
call Du__Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Du__Sound_High_Status
Du__Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-12 ;延時104uS
jmp Tcc_End
Du__Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@12
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
mov a,Sound_Time_Counter+1
add a,@256-6
jbs status,c
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Sub_Du__Sound_Event
Add_Du__Sound_Event:
dec Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-118-1 ;960uS=(118+2)*8uS
jbs status,c
jmp Tcc_End
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Sub_Du__Sound_Event:
mov Sound_Time_Counter+2,@256-78-1 ;640uS=(78+2)*8uS
bc System_Status,Sound_Status_Flag
;------;
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,3
jmp Tcc_End
clr Sound_Time_Counter+3
inc Sound_Event_Counter
bs System_Status,Warm_Initialize
jmp Tcc_End
Du__Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
clr Sound_Time_Counter+1
clr Sound_Time_Counter+3
mov Sound_Time_Counter+2,@256-78 ;640uS=(76+4)*8uS
ret
;======;
Di_Du_Sound_Event:
jbc System_Status,Warm_Initialize
call Di_Du_Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Di_Du_Sound_High_Status
Di_Du_Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-16 ;延時136uS
jmp Tcc_End
Di_Du_Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@16
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
jbs Sound_Time_Counter+1,6
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Sub_Di_Du_Sound_Event
Add_Di_Du_Sound_Event:
mov Sound_Time_Counter+2,@256-75-1 ;616uS=(75+2)*8uS
inc Sound_Time_Counter+4
mov a,Sound_Time_Counter+4
add a,@256-16
jbs status,c
jmp Tcc_End
clr Sound_Time_Counter+4
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Sub_Di_Du_Sound_Event:
mov Sound_Time_Counter+2,@256-104-1 ;848uS=(104+2)*8uS
inc Sound_Time_Counter+4
mov a,Sound_Time_Counter+4
add a,@256-12
jbs status,c
jmp Tcc_End
clr Sound_Time_Counter+4
bc System_Status,Sound_Status_Flag
;------;
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,2
jmp Tcc_End
clr Sound_Time_Counter+3
inc Sound_Event_Counter
bs System_Status,Warm_Initialize
jmp Tcc_End
Di_Du_Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
mov Sound_Time_Counter+2,@256-75-1 ;616uS=(75+2)*8uS
clr Sound_Time_Counter+1
clr Sound_Time_Counter+3
ret
;======;
Du___Sound_Event:
jbc System_Status,Warm_Initialize
call Du___Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Du___Sound_High_Status
Du___Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-18 ;延時152uS
jmp Tcc_End
Du___Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@18
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
jbs Sound_Time_Counter+1,3
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Sub_Du___Sound_Event
Add_Du___Sound_Event:
mov Sound_Time_Counter+2,@256-236-1 ;1904uS=(236+2)*8uS
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Sub_Du___Sound_Event:
inc Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-98-1 ;800uS=(98+2)*8uS
jbc status,c
jmp Tcc_End
bc System_Status,Sound_Status_Flag
;------;
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,1
jmp Tcc_End
clr Sound_Time_Counter+3
inc Sound_Event_Counter
bs System_Status,Warm_Initialize
jmp Tcc_End
Du___Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
mov Sound_Time_Counter+2,@256-236 ;1904uS=(236+2)*8uS
clr Sound_Time_Counter+1
clr Sound_Time_Counter+3
ret
;======;
Di_Di_Di_Sound_Event:
jbc System_Status,Warm_Initialize
call Di_Di_Di_Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Di_Di_Di_Sound_High_Status
Di_Di_Di_Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-18 ;延時152uS
jmp Tcc_End
Di_Di_Di_Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
inc Sound_Time_Counter+2
call Di_Di_Di_Sound_Table2
; add a,@18
add tcc,a
;------;
jbs Sound_Time_Counter+1,7
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
mov Sound_Time_Counter+4,@250
Delay_mS_Di_Di_Di_Sound:
mov Sound_Time_Counter+0,@248 ;延時1000uS=8uS+4uS*248
call Delay_uS
wdtc
djz Sound_Time_Counter+4
jmp Delay_mS_Di_Di_Di_Sound
;------;
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,2
jmp Tcc_End
clr Sound_Time_Counter+3
inc Sound_Event_Counter
bs System_Status,Warm_Initialize
jmp Tcc_End
Di_Di_Di_Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
clr Sound_Time_Counter+1
clr Sound_Time_Counter+2
clr Sound_Time_Counter+3
ret
;======;
Diu_Diu_Diu_Sound_Event:
jbc System_Status,Warm_Initialize
call Diu_Diu_Diu_Sound_Event_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Diu_Diu_Diu_Sound_High_Status
Diu_Diu_Diu_Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-18 ;延時152uS
jmp Tcc_End
Diu_Diu_Diu_Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
add a,@18
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
jbs Sound_Time_Counter+1,1
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jbc System_Status,Sound_Status_Flag
jmp Sub_Diu_Diu_Diu_Sound_Event
Add_Diu_Diu_Diu_Sound_Event:
dec Sound_Time_Counter+2
mov a,Sound_Time_Counter+2
sub a,@256-221-1 ;1904uS=(236+2)*8uS
jbs status,c
jmp Tcc_End
bs System_Status,Sound_Status_Flag
jmp Tcc_End
Sub_Diu_Diu_Diu_Sound_Event:
mov Sound_Time_Counter+2,@256-98-1 ;800uS=(98+2)*8uS
bc System_Status,Sound_Status_Flag
;------;
inc Sound_Time_Counter+3 ;聲音次數
jbs Sound_Time_Counter+3,3
jmp Tcc_End
clr Sound_Time_Counter+3
clr Sound_Event_Counter
clr System_Clock+2
jmp Tcc_End
Diu_Diu_Diu_Sound_Event_Tcc_Set:
bc System_Status,Warm_Initialize
mov Sound_Time_Counter+2,@256-221 ;1904uS=(236+2)*8uS
clr Sound_Time_Counter+1
clr Sound_Time_Counter+3
ret
;======;
/*
Bi___Sound_Event:
jbc System_Status,Warm_Initialize
call Bi___Sound_Tcc_Set
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Bi___Sound_High_Status
Bi___Sound_Low_Status:
bs Warm_Port,Warm
add tcc,@256-21 ;延時180uS
jmp Tcc_End
Bi___Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
inc Sound_Time_Counter+2
call Di_Di_Di_Sound_Table2
; add a,@45;call Bi___Sound_Table
; add a,@21
add tcc,a
;------;
inc Sound_Time_Counter+1 ;聲音變化速度
jbs Sound_Time_Counter+1,3
jmp Tcc_End
clr Sound_Time_Counter+1
;------;
jmp Tcc_End
Bi___Sound_Tcc_Set:
bc System_Status,Warm_Initialize
clr Sound_Time_Counter+1
clr Sound_Time_Counter+2
clr Sound_Time_Counter+3
ret
;======;
Di___Sound_Event:
jbc System_Status,Warm_Initialize
call Di___Sound_Event_Tcc_Set
jbc System_Status,Lamp_Off
jmp No_Di___Sound_Event
;------;
jbs System_RF_Status,No_Sound ;無聲標志
jbc Warm_Port,Warm
jmp Di___Sound_High_Status
Di___Sound_Low_Status:
; bs Lamp_Port,Lamp
bs Sound_Control_Port,Sound_Control
bs Warm_Port,Warm
add tcc,@256-21 ;延時384uS
jmp Tcc_End
Di___Sound_High_Status:
bc Warm_Port,Warm
mov a,Sound_Time_Counter+2
inc Sound_Time_Counter+2
call Di_Di_Di_Sound_Table
add a,@21
add tcc,a
;------;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -