#include "p18F4520.inc" CONFIG OSC = HS CONFIG PWRT = OFF CONFIG WDT = OFF CONFIG PBADEN = OFF CONFIG LVP = OFF org 000000H PORST GOTO MAIN org 000020H ;*******COL toolbox 1.1 AC****** IC8COL equ 0x070 EC8INIT BCF TRISA,1 ; A1 Out for Col 1 BCF TRISA,2 ; A2 Out for Col 2 BCF TRISA,3 ; A3 Out for Col 3 BCF TRISA,5 ; A5 Out for Col 4 BCF TRISE,0 ; E0 Out for Col 5 BCF TRISE,1 ; E1 Out for Col 6 BCF TRISE,2 ; E2 Out for Col 7 BCF TRISC,0 ; C0 Out for Col 8 CLRF IC8COL ; Börja på Col1 CALL EC8FREE ; Turn off Col 1-8 RETURN EC8COLQ MOVF IC8COL,W ; Returns current Col RETURN EC8NXTQ INCF IC8COL,W ; Return next Col BTFSC WREG,3 ; Kolla om vi nått Col8 CLRF WREG ; Börja om om vi var på Col8 RETURN EC8FREE BCF LATA,1 ; Stänger av alla portar BCF LATA,2 BCF LATA,3 BCF LATA,5 BCF LATE,0 BCF LATE,1 BCF LATE,2 BCF LATC,0 RETURN EC8NEXT CALL EC8NXTQ ; Gå till nästa column MOVWF IC8COL RLNCF WREG RLNCF WREG ADDWF PCL BSF LATA,1 RETURN BSF LATA,2 RETURN BSF LATA,3 RETURN BSF LATA,5 RETURN BSF LATE,0 RETURN BSF LATE,1 RETURN BSF LATE,2 RETURN BSF LATC,0 RETURN ;*******NO MORE TOOLBOX******** ;----Quick DELAY------------------ IDONCE equ 0x072 QDELAY MOVLW 0xFF MOVWF IDONCE QLOOP DECFSZ IDONCE GOTO QLOOP RETURN ;----END OF QUICK DELAY------------------ S88DISP equ 0x020 ;__EXTERNAL E88INIT E88INIT CLRF TRISD LFSR 0,S88DISP CLRF S88DISP+0 CLRF S88DISP+1 CLRF S88DISP+2 CLRF S88DISP+3 CLRF S88DISP+4 CLRF S88DISP+5 CLRF S88DISP+6 CLRF S88DISP+7 RETURN ;__EXTERNAL E88VIEW E88VIEW MOVFF PLUSW0,LATD RETURN ;__LIGHT SHOW TOOLBOX___________________________________________________________ I60CNTL equ 0x074 I60CNTH equ 0x075 E60INIT MOVLW 0x81 SETF S88DISP+0 MOVWF S88DISP+1 MOVWF S88DISP+2 MOVWF S88DISP+3 MOVWF S88DISP+4 MOVWF S88DISP+5 MOVWF S88DISP+6 SETF S88DISP+7 CLRF I60CNTL MOVLW 0x08 MOVWF I60CNTH RETURN E60NEXT DECFSZ I60CNTL RETURN DECFSZ I60CNTH RETURN MOVLW 0x08 MOVWF I60CNTH COMF S88DISP+0 COMF S88DISP+1 COMF S88DISP+2 COMF S88DISP+3 COMF S88DISP+4 COMF S88DISP+5 COMF S88DISP+6 COMF S88DISP+7 RETURN ;__END LSTB_____________________________________________________________________ ;___ MAIN CALL EC8INIT CALL E88INIT CALL E60INIT MLOOP CALL EC8NXTQ ; 7 segment display som står på tur CALL E88VIEW ; Laddas med sitt innehåll från FSR CALL EC8NEXT ; Tänd den CALL QDELAY ; Lys CALL EC8FREE ; Släck CALL E60NEXT ; Rotera mönster GOTO MLOOP END