Fórum témák
» Több friss téma |
Cikkek » Nulláról a robotokig - PIC Mikrovezérlők I rész Nulláról a robotokig - PIC Mikrovezérlők I rész
Szerző: Topi, idő: Jún 12, 2007, Olvasva: 119884, Oldal olvasási idő: kb. 1 perc
A lényeg a feltételkezelés. Ebben a részben először egy egyszerűbb példát láthatunk, majd a tanultakat az előző programunkba építjük.
A következő fájl, csak ezt a feltétel kezelést tartalmazza. Hogy ki tudjuk próbálni, fordítsuk le, égessük be, és nyomkodjuk az S1 feliratú gombot! Az egész ASM letölthető innen: asm_input.zip Ha beleégettük és kipróbáltuk, rájövünk, hogy a a LED pont fordítva világít. Ennek az az oka, hogy a gombok felhúzó ellenállásai miatt felengedett állapotban van 1-es szint, lenyomott állapotban pedig 0-ás szint van a PIC bemenetén. Vagyis a bit tulajdonképpen azt jelenti, hogy "felvan-e engedve a gomb". Ezért ha azt akarjuk, hogy akkor világítson a LED amikor lenyomjuk használjuk a BTFSC ellenkezőét, a BTFSS-t. Mostpedig ha már ilyen jól begyakoroltuk a bevitel és feltétel kezelést, vegyítsük össze a kettőt. Vezéreljük a gombokkal a LED-ek forgás irányát.
A fentebbi a legfontosabb sor. Ha a PORTA 0. bitjén lévő gomb van lenyomva, akkor végrehajtódik az RLF parancs, vagyis balra forgatja a biteket. Ha a PORTA 1. bitjén lévő gomb le van nyomva, akkor pedig végrehajtjuk az RRF parancsot, vagyis jobbra forgatjuk a biteket. Az RLF és RRF parancsok használják a C jelzőbitet. Mikor egy bit "leforgott" a 8 bitről, akkor a leesett bitet eltárolja a C jelzőbitben. A következő forgatásnál az új helyre azt a bitet teszi be. Így előfordulhat, hogyha "szemét" van a C jelzőbitben, akkor beleforgatja azt a PORTD-be is. Ezért a forgatás és eleve a MAIN rész előtt, hívjuk meg a CLRC parancsot. A már módosított ide-oda futós program letöltése: asm_forgo.zip Folytassuk az assembly nyelv debugolásával... A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |