list p=16f628A ;************************************************************** ;* Pinbelegung ;* ---------------------------------- ;* PORTA: ;* 0 - ;* 1 - ;* 2 - ;* 3 - ;* 4 - ;* 5 - ;* 6 - ;* 7 - ;* ;* PORTB: ;* 0 CLK ;* 1 D ;* 2 STR ;* 3 OE ;* 4 ;* 5 ;* 6 ;* 7 ;* ;************************************************************** ; ; ; ;********************************************************** ; Includedatei für den 16F628 einbinden #include ERRORLEVEL -302 ;SUPPRESS BANK SELECTION MESSAGES ;### Konfiguration festlegen ### ; Power on Timer, kein Watchdog, interner Oszillator, kein Brown out, kein LV-programming __CONFIG _PWRTE_ON & _WDT_OFF & _INTOSC_OSC_NOCLKOUT & _BODEN_OFF & _LVP_OFF ;### Variablen festlegen ### ; genutzt von WAIT / WAITMS loops_h equ 0x21 ; timer für wait loops_l equ 0x22 ; timer für wait loops_tmp equ 0x23 ; genutzt von PrintLCD_Temp Temp1 equ 0x22 ; wird auch in WAIT / WAITMS genutzt Temp2 equ 0x23 ; wird auch in WAIT / WAITMS genutzt cdsend equ 0x24 ;### Konstanten festlegen ### ;### Programmeinsprung ### org 0 goto Init ;******************************************************** ; Das Programm beginnt mit der Initialisierung Init bsf STATUS, RP0 ; Bank 1 movlw Ini_opt ; pull-up on movwf OPTION_REG movlw B'00000000' ; PortB alle outputs ,außer RB1(LCD Port) movwf TRISB movlw B'11111111' ; PortA alle input movwf TRISA bcf STATUS, RP0 ; Bank 0 clrf PORTB ; Datenleitungen Schiberegister alles Ausgänge #define CLK PORTB, 0 #define D PORTB, 1 #define STR PORTB, 2 #define OE PORTB, 3 main movlw B'00000001' call cd4094_send goto main cd4094_send banksel PORTB bcf OE bcf STR btfsc cdsend, 0 bsf D btfss cdsend, 0 bcf D bsf CLK bcf CLK btfsc cdsend, 1 bsf D btfss cdsend, 1 bcf D bsf CLK bcf CLK btfsc cdsend, 2 bsf D btfss cdsend, 2 bcf D bsf CLK bcf CLK btfsc cdsend, 3 bsf D btfss cdsend, 3 bcf D bsf CLK bcf CLK btfsc cdsend, 4 bsf D btfss cdsend, 4 bcf D bsf CLK bcf CLK btfsc cdsend, 5 bsf D btfss cdsend, 5 bcf D bsf CLK bcf CLK btfsc cdsend, 6 bsf D btfss cdsend, 6 bcf D bsf CLK bcf CLK btfsc cdsend, 7 bsf D btfss cdsend, 7 bcf D bsf CLK bcf CLK bsf STR bsf OE return end