Pravidla | Poslední příspěvky | RSS téma | Hledat | Registrace | Přihlášení

Pic propojení s LCD problém?

Post new topic Reply to topic EDAboard.com Obsah fóra -> Microcontrollers -> Fotografie propojení s LCD problém?
Arabské znění Bulharská verze Katalánština verze Česká verze Dánské znění Německá verze Řecké znění Anglická verze Španělské znění Finské znění Francouzská verze Hindština verze Chorvatština verze Indonéská verze Italská verze Hebrejské znění Japonská verze Korejská verze Litevské znění Lotyšské znění Nizozemské znění Norská verze Polská verze Portugalská verze Rumunská verze Ruská verze Slovenská verze Slovinské znění Srbská verze Švédské znění Tagalog version Ukrajinská verze Vietnamština verze Čínština verzi
Autor Zpráva
engr.waqas



Založen: 21. červenec 2009
Příspěvky: 7
Poloha: Karáčí


Post 04. srpna 2009 8:39 Obr propojení s LCD problém?

I vzali dat do PIC řadiče z LM35 temp sensor.Now chci zobrazit čtení temp senzor na LCD.
Mám převést, že hodnotu ASCII před odesláním na LCD, nebo je již v ASCII.
Pokud jsem to převést na ASCII potom, jak se to dělá v C v MPLAB.
Zpět na začátek
View user's profile
Google
AdSense





Post 04. srpna 2009 8:39 Reklamy



Zpět na začátek
arthur0



Založen: 28. listopadu 2003
Příspěvky: 41
Pomohl: 2
Místo: Stockholm, Švédsko


Post 04. srpna 2009 9:59 Re: Fotografie propojení s LCD problém?

Nazdar,
Nejen že budete muset převést vaše "data" do ASCII, ale také budete muset převést že "data" na stupně, protože data budete mluvit se jen číselná reprezentace (za předpokladu, že jste použití PIC to ADC) z napětí na výstupu z vašich teplotní čidlo.
Vzhledem k tomu, že jste neřekl nic o to, co právě děláte, budu předpokládat, že se vám skutečně vzorek tohoto napětí pravidelně a kvantifikaci vzorků (číselně vyjádřit jim) pomocí ADC. To vám dává informaci o tom, jak velké toto napětí je ve srovnání s ADC referenčního napětí (to, co jste si vybrali, že to je).
Vzorovaný s absolutní hodnotu tohoto napětí, pak přes-to s odkazem na list, který vám číselná hodnota reprezentující teplotu ve stupních Celsia. (Myslím, že se list zmiňuje 10mV / ø C, takže, pokud vaše napětí, řekněme 230mV, teplota je 230/10 = 23 ø C.)
To je nyní jen číslo, ne textový nebo ASCII nebo cokoliv.
Chcete-li převést je na text, můžete buď využít
Kód:
sprintf (receiving_text_buffer, "% d", numeric_temp)
nebo si udělat vlastní algoritmus, který zapletení své číslo do svých číslic (pomocí kombinace opakované dělení a modul s / 10, například) a pak přidejte ASCII hodnota znaku'0 'pro každý z nich získat jejich ekvivalentní ASCII hodnot.
Doufám, že tento smysl k vám ...

Arthur
Zpět na začátek
View user's profile
engr.waqas



Založen: 21. červenec 2009
Příspěvky: 7
Poloha: Karáčí


Post 04. srpna 2009 10:59 Re: Fotografie propojení s LCD problém?

Díky moc drahý
Vlastně jsem udělal, že "míra konverze volbu" a prohlásil, ale nyní je problém je v tom, že mám právo dostat hodnotu na LCD pro temp 0 to9 ale i jako set temp v čidlo na 10 nebo jiných 2 digit dostanu
: 10
; Pro 11,
<12
= 13 pro
> 14
? pro 15
a znovu
0: 16
1 za 17 a tak dále
tj. Nedostávám corrrect indikaci na LCD pro 2 číselný hodnoty.
MY C kódování v MPLAB je
# include <P18f452.h>
# define idata PORTD
# define rs PORTBbits.RB0
# define rw PORTBbits.RB1
# define en PORTBbits.RB2
void lcdcmd (unsigned char);
void MSDelay (unsigned int);
void main (void)
(
int lbyte, hbyte, bin;
unsigned char x, y, z;

/ / A to D

TRISD = 0;
TRISAbits.TRISA0 = 1;
TRISAbits.TRISA2 = 1;
ADCON0 = 0x81, / / fosc/64, kanálu 0, A \ D je na
ADCON1 = 0xC5; / / právo oprávněné, fosc/64, AN0 = analog, AN3 = vref
while (1)
(
MSDelay (1), / / A D dát čas na ukázku
ADCON0bits.GO = 1, / / start konvertujícího
while (ADCON0bits.DONE == 1) / / čekání na EOC
lbyte = ADRESL; / / save nízké byte
hbyte = ADRESH; / / uložit vysoké byte
lbyte>> = 2;
lbyte & = 0x3F;
hbyte <<= 6;
hbyte & = 0xC0;
bin = lbyte | hbyte;

/ / zobrazení na LCD
TRISD = 0;
TRISB = 0;
cs = 0;
MSDelay (1);
lcdcmd (0x38);
MSDelay (1);
lcdcmd (0x0E);
MSDelay (1);
lcdcmd (0x01);
MSDelay (1);
lcdcmd (0x06);
MSDelay (1);
lcdcmd (0x86);
MSDelay (1);
/ / nyní zobrazí
x = bin & 0x0F; / / maska horní 4 bity
y = x | 0x30, / / je ASCII
PORTD = y;
rs = 1;
rw = 0;
cs = 1;
MSDelay (1);
cs = 0;
y = bin & 0xF0; / / maska dolní 4 bity
y = y>> 4, / / posun je na spodní 4 bity
MSDelay (50);
PORTD = y | 0x30, / / aby se ascii

)
)
void lcdcmd (unsigned char) hodnoty,
(
idata = hodnota;
rs = 0;
rw = 0;
cs = 1;
MSDelay (1);
cs = 0;
)

