[ MILANAN @ 08.02.2012. 19:06 ] @
| Hteo bih nesto totalno amaterski da se bavi programiranjem na pr da se pomocu 16f84a pali i gasi led dioda pa bih molio ako neko ima da mi posalje taj izvorni kod i da mi napise kako da ga pretvorim u hex.Imam neku literaturu ali jednostavno mi neide pa bih zato da vidim kako izgleda ceo taj izvorni kod sa lid diodama od pocetka do kraja.Hvala unapred |
[ Darko_zed @ 08.02.2012. 19:52 ] @
evo ti najprostiji primer gasenja i paljenja led diode na pinu portb.0
Code:
Program za bilinkanje Led diode na RB.0 pinu
TRISB = $00 ; svi portb pinovi su izlazni
Pocetak:
PORTB.0 = 0 ;Pin RB.0 ugasena dioda postavljen niski nivo
pause 1000 ; pauza 1 sekunda sto se ovde izrazava u milisekundama
PORTB.0 = 1 ;Pin RB.0 upaljena dioda
Pause 1000
Goto Pocetak ;Vrati se ponovo na pocetak programa i tako u krug
End
ovo ti je dobro za pocetak da ukapiras kako postaviti pin na nizi ili visi nivo to jest kako upaliti i ugasiti diodu , ti sad tu mozes pomocu ovog primera paliti ili gasiti vise dioda pomocu vise pinova ne vezano jedan za drugi kako definises u programu na ovaj nacin
evo ti jedan programcic kako to izvesti na vise pinova tako da pali jednu po jedu ,a posle isto tako i gasi :
Code: TRISB = $00 ; svi portb pinovi su izlazni
pocetak :
portb.0 = 1
pause 1000
portb.1 = 1
pause 1000
portb.2 = 1
pause 1000
portb.3 = 1
pause 1000
portb.0 = 0
pause 1000
portb.1 = 0
pause 1000
portb.2 = 0
pause 1000
portb.3 = 0
pause 1000
goto pocetak
end
Ako nesto opet zapne ti vici na sav glas cujemo te 
[ Darko_zed @ 08.02.2012. 19:55 ] @
Kada ovo upises u MCS kliknes na F9 (compile onli) i tamo gde si sacuvao izvorni kod pojavice se hex fajl koji kasnije ucitas u pic pomocu winpic800 programa recimo i to je to(zavisi koji programator imas takodje) , probas kako radi obrises i tako u krug .
[ MILANAN @ 08.02.2012. 20:17 ] @
Probacu samo da prvo prepravim plocicu.Ja imam nesto da se pali i gasi dioda na pin 7 od 16f84 isto je izbacivao i hex ali nije htelo da radi.Javicu se ako mi neproradi,hvala vam
[ ZAS011 @ 08.02.2012. 20:37 ] @
Pa gde sa tim dinosaurusom od PIC-a 
[ MILANAN @ 08.02.2012. 20:52 ] @
Kako moze da se stavi da na pr dioda svetli 5 sekunde pa pauza 1 sec pa dioda ponovo 5
[ ZAS011 @ 08.02.2012. 22:00 ] @
Code: While 1 = 1
High PORTx.pin
pause 5000
low PORTx.pin
pause 1000
Wend
[ MILANAN @ 08.02.2012. 22:36 ] @
Sad je jasno.Hvala vam
[ MILANAN @ 14.02.2012. 07:54 ] @
Kako mogu da napisem u Basicu za 16f628A i 16f84A da kad pritisnem taster na rb0 da se na rb7 na pr ukljuci dioda i kad ponovo pritisnem isti taster da se dioda ugasi ? Bitno mi je to za taster a program umesto diode mislim da mogu sam da napisem. ( pretpostavljam da nije tesko,pocetnik sam a nikako da nadjem bilo kakvu literaturu za tako nesto ) Hvala unapred.
[ Robinzon Kruso @ 24.02.2012. 21:56 ] @
Ako vec nisi nasao nacin kako da ovo uradis.. eto jednog predloga....
Za vezu gde se dioda pali logickom nulom.
i var bit
TRISB=%00000001 'PORTB.0 je ulazni
i=2 'promenjiva u kojoj pamtimo stanje diode
start:
IF PORTB.0=0 THEN goto odluka 'Uslov koji kontrolise da li je taster pritisnut
GOTO start
END
odluka:
IF i <> 1 then GOTO diodupali 'recimo i kao fleg koji pamti prethodno stanje diode i odlucuje da li je treba ugasiti ili upaliti
if i = 1 then GOTO diodugasi
GOTO start
diodupali:
low PORTB.7
pause 500
i=1
GOTO start
diodugasi:
HIGH PORTB.7
pause 500
i=2
GOTO start
Pokusao sam isti da uradim sa podprogramima ali mi nekako nije poslo za rukom ...
Pozdrav
[ foxhunter1 @ 25.02.2012. 07:16 ] @
Citat: Robinzon Kruso:
i var bit
TRISB=%000001 'PORTB.0 je ulazni
i=2 'promenjiva u kojoj pamtimo stanje diode
Ovo nece da moze  .... promenljiva 'i' je deklarisana kao BIT, a ti si joj dodelio vrednost 2 (i=2)!
Bit moze biti samo 1 ili 0. Zavisno od kompajlera - neki ce prijaviti gresku, a neki ce progledati kroz prste 
[ ZAS011 @ 25.02.2012. 08:14 ] @
Sto rece foxhunter1
Evo bez promenljive i
Code: trisb = %00000001
portb.7 = 0
while 1 = 1
while portb.0 = 1
pause 30
wend
portb.7 = ~portb.7
while portb.0 = 0
wend
wend
[ MILANAN @ 02.03.2012. 21:08 ] @
Ovo radi super
Code:
trisb = %00000001
portb.7 = 0
while 1 = 1
while portb.0 = 1
pause 30
wend
portb.7 = ~portb.7
while portb.0 = 0
wend
wend
jedin da pitam sta znaci ( ~ ) ?
[ veselinovic @ 02.03.2012. 21:10 ] @
Ocito negacija
[ MILANAN @ 02.03.2012. 21:35 ] @
Moze li savet kako da napisem u basicu jedan kod a pic je 16f628a. Potrebno je da ima dva tastera i da se na nekom pinu pojavljuje frekvencija na pr 1KHZ pa dok drzim jedan taster frekvencija da se povecava i kad pustim taster da ostane na koliko je podesena i dok drzim drugi taster frekvencija da se smanjuje i kad ga pustim isto da frekvencija ostane na koliko je podesena
[ ZAS011 @ 02.03.2012. 22:45 ] @
Za tako nesto ces morati da predjes na nivo koji je sledeci posle "blink led".
Da ti pisemo programcice, a da ti ne ukljucijes svoje male sive celije u pogon, bas nije u redu.
Bez ljutnje, potrudi se barem da naucis da koristis HELP kompajlera koji koristis.
[ MILANAN @ 03.03.2012. 11:49 ] @
Ne ljutim se,zahvalan sam vam na pomoc samo sto mi ovo neide sa promenom frekvencije.Probao sam nekoliko puta i nije htelo da proradi ali pokusavacu i dalje,ipak treba malo iskustva jer tezk sam pocetnik pa je sve tesko ali idemo dalje.
[ goran_68 @ 03.03.2012. 13:55 ] @
Jedan od nacina je pomocu PWM (laksi za tebe a i treba ti za kasnije). Na portu B pin RB3 mozes generisati PWM signal ciju ces frekvenciju menjati tasterima. E sad, datasheet u sake pa procitaj sve o socijalizmu :)
[ ZAS011 @ 03.03.2012. 15:47 ] @
Hardverski PWM ima u PBP (a i u Proton+) sledeca ogranicenja po pitanju minimalne frekvencije, zavisno od frekvencije kristala:
Code: 4MHz 145Hz
8MHz 489Hz
10MHz 611Hz
12MHz 733Hz
16MHz 977Hz
20MHz 1221Hz
24MHz 1465Hz
33MHz 2015Hz
40MHz 2442Hz
I ovo pise u HELP-u
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|