PIC16F88 mit LCD

Hallo,
ich hoffe ihr könnte mir helfen, ich bin am verzweifeln. Ich versuche schon die ganze Zeit mein LCD (16x4 von Anag Vision) im 4 Bit betrieb zum laufen zu kriegen. Allerdings kriege ich das einfach nicht hin. Das Display versteht nicht das es im 4 Bit laufen soll :smile: . Es zeigt immer nur Zeichen an die die unteren 4 Bit als high erfordern. Achja bevor ich es vergesse irgendwie klappt es auch nicht das mein PortA sich irgendwie meldet er bleibt trotz Programmierung auf low. Hier noch meine Pin Belegung:RB1=Enable,
RB2=DB5, RB3=R/W, RB4=DB7, RB5=DB6, RB7=DB4.

Hier das Prog:
title „LCD Schaltung“
processor 16f88
include
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_ON & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _WDT_OFF & _HS_OSC
udata 0x20

Zaehler1 res 1
Zaehler2 res 1

RST code 0x0
goto Start

PGM code

Start
Init bsf STATUS, RP0
clrf TRISA
clrf TRISB
bcf STATUS, RP0
clrf PORTA
clrf PORTB

bsf PORTB,7
bsf PORTB,2
bcf PORTB,5
bcf PORTB,4
bcf PORTB,3
bcf PORTB,0
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bsf PORTB,7
bsf PORTB,2
bcf PORTB,5
bcf PORTB,4
bcf PORTB,3
bcf PORTB,0
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bsf PORTB,7
bsf PORTB,2
bcf PORTB,5
bcf PORTB,4
bcf PORTB,3
bcf PORTB,0
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bcf PORTB,7
bsf PORTB,2
bcf PORTB,5
bcf PORTB,4
bcf PORTB,3
bcf PORTB,0
bsf PORTB,1
call Zeit
bsf PORTB,0
bcf PORTB,3
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bcf PORTB,1
bsf PORTB,4
bcf PORTB,5
bcf PORTB,2
bcf PORTB,7
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bsf PORTB,0
bcf PORTB,3
bsf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
bsf PORTB,4
bcf PORTB,5
bcf PORTB,2
bsf PORTB,7
bcf PORTB,1
call Zeit
bcf PORTB,1
call Zeit
goto warte

Zeit movlw d’255’
movwf Zaehler2
Zaehler4 movlw d’255’
movwf Zaehler1
Zaehler5 decfsz Zaehler1
goto Zaehler5
decfsz Zaehler2
goto Zaehler4
return

warte nop
nop
nop
nop
goto warte

end

Hallo,

ohne Kenntniss des Datenblatts von PIC und LCD:

  • Port A evt. default ADC (muss im ADC deaktiviert werden)
  • Zeiten im Datenblatt des LCD peinlich genau kontrollieren (OSZI?)
  • Schreibzugriffe für erstes Wort (zum Umschalten) testen (1 oder 2? Datenblatt)

Gruß
achim

P.S.: eine Unterfunktion zum Schreiben von 8bit, die 2*eine zum schreiben von 4 bit aufruft, erleichtern den Lesefluss erheblich.

Viel Erfolg. Bei unseren Diplomanden war die Ansteuerung des Displays meist die schwierigste Arbeit.