当前位置:文档之家› PIC12F508汇编程序

PIC12F508汇编程序

PIC12F508汇编程序
PIC12F508汇编程序

LIST P=12F508

#INCLUDE

__CONFIG _CP_ON&_WDT_OFF&_MCLRE_ON&_IntRC_OSC CBLOCK 07H

COUNTA

COUNTB

GPIO_SHADOW

ENDC

ORG 00h

NOP

GOTO MAIN

TESTB BTFSC COUNTB,0

GOTO S

BSF COUNTA,0

RETLW 0

S BCF COUNTA,0

RETLW 0

DELAY10MS

MOVLW 0DH

MOVWF 0AH

LOOP1 MOVLW 0FFH

MOVWF 0BH

LOOP2 DECFSZ 0BH

GOTO LOOP2

DECFSZ 0AH

GOTO LOOP1

RETLW 0

DELAY3S

MOVLW 0FH

MOVWF 0CH

LOOP4 MOVLW 0FFH

MOVWF 0DH

LOOP5 MOVLW 0FFH

MOVWF 0EH

LOOP6 DECFSZ 0EH

GOTO LOOP6

DECFSZ 0DH

GOTO LOOP5

DECFSZ 0CH

GOTO LOOP4

RETLW 0

OUTPUT1

BSF GPIO_SHADOW,2

BSF GPIO_SHADOW,1

BSF GPIO_SHADOW,0

MOVF GPIO_SHADOW,w

MOVWF GPIO

RETLW 0

MAIN MOVLW 38h

TRIS 6

MOVLW 80h

OPTION

CLRF COUNTA

BSF COUNTB,0

LOOP BTFSC GPIO,4

GOTO S2

BTFSC GPIO,5

GOTO S1

CALL TESTB

BCF GPIO_SHADOW,2

BCF GPIO_SHADOW,1

BCF GPIO_SHADOW,0

MOVF GPIO_SHADOW,w

MOVWF GPIO

GOTO LOOP

S1 CALL DELAY10MS

CALL TESTB

CALL OUTPUT1

GOTO LOOP

S2 CALL DELAY10MS

BTFSC GPIO,5

GOTO S3

BTFSC COUNTA,0

GOTO S4

BSF GPIO_SHADOW,2

BCF GPIO_SHADOW,1

BCF GPIO_SHADOW,0

MOVF GPIO_SHADOW,w

MOVWF GPIO

BCF COUNTB,0

CALL DELAY3S

GOTO LOOP

S3 CALL DELAY10MS

CALL TESTB

LOOP3 CALL OUTPUT1

BTFSC GPIO,5

GOTO LOOP3

BTFSC GPIO,4

GOTO LOOP3

GOTO LOOP

S4 BCF GPIO_SHADOW,2

BSF GPIO_SHADOW,1

BCF GPIO_SHADOW,0

MOVF GPIO_SHADOW,w

MOVWF GPIO

BSF COUNTB,0

CALL DELAY3S

GOTO LOOP

END

相关主题
文本预览
相关文档 最新文档