⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n_night.asm

📁 晚上灯!!!献给初学pic或者mdt的朋友!
💻 ASM
📖 第 1 页 / 共 2 页
字号:
 		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------------------------;
;*******************************************************************************;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -