LCD med PicBasic fungerar inte
LCD med PicBasic fungerar inte
Det är ett par äldre displayer, sådana som kräver minus på kontrasten. Det var ett bra tag sedan jag köpte dom av någon här på forumet men som mycket annat hamnade dom i fyndlådan. Har provat en gammal inkoppling som jag vet fungerar med en annan display och använt samma program men det blir bara rutor och ingen reaktion på displayen.
Så här ser det ut i PicBasicen där jag även lagt in olika pauser före och efter.
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 1
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
Tänkte visa displayerna vart jag slänger elektronik om ingen har en bra idé.
Så här ser den ut. http://hem.bredband.net/b125217/LCD.jpg
Så här ser det ut i PicBasicen där jag även lagt in olika pauser före och efter.
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 1
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
Tänkte visa displayerna vart jag slänger elektronik om ingen har en bra idé.
Så här ser den ut. http://hem.bredband.net/b125217/LCD.jpg
Hej,
Om rutorna blir "helt svarta" så har du nog något fel i inställningen för kontrasten.
Har du någon fördröjning vid uppstart, innan du skriver till displayen. En del displayer behöver ha lite längre tid på sig att starta upp. Testa PAUSE 1000 eller nått...
Om inte det hjälper och du är säker på att anslutningarna är OK och motsvarar dina DEFINEs så testa att höja LCD_COMMANDUS och LCD_DATAUS. Testa 5000 resp 100 till att börja med.
/H.O
Om rutorna blir "helt svarta" så har du nog något fel i inställningen för kontrasten.
Har du någon fördröjning vid uppstart, innan du skriver till displayen. En del displayer behöver ha lite längre tid på sig att starta upp. Testa PAUSE 1000 eller nått...
Om inte det hjälper och du är säker på att anslutningarna är OK och motsvarar dina DEFINEs så testa att höja LCD_COMMANDUS och LCD_DATAUS. Testa 5000 resp 100 till att börja med.
/H.O
Hej,
OK, men du HAR negativ spänning på kontrast-benet? Har du mätt?
Är du säker på att PICen är "igång"? Blinka en LED eller nått för att verifiera att den startar upp ordentligt.
Jag har ingen erfarenhet av vare sig Wisp eller ICProg men på vilket sätt koden kommer IN i chippet borde väl knappast ha någon betydelse...
Kan du posta hela koden?
/H.O
OK, men du HAR negativ spänning på kontrast-benet? Har du mätt?
Är du säker på att PICen är "igång"? Blinka en LED eller nått för att verifiera att den startar upp ordentligt.
Jag har ingen erfarenhet av vare sig Wisp eller ICProg men på vilket sätt koden kommer IN i chippet borde väl knappast ha någon betydelse...
Kan du posta hela koden?
/H.O
Ja, kontrasten går att justera.
Ja,Blinkar
IcProg hade lite inställningar som oscilator och fuses, trodde det hade någon effekt.
Pause 1000 ' Wait for LCD to startup
'Set LCD Data port
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 1
DEFINE LCD_COMMANDUS 5000
DEFINE LCD_DATAUS 100
DEFINE OSC 4
CMCON = 7 ' PortA = digital
Pause 1000
LCDOut,"test"' Display start text
LCDOut $Fe,$C0,"test"
Pause 1000
Start:
High PORTB.1
Pause 1000
Low PORTB.1
Pause 1000
GoTo start
End
Ja,Blinkar
IcProg hade lite inställningar som oscilator och fuses, trodde det hade någon effekt.
Pause 1000 ' Wait for LCD to startup
'Set LCD Data port
DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 1
DEFINE LCD_COMMANDUS 5000
DEFINE LCD_DATAUS 100
DEFINE OSC 4
CMCON = 7 ' PortA = digital
Pause 1000
LCDOut,"test"' Display start text
LCDOut $Fe,$C0,"test"
Pause 1000
Start:
High PORTB.1
Pause 1000
Low PORTB.1
Pause 1000
GoTo start
End
Hej,
Skjuter i mörkret här men...
Du har DEFINE LCD_LINES 1 fast du har en 2-radig display och försöker skriva till den andra raden - vet inte om det skulle kunna ha betydelse.
Sen har du:
LCDOut,"test"' Display start text
Det är ett kommatecken efter LCDout som inte skall vara där.
Testa också:
LCDOut $FE, 1, "Test" Display start text...
/H.O
Skjuter i mörkret här men...
Du har DEFINE LCD_LINES 1 fast du har en 2-radig display och försöker skriva till den andra raden - vet inte om det skulle kunna ha betydelse.
Sen har du:
LCDOut,"test"' Display start text
Det är ett kommatecken efter LCDout som inte skall vara där.
Testa också:
LCDOut $FE, 1, "Test" Display start text...
/H.O
> Kan det inte vara så att du använder PORTA.4 till RS och den har öppen kollektor-utgång?
Det hade vi vetat om bara tusse hade orkat tala om vilken processor han använder.
Det är ganska få processorer som har RA4 som OC, dock har den vaniga
16F628A (och de i samma familj) det, så det är inte helt omöjligt.
Men, som sagt, just nu är det rena gissningar...
Det hade vi vetat om bara tusse hade orkat tala om vilken processor han använder.
Det är ganska få processorer som har RA4 som OC, dock har den vaniga
16F628A (och de i samma familj) det, så det är inte helt omöjligt.
Men, som sagt, just nu är det rena gissningar...