void MSDelay (unsigned int itime)
(
unsigned int i; unsigned char j;
for (i = 0; i <itime, i )
u (j = 0; j <135; j );
)
Zpět na začátek
View user's profile
arthur0



Založen: 28. listopadu 2003
Příspěvky: 41
Pomohl: 2
Místo: Stockholm, Švédsko


Post 04. srpna 2009 11:24 Re: Fotografie propojení s LCD problém?

Jste si dávejte pozor na to, co jsem psal výše: je potřeba rozdělit vaše čísla do jejich číslic!
Například, číslo 15 si budete chtít za 1, 5.
Za 2 číslice čísla, můžete to udělat takhle:
Kód:
digit0 počet% = 10; / * Krok 1: digit0 = 5 * /
digit1 = číslo / 10, / * Krok 2: digit1 = 1 * /


Pokud máte více čísel, můžete nahradit * 2 * krok s
Citace:
číslo = počet / 10
a opakujte krok * 1 * na výše uvedený kód pokud je to nutné.
(Všimněte si, že vám číslic v opačném pořadí!)
Doufám, že je to hned jasnější.

Arthur
Zpět na začátek
View user's profile
engr.waqas



Založen: 21. červenec 2009
Příspěvky: 7
Poloha: Karáčí


Post 04. srpna 2009 11:47 Re: Fotografie propojení s LCD problém?

Myslím, že spliting část a přeměnou části bude v této části kódování
Bin obsahuje data z temp senzor.
x = bin & 0x0F; / / maska horní 4 bity
y = x | 0x30, / / je ASCII a displeje
PORTD = y;
rs = 1;
rw = 0;
cs = 1;
MSDelay (1);
cs = 0;
y = bin & 0xF0; / / maska dolní 4 bity
y = y>> 4, / / posun je na spodní 4 bity
MSDelay (50);
PORTD = y | 0x30, / / je ascii a displeje
Zpět na začátek
View user's profile
vipul



Založen: 04. července 2008
Příspěvky: 15
Pomohl: 1
Poloha: Ahemdabad, Indie


Post 04. srpna 2009 12:40 Fotografie propojení s LCD problém?

Jak napsal Arthur dříve musíte převést výsledek ADC v "Titul" formulář vytisknout na LCD ...

Ve výše uvedených programů a jsou přímo tisk 'bin' proměnná, která je sloučit důsledku nižší a vyšší bitů ADC registry ...

-Vipul
Zpět na začátek
View user's profile
arthur0



Založen: 28. listopadu 2003
Příspěvky: 41
Pomohl: 2
Místo: Stockholm, Švédsko


Post 04. srpna 2009 13:40 Re: Fotografie propojení s LCD problém?

Citace:
Myslím, že spliting část a přeměnou části bude v této části kódování

Ne! Co děláte v té části kódu je jen trochu maskovat, ve kterém jste izolát symbolu v šestnáctkové číslování systém (0h - Fh, což odpovídá 0 až 15 v desítkové soustavy). A znakem je, podle definice, což je číslo od 0 do 9 v desetinné číslování systému.

Bál jsem se to by vařit do diskuse týkající se slova "binární", "hex", "desetinné", "number", "ASCII" apod., protože jejich významy jsou nejlépe vysvětlit ve škole a chápat přes [tvrdé] práci . Neexistuje dobrá náhrada za to.
Umím dobře psát kód pro vás, ale my oba ztratit: mne cenný čas a vy místě se všemi z toho!
Takže dovolte mi ukázat, že na vás ještě jednou místo (na dobu maximálně 3-místné číslo, řekněme 137):
Kód:
char d0, d1, d2;
d2 = bin 10%; / * d2 <- 7 * /
d1 = (bin / 10)% 10; / * d1 <- 3 * /
d0 = ((bin / 10) / 10)% 10; / * d0 <- 1 * /
/ * Takhle pokračovat ještě více znaků * /

/ * Převést číslici (čísla) do ASCII (textových znaků) * /
d0 ='0 '; / * stejné jako d0 = d0 '0' stejné jako d0 = d0 | 0x30 * /
d1 ='0 ';
d2 ='0 ';

/ * Poslat ASCII znaků do portu * /
/ * ... * /

Dalo by se to udělat hezčí, můžete to udělat trochu efektivněji, ale pro vás pochopit, jsem chtěl ukázat všechny malé kroky, které jste vynechal a také o tom, jak se číslice mohou být extrahovány rekurzivně, ale to je váš úkol.

Tak to bude dělat konverzi pro tebe, ale jsem přesvědčen, že parapet není to, co uvidíte, je teplota, protože není nic ve svém programu, který podobný a "volt na míru" konverzí, pokud jste si vybrali takové napětí, že odkaz Váš ADC skutečně udělat pro vás.

Arthur
Zpět na začátek
View user's profile
Post new topic Reply to topic EDAboard.com Obsah fóra -> Microcontrollers -> Fotografie propojení s LCD problém?
Strana 1 z 1 Časy uváděny v GMT 2 hodiny


Zneužití | | Administrátor | | Moderátoři | | Podpořte nás | | sitemap
téma RSS