Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #DEFINE PAGE0 BCF H'03',5
- #DEFINE PAGE1 BSF H'03',5
- OPSHUN EQU H'81' ;
- PCL EQU H'02' ;
- STATUS EQU H'03' ;
- PORTA EQU H'05' ;
- TRISA EQU H'85' ;
- PORTB EQU H'06' ;
- TRISB EQU H'86' ;
- INTCON EQU H'0B' ;
- W EQU 0 ;
- F EQU 1 ;
- C EQU 0 ;
- DC EQU 1 ;
- COUNT1 EQU H'30'
- COUNTER EQU H'31'
- N EQU D'12'
- TEMP EQU H'35'
- Z EQU 2
- ORG 0 ; Reset vector
- GOTO 5 ; Goto start of program
- ORG 4 ; Interrupt vector
- GOTO 5 ; Goto start of program
- ORG 5 ; Start of program memory
- CLRF PORTA ;
- CLRF PORTB ;
- PAGE1
- CLRF TRISA ;Port RA0 as output (see text)
- CLRF TRISB ;Port B0-B7 as output
- MOVLW B'00000111' ;move zero into W (binary shown intentionally)
- MOVWF OPSHUN ;set into OPTION as timer ratio 1:2 (TMRO rate)
- PAGE0
- MOVLW 4 ;
- MOVWF COUNTER ;
- ;--------------------------------------------------------------------------;
- POLL BTFSC INTCON,2 ;
- CALL ISR ;
- GOTO POLL
- ;--------------------------------------------------------------------------;
- ISR
- BCF INTCON,2 ;
- CLRF PORTA
- MOVF COUNTER,W
- CALL TABLE
- MOVWF PORTB
- MOVF COUNTER,W
- CALL SELECT
- MOVWF PORTA
- ;-------- CALL DEL_H--;
- DECFSZ COUNTER
- GOTO FIN
- MOVLW h'4'
- MOVWF COUNTER
- FIN RETURN
- ;------------------------------------------------------------------------;
- ;------------------------------------------------------------------------------------------------;
- ;NUMBER TABLE;
- TABLE ADDWF PCL,F ;add to PCL
- RETLW B'11000000' ;0 common anode codes
- RETLW B'11111001' ;1
- RETLW B'10100100' ;2
- RETLW B'10110000' ;3
- RETLW B'10011001' ;4
- RETLW B'10010010' ;5
- RETLW B'10000011' ;6
- RETLW B'11111000' ;7
- RETLW B'10000000' ;8
- RETLW B'10011000' ;9
- ;---------------------------------------------------------------------------------;
- SELECT ADDWF PCL,F
- NOP
- RETLW B'00000001' ;0
- RETLW B'00000010' ;1
- RETLW B'00000100' ;2
- RETLW B'00001000' ;3
- ;-----------------------------------------------------------------------;
- DEL_H MOVF STATUS,W
- MOVWF TEMP
- MOVLW D'1'
- MOVWF COUNT1
- DELAY_1MS MOVLW N
- D_LOOP ADDLW -1
- BTFSS STATUS,Z
- GOTO D_LOOP
- DECFSZ COUNT1,f
- GOTO DELAY_1MS
- MOVF TEMP,W
- MOVWF STATUS
- RETURN
- ;---------------------------------------------------------------------------;
- END ;final line
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement