?? n_night.asm
字號(hào):
BTFSS SIGN,RUN_PAUSE ;
BSF SIGN,RUN_PAUSE ;
GOTO PAUSE_4 ;
LOW_4
BCF SIGN,RUN_PAUSE ;
PAUSE_4
BTFSS SIGN,RUN_PAUSE ;
GOTO STATUS_ONE_4_2 ;
;-------------------------------------------;
GOTO STATUS_ONE_4_1 ;
STATUS_ONE_4_2
BTFSC SIGN,RUN_PAUSE ;
GOTO STATUS_ONE_4_1 ;
DECFSZ DELAY_COUNT,1 ;
GOTO STATUS_ONE_4_1 ;
;-------------------------------------------;;-------------------------------------------;
STATUS_ONE_5 ;RED RISE
;-------------------------------------------;;-------------------------------------------;
CLRWDT ;
BSF PORTB,LED_BLUE_OUT ;B
BCF PORTB,LED_GREEN_OUT ;G GR
BSF PORTB,LED_RED_OUT ;R
;-------------------------------------------;
MOVLW 0FFH ;256
MOVWF TIME_COUNT1 ;
CLRF TIME_COUNT2 ;
;-------------------------------------------;
LIGHT_R_5
MOVF TIME_COUNT1,0 ;
MOVWF TIME_COUNT3 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_R_GR ;
DECF TIME_COUNT1,1 ;
INCF TIME_COUNT2,1 ;
LIGHT_R_GR
MOVF TIME_COUNT2,0 ;
MOVWF TIME_COUNT4 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_R_ON_5_1 ;
;-------------------------------------------;
LIGHT_R_ON_5
DECFSZ TIME_COUNT3,1 ;
GOTO LIGHT_R_ON_5_1 ;
GOTO LIGHT_R_5_KEY ;
LIGHT_R_ON_5_1
BSF PORTB,LED_RED_OUT ;R
CALL DELAY ;
GOTO LIGHT_R_ON_5 ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_R_5_KEY
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
;-------------------------------------------;
BTFSS SIGN,KEY_ON ;
GOTO STATUS_5_1 ;
BTFSC PORTB,PAUSE_IN ;
GOTO STATUS_5_1 ;
GOTO STATUS_5_2 ;
STATUS_5_1
BTFSS PORTB,PAUSE_IN ;
GOTO LIGHT_R_OFF_5 ;
BSF SIGN,KEY_ON ;
GOTO LIGHT_R_OFF_5 ;
STATUS_5_2
BTFSS SIGN,KEY_ON ;
GOTO LIGHT_R_OFF_5 ;
BTFSC SIGN,RUN_PAUSE ;
GOTO LOW_5 ;
CALL PAUSE_HIGH ;
GOTO LIGHT_R_OFF_5 ;
LOW_5
CALL PAUSE_LOW ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_R_OFF_5
DECFSZ TIME_COUNT4,1 ;
GOTO LIGHT_R_OFF_5_1 ;
GOTO LIGHT_R_5_END ;
LIGHT_R_OFF_5_1
BCF PORTB,LED_RED_OUT ;R
CALL DELAY ;
GOTO LIGHT_R_OFF_5 ;
;-------------------------------------------;
LIGHT_R_5_END
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
MOVLW 00H ;
SUBWF TIME_COUNT1,0 ;
BTFSS STATUS,2 ;
GOTO LIGHT_R_5 ;
;-------------------------------------------;;-------------------------------------------;
STATUS_ONE_6 ;GREEN LOWER
;-------------------------------------------;;-------------------------------------------;
CLRWDT ;
BSF PORTB,LED_BLUE_OUT ;B
BCF PORTB,LED_GREEN_OUT ;G RG
BCF PORTB,LED_RED_OUT ;R
;-------------------------------------------;
MOVLW 0FFH ;256
MOVWF TIME_COUNT1 ;
CLRF TIME_COUNT2 ;
;-------------------------------------------;
LIGHT_G_6
MOVF TIME_COUNT1,0 ;
MOVWF TIME_COUNT3 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_G_RG ;
DECF TIME_COUNT1,1 ;
INCF TIME_COUNT2,1 ;
LIGHT_G_RG
MOVF TIME_COUNT2,0 ;
MOVWF TIME_COUNT4 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_G_ON_6_1 ;
;-------------------------------------------;
LIGHT_G_ON_6
DECFSZ TIME_COUNT3,1 ;
GOTO LIGHT_G_ON_6_1 ;
GOTO LIGHT_G_6_KEY ;
LIGHT_G_ON_6_1
BCF PORTB,LED_GREEN_OUT ;G
CALL DELAY ;
GOTO LIGHT_G_ON_6 ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_G_6_KEY
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
;-------------------------------------------;
BTFSS SIGN,KEY_ON ;
GOTO STATUS_6_1 ;
BTFSC PORTB,PAUSE_IN ;
GOTO STATUS_6_1 ;
GOTO STATUS_6_2 ;
STATUS_6_1
BTFSS PORTB,PAUSE_IN ;
GOTO LIGHT_G_OFF_6 ;
BSF SIGN,KEY_ON ;
GOTO LIGHT_G_OFF_6 ;
STATUS_6_2
BTFSS SIGN,KEY_ON ;
GOTO LIGHT_G_OFF_6 ;
BTFSC SIGN,RUN_PAUSE ;
GOTO LOW_6 ;
CALL PAUSE_HIGH ;
GOTO LIGHT_G_OFF_6 ;
LOW_6
CALL PAUSE_LOW ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_G_OFF_6
DECFSZ TIME_COUNT4,1 ;
GOTO LIGHT_G_OFF_6_1 ;
GOTO LIGHT_G_6_END ;
LIGHT_G_OFF_6_1
BSF PORTB,LED_GREEN_OUT ;G
CALL DELAY ;
GOTO LIGHT_G_OFF_6 ;
;-------------------------------------------;
LIGHT_G_6_END
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
MOVLW 00H ;
SUBWF TIME_COUNT1,0 ;
BTFSS STATUS,2 ;
GOTO LIGHT_G_6 ;
;-------------------------------------------;;-------------------------------------------;
STATUS_ONE_7
BCF PORTB,LED_RED_OUT ;R
BSF PORTB,LED_GREEN_OUT ;G ;R
BSF PORTB,LED_BLUE_OUT ;B
;-------------------------------------------;
MOVLW 08H ; ;2S
MOVWF DELAY_COUNT ;
STATUS_ONE_7_1
CALL DELAY_1S ; ;
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
BTFSS PORTB,PAUSE_IN ;
GOTO STATUS_ONE_7_2 ;
CALL DELAY_5MS ;
BTFSS PORTB,PAUSE_IN ;
GOTO STATUS_ONE_7_2 ;
;-------------------------------------------;
STATUS_SEVEN_WAIT
CLRWDT ;
BTFSC PORTB,PAUSE_IN ;
GOTO STATUS_SEVEN_WAIT ;
;-------------------------------------------;
BTFSC SIGN,RUN_PAUSE ;
GOTO LOW_7 ;
BTFSS SIGN,RUN_PAUSE ;
BSF SIGN,RUN_PAUSE ;
GOTO PAUSE_7 ;
LOW_7
BCF SIGN,RUN_PAUSE ;
PAUSE_7
BTFSS SIGN,RUN_PAUSE ;
GOTO STATUS_ONE_7_2 ;
;-------------------------------------------;
GOTO STATUS_ONE_7_1 ;
STATUS_ONE_7_2
BTFSC SIGN,RUN_PAUSE ;
GOTO STATUS_ONE_7_1 ;
DECFSZ DELAY_COUNT,1 ;
GOTO STATUS_ONE_7_1 ;
;-------------------------------------------;;-------------------------------------------;
STATUS_ONE_8 ;BULE RISE
;-------------------------------------------;;-------------------------------------------;
CLRWDT
BCF PORTB,LED_RED_OUT ;R
BSF PORTB,LED_GREEN_OUT ;G ;RB
BSF PORTB,LED_BLUE_OUT ;B
;-------------------------------------------;
MOVLW 0FFH ;256
MOVWF TIME_COUNT1 ;
CLRF TIME_COUNT2 ;
;-------------------------------------------;
LIGHT_B_8
MOVF TIME_COUNT1,0 ;
MOVWF TIME_COUNT3 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_B_RB ;
DECF TIME_COUNT1,1 ;
INCF TIME_COUNT2,1 ;
LIGHT_B_RB
MOVF TIME_COUNT2,0 ;
MOVWF TIME_COUNT4 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_B_ON_8_1 ;
;-------------------------------------------;
LIGHT_B_ON_8
DECFSZ TIME_COUNT3,1 ;
GOTO LIGHT_B_ON_8_1 ;
GOTO LIGHT_B_8_KEY ;
LIGHT_B_ON_8_1
BSF PORTB,LED_BLUE_OUT ;B
CALL DELAY ;
GOTO LIGHT_B_ON_8 ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_B_8_KEY
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
;-------------------------------------------;
BTFSS SIGN,KEY_ON ;
GOTO STATUS_8_1 ;
BTFSC PORTB,PAUSE_IN ;
GOTO STATUS_8_1 ;
GOTO STATUS_8_2 ;
STATUS_8_1
BTFSS PORTB,PAUSE_IN ;
GOTO LIGHT_B_OFF_8 ;
BSF SIGN,KEY_ON ;
GOTO LIGHT_B_OFF_8 ;
STATUS_8_2
BTFSS SIGN,KEY_ON ;
GOTO LIGHT_B_OFF_8 ;
BTFSC SIGN,RUN_PAUSE ;
GOTO LOW_8 ;
CALL PAUSE_HIGH ;
GOTO LIGHT_B_OFF_8 ;
LOW_8
CALL PAUSE_LOW ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_B_OFF_8
DECFSZ TIME_COUNT4,1 ;
GOTO LIGHT_B_OFF_8_1 ;
GOTO LIGHT_B_8_END ;
LIGHT_B_OFF_8_1
BCF PORTB,LED_BLUE_OUT ;B
CALL DELAY ;
GOTO LIGHT_B_OFF_8 ;
;-------------------------------------------;
LIGHT_B_8_END
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
MOVLW 00H ;
SUBWF TIME_COUNT1,0 ;
BTFSS STATUS,2 ;
GOTO LIGHT_B_8 ;
;-------------------------------------------;;-------------------------------------------;
STATUS_ONE_9 ;RED LOWER
;-------------------------------------------;;-------------------------------------------;
CLRWDT
BCF PORTB,LED_BLUE_OUT ;B
BSF PORTB,LED_GREEN_OUT ;G ;BR
BCF PORTB,LED_RED_OUT ;R
;-------------------------------------------;
MOVLW 0FFH ;256
MOVWF TIME_COUNT1 ;
CLRF TIME_COUNT2 ;
;-------------------------------------------;
LIGHT_R_9
MOVF TIME_COUNT1,0 ;
MOVWF TIME_COUNT3 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_R_BR ;
DECF TIME_COUNT1,1 ;
INCF TIME_COUNT2,1 ;
LIGHT_R_BR
MOVF TIME_COUNT2,0 ;
MOVWF TIME_COUNT4 ;
BTFSC SIGN,PS_SIGN ;
GOTO LIGHT_R_ON_9_1 ;
;-------------------------------------------;
LIGHT_R_ON_9
DECFSZ TIME_COUNT3,1 ;
GOTO LIGHT_R_ON_9_1 ;
GOTO LIGHT_R_9_KEY ;
LIGHT_R_ON_9_1
BCF PORTB,LED_RED_OUT ;R
CALL DELAY ;
GOTO LIGHT_R_ON_9 ;
;-------------------------------------------;
LIGHT_R_9_KEY
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
;-------------------------------------------;
BTFSS SIGN,KEY_ON ;
GOTO STATUS_9_1 ;
BTFSC PORTB,PAUSE_IN ;
GOTO STATUS_9_1 ;
GOTO STATUS_9_2 ;
STATUS_9_1
BTFSS PORTB,PAUSE_IN ;
GOTO LIGHT_R_OFF_9 ;
BSF SIGN,KEY_ON ;
GOTO LIGHT_R_OFF_9 ;
STATUS_9_2
BTFSS SIGN,KEY_ON ;
GOTO LIGHT_R_OFF_9 ;
BTFSC SIGN,RUN_PAUSE ;
GOTO LOW_9 ;
CALL PAUSE_HIGH ;
GOTO LIGHT_R_OFF_9 ;
LOW_9
CALL PAUSE_LOW ;
;-------------------------------------------;
;-------------------------------------------;
LIGHT_R_OFF_9
DECFSZ TIME_COUNT4,1 ;
GOTO LIGHT_R_OFF_9_1 ;
GOTO LIGHT_R_9_END ;
LIGHT_R_OFF_9_1
BSF PORTB,LED_RED_OUT ;R
CALL DELAY ;
GOTO LIGHT_R_OFF_9 ;
;-------------------------------------------;
LIGHT_R_9_END
BTFSC SIGN,KEY_SIGN ;
GOTO LIGHT_OFF ; ;LIGHT TEST
BTFSC PORTB,DAY_NIGHT_IN ;
BSF SIGN,KEY_SIGN ;
MOVLW 00H ;
SUBWF TIME_COUNT1,0 ;
BTFSS STATUS,2 ;
GOTO LIGHT_R_9 ;
;-------------------------------------------;;-------------------------------------------;
GOTO MAIN ;
;*************************************************;
;*************************************************;
ORG 03FFH
GOTO RESET
;*************************************************;
END
;*************************************************;
;--------------------PROGRAMME END------------------------;
;*******************************************************************************;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -