Bascom AVR - konfigurálható port MK
BASCOM AVR - konfigurálható port MK. Csatlakozás gombra.
Először is egy rövid és egyszerűsített pillantást a belső szerkezete a mikrokontroller. A port három részből áll.
DDR switch port mód - Beviteli mód (input) vagy OUTPUT (kimenet). Ellátja kapcsolási elemek a mikrokontroller.
PORT egy sor 8 kimenet kapcsol, amely ellenáll a terhelés 50 mA. Például, a LED szabályozható, és egyéb külső elemek egy kis terhelés.
PIN-kód egy sor 8 bemenet és kapukat, hogy lehet beállítani, mint 1 vagy 0. Amikor beállítása logikai „0” szintet, a lábát létrehozott MK feszültség 0-tól körülbelül 0,1 volt, ha a beállítás logikai szinten 1, a feszültség a lábát MK 2,5 V és VCC (tápfeszültség a mikrokontroller, ebben az esetben ez az 5B).
Ha ezt a sort.
Mivel PORTB.2 nem csatlakozik elektromosan belül az IC a bemeneti áramkörben, csak akkor működik a „kimeneti” módban.
Ha szeretné elolvasni az állam a kimeneti port, akkor kellene tenni PINB 0,2, hiszen rajta keresztül kiolvassa az adatokat az MC.
Annak ellenére, hogy a config PORTB 0,2 = INPUT olvashatatlan PORTB 0,2, a második terminál továbbra is kialakítva, hogy input és lehet olvasni a PIND 0,2.
Most tekintsük az összes fenti példája a feldolgozási állapot a gombot.
Szóval, van egy gomb, és a LED (kísérleti modul MRC 40 ez az egész áll rendelkezésre). Gomb csatlakozik a port láb 2 C (PORTC .2), és a LED a szár a port 0 (PORTB .0). Azt kell tennie, hogy lenne, ha rákattint a gomb világít a LED.
Read az állam a port (csatlakozás gombot)
„Robozone.su
$ Regfile = "m32def.dat" használt”mikrokontroller ATmega32 (MRC40 univerzális modul)
$ Crystal = 16000000 „frekvencia készlet kvarc 16 MHz-es
Config Portb.0 = kimenet „2 konfigurálható kimeneti port B a kimenetre - csatlakozni hozzá LED
Config Pinc.2 = Input konfigurálható kimeneti port 2 a belépő -, hogy kapcsolja neki gomb
Do „a program elején ciklus
Ha Pinc.2 = 0 Then „állapot - Ha a 2. szakasz a C port logikai alacsony szintre majd.
Portb.0 = 1 „beállítva a szár a port 0 logikai magas (LED világít)
Else „másként.
Portb.0 = 0 „beállítva a szár a port 0 logikai alacsony (LED off)
Vége If'konets feltételek
hurok
vég
A jövőben, ha írásban programok MC nagyon kényelmes használni az elnevezési csapat - ALIAS. A különböző változók, akkor lehet rendelni egyedi nevek.
Átírni a programot álparancs.
Read az állam a port (csatlakozás gombot)
„RoboZone.SU
$ Regfile = "m32def.dat" használt”mikrokontroller ATmega32 (MRC40 univerzális modul)
$ Crystal = 16000000 „frekvencia készlet kvarc 16 MHz-es
Config Portb.0 = kimenet „2 konfigurálható kimeneti port B a kimenetre - csatlakozni hozzá LED
Config Pinc.2 = Input konfigurálható kimeneti port 2 a belépő -, hogy kapcsolja neki gomb
Led Alias Portb.0 „hozzárendelése név LED kimenet 0 Port B
Gomb Alias Pinc.2 „hozzárendelése neve gomb Pin 2 C port
Do „a program elején ciklus
Ha gomb = 0 Then „állapot - Ha a 2. szakasz a C port logikai alacsony szintre majd.
Led = 1 „beállítva a szár a port 0 logikai magas (LED világít)
Else „másként.
Led = 0 „beállítva a szár a port 0 logikai alacsony (LED off)
End If „end feltételek
Mint látható, a látótávolság a programkód nőtt, ez segít jelentősen írásakor programok sok különböző változók.
Oh! ... megfeledkeztünk arról DDR ...
Itt az ideje, hogy ezt a fenevad =)
DDR, megvan a képesség, hogy testre a teljes kikötő egy sor kódot. Ahogy fentebb írtam, DDR funkciója a switch port üzemmódok. Belül a mikrokontroller port csapok vannak számozva a sorrendben - 76543210. Így tudjuk telepíteni egy bináris szám PORT / PIN állapotát a port.
Nézzük az alábbi példát ...