Az MSP430 mikrovezérlők digitális I/O programozása

Hasonló dokumentumok
MSP430 programozás Energia környezetben. Az I/O portok kezelése

Az MSP430 energiatakarékos használata

Bevezetés a mikrovezérlők programozásába: I/O portok kezelése, számrendszerek, bitműveletek

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Az AVR programozás alapjai. Előadja: Both Tamás

A Texas Instruments MSP430 mikrovezérlőcsalád

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Programozási segédlet DS89C450 Fejlesztőpanelhez

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Labor 2 Mikrovezérlők

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA01) Laboratórium 9

Mintavételes szabályozás mikrovezérlő segítségével

A mikroszámítógép felépítése.

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

Mérési jegyzőkönyv. az ötödik méréshez

Újrakonfigurálható eszközök

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Poolcontroller. Felhasználói leírás

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

MSP430 programozás Energia környezetben. Szervó motorok vezérlése

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

The modular mitmót system. DPY kijelző kártya C API

Bevezetés a mikrovezérlők programozásába: DC motorok vezérlése

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Dr. Oniga István DIGITÁLIS TECHNIKA 9

inels timer Működési elv:

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

Előadó: Nagy István (A65)

Digitális technika (VIMIAA02) Laboratórium 1

Programozott soros szinkron adatátvitel

Digitális technika (VIMIAA02) Laboratórium 1

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

Programozható Logikai Vezérlő

FL-11R kézikönyv Viczai design FL-11R kézikönyv. (Útmutató az FL-11R jelű LED-es villogó modell-leszállófény áramkör használatához)

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

_INVHU000_WriteReadParameter.cxf Frekvenciaváltók

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

A Picoblaze Core implementálása FPGA-ba

Silabs STK3700, Simplicity Studio laborgyakorlat

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

10. Digitális tároló áramkörök

Yottacontrol I/O modulok beállítási segédlet

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

MSP430 programozás Energia környezetben. Hétszegmenses LED kijelzok

Máté: Számítógép architektúrák

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

MSP430 programozás Energia környezetben. LED kijelzok második rész

Bevezetés a mikrovezérlők programozásába: MAX6958: Hétszegmenses LED kijelző vezérlő

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Általános útmutató FIGYELMEZTETŐ VIGYÁZAT

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

DFÁVA-EP. Digitális földzárlati áramnövelő ellenállást vezérlő automatika. Műszaki leírás. Azonosító: BU

2-VEZETÉKES KAPUTELEFON RENDSZER. Kiegészítő egység VDT SC6V. VDT-SC6V Leírás v1.0.pdf

A Hobbielektronika csoport. bemutatója

Perifériák hozzáadása a rendszerhez

Mikrovezérlők programozása

Programozható logikai vezérlõk

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Digitális technika (VIMIAA01) Laboratórium 10

Készítette: Oláh István mestertanár

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

2-VEZETÉKES KAPUTELEFON RENDSZER Telefonos illesztő / Telefonhívó modul. VDT-TPC Felhasználói és telepítői kézikönyv VDT-TPC. VDT-TPC Leírás v1.0.

VEZÉRLŐEGYSÉGEK. Tartalom

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

IO-84. Ki/Bemeneti modul. Telepítői kézikönyv VB SOROZATÚ KOMMUNIKÁTOROKHOZ. Rev

Nagy Gergely április 4.

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

A mikroprocesszor felépítése és működése

Assembly Utasítások, programok. Iványi Péter

Mikrokontrollerek és alkalmazásaik Beadandó feladat

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

Analóg-digitál átalakítók (A/D konverterek)

Dr. Oniga István DIGITÁLIS TECHNIKA 8

A Számítógépek hardver elemei

Újrakonfigurálható eszközök

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

LPT_4DM_2a. Bekötési utasítás

Beachside FAMILY. Kombinált Infraszauna HASZNÁLATI ÚTMUTATÓ

Máté: Számítógép architektúrák

IDAXA-PiroSTOP. BI12KR8 Optocsatolt bemeneti egység 12 bemenettel és Relés kimeneti egység 8 relével. Terméklap 2004/0177/073

Informatika érettségi vizsga

Dr. Schuster György október 14.

A/D és D/A konverterek vezérlése számítógéppel

