 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
vuky Neznanec

Pridružen-a: Sre 23 Apr 2008 15:13 Prispevkov: 3 Aktiv.: 0.01 Kraj: Borovnica
|
Objavljeno: Ned Maj 04, 2008 12:07 pm Naslov sporočila: MPLAB program (Pic) |
|
|
Zdravo!
Sem začetnik v tej stvari in bi prosil, če je kdo tako dober in napiše program (pic 16F877) za v MPLAB, tako da se bodo lučke (LED diode) "vozile" v levo.
|
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.48 Kraj: Krško
|
Objavljeno: Ned Maj 04, 2008 12:24 pm Naslov sporočila: |
|
|
Poglej si knjigo "Programirajmo PIC mikrokontrolerje",tam notri imaš lepo razloženo,ter veliko primerov programov. Poglej tudi v forum PIC. Sicer si pa v naroben forum dal vprašanje.
Priporočam ti pa iskanje po forumu,imaš veliko na to temo.
http://www.elektronik.si/phpBB2/viewforum.php?f=16
_________________ Denis |
|
Nazaj na vrh |
|
 |
vuky Neznanec

Pridružen-a: Sre 23 Apr 2008 15:13 Prispevkov: 3 Aktiv.: 0.01 Kraj: Borovnica
|
Objavljeno: Ned Maj 04, 2008 12:59 pm Naslov sporočila: |
|
|
Se opravičujem!
Drugače pa hvala!
|
|
Nazaj na vrh |
|
 |
praksa Član

Pridružen-a: Pon 31 Mar 2008 10:24 Prispevkov: 40 Aktiv.: 0.19
|
Objavljeno: Sre Jun 11, 2008 3:20 pm Naslov sporočila: |
|
|
Lp, se opravičujem za obujanje te teme vendar rabim vašo pomoč.
V šoli imamo 2 nalogi za rešiti:
Uporabi MPLAB in preveri(testiramo v simolatorju)če program deluje.
(v šoli se učimo c++, zbirnika pa še nismo vzeli.)
Naloga je taka: profesor rekel iz portb naj neke bite(tukaj nevem na kaj misli) premaknemo v W(verjetno je mislil working oz. delovni register)in iz tega v portc.
Naloga 2 je pa obratna smer pomeni z portc v W in v portb.
Navodila so res skromna saj profesor ni hotel dati več informacij.
Dal nam je vodič o programiranju v MPLAB-u katerega bom priložil.
Sem ga prebral 2 krat skozi a še vedno ne razumem.
In tudi del kode priložim, katera naj bi bila zelo blizu rešitve naloge (po mnenju prof.).
Koda: |
list p=16F877
org 0
goto 4
org 4
bsf 0x03,5
clrf 0x88
bcf 0x03,5
movlw 0xff
movwf 0x08
end |
Prosim če mi kdo pomaga pri tem problemu.
Opis: |
Vodič katerega nam je dal prof. |
|
 Download |
Ime datoteke: |
Prvi koraki v svet mikrokontrolerjev s PIC16F876.doc |
Velikost datoteke: |
1.49 MB |
Downloadano: |
25 krat |
|
|
Nazaj na vrh |
|
 |
ljudsko Član


Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 5.63 Kraj: Koroška-Mežica
|
Objavljeno: Sre Jun 11, 2008 3:42 pm Naslov sporočila: |
|
|
Mislim, da je del kode čisto prav napisan, tako mora biti tudi tvoj program, le lokacije registrov so napačne, kolikor sem gledal v tabelo v knjigi programirajmo mikrokontrolerje. Malo pogooglaj na temo pic registers ali nekaj podobnega, da boš vedel katera lokacija je kateri register. Najbolje je, da namesto lokacij pišeš kar mnemonike-to so kratice, ki zamenjujejo šesnajstiške lokacije. Tako bo koda veliko bolj pregledna. Dobrodošli so pa tudi komentarji ob vsaki vrstici.
Sedaj moram hitet, ko pridem nazaj, ti napišem točen program za tvojo nalogo. Lahko pa poskusiš sam, ne bo nič narobe, saj se jaz tudi še učim.
Lp
|
|
Nazaj na vrh |
|
 |
kavelj22 Član


Pridružen-a: Tor 23 Jan 2007 23:56 Prispevkov: 465 Aktiv.: 2.07 Kraj: Ljubljana
|
Objavljeno: Sre Jun 11, 2008 3:53 pm Naslov sporočila: |
|
|
Kar je na levi je enako tistemu na desni. Sedaj poglej v datasheet tega pica kjer so registri in njihovi naslovi in ti bo vse jasno. Potem samo spremeni kar je potrebno!
Citiram: |
list p=16F877---> list p=16f877
org 0 ---> org 0
goto 4 ---> goto 4
org 4 ---> org 4
bsf 0x03,5 ---> bsf STATUS,RP0
clrf 0x88 ---> clrf TRISD
bcf 0x03,5 ---> bcf STATUS,RP0
movlw 0xff ---> movlw .255
movwf 0x08 ---> movwf PORTD
end ---> end |
lp
_________________ Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim. |
|
Nazaj na vrh |
|
 |
praksa Član

Pridružen-a: Pon 31 Mar 2008 10:24 Prispevkov: 40 Aktiv.: 0.19
|
Objavljeno: Sre Jun 11, 2008 6:02 pm Naslov sporočila: |
|
|
hvala
Nazadnje urejal/a praksa Sre Nov 19, 2008 1:34 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
ljudsko Član


Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 5.63 Kraj: Koroška-Mežica
|
Objavljeno: Sre Jun 11, 2008 6:16 pm Naslov sporočila: |
|
|
Očitno ste vzeli malo težek mikrokontroler za začetek. Namreč ta mikrokrmilnik ima 4 banke in ne samo dve. Naslovi pa so tukaj: Kl!k. Kot sem že rekel, tvoj program je ubistvu že napisan, le spremeni naslove oziroma mnemonike na tiste, ki so ti bili zadani (torej PORTB in PORTC ali naslova 06h in 07h). Upam, so ti osnovne zadeve okrog teh krmilnikov jasne, če ne si nujno preberi knjigo "programirajmo PIC mikrokontrolerje".
Lp
|
|
Nazaj na vrh |
|
 |
kavelj22 Član


Pridružen-a: Tor 23 Jan 2007 23:56 Prispevkov: 465 Aktiv.: 2.07 Kraj: Ljubljana
|
Objavljeno: Sre Jun 11, 2008 7:24 pm Naslov sporočila: |
|
|
Ja ampak v tem primeru ki imas napisanega se ti samo shrani neka vrednost v tvojem primeru 0xff v register PORTD. Ti pa moras najprej poljubno vrednost shraniti iz PORTB v W in nato v PORTC.
movf PORTB,W
movwf PORTC
instrukcije pa poglej kaj pomenijo, za drugo pa ravno obratno, verjetno.
Drugace pa tako kot je rekel ljudsko : Programirajmo PIC mikrokontrolerje!!!
lp
_________________ Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 8 dni
Powered by phpBB © 2001, 2005 phpBB Group
|