📄 3.asm
字号:
sequence1_10:
cjne A, #010, sequence1_11 ;wait for timer
mov A, sequence1_timer ;check timer
cjne A, #015, sequence1_10_1 ;if time not reached
inc sequence1_counter ;sequence++
sequence1_10_1:
ret
sequence1_11:
cjne A, #011, sequence1_12 ;turn two by two ON and OFF
mov channel1_fade_max, #Max_POWER ;stop condition
call channel1_fade_to_on_init ;turn it on
mov channel2_fade_max, #Max_POWER ;stop condition
call channel2_fade_to_on_init ;turn it on
mov channel3_fade_min, #00 ;start condition
call channel3_fade_to_off_init ;turn it off
mov channel4_fade_min, #00 ;start condition
call channel4_fade_to_off_init ;turn it off
mov sequence1_timer, #00 ;reset timer
inc sequence1_counter ;sequence++
ret
sequence1_12:
cjne A, #012, sequence1_13 ;wait for timer
mov A, sequence1_timer ;check timer
cjne A, #015, sequence1_12_1 ;if time not reached
inc sequence1_counter ;sequence++
sequence1_12_1:
ret
sequence1_13:
cjne A, #013, sequence1_14 ;turn two by two ON and OFF
mov channel1_fade_max, #Max_POWER ;stop condition
call channel1_fade_to_on_init ;turn it on
mov channel2_fade_min, #00 ;start condition
call channel2_fade_to_off_init ;turn it off
mov channel3_fade_max, #Max_POWER ;stop condition
call channel3_fade_to_on_init ;turn it on
mov channel4_fade_min, #00 ;start condition
call channel4_fade_to_off_init ;turn it off
mov sequence1_timer, #00 ;reset timer
inc sequence1_counter ;sequence++
ret
sequence1_14:
cjne A, #014, sequence1_15 ;wait for timer
mov A, sequence1_timer ;check timer
cjne A, #015, sequence1_14_1 ;if time not reached
inc sequence1_counter ;sequence++
sequence1_14_1:
ret
sequence1_15:
cjne A, #015, sequence1_16 ;turn two by two ON and OFF
mov channel1_fade_min, #00 ;start condition
call channel1_fade_to_off_init ;turn it off
mov channel2_fade_max, #Max_POWER ;stop condition
call channel2_fade_to_on_init ;turn it on
mov channel3_fade_min, #00 ;start condition
call channel3_fade_to_off_init ;turn it off
mov channel4_fade_max, #Max_POWER ;stop condition
call channel4_fade_to_on_init ;turn it on
mov sequence1_timer, #00 ;reset timer
inc sequence1_counter ;sequence++
ret
sequence1_16:
cjne A, #016, sequence1_17 ;wait for timer
mov A, sequence1_timer ;check timer
cjne A, #015, sequence1_16_1 ;if time not reached
inc sequence1_counter ;sequence++
sequence1_16_1:
ret
sequence1_17:
cjne A, #017, sequence1_18 ;turn all OFF
mov channel1_fade_min, #00 ;start condition
call channel1_fade_to_off_init ;turn it off
mov channel2_fade_min, #00 ;start condition
call channel2_fade_to_off_init ;turn it off
mov channel3_fade_min, #00 ;start condition
call channel3_fade_to_off_init ;turn it off
mov channel4_fade_min, #00 ;start condition
call channel4_fade_to_off_init ;turn it off
mov sequence1_timer, #00 ;reset timer
inc sequence1_counter ;sequence++
ret
sequence1_18:
cjne A, #018, sequence1_19 ;wait for reset
mov A, sequence1_timer ;check timer
cjne A, #015, sequence1_18_1 ;if time not reached
inc sequence1_counter ;sequence++
sequence1_18_1:
ret
sequence1_19:
cjne A, #019, sequence1_x ;wait for reset
mov sequence1_counter, #00 ;sequence = 0
jnb recording, sequence1_19_1 ;if I am recording
clr sound_chip_CE ; CE pulsed low ,recorde start
mov A, #10
djnz ACC,$
setb sound_chip_CE
clr recording ;stop recording
sequence1_19_1:
ret
sequence1_x:
mov sequence1_counter, #00 ;sequence = 0
ret
;============================================================================
sequence2:
ret
;============================================================================
sequence3:
ret
;============================================================================
channel1_fade_to_off_init:
mov A, channel1_fade_min ;prepare for check
cjne A, channel1_fade_PWM, channel1_fade_to_off_init_1
ret
channel1_fade_to_off_init_1:
jc channel1_fade_to_off_init_2
ret
channel1_fade_to_off_init_2:
clr fade1_to_on_in_progress
setb fade1_to_off_in_progress ;I am fading !
mov channel1_fade_counter, channel1_fade_delay ;preset value
; mov channel1_fade_PWM, channel1_fade_max
;============================================================================
channel1_fade_to_off:
jb fade1_to_off_in_progress, channel1_fade_to_off_1
ret
channel1_fade_to_off_1:
inc channel1_fade_counter ;counter++
mov A, channel1_fade_counter ;prepare for check
jnz channel1_fade_to_off_3 ;counter overflow check
mov channel1_fade_counter, channel1_fade_delay ;preset value
mov A, channel1_fade_PWM ;prepare for check
cjne A, channel1_fade_min, channel1_fade_to_off_2 ;countinue
clr fade1_to_off_in_progress ;Fading finished
clr fade1_direction ;last time I fade to off
sjmp channel1_fade_to_off_3 ;go for exit
channel1_fade_to_off_2:
dec channel1_fade_PWM ;one step back
channel1_fade_to_off_3:
mov Channel1_PWM_percent, channel1_fade_PWM
channel1_fade_to_off_x:
ret
;============================================================================
channel1_fade_to_on_init:
mov A, channel1_fade_max ;prepare for check
cjne A, channel1_fade_PWM, channel1_fade_to_on_init_1
ret
channel1_fade_to_on_init_1:
jnc channel1_fade_to_on_init_2
ret
channel1_fade_to_on_init_2:
clr fade1_to_off_in_progress
setb fade1_to_on_in_progress ;I am fading !
mov channel1_fade_counter, channel1_fade_delay ;preset value
; mov channel1_fade_PWM, channel1_fade_min
;============================================================================
channel1_fade_to_on:
jb fade1_to_on_in_progress, channel1_fade_to_on_1
ret
channel1_fade_to_on_1:
inc channel1_fade_counter ;counter++
mov A, channel1_fade_counter ;prepare for check
jnz channel1_fade_to_on_3 ;counter overflow check
mov channel1_fade_counter, channel1_fade_delay ;preset value
mov A, channel1_fade_PWM ;prepare for check
cjne A, channel1_fade_max, channel1_fade_to_on_2 ;countinue
clr fade1_to_on_in_progress ;Fading finished
setb fade1_direction ;last time I fade to on
sjmp channel1_fade_to_on_3 ;go for exit
channel1_fade_to_on_2:
inc channel1_fade_PWM ;one step forward
channel1_fade_to_on_3:
mov Channel1_PWM_percent, channel1_fade_PWM
channel1_fade_to_on_x:
ret
;============================================================================
channel2_fade_to_off_init:
mov A, channel2_fade_min ;prepare for check
cjne A, channel2_fade_PWM, channel2_fade_to_off_init_1
ret
channel2_fade_to_off_init_1:
jc channel2_fade_to_off_init_2
ret
channel2_fade_to_off_init_2:
clr fade2_to_on_in_progress
setb fade2_to_off_in_progress ;I am fading !
mov channel2_fade_counter, channel2_fade_delay ;preset value
; mov channel2_fade_PWM, channel2_fade_max
;============================================================================
channel2_fade_to_off:
jb fade2_to_off_in_progress, channel2_fade_to_off_1
ret
channel2_fade_to_off_1:
inc channel2_fade_counter ;counter++
mov A, channel2_fade_counter ;prepare for check
jnz channel2_fade_to_off_3 ;counter overflow check
mov channel2_fade_counter, channel2_fade_delay ;preset value
mov A, channel2_fade_PWM ;prepare for check
cjne A, channel2_fade_min, channel2_fade_to_off_2 ;countinue
clr fade2_to_off_in_progress ;Fading finished
clr fade2_direction ;last time I fade to off
sjmp channel2_fade_to_off_3 ;go for exit
channel2_fade_to_off_2:
dec channel2_fade_PWM ;one step back
channel2_fade_to_off_3:
mov Channel2_PWM_percent, channel2_fade_PWM
channel2_fade_to_off_x:
ret
;============================================================================
channel2_fade_to_on_init:
mov A, channel2_fade_max ;prepare for check
cjne A, channel2_fade_PWM, channel2_fade_to_on_init_1
ret
channel2_fade_to_on_init_1:
jnc channel2_fade_to_on_init_2
ret
channel2_fade_to_on_init_2:
clr fade2_to_off_in_progress
setb fade2_to_on_in_progress ;I am fading !
mov channel2_fade_counter, channel2_fade_delay ;preset value
; mov channel2_fade_PWM, channel2_fade_min
;============================================================================
channel2_fade_to_on:
jb fade2_to_on_in_progress, channel2_fade_to_on_1
ret
channel2_fade_to_on_1:
inc channel2_fade_counter ;counter++
mov A, channel2_fade_counter ;prepare for check
jnz channel2_fade_to_on_3 ;counter overflow check
mov channel2_fade_counter, channel2_fade_delay ;preset value
mov A, channel2_fade_PWM ;prepare for check
cjne A, channel2_fade_max, channel2_fade_to_on_2 ;countinue
clr fade2_to_on_in_progress ;Fading finished
setb fade2_direction ;last time I fade to on
sjmp channel2_fade_to_on_3 ;go for exit
channel2_fade_to_on_2:
inc channel2_fade_PWM ;one step forward
channel2_fade_to_on_3:
mov Channel2_PWM_percent, channel2_fade_PWM
channel2_fade_to_on_x:
ret
;============================================================================
channel3_fade_to_off_init:
mov A, channel3_fade_min ;prepare for check
cjne A, channel3_fade_PWM, channel3_fade_to_off_init_1
ret
channel3_fade_to_off_init_1:
jc channel3_fade_to_off_init_2
ret
channel3_fade_to_off_init_2:
clr fade3_to_on_in_progress
setb fade3_to_off_in_progress ;I am fading !
mov channel3_fade_counter, channel3_fade_delay ;preset value
; mov channel3_fade_PWM, channel3_fade_max
;============================================================================
channel3_fade_to_off:
jb fade3_to_off_in_progress, channel3_fade_to_off_1
ret
channel3_fade_to_off_1:
inc channel3_fade_counter ;counter++
mov A, channel3_fade_counter ;prepare for check
jnz channel3_fade_to_off_3 ;counter overflow check
mov channel3_fade_counter, channel3_fade_delay ;preset value
mov A, channel3_fade_PWM ;prepare for check
cjne A, channel3_fade_min, channel3_fade_to_off_2 ;countinue
clr fade3_to_off_in_progress ;Fading finished
clr fade3_direction ;last time I fade to off
sjmp channel3_fade_to_off_3 ;go for exit
channel3_fade_to_off_2:
dec channel3_fade_PWM ;one step back
channel3_fade_to_off_3:
mov Channel3_PWM_percent, channel3_fade_PWM
channel3_fade_to_off_x:
ret
;============================================================================
channel3_fade_to_on_init:
mov A, channel3_fade_max ;prepare for check
cjne A, channel3_fade_PWM, channel3_fade_to_on_init_1
ret
channel3_fade_to_on_init_1:
jnc channel3_fade_to_on_init_2
ret
channel3_fade_to_on_init_2:
clr fade3_to_off_in_progress
setb fade3_to_on_in_progress ;I am fading !
mov channel3_fade_counter, channel3_fade_delay ;preset value
; mov channel3_fade_PWM, channel3_fade_min
;============================================================================
channel3_fade_to_on:
jb fade3_to_on_in_progress, channel3_fade_to_on_1
ret
channel3_fade_to_on_1:
inc channel3_fade_counter ;counter++
mov A, channel3_fade_counter ;prepare for check
jnz channel3_fade_to_on_3 ;counter overflow check
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -