<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
13.1. Az I/O portok általános jellemzői
A mikrovezérlők az I/O portokon keresztül tartják a kapcsolatot a külső áramkörökkel.
A közepes teljesítményű PIC mikrovezérlők többfunkciós, általában kétirányú port kivezetésekkel vannak ellátva, amelyek áramköri megvalósítása akár kivezetésenként is eltérő lehet. Az I/O portok a következő feladatokat valósíthatják meg:
ˇ
kivezetésenként kiválasztható adatirányú általános digitális ki- vagy bemenet, esetenként ki- és bekapcsolható belső felhúzó ellenállással;
ˇ
kiválasztható adatirányú általános digitális bemenet, kimenetként konfigurálva nyitott Drain-ű kimenet;
ˇ
a mikroprocesszoros rendszerekkel való kommunikációt végző 8-bites párhuzamos Slave port;
ˇ
a soros kommunikációs egységek (szinkron soros port - SPI, I2C, USART, USB, LIN) bemenetei, kimenetei és vezérlő jelei;
ˇ
belső számláló áramkörök (számlálók, CCP modul) bemenetei;
ˇ
belső PWM generátor kimenetei;
ˇ
külső megszakításkérés bemenete;
ˇ
belső A/D átalakító analóg bemenet;
ˇ
belső komparátorok analóg be- és kimenetei;
ˇ
belső műveleti erősítők analóg be- és kimenetei;
ˇ
belső feszültség referencia kimenete;
ˇ
külső feszültség referencia bemenete;
ˇ
belső LCD meghajtó áramkör kimenetei;
ˇ
belső kapcsolóüzemű vezérlő egység kimenetei.
A közepes teljesítményű PIC mikrovezérlők első típusai még egységes elnevezésű I/O perifériákat tartalmaztak. Így például két különböző típusú eszközben elhelyezett B port felépítése és működése közel azonos volt. Az újabb típusokban az eltérések egyre nagyobbak, így a port-név szerinti csoportosítás és bemutatású már elavulttá vált. Ez azt jelenti, hogy a kiválasztott mikrovezérlő típus I/O portjainak pontos felépítését, működési leírását és kezelését a típus adatlapjából kell feldolgozni.
(A port-név szerinti I/O port csoportosítás:
ˇ
A port - 6-bites kétirányú TTL-szintű I/O port, konfigurálható A/D átalakító bemenetekkel, az RA4 csatlakozó nyitott Drain-ű kimenet és Schmitt-trigger bemenet;
ˇ
B port - 8-bites kétirányú TTL-szintű I/O port, programozható felhúzó ellenállásokkal, az RB4..RB7 bemenetek megváltozásakor generálódó megszakításkéréssel és egyéb periféria csatlakozásokkal;
ˇ
C port - 8-bites kétirányú Schmitt-trigger bemenetű I/O port, esetenként egyéb periféria csatlakozásokkal;
ˇ
D port - 8-bites kétirányú Schmitt-trigger bemenetű I/O port;
ˇ
E port - 8-bites kétirányú Schmitt-trigger bemenetű I/O port;
ˇ
F port - 8-bites Schmitt-trigger bemenet, vagy LCD vezérlő kimenet;
ˇ
G port - 8-bites Schmitt-trigger bemenet, vagy LCD vezérlő kimenet;
ˇ
GPIO port - 6-bites kétirányú TTL-szintű I/O port, esetenként egyéb periféria csatlakozásokkal, a 8 kivezetéses mikrovezérlőkhöz.)
Az általános kétirányú digitális I/O portok kezelése két, a porthoz rendelt vezérlő regiszterrel történik, amelyek az adatmemóriában helyezkednek el és kezelésük az általános adatregiszterekével megegyezik.
A port kivezetéseinek adatiránya bitenként megadható a porthoz tartozó TRIS (gyári elnevezésű) vezérlő regiszter segítségével (például TRISA, TRISB). A TRIS regiszter 0. bitje a port 0. kivezetésének adatirányát állítja be, az 1. bit az 1. kivezetés adatirányát és így tovább. A logikai "1" beállítás bemenetet, a logikai "0" kimenetet ad meg. A mikrovezérlő bekapcsolási reset folyamatának hatására a TRIS regiszterek adatirány-bitjei automatikusan logikai "1" szintűre állnak be, vagyis a kivezetések nagy-impedanciás bemenetként konfigurálódnak.
Egy kimenetként konfigurált port kivezetés kimenő értéke a porthoz tartozó PORT (gyári elnevezésű) vezérlő regiszter segítségével adható meg (például PORTA, PORTB). A PORT regiszter 0. bitje a port 0. kivezetésének értékét állítja be, az 1. bit az 1. kivezetés értékét és így tovább.
Egy bemenetként konfigurált port kivezetés bemenő értéke szintén a PORT vezérlő regiszterből olvasható ki, az általános adatregiszterek olvasásával megegyező módon. A PORT regiszter olvasásakor a kapott érték közvetlenül a kivezetések logikai szintjének megfelelő érték.
A PORT és TRIS vezérlő regiszterek adatmemóriában való elhelyezését (címét) az adott mikrovezérlő memóriatérképéről lehet leolvasni.
A következő programrészlet egy általános I/O port (a példában B port) konfigurálását és kezelését mutatja be.
... ... ... ;a PORT regiszterek memórialapjának kiválasztása movlw B'00001010' ;W = 00001010b, a kívánt kezdőértékeknek megfelelően movwf PORTB ;PORTB = 00001010b, az 1. és 3. bit kezdőértéke "1" ... ... ... ;a TRIS regiszterek memórialapjának kiválasztása movlw B'11110000' ;W = 11110000b, a kívánt adatirányoknak megfelelően movwf TRISB ;TRISB = 11110000b, a 0-3. bit ki-, a 4-7. bit bemenet ... ... ... ;a PORT regiszterek memórialapjának kiválasztása bsf PORTB,0 ;a B port 0. bitjének logikai "1"-re állítása bcf PORTB,1 ;a B port 1. bitjének logikai "0"-ra állítása ... movf PORTB,0 ;a B port beolvasása a W-be ... movlw B'00001111' ;W = 00001111b movwf PORTB ;a B port írása, minden kimenet logikai "1" ...
Az általános kétirányú digitális I/O portok terhelhetősége áramiránytól függetlenül 25mA-es átlagáram.
Az I/O portok felépítését és működését bemutató további fejezetek:
Kétirányú digitális I/O áramkör (1. változat)
Kétirányú digitális I/O áramkör (2. változat)
Kétirányú digitális I/O áramkör (3. változat)
Nyitott Drain-ű kimenet
Programozható felhúzó ellenállás
Bemenetváltozásra generálódó megszakítás
Analóg bemenetek
Analóg kimenetek
Perifériák digitális kimenetei
LCD vezérlő kimenetek
Kisfogyasztású ébresztő (ULPW) bemenet
Elektromos jellemzők
(A további fejezetekben található áramköri vázlatokon az áramkorlátozó ellenállások, a digitális áramköri egységek tápfeszültség csatlakozásai és alaphelyzetbe állító áramkörei nem minden esetben szerepelnek.)
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>