Hallo!
Inmiddels weer lekker aan het rommelen, loop tegen een uitdaging aan. Ik heb een LCD (van Voti met HD44780) en een PIC 16F648. Als ik de interne oscilator gebruik van de PIC gaan zowel progjes met LED als met de LCD goed. Ik heb al een heel menu gemaakt, werkt allemaal prachtig. Nu wil ik graag met een bus gegevens gaan verzenden en heb ik dus een externe oscilator nodig en daar gaat het mis. De LED programma's draaien allemaal prima (tijden kloppen) alleen de LED geeft dan alleen op de eerste regel een zwarte balk...
Dit is de code (van picbasic.nl) die gebruik met interne oscilator:
DEVICE 16F648A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
; declaraties
DECLARE LCD_ENPIN = PORTA.3
DECLARE LCD_RSPIN = PORTB.0
DELAYMS 500
CLS
PRINT AT 1, 7, "Hallo."
PRINT AT 2, 1, "Hoe gaat ie?"
Opnieuw:
TOGGLE PORTA.2
DELAYMS 1000
GOTO Opnieuw
END
Dit werkt dus prima. Dan met een resonator van 20Mhz deze code:
DEVICE 16F648A
CONFIG WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF, HS_OSC
XTAL 20
ALL_DIGITAL TRUE
; declaraties
DECLARE LCD_ENPIN = PORTA.3
DECLARE LCD_RSPIN = PORTB.0
DELAYMS 500
CLS
PRINT AT 1, 7, "Hallo."
PRINT AT 2, 1, "Hoe gaat ie?"
Opnieuw:
TOGGLE PORTA.2
DELAYMS 1000
GOTO Opnieuw
END Het LED gedeelte doet het prima, net als met de interne, de LCD alleen niet...
NB: omwille van het overzicht heb ik de REM regels weggelaten.
Iemand een idee?
Zijn alle verbindingen goed? Een zwarte balk op je LCD betekent dat hij niet goed geïnitialiseerd wordt.
Controleer of alle verbindingen met het LCD goed aangesloten zitten, en of er geen kleine kortsluitingen zitten.
P.S. Meestal zorgen REM-regels voor meer duidelijkheid. Nu is dit een eenvoudig stukje code, dus het is geen ramp, maar toch.
Van de REM regels snap ik, maar hij zette vanalles door elkaar, normaal zou ik ze laten staan, nu was het maar weing code, vandaar 
Wat betreft de verbindingen. Heeft dat invloed op het moment dat je op andere snelheden werkt? M.a.w. zou het kunnen dat met slechte verbindingen de boel wel werkt op 4Mhz met een interne osc en niet op 20 Mhz met een externe?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ja die gaat prima... Ik heb het kristal al eens vervangen en werk nu met een resonator, maar dat moet allemaal niet uit maken volgens mij.
Ik ga nu eens proberen om informatie te verzenden zonder dat ik het lcd gebruik.
hmm... De bedrading eens bekeken, leek niks mee aan de hand. Programma er nog eens ingezet en toen werkte het LCD wel... Alleen de knoppen (met RCIN) nog niet, maar dat komt wel.
Toch bedankt voor het meedenken 
Dat is heel fijn. Wat was het probleem? Misschien heeft later iemand er nog iets aan als je de oplossing hier neerzet.
Ja ik ben bang dat het toch een gevalletje slechte bekabeling was.
Wat betreft de RCIN knoppen lag het aan de weerstand waarde die ik ingevoerd had, die waren totaal anders op hogere snelheid. Ik heb dus die waarde op het LCD neer laten zetten en toen die nieuwe waarden ingevoerd, toen werkte het perfect!
