Gå til innhold

Programmere LCD-display (ikke LCDsmartie)


Anbefalte innlegg

Har et prosjekt på skolen der vi skal lage en utgave av HAUK, og har planer om å få vist status på portene vha. et LCD-display som helst ikke skal ha direkte kontakt med PCen.

 

Noen som har forslag til hvordan displayet programmeres?

blir nok et 16x4 eller 8x2 display som levers med driverkrets og tegngenerator for ASCII-kode.

Endret av Noxy
Lenke til kommentar
Videoannonse
Annonse

du vil da trenge en mikrokontroller.

eksempel på kode kan du finne i kildekoden til viftestyringen min.

http://vingtor.kicks-ass.org/filer/prosjek...ftekontroll.zip

se på filene LCD.c og LCD.h, ellers kan du se i vifte.c hvor det gjøres metodekall til LCD.c

 

kanskje ikke verdens beste kode, men den virker.

 

(nå kommer det jo ann litt på hvordan du kobler ting koden blir da..., men du får kanskje en idee eller noe...)

Endret av Dr_VingTor
Lenke til kommentar
Jeg har fått gleden av å samarbeide med lykketrollet der oppe....

 

For å spesifisere det litt til, så vil vi gjerne bruke en 6502 om vi blir nødt til å bruke en µP, da det er den vi er vant til å jobbe med.  C-programmering vil gjerne unngås.

5507188[/snapback]

 

Å bruke 6502 til dette er overkill i form av delekostnad. Men hvis dette er et skole prosjekt med 'faste' komponenter, så... har dere vel ikke noe valg.

 

Lurer litt på hva dere skal med Hauk? Dersom dere skal ha kommunikasjon med PC så er det greiere å bruke seriel port. 6502 kan da brukes til å drive whatever av utganger dere måtte ønske.

Lenke til kommentar
Jeg har fått gleden av å samarbeide med lykketrollet der oppe....

 

For å spesifisere det litt til, så vil vi gjerne bruke en 6502 om vi blir nødt til å bruke en µP, da det er den vi er vant til å jobbe med.  C-programmering vil gjerne unngås.

5507188[/snapback]

 

Å bruke 6502 til dette er overkill i form av delekostnad. Men hvis dette er et skole prosjekt med 'faste' komponenter, så... har dere vel ikke noe valg.

 

Lurer litt på hva dere skal med Hauk? Dersom dere skal ha kommunikasjon med PC så er det greiere å bruke seriel port. 6502 kan da brukes til å drive whatever av utganger dere måtte ønske.

5507307[/snapback]

 

Er ingen faste komponenter, men 6502 er det eneste vi har vært borti å programmere!

Hauk skal brukes som vanlig, men skal koble til µP som leser av utgangene på Hauk og viser statusen på et LCD-display.

Det er hvertfall planen så langt.

 

Har du noen forslag kanskje? :)

 

edit: kan til NØD, og kun da, programmere i C#. men må i såfall være ufattelig enkel programmering.

Endret av Noxy
Lenke til kommentar

hva programmers 6502 i da? så noen som brukte assembler på den.

 

bare så det er sagt, så kan du selvfølgelig bruke assembler for mikrokontrollere også, men det blir mye å skrive og det er ufattelig enklere med C når en har lært det lille en trenger. men om dere programmerer i assembler så får jeg nesten bøye meg i støvet, for det er mer enn hva jeg gidder (ok, kan å bruke assembler, men det er enklere med C da...) Er jo forsåvidt litt arbeid med å lære seg assembler for en ny kontroller også, selv om prinsippene er like, så om dere alt kan en forstår jeg at dere velger å bruke den dere kan noe på...

 

jeg (som har en forkjerlighet for AVR) så for meg å bytte ut parallell-porten i HAUK med en serielport (com-port) og komunisere over den. Bruke en AVR og koble display og resten av hauk til den. men dette blir kanskje litt omfattende da en trenger nytt program til PCen og det innebærer enda mer programmering.

Lenke til kommentar
Eeeey, vargstad elever?

5507889[/snapback]

stemmer :thumbup:

 

hva programmers 6502 i da? så noen som brukte assembler på den.

 

bare så det er sagt, så kan du selvfølgelig bruke assembler for mikrokontrollere også, men det blir mye å skrive og det er ufattelig enklere med C når en har lært det lille en trenger. men om dere programmerer i assembler så får jeg nesten bøye meg i støvet, for det er mer enn hva jeg gidder (ok, kan å bruke assembler, men det er enklere med C da...) Er jo forsåvidt litt arbeid med å lære seg assembler for en ny kontroller også, selv om prinsippene er like, så om dere alt kan en forstår jeg at dere velger å bruke den dere kan noe på...

 

jeg (som har en forkjerlighet for AVR) så for meg å bytte ut parallell-porten i HAUK med en serielport (com-port) og komunisere over den. Bruke en AVR og koble display og resten av hauk til den. men dette blir kanskje litt omfattende da en trenger nytt program til PCen og det innebærer enda mer programmering.

5508059[/snapback]

Vil helst spille unna mest mulig programmering. Så derfor bruker vi HAUK som det er, og programmerer bare det som trengs for å få til displayet.

 

Kan du kanskje gi oss en liten "guide" om hvordan LCD-displayet funker?

(Altså med tanke på tilkoblinger og programmering. Hva skal hvor og sånn.)

Lenke til kommentar

Er ingen faste komponenter, men 6502 er det eneste vi har vært borti å programmere!

Hauk skal brukes som vanlig, men skal koble til µP som leser av utgangene på Hauk og viser statusen på et LCD-display.

Det er hvertfall planen så langt.

 

Har du noen forslag kanskje? :)

 

edit: kan til NØD, og kun da, programmere i C#. men må i såfall være ufattelig enkel programmering.

5507331[/snapback]

 

AVR er mye lettere å programmere enn 6502... :p

 

Forslag:

Bruk serie kommunikasjon mellom PC (USB, RS232 etc) og AVR (eller tilsvarende). Mikrokontrollere anbefales :). Reserver noen porter til display komm. Resten av portene kan brukes som inn og utganger.

 

Programmeringen tar dere på noen kvelder. Når dere først har fått gang på kommunikasjonen så begynner det å bli stilig. Dere har nå ikke bare digitale utganger, men med litt endring i programmet kan dere ha PWM utganger, AD konvertere og masse inn og utganger.

 

Hvis dere skal bruke en mikrokontroller så ikke engang tenk på Hauk. Det er for parallell port styring og er foreldet. Framtiden er seriell...

 

Eksempel på kobling fra AVR til LCD finner du her.

 

Er C# et programmeringspråk, eller et skript språk?

Lenke til kommentar
AVR er mye lettere å programmere enn 6502... :p

 

Forslag:

Bruk serie kommunikasjon mellom PC (USB, RS232 etc) og AVR (eller tilsvarende). Mikrokontrollere anbefales :). Reserver noen porter til display komm. Resten av portene kan brukes som inn og utganger.

 

Programmeringen tar dere på noen kvelder. Når dere først har fått gang på kommunikasjonen så begynner det å bli stilig. Dere har nå ikke bare digitale utganger, men med litt endring i programmet kan dere ha PWM utganger, AD konvertere og masse inn og utganger.

 

Hvis dere skal bruke en mikrokontroller så ikke engang tenk på Hauk. Det er for parallell port styring og er foreldet. Framtiden er seriell...

 

Eksempel på kobling fra AVR til LCD finner du her.

 

Er C# et programmeringspråk, eller et skript språk?

5508814[/snapback]

Vi kommer nok til å bruke Hauk fordi vi da allerede har programmet ferdig og det fungerer tilfredstillende for oss.

 

Kan vi feks. bruke AT90S1200?

Vil jo trenge 8 innganger for hente statusen på reléene og 3 utganger for å sende ut til 74HC164 og til LCD-displayet sånn som du referer til, eller?

 

Finnes det en rask innføring i hvordan dette programmeres?

 

