Dumma LCD, HJÄLP!

Lysdioder, Optiska sensorer, Fiberoptik, Displayer, Lasrar, Optiska kopplare
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Tja, själv och själv. Sannolikt behöver du en variant på lcd_putchar
som bara skriver halva byten (alltså kör i 8-bits mode i princip).
För att skriva 4-bits kommandot. Sedan kör du på med båda
nibblarna...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Nu hängde jag inte med här....
Varför skicka nibbles?

Har suttigt och kodat grunden till ett program för 8bitar nu.
Jag tror init rutinen är rätt nu, har lagt in nop och delay lite här och var för att vara säker på att inte skicka data/kommandon för snabbt.

Sen när man ska skicka tecken, är det bara att sätta RS=1 och sen skicka texten, samt skicka en puls på E för varje byte...

Programmet:http://www.dybeck.eu/testlcd.c
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Nu hängde jag inte med här....
> Varför skicka nibbles?

Därför att din kod gör det, varför annars ?
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

OK, men är det inte det den putcharen gör, den styckar upp 8bitar till 2 nibbles för att skicka dom en och en?

Kolla det nya programmet, vill gärna höra era åsikter.
Har jag gjort något fel hitills?

http://www.dybeck.eu/testlcd.c
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> OK, men är det inte det den putcharen gör, den styckar upp 8bitar till 2 nibbles för att skicka dom en och en?

Japp, men det ska du inte göra, *innan* LCD modulen verkligen
är i 4-bitars mode, och det är den inte från power-on.

Eller också så talar vi om vanradra på något sätt...

> Kolla det nya programmet, vill gärna höra era åsikter.

Ser inget efter en *snabb* titt.
Jag skulle testa med mycket längre delays...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Nu har jag förlängt pauserna, men jag upptäckte en annan sak också.

Jag testade att ansluta en LED till en pinne på PICen, det var menigen att den skulle blinka till i början av programmet och sedan tändas när programmet var slut.

Men inget händer alls, men om jag kör ett program som bara tänder LEDen så tänds den.

Vad kan vara fel??
http://www.dybeck.eu/testlcd.c
Användarvisningsbild
JimmyAndersson
Inlägg: 26579
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Var anslöt du lysdioden?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Vad kan vara fel??

Vad är det för skillnad på de två programmen ?

EDIT: Ett litet förtydligande...
*Jag* behöver inte veta vad det är för skillnad.
Det jag menar är att *du* ska kolla vad det är för skillnad.
När du har hittat det, så har du kanske även hittat "felet"...
:-)
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

JimmyAndersson: på PORTB.2

sodjan: Jo jag har kollat efter skilnader. Det ena har lcd rutinerna, det andra tänder bara LEDen och gör inget annat. Har kollat den lilla del kod som styr LEDen men det är ingen skillnad så vitt jag kan se.

Fråga: Jag har använt nedanstående portar till LCDn och funderar om någon av modulerna i PICen kanske använder dom, comparatorerna på PORTA har jag stängt av.

Kod: Markera allt

#pragma bit RS  @ PORTB.5
#pragma bit E  @ PORTB.1

#pragma bit D7  @ PORTA.7
#pragma bit D6  @ PORTA.6
#pragma bit D5  @ PORTB.0
#pragma bit D4  @ PORTA.4
#pragma bit D3  @ PORTA.3
#pragma bit D2  @ PORTA.2
#pragma bit D1  @ PORTA.1
#pragma bit D0  @ PORTA.0
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag minns inte längre vilken processor du använder,
men deet syns direkt på riktningen över pinout
på en av de första sidorna i databladet.
Du kan lika bra som någon annan kolla...

Om det är en 628/628A, så får du se upp lite
extra med RA4 ! Den är open collector...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Det borde nog inte vara några problem, 16F628ans AN måste man väll slå på själv eller?

> open collector
Betyder det att den måste ha pullup motstånd?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> 16F628ans AN måste man väll slå på själv eller?

Nej, slå *AV* själv.

Så är det på *ALLA* PIC'ar. Om en pinne har en analog
funtktion, så är den *PÅ* efter en reset.
Men varför fråga, det finns en mycket tydlig varning på sidan
om PORTA i databladet om just detta.

Sedan ang RA4...
Den kan alltså bara "dra" aktivt till jord. Till 5V måste den
få lite hjälp av t.ex ett pull-up motstånd.
RA4 är lite besvärlig.Man kan undvika att använda den den
eller använda en modernare processor utan någon OC-pinne...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Aj då, jag tror jag får läsa det där databladet igen och lite nogrannare :roll:

Och byta bort RA4 mot någon annan, slå av AN, bara att testa igen

Måste man stänga av alla extra funktioner själv tex USART, CCP?

(ganska ny med PICar därav okunskapen...)

EDIT: fler frågor
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Normalt gäller att analoga funktioner är på, men "extra" digitala
funktioner (pwm, usart, i2c o.s.v) är avstäntängde efter reset.

Jag säger "normalt" för jag har sett vissa nyare modeller där man kan
ändra i CONFIG så att analoga funktioner är avstängda efter reset. Men
det är inte speciellt vanligt...
net4all
Inlägg: 538
Blev medlem: 7 februari 2007, 12:06:34

Inlägg av net4all »

Här kommer en riktig nybörjar fråga: Är AN detsamma som comparator?
Jag hittar inget om AN, men det nämns tillsammans med comparatorn..
Skriv svar