skraceni kurs ucenja picbasica
Moderators: pedja089, stojke369, [eDo], trax
Re: skraceni kurs ucenja picbasica
Prvo sam postavio pitanje, a onda se setio da treba 200nS za izvrsenje jedne instrukcije
Re: skraceni kurs ucenja picbasica
To zavrsi od brzine na kojoj radi procesor.
Re: skraceni kurs ucenja picbasica
Pozdrav, počeo sam se baviti s mikrokontrolerima, i pratim ovu temu jer je vrlo dobro objašnjeno programiranje u pbp od samoga početka. jucer sam bio u chipoteci i pitao za lcd display pa mi je prodavač dao GDM1602E jer nisu imali lcd sa kontrolerom hd44780. Rekao je da je sve to u principu isto i koliko sam našao na internetu, on koristi S6A0069(ili kompatibilni) kontroler. Mene zanima da li se može u picbasicu napisati program za taj display i da li mogu koristiti taj lcd kao i hd44780 tj. da li moram otici kupiti drugi lcd ili mogu nekako iskoristiti ovaj koji sam kupio? Da još kažem, uzeo sam i 16f84a pa bi se rado igrao s time ). hvala unaprijed na odgovorima.
Re: skraceni kurs ucenja picbasica
Valjda moze...
Najjednostavnije ti je probaj...
Najjednostavnije ti je probaj...
Re: skraceni kurs ucenja picbasica
Ništa mi onda drugo ne preostaje nego isprobati . Malo čitam po netu i vidim da drugi imaju problema s takvim displayom jer im se pojavljuju samo kockice a nikakva slova. moram najprije nekakvu exp. ploču napraviti pa ću onda tek moći isprobati. Poslao sam ti PP.
Re: skraceni kurs ucenja picbasica
Takve stvari pitaj na forumu. A i procitaj usput pravila.
Re: skraceni kurs ucenja picbasica
Ljudi pozdrav
Evo, ako netko hoce komunicirati sa ludim covjekom sad ima priliku,naime vec me 7 dana ubija project sa lcd-om.
projekt je bio slozen na protboard i fino radio tak dugo dok nije sve palo na pod i evo problema sad prilikom ukljucenja na lcd-u se prikazuju neke gluposti, nakon nekoliko ukljucenja i gasenja radi normalno,pa opet nestaju slova ,itd.
zamijenio sam prot board,nekoliko puta sve ponovno spajao,zamijenio lcd, pic,reprogramirao pic i dalje isto.
jedino je ostalo napajanje isto(atx od racunala),sutra cu napraviti stabilizirano samo za to, i vise nemam ideje kaj jos propustam.
Ima li jos ko kakvu ideju(osim nosenja cesnjaka oko vrata)?
Evo, ako netko hoce komunicirati sa ludim covjekom sad ima priliku,naime vec me 7 dana ubija project sa lcd-om.
projekt je bio slozen na protboard i fino radio tak dugo dok nije sve palo na pod i evo problema sad prilikom ukljucenja na lcd-u se prikazuju neke gluposti, nakon nekoliko ukljucenja i gasenja radi normalno,pa opet nestaju slova ,itd.
zamijenio sam prot board,nekoliko puta sve ponovno spajao,zamijenio lcd, pic,reprogramirao pic i dalje isto.
jedino je ostalo napajanje isto(atx od racunala),sutra cu napraviti stabilizirano samo za to, i vise nemam ideje kaj jos propustam.
Ima li jos ko kakvu ideju(osim nosenja cesnjaka oko vrata)?
-
- Pravo uznapredovao :)
- Posts: 457
- Joined: 22-04-2008, 16:27
- Location: Maribor(SLO) Koprivnica(HR)
- Contact:
Re: skraceni kurs ucenja picbasica
Ja neču!atom1 wrote:...
Evo, ako netko hoce komunicirati sa ludim covjekom sad ima priliku....
Real Radios Glow in the Dark!
- InTheStillOfTheNight
- Odlično uznapredovao
- Posts: 938
- Joined: 01-06-2006, 17:54
- Location: Zagreb
Re: skraceni kurs ucenja picbasica
Jeli taj ludi decko pomislio kako njegov projekt nije dobro radio niti prije pada??
Samo kad mu je pao na glavu očito je mogao primjetiti da se LCD ponekad ne inicijalizira dobro?
Ako netko 7 dana izmjeni sve i opet ne najde gresku vjerojatno je moguće da to nikada nije ni radilo dobro.
Ja bi to trazio ovako:
1. Stavio novi PIC
2. Isprogramirao HEX
3. Stavio novi LCD
4. Nakon toga dobro se zabuljio u shemu i program i prvo pogledao jeli se tvoj MCU sigurno i dobro resetira prilikom paljenja, a isto tako i inicijalizira li tvoj program dobro LCD prilikom palenja.
Inače LCD jedino ne voli padati i ako on padne onda se pomakne ona prokleta guma unutra i LCD ispisuje hijeroglife.
Trebao bi dobro razmotriti i mogućnost kako ti niti jedan od ta 2 LCD-a ne valja. Sve ostalo je jako dobro otporno na udarce. Možeš probati i sa trećim ispravnim LCD-om.
Samo kad mu je pao na glavu očito je mogao primjetiti da se LCD ponekad ne inicijalizira dobro?
Ako netko 7 dana izmjeni sve i opet ne najde gresku vjerojatno je moguće da to nikada nije ni radilo dobro.
Ja bi to trazio ovako:
1. Stavio novi PIC
2. Isprogramirao HEX
3. Stavio novi LCD
4. Nakon toga dobro se zabuljio u shemu i program i prvo pogledao jeli se tvoj MCU sigurno i dobro resetira prilikom paljenja, a isto tako i inicijalizira li tvoj program dobro LCD prilikom palenja.
Inače LCD jedino ne voli padati i ako on padne onda se pomakne ona prokleta guma unutra i LCD ispisuje hijeroglife.
Trebao bi dobro razmotriti i mogućnost kako ti niti jedan od ta 2 LCD-a ne valja. Sve ostalo je jako dobro otporno na udarce. Možeš probati i sa trećim ispravnim LCD-om.
InTheStillOfTheNight
Re: skraceni kurs ucenja picbasica
Evo nakon cijelog dana rada zamijenjene sve komponente i napravljena pločica, sklop sa drugim lcd-om radio sasvim drugacije (povremeno nije prikazivao prvi red) nakon toga stavljen potpuno novi 2x8 lcd i sad radi odlicno-bacam se na novi hex
Re: skraceni kurs ucenja picbasica
evo nakon cjelodnevnog razmatranja ima nekih zakljucaka
posto radim sa 16f628 sa vanjskim oscilatorom je prikaz na svim lcd-ima bio dobar
kod koristenja internog prikaz prvog reda se pomjera udesno tako da fali prvo slovo
kod sljedeceg programiranja sam koristio $FE,$80+1, mozda to nije najbolji nacin ali funkcionira
posto radim sa 16f628 sa vanjskim oscilatorom je prikaz na svim lcd-ima bio dobar
kod koristenja internog prikaz prvog reda se pomjera udesno tako da fali prvo slovo
kod sljedeceg programiranja sam koristio $FE,$80+1, mozda to nije najbolji nacin ali funkcionira
Re: skraceni kurs ucenja picbasica
@hvarovic: imam isti takav iz chipoteke GMD1602E sa osv. žuti i najnormalnije radi sa driverima za hd44780; posebni znakovi, custom znakovi, sve bez problema.
Ovo sa crnim kvadratićima u gornjem redu je poznata stvar i dešava se ako LCD nije dobro inicijaliziran. Naime, MCU, ovisno o tipu, može početi raditi već na 2V, dok LCD ne radi ispod 4.5V i kad uključiš napajanje elektroliti se nisu ni napunili do nominalnog napona, a ovaj mu je već poslao inicijalizacijsku rutinu.
Rješenje je vrlo jednostavno. Negdje na početku koda staviš nešto tipa:
ili se možeš izvući uključivanjem brown-out reseta.
Inače, taj LCD mi se pokazao kao prva liga, super se vidi direkt pod suncem, pozadinsko osvjetljenje dosta jako, kontrast te vidljivi kutovi odlični vidi se normalno skroz sa strane, dobra brzina osvježavanja, sve u svemu jako dobar LCD za te novce.
Ovo sa crnim kvadratićima u gornjem redu je poznata stvar i dešava se ako LCD nije dobro inicijaliziran. Naime, MCU, ovisno o tipu, može početi raditi već na 2V, dok LCD ne radi ispod 4.5V i kad uključiš napajanje elektroliti se nisu ni napunili do nominalnog napona, a ovaj mu je već poslao inicijalizacijsku rutinu.
Rješenje je vrlo jednostavno. Negdje na početku koda staviš nešto tipa:
Code: Select all
_delay_ms(500); //pričekaj dok napon ne naraste na nominalnu vrijednost
initLCD(); //ponovno pozovi inicijalizacijsku rutinu
Inače, taj LCD mi se pokazao kao prva liga, super se vidi direkt pod suncem, pozadinsko osvjetljenje dosta jako, kontrast te vidljivi kutovi odlični vidi se normalno skroz sa strane, dobra brzina osvježavanja, sve u svemu jako dobar LCD za te novce.
Re: skraceni kurs ucenja picbasica
pozdrav, evo ja sam sastavio experimentalnu ploču i počinjem se malo igrati s ledicama. Imam jedno pitanje vezano uz picbasic - kojom naredbom se izlazi iz beskonačne petlje?
Blink:
high b0
pause 500
low b0
pause 500
high b1
pause 500
low b1
pause 500
IF a=0 then
goto start:
endif
goto blink
end
Pokušao sam unutar blink: stavti IF a=0 then GOTO start: uvjet ali mi uvjet ne radi tj. stalno vrti beskonačnu petlju
Blink:
high b0
pause 500
low b0
pause 500
high b1
pause 500
low b1
pause 500
IF a=0 then
goto start:
endif
goto blink
end
Pokušao sam unutar blink: stavti IF a=0 then GOTO start: uvjet ali mi uvjet ne radi tj. stalno vrti beskonačnu petlju
Re: skraceni kurs ucenja picbasica
Možda ode na Start pa odatle opet na Blink....
Ako kaniš pobijediti, ne smiješ izgubiti
Re: skraceni kurs ucenja picbasica
Ne postoji naredba za izlazak iz beskonacne petlje...
Jednostavno nemoj ih praviti i neces imati problema...
Sta je a? Odakle ti to a?
Jednostavno nemoj ih praviti i neces imati problema...
Sta je a? Odakle ti to a?
Re: skraceni kurs ucenja picbasica
Pokusao sam to ali mi nije radilo.WhiteHead wrote:Možda ode na Start pa odatle opet na Blink....
Ma pokušao sam napraviti program da ako pritisnem tipku A0 da mi ledice počinju beskonačno blinkati, a kad pritisnem npr A1 da se zaustave odnosno da mi se počinje izvoditi neki drugi dio programa.pedja089 wrote:Ne postoji naredba za izlazak iz beskonacne petlje...
Jednostavno nemoj ih praviti i neces imati problema...
Sta je a? Odakle ti to a?
A sam definirao ulaz na portu a
symbol a=porta.0
input a
Re: skraceni kurs ucenja picbasica
'Jedan od nacina...
'Taster je vezan na masu, drugi kraj na pin i na pull up.
SYMBOL Taster=PortA.0
INPUT Taster
SYMBOL Led1=PortA.1
OUTPUT Led1
SYMBOL Led2=PortA.2
OUTPUT Led2
Led1=0
Led2=0
BlinkLed1:
TOGGLE Led1
PAUSE 100
IF Taster =0 THEN GOTO BlinkLed2
GOTO BlinkLed1
BlinkLed2:
TOGGLE Led2
PAUSE 100
IF Taster =0 THEN GOTO BlinkLed1
GOTO BlinkLed2
END
'Taster je vezan na masu, drugi kraj na pin i na pull up.
SYMBOL Taster=PortA.0
INPUT Taster
SYMBOL Led1=PortA.1
OUTPUT Led1
SYMBOL Led2=PortA.2
OUTPUT Led2
Led1=0
Led2=0
BlinkLed1:
TOGGLE Led1
PAUSE 100
IF Taster =0 THEN GOTO BlinkLed2
GOTO BlinkLed1
BlinkLed2:
TOGGLE Led2
PAUSE 100
IF Taster =0 THEN GOTO BlinkLed1
GOTO BlinkLed2
END
Re: skraceni kurs ucenja picbasica
Ja sam to rijesio sa naredbom button, evo primjera iz programa
FOR l=1 TO BROJ
button PORTB.6, 0, 120, 10, B1, 1,START
lcdout $fe,1, "Vr1 ",dec broj
LCDOUT $FE, $80+8, "Pos ",DEC l
LCDOUT $FE, $C0, "**************** "
pause 800
NEXT L
probaj pa vidi- taster treba malo duze drzati da bi reagirao
FOR l=1 TO BROJ
button PORTB.6, 0, 120, 10, B1, 1,START
lcdout $fe,1, "Vr1 ",dec broj
LCDOUT $FE, $80+8, "Pos ",DEC l
LCDOUT $FE, $C0, "**************** "
pause 800
NEXT L
probaj pa vidi- taster treba malo duze drzati da bi reagirao
Re: skraceni kurs ucenja picbasica
To je zbog ove pauze od 800ms...
Edit:
Jos jedna stvar...
Ja to resavam ili interaptom(redje), ili tako sto umesto pauze od xx sekundi napravim petlju, u kojoj proveravam ulaze. I ukoliko se desi dogadjaj recimo kao ovaj skok, onda odma moze to da se uradi, nema cekanja...
Edit:
Jos jedna stvar...
Ja to resavam ili interaptom(redje), ili tako sto umesto pauze od xx sekundi napravim petlju, u kojoj proveravam ulaze. I ukoliko se desi dogadjaj recimo kao ovaj skok, onda odma moze to da se uradi, nema cekanja...
Re: skraceni kurs ucenja picbasica
evo već se mučim 3 sata da napravim jedan program. dakle ovako kada uključim uređaj, sve ledice moraju biti ugašene. kada pritisnem taster onda se moraju upaliti dvije ledice od kojih jedna svjetli 30 sekundi, a druga 30+10 sekundi. u međuvremenu ako svjetle obadvije i ako pritisnem taster obje se moraju ugasiti, a ako se jedna od njih ugasila a druga još svijetli pa ako onda pritisnem taster moraju opet obje svijetliti kao na početku programa. znači mora sve krenuti ispočetka i tako do beskonačnosti.
pokušavam to riješiti s pauzama ali izgleda da mi program ne ide dalje dok se ne završi pauza kad uzmem u obzir stanje nakon pauze, nije mi više odgovarajuče jer mi se jedna ledica ugasi i ne mogu više skenirati izlaze pica
pokušavam to riješiti s pauzama ali izgleda da mi program ne ide dalje dok se ne završi pauza kad uzmem u obzir stanje nakon pauze, nije mi više odgovarajuče jer mi se jedna ledica ugasi i ne mogu više skenirati izlaze pica