skraceni kurs ucenja picbasica
Moderators: pedja089, stojke369, [eDo], trax
Re: skraceni kurs ucenja picbasica
Za 24c64 ti treba word, a za 24c0x ide byte za adresu.
- sindja1204
- Odlično uznapredovao
- Posts: 792
- Joined: 03-05-2009, 11:57
- Location: Beograd
Re: skraceni kurs ucenja picbasica
Uzeo sam novi eeprom 24C04 i uspeo nekako da na portb. dobijem binarni ispis od 0-255. Skidanjem eeproma prestaje ispis na portb (sto ranije nije bio slucaj).Pedja, na tvoj kod sam dodao jes i instrukcije :
Adr=i+1
if adres>255 then i=0 iza naredbe za citanje i2cread sda,scl,$ao,[portb]
S obzirom da program prestaje sa radom kada se izvadi eeprom , nadam se da je sad sve u redu. Da li se i sad promenljiva salje direktno sa brojaca (program se stopira vadjenjem eproma) na portb?
Adr=i+1
if adres>255 then i=0 iza naredbe za citanje i2cread sda,scl,$ao,[portb]
Code: Select all
SYMBOL SDA=portc.4
SYMBOL SCL= portc.3
DEFINE I2C_SDA portc.4
DEFINE I2C_SCL portc.3
trisb=$00
portb=0
i var byte
Adr var byte
for i=0 to 255
adr=i
i2cwrite sda,scl,$a0,adr,[i]
pause 10
next i
for i=0 to 255
i2cread sda,scl,$a0,adr,[portb]
pause 1000
adr=i+1
if i>255 then i=0
next i
Re: skraceni kurs ucenja picbasica
To sto si dodao adr nmista ne pomaze...
Isto je adr ili i.
Nije ti radilo sa 24c64 jer si i morao definisati kao word.
Isto je adr ili i.
Nije ti radilo sa 24c64 jer si i morao definisati kao word.
- sindja1204
- Odlično uznapredovao
- Posts: 792
- Joined: 03-05-2009, 11:57
- Location: Beograd
Re: skraceni kurs ucenja picbasica
24C64 sam najverovatnije sprzio posto nije radio ni sa word ni sa byte. Medjutim imao sam nov 24CO4. po tablici je on byte, ali nije ni on funkcionisao dok nisam ubacio u program, Adr=i+1 Tek je onda poceo da ispisuje na portu b binarni zapis, i prekidao je kad izvadim eeprom iz podnozja. Sta se ustvari desava, nemam pojma. Jedino jos jednom da probam sa novim 24C64. Jos vise me zbunjuje to sto ni program ni el. shema nisu komplikovani a ipak nesto ne funkcionise Probao sam i varijantu Adr=Adr+1, ali u tom slucaju izmedju svakog binarnog ispisa od 1-255 upali ceo port b.
Re: skraceni kurs ucenja picbasica
Uh, reinstaliraj kompajler.
Ne sme to tako da divlja...
Meni je jednom bilo do kompajlera...
Ne sme to tako da divlja...
Meni je jednom bilo do kompajlera...
Re: skraceni kurs ucenja picbasica
Evo jedan mali update.
http://www.elektronika.ba/forum/viewtop ... 9&start=34" onclick="window.open(this.href);return false;
Igore, hvala jos jednom.
http://www.elektronika.ba/forum/viewtop ... 9&start=34" onclick="window.open(this.href);return false;
Igore, hvala jos jednom.
- ***$*K*#*R*P*!*#*N***
- Pravo uznapredovao :)
- Posts: 240
- Joined: 12-11-2006, 18:30
- Location: Beograd
- Contact:
Re: skraceni kurs ucenja picbasica
mozda je glupo pitanje al sta da se radi
@pedja089 ovo je tvoj program za prikazivanje smeska za propeller clock...jel moze malo objesnjenje ovog programa...interesuje me kako da znam koje vrednosti da upisujem za nesto drugo...
@pedja089 ovo je tvoj program za prikazivanje smeska za propeller clock...jel moze malo objesnjenje ovog programa...interesuje me kako da znam koje vrednosti da upisujem za nesto drugo...
Code: Select all
trisb=0
trisa=%00000111
porta=0
portb=0
pocetak:
if porta.1=1 then goto pocetak
pause 7
porta=8
portb=192
pause 2
portb=0
pause 25
portb=192
pause 2
portb=0
pause 30
portb=32
pause 20
portb=0
goto pocetak
http://belgradenight.info" onclick="window.open(this.href);return false;
Re: skraceni kurs ucenja picbasica
Pa na osnovu seme. Samo palis ili gasis ledice.
Mozes pisati u binarnom obliku, ako ti je lakse.
Meni je bilo ovako lakse jer sam napravio program za ispisivanje vrednosti za nacrtan oblik. A gde mi je nemam pojma...
Mozes pisati u binarnom obliku, ako ti je lakse.
Meni je bilo ovako lakse jer sam napravio program za ispisivanje vrednosti za nacrtan oblik. A gde mi je nemam pojma...
Re: skraceni kurs ucenja picbasica
može mala pomoć?
dakle pošto sam pokušao upisivati podatke u I2C 24c04 memoriju odlučio sam pokušati kontrolirati tda7313 međutim neuspiješno...uopće se ništa ne čuje na izlazu!!!
pokušao sam sve!
evo kod pa recite šta nevalja:
pull up otpornici su dodani
dakle pošto sam pokušao upisivati podatke u I2C 24c04 memoriju odlučio sam pokušati kontrolirati tda7313 međutim neuspiješno...uopće se ništa ne čuje na izlazu!!!
pokušao sam sve!
evo kod pa recite šta nevalja:
Code: Select all
SYMBOL SDA=porta.4
SYMBOL SCL= portb.6
DEFINE I2C_SDA PORTA.4
DEFINE I2C_SCL PORTB.6
i var byte
Adr var byte
start:
for i = 1 to 255
i2cwrite sda,scl,adr,%0100,[%0001] 'odabir ulaznog kanala
next i
pause 50
for i = 1 to 255
i2cwrite sda,scl,adr,%0010,[%0001] 'odabir glasnoće
next i
pause 1000
goto start
Re: skraceni kurs ucenja picbasica
pobježe mi edit!
da li može biti problem zato što ja nisam odabrao (bolje rečeno niti spomenuo) u programu balans,baseve i visoke tonove?
da li može biti problem zato što ja nisam odabrao (bolje rečeno niti spomenuo) u programu balans,baseve i visoke tonove?
Re: skraceni kurs ucenja picbasica
Sta je ovo %0100??
Bajt ima 8 bitova, zato se to mora postovati.
Koja je poenta da setujes glasnocu 250 puta??
Da bi pustio zvuk na odredjenu adresu moras poslati neki broj. Ja bi slao i iz petlje na tu neku adresu...
Ove lepo izbrisi i vise nego dovoljno je setovati samo 1 neki parametar. A dali se sve mora setovati, procitaj u datasheetu.
Bajt ima 8 bitova, zato se to mora postovati.
Koja je poenta da setujes glasnocu 250 puta??
Da bi pustio zvuk na odredjenu adresu moras poslati neki broj. Ja bi slao i iz petlje na tu neku adresu...
Ove lepo izbrisi i vise nego dovoljno je setovati samo 1 neki parametar. A dali se sve mora setovati, procitaj u datasheetu.
Re: skraceni kurs ucenja picbasica
koja je tebi poanta da u eeprom upisujes 255 puta?
Sto se tiče bitova ako je 8bita šta je to adresa ili podatak?
Ako je podatak koja je adresa?
Molim te ako ti nije problem otvori datasheet pa vidi kako mu poslati naredbu.
Nemoj misliti da sam lijen nego se ti bolje razumiješ u to pa da mi pokažeš.
Sto se tiče bitova ako je 8bita šta je to adresa ili podatak?
Ako je podatak koja je adresa?
Molim te ako ti nije problem otvori datasheet pa vidi kako mu poslati naredbu.
Nemoj misliti da sam lijen nego se ti bolje razumiješ u to pa da mi pokažeš.
Re: skraceni kurs ucenja picbasica
Pa ja upisujem na razlicite lokacije, pa onda u eepromu imas brojeve od 0-255. Ali upisati jednu te istu stvar 255 je glupo. Sve ima 8bita, ako drugacije ne pise.
Postavi jednostavno sve parametre i vidi radi li. Naravno isto je pitanje jeli je ulazni signal dovoljne jacine itd...
EDIT:
Previse tu ima da bih sad lupao glavu.
Prvo moras podesiti selektore ulaza i volume, pa vol+loudnes, bas, treble, mute itd...
Postavi jednostavno sve parametre i vidi radi li. Naravno isto je pitanje jeli je ulazni signal dovoljne jacine itd...
EDIT:
Previse tu ima da bih sad lupao glavu.
Prvo moras podesiti selektore ulaza i volume, pa vol+loudnes, bas, treble, mute itd...
- ***$*K*#*R*P*!*#*N***
- Pravo uznapredovao :)
- Posts: 240
- Joined: 12-11-2006, 18:30
- Location: Beograd
- Contact:
Re: skraceni kurs ucenja picbasica
jel bi mogo da se spoji motoric iz flopi diska na 16f84 i jel moze neki primer ?
http://belgradenight.info" onclick="window.open(this.href);return false;
Re: skraceni kurs ucenja picbasica
Hm, ne znam na koji od ona 2 mislis. Ako je onaj sto okrece flopi, tu nema sta, zajednicku na + i tranzistore non vezes izmedju kalemova i mase. a kontroslises sa HIGH i LOW, a na milan.milanovic.org/skola, imas o motorima, tako da mozes videti za koji mod odabrati, korak, polukorak itd. A ako mislis na onaj mali, za njega trebaju dva H bridge mosta, pa je komplikovano...
Ali i tu je poenta pustis struju u jednom smeru, pa okrenes, pa onda drugi kalem isto tako.
Ali i tu je poenta pustis struju u jednom smeru, pa okrenes, pa onda drugi kalem isto tako.
- ***$*K*#*R*P*!*#*N***
- Pravo uznapredovao :)
- Posts: 240
- Joined: 12-11-2006, 18:30
- Location: Beograd
- Contact:
Re: skraceni kurs ucenja picbasica
da da na mali mislim...
a za ovako nesto http://www.mikroprinc.com/proizvodi.asp ... &pid=17012" onclick="window.open(this.href);return false;
jel isto komplikovano sa 16f84 ili?
a za ovako nesto http://www.mikroprinc.com/proizvodi.asp ... &pid=17012" onclick="window.open(this.href);return false;
jel isto komplikovano sa 16f84 ili?
http://belgradenight.info" onclick="window.open(this.href);return false;
Re: skraceni kurs ucenja picbasica
Nigde ne pise koji je, unipolarni ili bipolarni. Unipolarni su najlaksi za kontrolu. Jer su kalemovi vezani u zvezdu, pa je dovoljno zvezdiste zakaciti na + i upravljati tranzistorima kako sam gore rekao. A valjda si nasao na sajtu...
Re:
pozdrav...
počeo sam proučavati ovaj tvoj tećaj za programiranje PIC-eva, no još sam početnik, zanimao sam se za brojać okretaja u minuti, ovdje je napisan program za brojać okretaja u sekundi, pa bih htjeo da te pitam šta bi trebalo izmjeniti da bi brojao u jednoj minuti?
vidim ovdje broj 1000 (COUNT PORTA.0,1000,BROJ), da nije jednostavno promjeniti u 60000?, al onda mu treba minuta da izbroji ili kako?
pročitao sam cjeli kurs i kolko znam nema napisanog odgovora, bio je jedan član isto upitao za to, al izgleda da je odgovor dobio preko privatne poruke...
počeo sam proučavati ovaj tvoj tećaj za programiranje PIC-eva, no još sam početnik, zanimao sam se za brojać okretaja u minuti, ovdje je napisan program za brojać okretaja u sekundi, pa bih htjeo da te pitam šta bi trebalo izmjeniti da bi brojao u jednoj minuti?
vidim ovdje broj 1000 (COUNT PORTA.0,1000,BROJ), da nije jednostavno promjeniti u 60000?, al onda mu treba minuta da izbroji ili kako?
pročitao sam cjeli kurs i kolko znam nema napisanog odgovora, bio je jedan član isto upitao za to, al izgleda da je odgovor dobio preko privatne poruke...
Code: Select all
TRISB=0
TRISA=255
BROJ VAR WORD
BROJ1 VAR BYTE
BROJ2 VAR BYTE
BROJ3 VAR BYTE
BROJ4 VAR BYTE
I VAR BYTE
POCETAK:
COUNT PORTA.0,1000,BROJ ' broji impulse na pinu RA0, u periodu od 1S i rezultat smesta u "BROJ"
BROJ1 = BROJ DIG 3 'izdvajamo hiljde
BROJ2 = BROJ DIG 2' izdvajamo stotine
BROJ3 = BROJ DIG 1'desetice
BROJ4 = BROJ DIG 0'jedinice
FOR I = 1 TO 100 ' u ovom slucaju stavili smo da se ispis na displeju ponovi 100 puta, sto znaci da ce vreme prikazivanja broja na displeju biti oko 2 sekunde
PORTB=BROJ1
HIGH PORTB.7
PAUSE 5
LOW PORTB.7
PORTB=BROJ2
HIGH PORTB.6
PAUSE 5
LOW PORTB.6
PORTB=BROJ3
HIGH PORTB.5
PAUSE 5
LOW PORTB.5
PORTB=BROJ4
HIGH PORTB.4
PAUSE 5
LOW PORTB.4
NEXT I
GOTO POCETAK
Re: skraceni kurs ucenja picbasica
Upravo tako, pic nece nista drugo raditi sem sto ce brojati tu celu minutu.
Mada postoji nekoliko resenja. Jedno je da nadjes neku sredinu izmedju duzine merenja, i preciznosti. Npr ako meris 10S, onda ti je dovoljno pomnoziti broj sa 6 i imaces broj obrtaja u minuti, ili meris 20S, pa mnozis broj sa 3 pa prikazujes. Drugi nacin je da iskoristis neki od brojaca npr TMR0 i da ga ukljucis bez preskalera, i setujes ga na 0, u programu napravis neko zadrzavanje od minute, i u toku tog zadrzavanja mozes prikazivati svasta nesto na displeju, i zatim ocitas dokle je stigao TMR0. Ali sve se svodi da bi imao potpuno tacno merenje, moras meriti najmanje 1 min, a sto duze to bolje.
Mada postoji nekoliko resenja. Jedno je da nadjes neku sredinu izmedju duzine merenja, i preciznosti. Npr ako meris 10S, onda ti je dovoljno pomnoziti broj sa 6 i imaces broj obrtaja u minuti, ili meris 20S, pa mnozis broj sa 3 pa prikazujes. Drugi nacin je da iskoristis neki od brojaca npr TMR0 i da ga ukljucis bez preskalera, i setujes ga na 0, u programu napravis neko zadrzavanje od minute, i u toku tog zadrzavanja mozes prikazivati svasta nesto na displeju, i zatim ocitas dokle je stigao TMR0. Ali sve se svodi da bi imao potpuno tacno merenje, moras meriti najmanje 1 min, a sto duze to bolje.
Re: skraceni kurs ucenja picbasica
čini mi se jednostavnije rješenje jednostavno smanjiti sekunde brojanja, i dati PIC-u da pomnoži, ako možeš reći gdje mogu da stavim to množenje?
i kako?
jednostavnim "* 60"?
COUNT PORTA.0,1000 * 60,BROJ
ili negdje drugdje?
BROJ1 = BROJ * 60 DIG 3 ?
ili da ubacim da je neki 3. izraz = BROJ * 60 i umjesto broja ubacim te izraze?
naprimjer REZULTAT?
eto nadam se da te ne dosađujem sa pitanjima, nisam našao na odgovor na forumu, sad sam malo prelistao i ne nalazim odgovor, nemoj mi zamjerit ako si to raćunanje već objasnio...
i kako?
jednostavnim "* 60"?
Code: Select all
POCETAK:
COUNT PORTA.0,1000,BROJ
BROJ1 = BROJ DIG 3
BROJ2 = BROJ DIG 2'
BROJ3 = BROJ DIG 1
BROJ4 = BROJ DIG 0
ili negdje drugdje?
BROJ1 = BROJ * 60 DIG 3 ?
ili da ubacim da je neki 3. izraz = BROJ * 60 i umjesto broja ubacim te izraze?
naprimjer REZULTAT?
Code: Select all
TRISB=0
TRISA=255
BROJ VAR WORD
REZULTAT VAR WORD
BROJ1 VAR BYTE
BROJ2 VAR BYTE
BROJ3 VAR BYTE
BROJ4 VAR BYTE
I VAR BYTE
POCETAK:
COUNT PORTA.0, 1000, BROJ
REZULTAT = BROJ * 60
BROJ1 = REZULTAT DIG 3
BROJ2 = REZULTAT DIG 2
BROJ3 = REZULTAT DIG 1
BROJ4 = REZULTAT DIG 0
FOR I = 1 TO 100
PORTB=BROJ1
HIGH PORTB.7
PAUSE 5
LOW PORTB.7
PORTB=BROJ2
HIGH PORTB.6
PAUSE 5
LOW PORTB.6
PORTB=BROJ3
HIGH PORTB.5
PAUSE 5
LOW PORTB.5
PORTB=BROJ4
HIGH PORTB.4
PAUSE 5
LOW PORTB.4
NEXT I
GOTO POCETAK