📄 alarm music.asm
字号:
MOV A, @2
MOV LOOP1, A
CLR FLAG
BS FLAG, _STEP1
ALARM_STEP1_10:
CLR HL
ALARM_STEP1_1:
MOV A, @0X00 ;0X00,P50 AS INPUT
IOW IOC5
MOV A, @1
MOV PORT5, A
CALL DELAY3MS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @3
IOW IOC5
MOV A, @156
JBC FLAG, _STEP1
MOV A, @22 ; 50MS/2250US=22.2
JBC FLAG, _STEP2
MOV A, @36
JBC FLAG, _STEP3
MOV A, @56
JBC FLAG, _STEP4
MOV A, @86
MOV COUNT, A
ALARM_STEP1_2:
CALL MUSIC_ALARM_OUT
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @15
CALL DELAY100XMS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
INC HL
BC R3, _C
RLC FLAG
JBS FLAG, 5
JMP ALARM_STEP1_1
CLR FLAG
BS FLAG, _STEP1
DJZ LOOP1
JMP ALARM_STEP1_10
IOR IOC5
AND A, @0EH
IOW IOC5
BS PORT5, _BELL1_CH
CALL DELAY3MS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @3
IOW IOC5
MOV A, @8
MOV LOOP1, A
ALARM_STEP20:
MOV A, @5
MOV HL, A
ALARM_STEP2:
MOV A, @156
JBC FLAG, _STEP1
MOV A, @22 ; 50MS/2250US=22.2
JBC FLAG, _STEP2
MOV A, @86
JBC FLAG, _STEP3
MOV A, @56
MOV COUNT, A
ALARM_STEP2_2:
CALL MUSIC_ALARM_OUT
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
INC HL
BC R3, _C
RLC FLAG
JBS FLAG, 4
JMP ALARM_STEP2
CLR FLAG
BS FLAG, _STEP1
MOV A, @15
CALL DELAY100XMS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @5
SUB A, LOOP1
JBS R3, _C
JMP ALARM_STEP2_3
IOR IOC5 ;LOOP>=5
AND A, @0EH
IOW IOC5
BS PORT5, _BELL1_CH
CALL DELAY3MS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @3
IOW IOC5
ALARM_STEP2_3:
MOV A, @156
JBC FLAG, _STEP1
MOV A, @22 ; 50MS/2250US=22.2
JBC FLAG, _STEP2
MOV A, @56
JBC FLAG, _STEP3
MOV A, @36
JBC FLAG, _STEP4
MOV A, @86
MOV COUNT, A
ALARM_STEP2_5:
CALL MUSIC_ALARM_OUT
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
INC HL
BC R3, _C
RLC FLAG
JBS FLAG, 5
JMP ALARM_STEP2_3
CLR FLAG
BS FLAG, _STEP1
MOV A, @15
CALL DELAY100XMS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @5
SUB A, LOOP1
JBS R3, _C
JMP ALARM_STEP2_7
JBS R3, _Z
JMP ALARM_STEP2_6
MOV A, @0X00 ;PORT5.0 AS OUTPUT PIN
IOW IOC5
BS PORT5, _BELL1_CH
JMP ALARM_STEP2_7
ALARM_STEP2_6:
IOR IOC5
AND A, @0EH
IOW IOC5
BS PORT5, _BELL1_CH
CALL DELAY3MS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @3
IOW IOC5
ALARM_STEP2_7:
DJZ LOOP1
JMP ALARM_STEP20
ALARM_STEP30:
MOV A, @14
MOV HL, A
ALARM_STEP3:
MOV A, @172 ;100MS/580US=172.4
JBC FLAG, _STEP1
MOV A, @44 ; 100MS/2250US=44.4
JBC FLAG, _STEP2
MOV A, @255 ;313, ; 100MS/320US=312.5
JBC FLAG, _STEP3
MOV A, @71 ; 100MS/1400US=71.4
JBC FLAG, _STEP4
MOV A, @111 ; 100MS/900US=111
MOV COUNT, A
ALARM_STEP3_2:
CALL MUSIC_ALARM_OUT
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
MOV A, @30
CALL DELAY1XMS
JBC FLAG, _STOP
JMP MUSIC_ALARM_EXIT
INC HL
BC R3, _C
RLC FLAG
JBS FLAG, 5
JMP ALARM_STEP3
CLR FLAG
BS FLAG, _STEP1
JMP ALARM_STEP30
MUSIC_ALARM_EXIT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -