Resultat display

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

När jag testade lite förut så rullade cursorn under alla tecken. Jag är inne på att stänga av cursorn, så man slipper att den rullar under tecknena.

Vad menar du med "om man inte ställer om adressen"
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Man kan ju ställa var cursorn (synlig eller dold) ska stå och därmed var man kommer att skriva nästa tecken.
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

Ser nu i manualen att under "instuctions" kan man stänga av cursorn under display control.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Och "stänga av" betyder bara att den inte syns, den finns där fortfarande.
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

Skall nu börja titta på hur man kan lägga upp subrutinen som skall hantera överföringen av tecknena till lcd´n. Var skall man lägga anropet till rutinen i loopen eller någon annanstans?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Tja, varför inte "där det behövs" ??
Man kan naturligtsvis göra på lite olika sätt.

En variant är att ha en 2x16 bytes "image" av LCD'n i minnet
som alla rutiner skriver till. Sedan överförs denna till LCD'n
med ett lämpligt intervall av en central (t.ex timer-styrd) rutin.

Eller så skrier varje rutin själv direkt till LCDn.

Eller så samlar man upp anropen lite mer "centralt" i applikationen.

Eller så.......

Allt styrs av behov och krav från applikationen.
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

Så nu tänkte jag väcka liv i denna tråd igen.

Har nu skaffat större 7-segments displayer som jag tänkt börja med.
Fick hem de igår från Kina och här är en länk till manualenhttp://www.sureelectronics.net/pdfs/DE- ... 1.0_EN.pdf.
Har som sagt inte kopplat in något och börjat testa.

Men har en frågor:

Enligt produktbladet är klockfrekvensen max 1 MHz vid 4 st. seriekopplade enheter (7-segments siffror). Kommer att köra med 6 st enheter.
Hur får man en klockfrekvens som är lägre än 4 MHz, som är den interna klockfrekvensen för mikroprocessorn?
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Tja... det finns MÅNGA sätt, det beror ju på hur du skickar ut datan till displayen men om vi antar att du väljer USART'en i synkront läge är det bara att ställa prescaleren till rätt läge.

Det är klockan som datan skickas med som inte får bli för hög och det har INGET att göra med CPU-klockan.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Med 4 MHz oscillator så kommer du *ALLTID* att få en klocka under 1 MHz
ut till LED displayen. Det finns inte en möjlighet att komma upp i 1 MHz, sannolikt hamnar du på 100 KHz eller så, beroende på hur smart du kodar...
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

Icecap skrev:Tja... det finns MÅNGA sätt, det beror ju på hur du skickar ut datan till displayen men om vi antar att du väljer USART'en i synkront läge är det bara att ställa prescaleren till rätt läge.
Nu använder ju jag USART för att ta emot data från klockan och det är i asynkrontläge, såg i databladet att det är under TXSTA som man sätter async/sync läge. Kan man köra USART i olika lägen RC och TX?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Nej, det tror jag inte.
Men glöm att köra LED-displayen via USART, det är enkelt att
klocka ut datat via ett par vanliga I/O-pinnar...

Jag har för övrigt ett antal sådana där liggandes, men har inte
hunnit testköra...
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

"Men glöm att köra LED-displayen via USART, det är enkelt att
klocka ut datat via ett par vanliga I/O-pinnar... "


Då hoppar jag USART, men hur gör man enklast för att få ut datat via I/O pinnarna.

Display kortet har DATA IN, CLK IN, samt DIMM IN.
Jag har tittade i databladet för 74HC595 och tittat hur den är kopplad på displaykortet.
DATA IN går till DS (serial data input) på 595:an.
CLK IN går via två NAND gatar, som är till för att buffra klockfrekvensen och sen går till SH_CP (shift register clock input) och ST_CP (storage register clock input) på 595:an.

DIMM IN skall vara låg för att aktivera dispalyen.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Lägg ut datat på DATA IN bit-för-bit och klocka in det med CLK IN.
Eller vad är det igentligen du undrar över ?
SURE's datablad beskriver det ju också.
Stewal
Inlägg: 354
Blev medlem: 17 januari 2008, 16:38:41
Ort: Nämdö

Inlägg av Stewal »

Jag gick just in på databladet för displayen och såg exempel koden. Fattar inte allt men jag får välfråga vart efter.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Nej, för mig som inte läser C-kod flytande, så var det inte
speciellt pedagogisk. Jag fattade inte ett smack av den, men
å andra sidan är det väldigt enklelt att klocka ut data till displayen...

Ett Assembler exempel hade sannolikt varit tydligare i att fall som detta,
det handlar ju mest om att shifta runt ett register och lite "low-level bit-fiddling"...

1 Shifta ut i C-biten. Shifta åt rätt håll (kolla databladet).
2 Kolla C-biten och sätt/cleara DATA IN
3 Pulsa CLK IN up/ner (eller tvärtom)
4 Kör om 1-3 sju gånger för en komplett byte...

Kan antingen skrivas som en loop med en räknare eller
(något snabbare) som en rak kod där samma sak görs 8 gånger.

5 Kör om 1-4 fyra gånger för en komplett display...
6 Kör om 1-5 så många gånger som du har displayer...

Skitenkelt igentligen... :-)
Skriv svar