Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #INCLUDE "P16F84A.INC"
- __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
- ERRORLEVEL -302
- ;----------------------------------------------------------
- ; variable declaration
- COUNTERA EQU H'10'
- COUNTERB EQU H'11'
- COUNTER EQU H'12'
- ORG 0x00
- GOTO START
- ORG 0x04
- GOTO ON_INT
- START
- ;----------------------------------------------------------
- ; register configurations
- BSF STATUS, RP0
- MOVLW 0x00
- MOVWF TRISA
- MOVLW B'00000001'
- MOVWF TRISB
- MOVLW 0x07
- MOVWF OPTION_REG
- BCF STATUS, RP0
- BSF INTCON, GIE
- BSF INTCON, INTE
- CLRF PORTA
- CLRF PORTB
- RESTART
- MOVLW 0x00
- MOVWF PORTA
- CALL DELAY
- MOVLW 0x09
- MOVWF COUNTER
- COUNT
- ;---------------------------------------------------------
- ; loop of the program
- MOVF COUNTER, W
- MOVWF PORTA
- CALL DELAY
- DECFSZ COUNTER, F
- GOTO COUNT
- GOTO RESTART
- DELAY
- ;---------------------------------------------------------
- ; create a delay
- MOVLW D'1'
- MOVWF COUNTERA
- LOOPA
- CALL DELAYA
- DECFSZ COUNTERA, 1
- GOTO LOOPA
- RETLW 0x00
- DELAYA
- MOVLW D'15'
- MOVWF COUNTERB
- LOOPB
- CALL DELAYB
- DECFSZ COUNTERB, 1
- GOTO LOOPB
- RETLW 0x00
- DELAYB
- CLRF TMR0
- BCF INTCON, T0IF
- LOOPC
- BTFSS INTCON, T0IF
- GOTO LOOPC
- RETLW 0x00
- ON_INT
- ;CALL DELAY
- ;CALL DELAY
- BCF INTCON, INTF
- INT_LOOP
- MOVF COUNTER, W
- MOVWF PORTA
- BTFSS PORTB, 0
- GOTO INT_LOOP
- GOTO COUNT
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement