;*********************************************************** ; 2022.02.21 V002 ; PIC12F675 WDT function ; Internal OSC is used and clock is 4Mhz ;*********************************************************** LIST P=12F675 INCLUDE P12F675.INC __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_ON TIM1 EQU H'20' TIM2 EQU H'21' TIM3 EQU H'22' ORG 0 GOTO START START BCF STATUS,RP0 ;set bank0 MOVLW B'00000001' ;GP[0]:high MOVWF GPIO MOVLW B'00000111' ;コンパレーターは使用しない MOVWF CMCON BSF STATUS,RP0 ;set bank1 MOVLW B'00111100' ;GP[0:1]:output MOVWF TRISIO MOVLW B'00000000' ;set GP[0:5] to digital MOVWF ANSEL BCF STATUS,RP0 ;set bank0 MAIN CALL WAIT ;wait 20sec BCF GPIO,0 ;set GP[0] low CALL WAIT_1MS ;wait 1msec BSF GPIO,0 ;set GP[0] high GOTO MAIN ;************************************* ; WAIT 30sec ;************************************* WAIT MOVLW D'30' MOVWF TIM1 WAIT_1 MOVLW D'250' MOVWF TIM2 WAIT_2 MOVLW D'250' MOVWF TIM3 WAIT_3 NOP NOP NOP NOP NOP NOP NOP BSF GPIO,1 NOP NOP NOP NOP NOP NOP NOP NOP BCF GPIO,1 DECFSZ TIM3,F GOTO WAIT_3 DECFSZ TIM2,F GOTO WAIT_2 DECFSZ TIM1,F GOTO WAIT_1 RETURN ;************************************* ; WAIT 3msec ;************************************* WAIT_1MS MOVLW D'3' MOVWF TIM1 WAIT_1MS_1 MOVLW D'10' MOVWF TIM2 WAIT_1MS_2 MOVLW D'34' MOVWF TIM3 WAIT_1MS_3 DECFSZ TIM3,F GOTO WAIT_1MS_3 DECFSZ TIM2,F GOTO WAIT_1MS_2 DECFSZ TIM1,F GOTO WAIT_1MS_1 RETURN END