Sida 3 av 3

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 11:18:33
av sodjan
Du angav ingen metod, bara hur det ska lagras...
Den enklaste metoden är att minska med 100, sedan med 10, och sedan resten.
Kolla efter en sådan metod, den är enklast att förstå.
Eller ta papper och penna och hitta på en egen metod...

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 11:59:36
av Glattnos
sodjan: Förlåt, jag var otydlig. Med metod menade jag metoden att skriva ut värdet på LCD:n.

"Talet från ADC:n är 1 byte som kan innehålla 0-255 binärt
Talet som ska visas på LCD:n är ju mellan 0-255 decimalt, så då behövs 3 st siffror.
Man använder 3 byte i SRAM för att lagra dessa 3 siffror i ASCII-format.
Så skickar man dessa tre byte i tur och ordning till LCD."

Jag tycker i alla fall att det är en metod. Jag tänkte att någon kanske hade en annan metod, typ "De flesta LCD-displayer behöver bara ha ett binärt värde så räknar den om det till decimalt själv" eller nått liknande.
Jag förstår att det finns olika sätt att göra saker och därför vill man ju rådfråga de som vet mer lixom :)

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 12:47:08
av sodjan
Det är igen metod. Det är "bara" hur du ska skrivas ut det till LCD'n.
Det är ju inte alls det som är problemet, eller hur ?

Om du har h'A0' (d.v.s 10100000 eller 160 decimalt)
så behöver du alltså en *metod* som ovandlar 10100000
till 00110001, 00110110, 00110000, d.v.s "160" i ASCII.

*Det* är den "metod" som du behöver och den metod jag beskrev
är den som är enklast att förstå (men kanske inte effektivast).
Som sagt, innan du postar mer, så sök i forumet, det finns flera
trådar som tar upp detta.

> "De flesta LCD-displayer behöver bara ha ett binärt värde så räknar den om det till decimalt själv"...

Men så är det ju inte, har du en sådan ??

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 13:25:30
av Glattnos
Okej, jag måste klargöra lite nu.

sodjan: Jag förstår hur du menar men i detta är det du som missförstår mig.

Jag ställde två frågor:
1. Är detta en bra metod eller finns det något enklare sätt?(Syftar på tillvägagångsättet(metoden?)att lagra data som ASCII i SRAM och sedan skicka till LCD:n)
2. Hur räknar man om det binära talet till tre ASCII-tecken(i assembler)?(Syftar på metoden att göra om binära tal till ASCII)

Båda sökte jag efter innan jag skrev men hittade inte något tillfredställande svar på. Jag skulle aldrig posta här om något som jag inte försökt lösa själv först.

Fråga 2. har du(sodjan) svarat mycket bra på. Tackar! Jag har helt enkelt sökt på fel sak("binär decimal" istället för "binär BCD") och därför inte hittat svaret jag letade efter. Denna fråga har jag inte frågat om mer efter det första svaret.

Fråga 1. har jag fortfarande inte fått något direkt svar på, men jag har fått ett svar indirekt eftersom ingen har påpekat att det är osmidigt att göra så. Svaret blir alltså: Ja, det är en bra metod!

Detta: "De flesta LCD-displayer behöver bara ha ett binärt värde så räknar den om det till decimalt själv"...var ju bara ett exempel på en annan "metod att skriva ut ett värde på en LCD", ber om ursäkt för att jag inte skrev att det bara var ett påhittat exempel på ett svar, för att förtydliga min fråga.

Med andra ord så har jag nu fått svar på båda frågorna nu. Tack! Jag återkommer jag undrar något mer.

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 14:20:35
av sodjan
När det gäller LCD'n...

> Ja, det är en bra metod!

Den är varken bra eller dålig !

Det är *Metoden*. Det finns ingen annan metod...

Det jag vänder mig mot är att du frågar om det är en *bra* metod...

I alla fall för en vanlig standard HD44780 display, vilket
jag förutsätter eftersom du inte har sagt något annat.

Re: Läsa värde med ADC på AVR? (asm)

Postat: 17 december 2009, 14:54:25
av Glattnos
sodjan: Aha! Då var frågan kanske lite konstig om det bara finns det sättet. Tack för det! Ja det är en HD44780 display, det verkar vara en ganska användbar pryl.