Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa 2x16 LCD displejom!

[es] :: Elektronika :: Mikrokontroleri :: Problem sa 2x16 LCD displejom!

[ Pregleda: 3690 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.sbb.rs.



+5 Profil

icon Problem sa 2x16 LCD displejom!23.02.2014. u 17:31 - pre 122 meseci
Imam problem sa prikazivanjem temperature merene LM35 senzorom i PIC16F877, gledao sam bas dosta tutoriala vezanih za 2x16 LCD displej, video bioblioteku koja je ugradjena u MikroC za LCD, ali i dalje mi nisu jasni ti 4bitni i 8bitni modovi ra Hda displeja, odradjena je AD konverzija, ispravno se ispisuju brojevi srazmerni merenoj temperaturi npr. kad ih posaljem na pinove PORT-a B, ali mi nije jasno kako njih da prikazem na displeju u 4bitnom modu pomocu ASCII tabele, ako je 4bita 16 kombinacija a sama ASCII tabela zahteva mnogo vise bita za prikazivanje brojeva npr broj 0 = 0x48, smatram da bi mozda trebao da koristim 8bitni mod koji je mozda slican 4bitnom,ima vise kombinacija, ali eto nisam pametan vise. Mogu reci da sam početnik u svetu mikrokontrolera pa bi mi svaka pomoc dobrodosla :) Hvala

Ovo je šema:

 
Odgovor na temu

micromatic
Hrvatska

Član broj: 37825
Poruke: 85
217.68.80.*

Sajt: www.micromatic.hr


Profil

icon Re: Problem sa 2x16 LCD displejom!24.02.2014. u 07:44 - pre 122 meseci
Prvo je potrebno inicijalizirati LCD odnosno reći mu dali radiš u 4 ili 8 bitnom modu.

ASCII kod koji šalješ je i u jednom i u drugom modu 8 bitni ali mu u 4 bitnom modu 8 bitni kod šalješ u dva koraka prvo gornji nibl (4 bita) a zatim donjih 4 bita (možda je i obrnuto nisam sad provjeravao datasheet ali ti to svakako preporučam.
 
Odgovor na temu

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1651



+62 Profil

icon Re: Problem sa 2x16 LCD displejom!24.02.2014. u 11:12 - pre 122 meseci
http://www.8051projects.net/lcd-interfacing/index.php

http://codeandlife.com/2012/02...t-lcd-interfacing-with-attiny/

http://www.microcontroller-pro...ng-16x2-lcd-in-4-bit-mode.html
There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: Problem sa 2x16 LCD displejom!24.02.2014. u 11:50 - pre 122 meseci
A najbolje na ME forumu, tamo najbolje znaju kako "rade" biblioteke za njihove kompajlere.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

Lazoman

Član broj: 261300
Poruke: 93
..70:2000:1:21a:64ff:feca:d930



+5 Profil

icon Re: Problem sa 2x16 LCD displejom!24.02.2014. u 13:09 - pre 122 meseci
Hvala na pomoci! :)
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: Problem sa 2x16 LCD displejom!24.02.2014. u 19:45 - pre 122 meseci
Prvo,nigde na semi ne vidim da si vezao neiskoriscene pinove(D0-D3) na GND,a ni RW ni Vss nisu spojeni na GND.
Drugo,ako si gledao primer iz mikroC za LCD biblioteku video si da ti saljes tekst koji se onda prikaze na LCD,recimo:
Code:
Lcd_Out(1,1,"tekst");
ili :

Code:
Lcd_Out(1,1,txt);
gde je txt neka promenljiva tipa char.Znaci konvertujes svoju promenljivu(tipa short,int,long,float) u tekst odgovarajucom komandom(ShortToStr,IntToStr,LongToStr,FloatToStr),pa zatim taj tekst saljes na LCD
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.isp.telekom.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Problem sa 2x16 LCD displejom!25.02.2014. u 10:47 - pre 122 meseci
Neiskorisceni pinovi D0-D3 nije moranje da se spoje na GND, moze da prodje i kada "vise" (meni tako radi u dosta aplikacija), mada je svakako sigurnije da se spoje, mozda taj neki model LCD-a nema pull-up/down otpornike.

BTW: Vdd je pozitivno napajanje (+5V) a Vss negativno. Ne vidi se iz shema sta je sta ali samo da skrenem paznju …

Vezano za 4/8 bit mode, u sustini je isto (slicno) ali se razlikuje procedura za inicijalizaciju jednog i drugog moda. Posle inicijalizacije se kod 8bitnog moda salje podatak iz jednog "takta" a kod 4bitnog iz dva, po pola reci (gornji i donji nible).
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Problem sa 2x16 LCD displejom!25.02.2014. u 10:53 - pre 122 meseci
po datasheet-u mora da se spoje fizicki na gnd, sad ima proizvodjaca kod
kojih ne mora ali se desilo vise nego jednom da "radi na stolu a ne radi
u produkciji" kada ih ostavis da vise, tako da, spojis na gnd i ne
mislis, nije da ce potrositi neki externi prostor na pcb-u
 
Odgovor na temu

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Problem sa 2x16 LCD displejom!27.02.2014. u 21:08 - pre 122 meseci
Povezao sam ga sad u 8bitni mod znaci sve pinove LCD-a D0-D7 sa RB0-RB7, ono sto me zanima jeste kako inicijalizovati 8 bitni mod? i kako kod 4bitnog moda, slati 4 niža bita i 4 viša preko 4bitne magistrale, tj kako ih razdvojiti, da li je mozda dobra ideja shiftovanje? Pozz
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: Problem sa 2x16 LCD displejom!28.02.2014. u 14:41 - pre 122 meseci
Ne razumem zasto se patis sa tim,kad sve to vec imas ugradjeno u biblioteci za LCD.
E sad ako bas hoces da ne koristis tu biblioteku,onda uzmes datasheet od displeja,i sve se tamo vidi,i 8bit mode,i 4bit mode,samo mislim da ti je mnogo lakse da koristis biblioteku
 
Odgovor na temu

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa 2x16 LCD displejom!01.03.2014. u 11:53 - pre 122 meseci
Ovo je kod:

// Lcd pinout settings
sbit LCD_RS at RC0_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

// Pin direction
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;

unsigned short temp;
unsigned char txt;
void main() {
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
TRISA = 0xFF;
TRISB = 0x00;
TRISC = 0x00;
ADCON0 = 0x01;
ADCON1 = 0xC8;
while(1){
temp=adc_read(0)*0.001/0.01;
ShortToStr(temp, txt);
Lcd_Out(1, 1, txt);
}
}

Na displeju ne dobijam nikakvu vrednost, ispravite me ako pogresno razmisljam sto se tice kodiranja...ADC konverzija je valjana, problem je samo te vrednosti prikazati na displej u 4bitnom modu.

Ovo je sema
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Problem sa 2x16 LCD displejom!01.03.2014. u 12:10 - pre 122 meseci
Nisi dobro vezao pinove za napajanje LCD. Pogledaj gde ti je VDD!?
Probaj prvo kod sa njihovog sajta da vidis da li ti uopste radi hardver:

http://www.mikroe.com/download...c/pro/pic/help/lcd_library.htm

gorankg
 
Odgovor na temu

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa 2x16 LCD displejom!01.03.2014. u 12:28 - pre 122 meseci
U pravu si zamenio sam Vdd i Vss, prespojio sam sve, kod prepravio i sada sema izgleda ovako, http://i58.tinypic.com/ngp05t.jpg

Probao sam to njihovo sa sajta i radi kada koristim Lcd_Out(1, 1, "tekst"); ali sto se tice ShortToStr konverzije to ne radi
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Problem sa 2x16 LCD displejom!01.03.2014. u 13:24 - pre 122 meseci
Moraš da dodaš neko kašnjenje u while petlji:

Code:

while(1)
{
    temp=adc_read(0)*0.001/0.01;
    ShortToStr(temp, txt);
    Lcd_Out(1, 1, txt);
    delay_ms(.....);
}



Pogledaj njihovu funkciju delay_ms();
Ne koristim mikroc pa ne znam kako izgleda.
gorankg
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Problem sa 2x16 LCD displejom!01.03.2014. u 13:36 - pre 122 meseci
Takođe:

Code:

unsigned short temp;
temp=adc_read(0)*0.001/0.01;
ShortToStr(temp, txt);


temp ti je unsigned short a ti imaš neko množenje pa deljenje koje baš ne razumem. Pogledaj tipove podataka u jeziku C.

Za početak (da proveriš samo ispis temp na LCD) pokušaj da razultat AD konverzije podeliš nekom celobrojnom vrednosću pa to šalji na LCD. Recimo:

Code:

temp=adc_read(0) / 8;

gorankg
 
Odgovor na temu

vukboban
Boban Vukovic
PANCEVO

Član broj: 116735
Poruke: 250
*.mediaworksit.net.



+11 Profil

icon Re: Problem sa 2x16 LCD displejom!02.03.2014. u 01:20 - pre 122 meseci
Pogledaj malo help za ShortToStr,promenljiva txt mora da se definise kao
Code:
char txt[5] 

ako je promenljiva tipa short.Za promenljivu tipa int se pise
Code:
char txt[7] 
itd.
Znaci za svaku vrstu promenljive moras da definises tacno odredjeni broj karaktera za txt.
Takodje,ovo sto ti je rekao goran,ne mozes short da delis i mnozis sa float!
probaj ovakav kod:
Code:
// Lcd pinout settings
sbit LCD_RS at RC0_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D4 at RB0_bit;

// Pin direction
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D7_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB0_bit;

unsigned short temp;
 char txt[5];
void main() {
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
TRISA = 0xFF;
TRISB = 0x00;
TRISC = 0x00;
ADCON0 = 0x01;
ADCON1 = 0xC8;
while(1){
temp=adc_read(0);
ShortToStr(temp, txt);
Lcd_Out(1, 1, txt);
}
}

ili samo prosto
Code:
temp=345;
,pa to konvertuj u tekst,i posalji na lcd
 
Odgovor na temu

Lazoman

Član broj: 261300
Poruke: 93
*.dynamic.sbb.rs.



+5 Profil

icon Re: Problem sa 2x16 LCD displejom!02.03.2014. u 10:54 - pre 122 meseci
Proradilo je, hvala na pomoci svima! :)
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Problem sa 2x16 LCD displejom!

[ Pregleda: 3690 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.