list p=16f84a ;****************************************************************************** ; Pinbelegung: ; ; PortA: ; 0 DATA ; 1 CLOCK ; 2 ; 3 STROBE & OE ; 4 ; ; PortB: ; 0 Zeile1 ; 1 Zeile2 ; 2 Zeile3 ; 3 Zeile4 ; 4 Zeile5 ; 5 Zeile6 ; 6 Zeile7 ; 7 ; ;****************************************************************************** ; ; Buchstabe "A" von Tabelle (seriell über 4094) auf LED - MATRIX ausgeben ; ; Moritz Klein ; ; Februar 2010 ; ;****************************************************************************** ; #include "p16f84a.inc" ; Include-Dateien Laden ; __CONFIG _PWRTE_ON & _WDT_OFF & _HS_OSC ; über 3,5 MHz ; ;****************************************************************************** schleife1 equ 0x22 schleife2 equ 0x23 speicher1 equ 0x24 speicher2 equ 0x25 INIT bsf STATUS, RP0 ; auf Bank 1 umschalten movlw B'00000000' ; PORT A alle OUTPUT movwf TRISA movlw B'00000000' ; PORT B alle OUTPUT movwf TRISB bcf STATUS, RP0 ; auf Bank 0 zurückschalten clrf PORTA ; PORT A "löschen" clrf PORTB ; PORT B "löschen" bsf PORTA, 3 MAIN movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE1 bcf PORTB, 6 bsf PORTB, 0 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE2 bcf PORTB, 0 bsf PORTB, 1 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE3 bcf PORTB, 1 bsf PORTB, 2 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE4 bcf PORTB, 2 bsf PORTB, 3 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE5 bcf PORTB, 3 bsf PORTB, 4 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE6 bcf PORTB, 4 bsf PORTB, 5 bcf STATUS, C call UMWANDLUNG movlw d'6' movwf speicher2 movlw d'0' call DATEN_ZEILE7 movwf speicher1 bcf PORTB, 5 bsf PORTB, 6 bcf STATUS, C call UMWANDLUNG goto MAIN UMWANDLUNG rlf speicher1, 1 btfss STATUS, C ; bei 1 überspringen call NULL btfsc STATUS, C ; bei 0 überspringen call EINS decfsz speicher2, 1 goto UMWANDLUNG return NULL bcf PORTB, 0 bsf PORTB, 1 bcf PORTB, 1 return EINS bsf PORTB, 0 bsf PORTB, 1 bcf PORTB, 1 return DATEN_ZEILE1 addwf PCL, 1 retlw b'11111' ; A retlw b'11111' ; A retlw b'11111' ; A DATEN_ZEILE2 addwf PCL, 1 retlw b'10001' ; A retlw b'10001' ; A retlw b'10001' ; A DATEN_ZEILE3 addwf PCL, 1 retlw b'10001' ; A retlw b'10001' ; A retlw b'10001' ; A DATEN_ZEILE4 addwf PCL, 1 retlw b'11111' ; A retlw b'11111' ; A retlw b'11111' ; A DATEN_ZEILE5 addwf PCL, 1 retlw b'10001' ; A retlw b'10001' ; A retlw b'10001' ; A DATEN_ZEILE6 addwf PCL, 1 retlw b'10001' ; A retlw b'10001' ; A retlw b'10001' ; A DATEN_ZEILE7 addwf PCL, 1 retlw b'10001' ; A retlw b'10001' ; A retlw b'10001' ; A END