Laborsegédlet 3. Labor

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

Labor gyakorlat Mikrovezérlők

AF 088II DIO 16/8 AF 088II DIO 16. Digitális ki-, bemeneti modul. Digitális bemeneti modul

A TMS320C50 és TMS320C24x assembly programozására példák

Labor gyakorlat Mikrovezérlők

Digitális elektronika gyakorlat

Nyolcbites számláló mintaprojekt

PR402EN.doc. PR402 v1.0 Egyajtós beléptetõ rendszer FIRMWARE VERZIÓ Telepítési útmutató

Átírás:

10.2.1. Az MSP430 mikrovezérlők digitális I/O programozása Az MSP430 mikrovezérlők esetében minden kimeneti / bemeneti (I/O) vonal önállóan konfigurálható, az P1. és P2. csoportnak van megszakítás létrehozó képessége is. Az általunk használt MSP430f261x-as 6 Portal rendelkezik: P1, P2, P3, P4, P5, P6. Mindegyik portnak 8 általános célú kimeneti/bemeneti (I/O) vonala van, az összes szükséges ellenőrző és konfigurálható regiszterrel. Mindegyik I/O vonalat egymástól függetlenül lehet ellenőrizni. A Portok MDB és MAB buszokon keresztül kapcsolódnak a processzor magjához. 1.ábra - Az MSP430f261x felépítése Konfiguráció 1. Első lépés - be kell állítani a feladat választó regisztert SEL (pl. P1SEL). Az ellenőrző regiszterek segítségével rendeljük el a kívánt funkciót. Mindegyik regiszter nyolc bitet tartalmaz, amelyek a megfelelő lábakra vonatkoznak és mindegyik láb funkcióját külön-külön lehet megadni. 2. Második lépés - meg kell határozni, hogy kimeneti (O) vagy bemeneti (I) portnak akarjuk-e használni. Ezt a DIR regiszterben állítjuk be (pl. P1DIR). A vezérlő regiszterek nyolc egymástól független bitet tartalmaznak, amelyek meghatározzák a kimeneti/bemeneti lábak vezérlését. Amikor az adott bit = 0 a láb bemenetként működik, amikor az adott bit = 1 a láb kimenetként működik.

3. Harmadik lépés - Az előző beállításoktól függően lehet: IN regiszterből olvashatunk azdatot a perifériáról OUT regiszterbe kell írnunk a perifériára szánt adatot Interrupt zászlók Mindegyik interrupt flag regiszter nyolc flaget tartalmaz, amelyek jelzik, hogy folyamatban vane interrupt (megszakítás) a megfelelő lábon(pl. P1IFG). Interrupt engedélyező regiszterek Mindegyik interruptot engedélyező regiszter tartalmaz biteket amelyek hozzáférhetővé teszik az interrupt flageket mindegyik kimeneti/bemeneti láb részére a porton belül. Amikor a bit=1 a megszakítás kérés elérhető és amikor bit=0 megszakítás nem elérhető. (pl.p1ie) Részletes leírás a ki- és bemeneti konfigurációról valamit a megszakításról az MSP_430x2xxx - Family User's Guide ##LINK: www.ti.com/lit/ug/slau144i/slau144i.pdf## könyv 8. fejezetében található. 1. Feladat: Egy LED bekapcsolása! 2. ábra - LED-ek bekötése (kapcsolás pozitív logikára)

folyamatábra: megvalósítás: 3. ábra - LED folyamatábra //deklarációs rész WDTCTL = WDTPW + WDTHOLD; P2OUT = 0xff; // Stop WDT // beállítjuk P2 kimenetnek P2OUT= ~ 0x01; // kigyújtjuk az első LED-et megjegyzés: a fenti kód az inverz logikával kötött LED-ek esetét mutatja. Összegzés: A deklarációs részt kötelező megadni. A főprogramunkat main() belül kell, hogy legyen. Érdemes megemlíteni a watchdog timert. Ennek a modulnak az elsődleges szerepe, hogy ellenőrzött módon és időn belül újra indítja a rendszert, amikor valamilyen szoftveres hiba jelentkezik. A példában kikapcsoltuk. Mivel nem akarunk különleges funkciót végezni így nem kell átállítani a P2SEL regiszter, hiszen alapértelmezetten: P2SEL=0x00, vagyis a port I/O üzemben van. P2OUT tartalma pozitív logikára: P2OUT = 0x01 avagy binárisan 0000 0001. Ekkor a legkisebb helyértékű LED fog világítani.

P2OUT tartalma inverz logikára: P2OUT = ~0x01 avagy binárisan 1111 1110. Ekkor szintén a legkisebb helyértékű LED fog világítani. A P2OUT regiszter egyszerre 8 I/O lábat címez. Vagyis egyszerre több LED-et is be tudtunk kapcsolni. 2.Feladat: Az összes LED bekapcsolása! megvalósítás: WDTCTL = WDTPW + WDTHOLD; // Stop WDT P2OUT=0xff; P2OUT=0x00; Összegzés: Az előző példától nem sokban tér el, most az összes LED-et kigyújtottuk 0x00-al. 3.Feladat: LED villogtatás! megvalósítás: WDTCTL = WDTPW + WDTHOLD; // Stop WDT // beállítsuk P2 kimenetnek P2OUT = 0xff; unsigned int i; // előjel nélküli integer while(1) // végtelen ciklus P2OUT= ~ 0x01; // bekapcsoljuk az első LED-et for(i=0;i<50000;i++); // várakozás, ez alatt a LED világít P2OUT=0xff; // kikapcsoljuk az első LED-et for(i=0;i<50000;i++); // várakozás, ez alatt a LED NEM világít Összegzés: Létre kell hozni egy előjel nélküli egész változót a késleltetési ciklusok véget (unsigned int i). Létrehozunk egy végtelen ciklust: while (1), vagy for( ; ; ) segítségével. Bekacsoljuk a LED-et, várakozunk, kikapcsoljuk a LED-et, ismét várakozunk. Természetesen minél rövidebb a várakozási ciklus annál gyorsabban fog villogni a LED. 4. Feladat: LED léptetés shift utasítással (jobbra)

megvalósítás: #include <math.h> int main( void ) WDTCTL = WDTPW + WDTHOLD; P2DIR = 0xff; P2OUT =0xff; unsigned int i; int k; k=128; while (1) if (k==0) P2OUT &=~0x80; for(i=0;i<50000;i++) k=128; k=k>>1; P2OUT= ~ k; for(i=0;i<50000;i++) // a legnagyobb helyértéktől indulunk //128 hexadecimális értéke //jobbra shift Összegzés: A k segédváltozó kap egy kezdő értéket, 128-at (1000 0000 binárisan), vagyis a legnagyobb helyértéken található egy 1-es. A segédváltozót léptetjük jobbra, kiküldjük a LED-re (vagy a negáltját). Amennyiben a segédváltozó eléri a 0 értéket, ismét feltöltjük 128-el. lépés k k BIN k INV BIN 1 128 1000 0000 0111 1111 2 64 0100 0000 1011 1111 3 32 0010 0000 1101 1111 4 16 0001 0000 1110 1111 5 8 0000 1000 1111 0111 6 4 0000 0100 1111 1011 7 2 0000 0010 1111 1101 8 1 0000 0001 1111 1110 9 0 0000 0000 1111 1111 10 128 1000 0000 0111 1111 4. ábra a k segédváltozó értékeinek sora 5. Feladat: A lenyomott taszterek sorszámával azonos sorszámú LED-ek világítsanak! A taszterek bekötési rajza:

5. ábra - A taszterek bekötési rajza Folyamatábra: 6.ábra - Folyamatábra LED és taszter

Megvalósítás: WDTCTL = WDTPW + WDTHOLD; P2OUT = 0xff; // P2 output, a LED-ek kimenetnek megadva P1DIR = 0x00; P1OUT = 0x00; while(1) P2OUT =~ P1IN; // P1 input, a taszterek bemenetnek megadva Összegzés: A portok felkonfigurálása után. Egy végtelen ciklusban a P1-es portról beolvasott taszter értékeket negáljuk majd kiküldjük a P2-es portra a negatív logikával bekötött LED sorra. Irodalom: MSP_430x2xxx - Family User's Guide ##LINK: www.ti.com/lit/ug/slau144i/slau144i.pdf##