 |
Akik megszeretnének ismerkedni a Microchip cég új MPLAB X programfejlesztő felületével, azok számára elérhető egy 12 lépésből álló segédanyag, amely segít létrehozni az első MPLAB X projektünket.
A segédanyag itt érhető el.
|
 |
A Microstick Plus kártyához elérhető a dr. Cserny István által létrehozott PIC-kwik projekt példaprogramjainak a gyakorlóra átdolgozott változata. A MUNKÁJÁT NAGYON SZÉPEN KÖSZÖNJÜK!!! :-)
A mintaprogramok és egyéb jó ötletek itt érhetőek el.
|
Microstick Plus mintaprogramok MPLAB X fejlesztőfelülethez
 |
2. számú mintaprogram:
Timer 1 periféria meghajtása külső oszcillátor segítségével Rev. A és Rev. B panelhez Rev. C panelhez
A Timer 1 időzítőt a panelen található 32,768 KHz órakvarc hajtja meg. Az időzítő egy másodpercenként generál megszakítást. A megszakításkezelő függvény egy globális változó értékét növeli egyel. A globális változó értéke a gyakorlópanelen lévő LED-ekre van hatással. A LEDsor lévő ábrázolást a gyakorlón található gomb segítségével meg lehet változtatni.
|
 |
3. számú mintaprogram:
Potenciométer értékének beolvasása Rev. A és Rev. B panelhez Rev. C panelhez
A potenciométer által előállított feszültséget a mintaprogram beolvassa az analóg-digitális konverter periféria segítségével, majd a beolvasott feszültségértékkel arányos adatot helyez ki a LEDsorra. A LEDsor lévő ábrázolást a gyakorlón található gomb segítségével meg lehet változtatni.
|
 |
4. számú mintaprogram:
Passzív piezzo hangszóró meghajtása Rev. A és Rev. B panelhez Rev. C panelhez
A mintapélda a panelon található passzív csipogót hajtja meg 4 KHz-es 50%-os kitöltésű PWM jellel. A PWM jel előállítása Output Compare modul segítségével történik. Az Output Compare modult a Timer2 időzítő hajtja meg. A piezzo hangszóró a panelen található gomb nyomva tartása alatt szól.
|
 |
5. számú mintaprogram:
Rotary Encoder használata Rev. A és Rev. B panelhez Rev. C panelhez
A panelon található rotary encoder a mikrokontroller RB6 és RB7 lábára csatlakozik. Az encoder egymástól 90o-al eltolt négyszögjelet állít elő tekerés hatására. A két jel egymáshoz viszonyított helyzetéből eldönthető a forgatás iránya. ( További részletek. ) A program Change Notification megszakítást használja. Amikor az RB6 vagy RB7 lábon lévő érték megváltozik, akkor mindkét láb értékét beolvassa a program, és szoftveres úton eldönti a forgatás irányát. A megszakításkezelő függvény a feltételek alapján vagy csökkenti vagy növeli egy globális változó értékét. A globális változó értékét a főprogram a LEDsoron jelzi ki. A panelen található gomb segítségével a kijelzés megváltoztatható.
|
 |
6. számú mintaprogram:
UART1 soros port használata Rev. A és Rev. B panelhez Rev. C panelhez
A mintapélda a panelen található MCP2200 Soros-USB átalakító segítségével kommunikál a hozzá csatlakoztatott számítógéppel. A program indulás után kiküld egy mintaszöveget, majd karaktereket fogad a soros portról. A beolvasott karakter ASCII értékének alsó négy bitjét kihelyezi a LEDsorra, és a teljes karakter értéket visszaküldi a soros portra is.
Megjegyzések:
- A soros port beállításai:
9600 baud átviteli sebesség, 8 bites átvitel paritás használata nélkül, 1 stopbit használata.
- PC oldalon Windows operációs rendszert használóknak a Docklight programot ajánlom.
A Soros-USB átalakító meghajtó programjai letölthető a termék oldaláról. ( http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en546923 )
- Linux operációs rendszert használóknak a Minicom programot ajánlom. A program a főbb disztribúciók alapcsomagjában megtalálható. Használatáról a következő videó ad segítséget. Az MCP2200 legtöbb esetben /dev/ttyACM0 porton keresztül érhető el. Linux operációs rendszerben a soros portot használni kívánó felhasználók dialout csoport tagjának kell lenniük. 2.4 kerneltől az átalakító IC-t az operációs rendszer automatikusan felismeri, meghajtó program telepítésére nincsen szükség.
- A mintapéldában található write.c állomány segítségével az
alapértelmezett kimenet az UART1 soros port lesz, így például a
printf(...) függvény is az UART1 soros port-ra fog írni.
|
 |