(C# er et programmeringsspråk)

Lenke til kommentar

IKKE bruk AT90S1200, den er ikke egnet. så vidt jeg husker har den ikke ram, og er derfor ikke egent til programmering i C, trur den vil ha for få IO pinner til dette prosjektet også. (og så trur jeg det er en feil i den som gjør at den er vanskelig å reprogramere).

 

gå for noe litt større, så har dere mer resurser å gå på og mer og leke dere med. hvor mange IO pinner dere trenger kommer ann på hvordan dere implementerer ting, men som regel blir ting enklere jo flere IO pinner dere har. så selv om mikrokontrolleren blir dyrere kan resten av systemet bli billigere, slik at dere fremdeles har spart penger.

 

En annen måte å koble displayet på er som jeg har gjort det, 8bit data parallelt, og styresignaler rett på AVR'en, bruker flere IO-pinner, men trenger en IC mindre...

Lenke til kommentar
IKKE bruk AT90S1200, den er ikke egnet. så vidt jeg husker har den ikke ram, og er derfor ikke egent til programmering i C, trur den vil ha for få IO pinner til dette prosjektet også. (og så trur jeg det er en feil i den som gjør at den er vanskelig å reprogramere).

 

gå for noe litt større, så har dere mer resurser å gå på og mer og leke dere med. hvor mange IO pinner dere trenger kommer ann på hvordan dere implementerer ting, men som regel blir ting enklere jo flere IO pinner dere har. så selv om mikrokontrolleren blir dyrere kan resten av systemet bli billigere, slik at dere fremdeles har spart penger.

 

En annen måte å koble displayet på er som jeg har gjort det, 8bit data parallelt, og styresignaler rett på AVR'en, bruker flere IO-pinner, men trenger en IC mindre...

5509333[/snapback]

 

Ok. Har du skjema på hvordan du har koblet det? :)

Kostnader tror jeg ikke vi trenger å bry oss med, som sagt tidligere, så betaler sannsynlig vis skolen/fylke alt vi trenger av deler.

Lenke til kommentar

synes ikke så godt på skjema siden jeg ikke har skrevet inn noe men:

http://vingtor.kicks-ass.org/filer/gallery...roll_skjema.jpg

 

data til skjermen sendes på PB1_8 og så de tre styresignalene sendes på 3 av pinnene på PD2_7

 

Men det går ann å sende data i 4 bit om gangen i stede for 8 bit, (altså sender 4 bit to ganger), og da kan en koble hele skjermen på en port, hvilket kan være en fordel, men det tenkte jeg ikke på når jeg programmerte...

Lenke til kommentar
Ok. Har du skjema på hvordan du har koblet det? :)

Kostnader tror jeg ikke vi trenger å bry oss med, som sagt tidligere, så betaler sannsynlig vis skolen/fylke alt vi trenger av deler.

5509422[/snapback]

 

Hvis det er så greit, hvorfor ikke betale 3. part for å gjøre hele jobben? Eller er det faktisk en skoleoppgave der dere skal finne ut ting og tang? ;)

 

ATMega8 passer til det dere skal lage.

Lenke til kommentar
Ok. Har du skjema på hvordan du har koblet det? :)

Kostnader tror jeg ikke vi trenger å bry oss med, som sagt tidligere, så betaler sannsynlig vis skolen/fylke alt vi trenger av deler.

5509422[/snapback]

 

Hvis det er så greit, hvorfor ikke betale 3. part for å gjøre hele jobben? Eller er det faktisk en skoleoppgave der dere skal finne ut ting og tang? ;)

 

ATMega8 passer til det dere skal lage.

5511606[/snapback]

er en skoleoppgave der vi skal finne ut ting og tang ja :p

Lenke til kommentar
Så  det er denne du mener da?

5511735[/snapback]

 

Jepps.

 

Kjøp DIP utgaven. Plugg den i kontaktbrettet ditt. Koble til en programmerer og noe leds og brytere. Begynn å programmer. Se hvor enkelt det er. Vips, og du er hekta :p

 

PS! Du får alltid for lite av mikrokontrollere, så kjøp noen ekstra. De blir alltid brukt til noe... :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...