7. számú mintaprogram:
Referencia feszültség kijelzése Rev. A és Rev. B panelhez Rev. C panelhez
A panelen található MCP1525 2,5 V-os referencia feszültség IC kimeneti feszültségét méri, és a mért feszültséget mV-ban kiküldi az UART1 soros portra.
|
 |
8. számú mintaprogram:
Hőmérséklet kijelzése Rev. A és Rev. B panelhez Rev. C panelhez
A panelen található TC1047 analóg hőmérő IC kimeneti feszültségét méri, és a mért feszültségnek megfelelő hőmérséklet értékét kiküldi az UART1 soros portra.
|
 |
9. számú mintaprogram:
Kapacitív gomb használata Rev. A és Rev. B panelhez Rev. C panelhez
A kapacitív gomb érzékelése kapacitás megosztás elven működik (CVD). A módszer lényege, hogy a gomb kapacitása és a mikrokontrollerben található A/D konverter mintavételező kondenzátor kapacitás összemérhető tartományban található. Ha a gombhoz közeledünk, akkor a gomb kapacitása megváltozik, és ez a változás megmérhető. ( További részletek )
A program indulás után inicializáló mérést végez, majd ehhez az értékhez hasonlítja a további mért értékeket. A mért értékeket kiküldi az UART1 soros portra. A program akkor tekinti megnyomottnak a gombot, ha gombon mért feszültség értéke az inicializáló méréshez képest 6,5%-al megváltozott. A gomb megnyomását a LEDsor is kijelzi.
Megjegyzés:
- A program saját függvény segítségével méri a gomb kapacitását. A Microchip szoftverkönyvtáraiban is találunk megoldást kapacitív gomb használatára.
- PIC24H típusú mikrokontrollerhez található CVD módszeren alapuló mintapéldák a következő oldalon tölthetők le.
|
 | 10. számú mintaprogram: Beépített ECAN periféria használata A mintapélda a rotary encoder, gomb és kapacitív gomb hatására különböző CAN üzeneteket helyez ki a CAN buszra. A mintapélda egyben üzeneteket is fogad a CAN buszról amelyek tartalma alapján vezérli a LED sort. A program először a CAN perifériát (fogadási maszk, filterek, stb) és a DMA perifériát konfigurálja fel. A program az egyes bemeneti perifériák kezelésére a többi mintapéldában bemutatott megoldásokat használja . A gomb megnyomása és felengedése hatására a program CAN üzenetet generál a buszra. Az üzenet ID értékét a CAN_ID_BUTTON (ecan_app.h) makró definiálja. A kapacitív gomb megnyomása és felengedése hatására, hasonló módon a mechanikus gombhoz, szintén üzenetet generál a program. Az üzenet ID értékét a CAN_ID_TOUCH (ecan_app.h) makró definiálja. Mindkét üzenet hatására a fogadó oldalon az első adat byte alapján LED-ek be- vagy kikapcsolódnak. A rotary encoder forgatása eredményeként a program CAN_ID_ENCODER (ecan_app.h) makróban definiált üzenetet generál a buszra. Az így keletkezett üzenetek hatására a fogadó oldalon a program szintén a LED sort vezérli, amely a LED_MODE (ecan_app.h) makró értékének alapján kétféle módon is történhet (SHIFT or DIR_IND). A fogadó filter konfigurálása a ecan_app.h fejlécállományban definiált ACCEPT_ROTARY, ACCEPT_BUTTON, and ACCEPT_TOUCH makrók segítségével történik. További információ a beépített ECAN periféria használatáról: AN1249 |

|
|