Bevezetés
Az összes I / O port (PVW) AVR mikrokontrollerek az olvasásmódos írás elvén dolgoznak, amikor az univerzális I / O portok portjainak használata. Ez azt jelenti, hogy az egyik portvonal I / O portjának az SBI és a CBI parancsok I / O portjának irányának megváltoztatása hamis módosítások nélkül fordul elő más portvonalak I / O része irányába. Ez a logikai szint megváltoztatására is kiterjed (ha a portvonal a kimenetre van konfigurálva), vagy bekapcsolja / letiltja a húzóellenállások (ha a vonal be van kapcsolva). Minden kimeneti puffer szimmetrikus vezérlési jellemzővel rendelkezik, magas áramlási és áramló kimeneti áramokkal. A kimeneti illesztőprogram terhelési kapacitással rendelkezik, amely lehetővé teszi a LED-kijelzők közvetlen vezérlését. Alternatív módon szelektív ellenállás A tápellátás teljesítményének meghúzása minden portvonalhoz csatlakoztatható, amelynek ellenállása nem függ a tápfeszültségetől. Minden PVV vonalon a védődiódákat telepítik, amelyek a VCC-hez és az általános (GND) -hez vannak csatlakoztatva, amint azt a 29. ábra mutatja. A PVV paraméterek részletes listáját az "Elektromos jellemzők" szakasz tartalmazza.
29. ábra - ekvivalens PVV vonalvázlat
Linkek nyilvántartásokra és nyilvántartások bitjére ez a szekció Általában dases. Ugyanakkor az "X" szimbólum helyettesíti a PVV nevét, és az "N" szimbólum helyettesíti a PVV kisülési számát. A programkészítés során azonban a rögzítés pontos formáját kell használnia. Például Portb3, ami azt jelenti, hogy a 3 port kategóriája, ebben a dokumentumban PortXN-ként kerül rögzítésre. A fizikai I / O regiszterek címei és a kibocsátásuk eloszlása \u200b\u200baz "I / O Port Regisztrálók" leírása ".
Az I / O memóriában minden egyes I / O port esetében három cella van fenntartva: az egyik az adatregisztráció alatt - Portx, a másik az adatirányok regisztrálása - DDRX és a harmadik a kikötői bemenetek állapota alatt - PINX. Egy olyan sejt, amely tárolja az államokat a portok bemeneteiben, csak olvasható, és az adatregiszterek és az adatregiszterek kétirányú hozzáféréssel rendelkeznek. Ezenkívül a meghúzási SFIOR PUD PUD \u200b\u200bszigorító ellenállások beállítása A PUD-regiszter meghúzása Letiltja az összes port összes kimenetét.
Az alábbiakban az Univerzális Digital I / O i / o port leírása. A legtöbb kikötő következtetései támogatják a beépített alternatív funkciókat perifériás eszközök mikrokontroller. Alternatív jellemző leírást biztosít az "Alternatív kikötőfunkciók" alszakaszban (lásd még a megfelelő perifériás modulok funkcióinak leírását).
Felhívjuk figyelmét, hogy egyes kikötők, a felbontás alternatív funkcióinak bizonyos következtetéseket lehetetlenné teszi, hogy más kimenetek az univerzális digitális bemenet-kimenet.
Portok univerzális digitális I / O
Minden port kétirányú I / O portok, opcionális pull-up ellenállásokkal. A 30. ábra egy bemeneti kimeneti portvonal funkciódiagramját szemlélteti, amelyet pxnként jeleznek.
30. ábra - Univerzális digitális I / O (1)
Kb. 1: WPX, WDX, RRX, RPX és RDX jelek gyakoriak egy porton belül. A CLKI / O, az alvás és a pud jelek közösek az összes portra.
Következtetések
Az egyes kimenetek módját és állapotát három regiszter: DDXN, PORTXN és PINXN megfelelő számjegyeinek értéke határozza meg. Amint az I / O portregiszterek leírása is látható, a DDXN bitekhez való hozzáférés az I / O térben és a Portx címen lévő Portxn bitek és Pinxn bitek Portxn bitjeiben lehetséges.
A DDXN DDRX DDRX bitek meghatározzák az I / O vonal irányát. Ha DDXN \u003d 1, akkor a PXN konfigurálva van megjelenítésre. Ha DDXN \u003d 0, akkor a PXN be van állítva, hogy belépjen.
Ha PortXN \u003d 1 A portvonal beírásakor be van állítva, a meghúzási ellenállás csatlakoztatása megengedett. Az ellenállás kikapcsolásához írnia kell a PortXN naplóba. 0 vagy konfigurálja a portvonalat a kimenethez. A visszaállítás során minden portvonal a harmadik (nagy préselt) állapotban van, még akkor is, ha a szinkronizálás nem működik.
Ha PortXN \u003d 1 A portvonal kimenethez történő konfigurálásakor a kimeneti állapotot a PortXN érték határozza meg.
Mivel a DDRX és PORTX regiszterek egyidejű bejutása nem lehetséges, akkor a harmadik állam (DDXN, PORTXN) \u003d 0B00) és a napló kimenete között vált. 1 (((DDXN, PortXN) \u003d 0B11) egy köztes állapot előfordul, vagy egy csatlakoztatott meghúzás ellenálláson ((ddxn, portxn) \u003d 0b01), vagy a kimenet a log. 0 ((ddxn, portxn) \u003d 0b10). Általános szabályként az átmenet a felhúzási ellenállás csatlakoztatásával rendelkező állapoton keresztül egyenértékű a log.1 kimeneti állapotával, ha a mikrokontroller kimenete nagy impedancia bemenethez kapcsolódik. Ellenkező esetben meg kell határoznia az SFIOR PUD PUD \u200b\u200bbitet, hogy kikapcsolja az összes kikötő összes meghúzási ellenállását.
Váltás a meghúzási ellenállások és kimenet belépése között alacsony szint hasonló problémával társul. Ezért a felhasználó kénytelen vagy harmadik állam ((DDXN, PORTXN) \u003d 0B00) vagy kimeneti napló. 1 ((ddxn, portxn) \u003d 0b11) közbenső lépésként.
A 25. táblázat összefoglalja a vezérlőjelek hatását a kimeneti állapotba.
25. táblázat - A port kimenetének beállítása
DDXN. | Portxn. | Pud (SFIOR-ban) | Bemenet kimenet | Szigorító ellenállás | Megjegyzés |
0 | 0 | X. | Bemenet | Nem | |
0 | 1 | 0 | Bemenet | Igen | A PXN lesz az aktuális forrás, ha külső alacsony szintet alkalmaz |
0 | 1 | 1 | Bemenet | Nem | Harmadik állam (z-állapot) |
1 | 0 | X. | Kimenet | Nem | Kimeneti napló. 0 (folyóáram) |
1 | 1 | X. | Kimenet | Nem | Kimeneti napló. 1 (folyóáram) |
Olvassa el a kimeneti állapotot
Függetlenül attól, hogy az érték a DDXN adatfájlt, a port kimenet állapota lehet interjút a PINXN regiszter kicsit. Amint a 30. ábrán látható, a PINXN regiszter bit és a trigger retesz előzi, hogy szinkronizáló. Ez a megközelítés Lehetővé teszi a metastabilitás elkerülését, ha a kimenet változása a belső szinkronizálás előtt történt. Ez a megközelítés azonban a késedelem előfordulásához kapcsolódik. A 31. ábra ideiglenes szinkronizációs diagramot mutat be a kimeneti szinthez mellékelt felmérés során. A jeleloszlás minimális és maximális késleltetésének időtartama TPD, MAX és TPD, min, illetve.
31. ábra - Szinkronizálás a kimenetre alkalmazott szint felmérése során
A következő példákban megmutatták, hogyan kell telepíteni a kikötő 0 és 1. sorát a naplóba. 1, és a 2. és a 3. sorban - napló. 0, valamint a 6. és 7. vonalak meghúzási ellenállások csatlakoztatásával történő beállítást. A nyilatkozat lehetővé teszi annak biztosítása érdekében, hogy a visszaadási lehetőséget csak az egyes következtetések hozzárendelt állapota.
Minta kód az összeszerelőn (1) ...; Hadd húzzam fel és telepítsem a magas kimeneti szinteket; Határozza meg az LDI R16 portok ezen vonalainak irányát (1< Kb. 1: A assembler program használja két alkalommal regiszterek minimalizálása az időtartamot, ami a kiigazítás felhúzó ellenállások a bevezetések 0, 1, 6. és 7. a megfelelő telepítés az irányt az irányt az irányt, amely lehetővé teszi a napló. 0 A 2. és 3. vonalakon és a 0 és az 1. kiömlés magas szintjének cseréje, azáltal, hogy a nagy áramerősség magas szintű meghúzási ellenállását összekapcsolja. Digitális bemeneti felbontás és alvó üzemmódok Amint az a 30. ábrán látható, a bemeneti digitális jel a teljes Schmita trigger bemenethez rendezhető. Az ábrán az alvásként jelölt jel akkor van beállítva, amikor a mikrokontroller lefordítva van a bekapcsolási módba, gazdaságos üzemmódba, üzemmódba és fejlett üzemmódba. Ezzel elkerülhető a jelenlegi fogyasztás növekedésének, ha bizonyos bemeneti jelek lebegő állapotban vannak, vagy a bemeneti analóg jel szintje közel lesz a VCC / 2-hez. Az alvójel figyelmen kívül hagyja a külső megszakítások bemeneteit. Ha a külső megszakításra vonatkozó kérelmek le vannak tiltva, az alvás érvényes ezekre a következtetésekre. Az alvást más bemeneteken is figyelmen kívül hagyják alternatív funkciók végrehajtása során (lásd: "Alternatív kikötői funkciók"). Ha a kimeneti külső aszinkron megszakítás kialakítva, hogy szakítsa meg a növekvő front, eső előtt, vagy bármilyen változás, van egy log level. 1 és ugyanakkor a külső megszakítás nem megengedett, a külső megszakítás megfelelő zászlója a fent említett alvási módok kijáratánál kerül beállítva, mert A bemeneti shunt funkció az alvó üzemmódokban logikus változásokat eredményez. Nem érintett következtetések Ha több következtetés is fel nem használt, javasoljuk, hogy garantálják egy adott logikai szint jelenlétét. Annak ellenére, hogy a legtöbb digitális bemenetet a fent leírt mély alvási módokban le lehet tiltani, meg kell kerülni a lebegő bemeneteket, hogy elkerüljék a megnövekedett áramfogyasztás növelését a mikrokontroller minden más módjában, ahol a digitális bemenet megengedett (reset, aktív üzemmód és üresjárat). A legegyszerűbb módszer a nem használt kimeneten lévő bizonyos szintek jelenlétének garantálására szolgál a belső meghúzási ellenállás csatlakoztatásának megoldása. Ebben az esetben azonban a visszaállítási módban a pulóver ellenállások le vannak tiltva. Ha alacsony fogyasztásra van szükség, és reset módban szükség van egy külső meghúzási ellenállást egy plusz vagy egy mínusz teljesítményre. A kimenetek közvetlenül a VCC-hez vagy a GND-hez nem ajánlottak, mert Lehet, hogy veszélyes áram van, amelynek véletlenszerű konfigurációja ilyen kimeneten az adatkimeneten. A szaggatott műveletek logikai műveleteken alapulnak, amelyeket már korábban már megvizsgáltunk. Kulcsfontosságú szerepet játszanak az AVR mikrokontrollerek programozásában és más típusokban. Szinte nincs programköltség a megvert műveletek használata nélkül. Ezt megelőzően szándékosan elkerültük őket, hogy megkönnyítsük az MK programozásának tanulmányozásának folyamatát. Minden korábbi cikkben csak I / O portokat programoztunk, és nem használtunk további beágyazott csomópontokat, például az időzítőket, az analóg-digitális átalakítókat, a megszakításokat és más belső eszközöket, amelyek nélkül az MK elveszíti az összes hatalmát. Mielőtt folytatná a beépített MK eszközök fejlesztését, meg kell tanulnia, hogyan kell kezelni vagy ellenőrizni az AVR MK regiszterek egyedi bitjeit. Korábban egy csekket végeztünk, vagy egyszerre beállítottuk a kibocsátásokat. Foglalkozzunk azzal, hogy mi a különbség, majd tovább. Leggyakrabban az AVR mikrokontrollerek programozásakor azért használtuk, mert nagyobb láthatósággal rendelkezik, mint a kezdő programozók mk. Például csak a D. Port 3. bitét kell telepíteni. Ezért már tudjuk, hogy már tudjuk, a következő bináris kódot használhatja: Portd \u003d 0b00001000; Azonban beállítottuk a 3. kategóriát a csapat, és minden más (0, 1, 2, 4, 5, 6 és 7.) nulla. És most bemutatjuk azt a helyzetet, hogy a hatodik és a 7. kibocsátás az ADC bemenetek, és ebben az időben az MK megfelelő következtetéseihez jeleznek jelet bármely eszközről, és alkalmaztuk a fenti parancsra, állítsa vissza ezeket a jeleket. Ennek eredményeképpen a mikrokontroller nem látja őket, és úgy véli, hogy a jelek nem jöttek. Ezért egy ilyen csapat helyett egy másikat kell alkalmaznunk, amely csak egy egységenkénti 3RD bitet telepített, miközben nem befolyásolja a többi bitet. Ehhez általában a következő megvert műveletet alkalmazzák: Portd | \u003d (1<<3); A szintaxis az alábbiakban részletesen leírjuk. És most még egy példa. Tegyük fel, hogy ellenőrizni kell a Pind Regisztráció 3. kiömlésének állapotát, ezáltal ellenőrizni kell a gomb állapotát. Ha ez a kisülés nullára áll, akkor tudjuk, hogy megnyomja a gombot, majd a parancskódot úgy végezzük, amely megfelel a megnyomott gomb állapotának. Korábban használtuk a következő bejegyzést: ha (pind \u003d\u003d 0b00000000) (bármely kód) Azonban, annak segítségével ellenőrizzük, hogy nem különítünk el, - 3., és azonnal a Pind regiszter összes bitjét. Ezért, még ha a gomb megnyomása és a kívánt mentesítés visszaáll, de ebben az időben, akkor a jelet kap jelet bármely más kimenet a port D, a megfelelő élet lesz telepítve, és az a feltétel zárójelben lesz hamis. Ennek eredményeképpen a göndör zárójelben található kódot még akkor is elvégezheti, ha a gombot megnyomja. Ezért, hogy ellenőrizze a Pind regiszter egyedi 3. bites állapotát, egy kötegelt műveletet kell alkalmazni: ha (~ Pind & (1<<3)) (bármely kód) Ahhoz, hogy a munka külön bit mikrokontroller a C programozási arzenál, vannak, amelyekkel meg lehet változtatni, vagy ellenőrizze az állapotát egy vagy több egyedi bit azonnal. Egy külön bit telepítéséhez például a D port, hajlított műveletet alkalmazzák vagy. Ez volt, amit a cikk elején használtunk. Portd \u003d 0b00011100; // kezdeti jelentés Portd \u003d Portd | (egy<<0); применяем побитовую ИЛИ Portd | \u003d (1<<0); // сокращенная форма записи Portd \u003d\u003d 0B00011101; // eredmény Ez a parancs végrehajtja a nulla kisülés telepítését, és a fennmaradó levelek változatlanul változnak. Például telepítse a D. port további 6. kategóriáját. Portd \u003d 0b00011100; // a kikötő kezdeti állapota Portd | \u003d (1<<6); // Portd \u003d\u003d 0B01011100; // eredmény Egy egységet azonnal rögzíteni több különálló bitre, például nulla, hatodik és hetedik portra B. A következő bejegyzés érvényes. Portb \u003d 0B00011100; // kezdeti jelentés Portb | \u003d (1<<0) | (1<<6) | (1<<7); // Portb \u003d\u003d 0b1011101; // eredmény Egy külön bit visszaállításához három korábban felülvizsgált parancsot alkalmaznak: .
Visszaállítjuk a Portc Regisztráció 3. kategóriáját, és hagyjuk változatlanul a többit. Portc \u003d 0b00011100; Portc & \u003d ~ (1<<3); Portc \u003d\u003d 0b00010100; Hasonló műveleteket hajt végre a 2. és 4. kategóriákhoz: Portc \u003d 0b00111110; Portc & \u003d ~ (((1<<2) | (1<<4)); Portc \u003d\u003d 0b00101010; A telepítés és a visszaállítás mellett hasznos parancsot is használnak, amely különbé kapcsolja az ellenkező állapotot: egy nulla és fordítva. Ezt a logikai műveletet széles körben használják különböző világítási hatások kialakításában, például az újévi koszorúkat. Tekintsük a Porta példáját Porta \u003d 0b00011111; Porta ^ \u003d (1<<2); Porta \u003d\u003d 0B00011011; Változtassa meg a nulla, a második és a hatodik bit állapotát: Porta \u003d 0b00011111; Porta ^ \u003d (1<<0) | (1<<2) | (1<<6); Porta \u003d\u003d 0B01011010; Ellenőrizze a különálló bit állapotát. Hadd emlékeztessem önöket, hogy az ellenőrző (ellentétben felvétel) Az I / O port végzi az adatok olvasását a PIN-nyilvántartásban. Leggyakrabban a csekket a két ciklusú operátor egyike végzi: ha és míg. Már ismerjük ezeket az operátorokat. ha (0 \u003d\u003d (pind & (1<<3))) Ha a D Port harmadik számjegye visszaáll, akkor a kód1 végrehajtásra kerül. Ellenkező esetben a kód2 végrehajtásra kerül. Hasonló műveleteket végeznek egy ilyen felvételi formában: ha (~ Pind & (1<<3)) ha (0! \u003d (Pind & (1<<3))) ha (Pind & (1<<3)) A fenti két ciklus hasonlóan működik, de a C programozási nyelv rugalmasságának köszönhetően eltérő felvételi forma van. Működés! \u003d Nem egyenlő. Ha a PD I / O port harmadik kiáramlása van beállítva (egység), akkor végrehajtott kód1, ha nem - kód2. míg (pind & (1<<5)) A kód1 végrehajtásra kerül, míg a Pind regiszter 5. kategóriája van beállítva. Ha visszaállítja, a kód2 végrehajtásra kerül. Itt a C nyelv szintaxisa lehetővé teszi, hogy írjon kódot két leggyakoribb módon. A gyakorlatban mindkét típusú felvételt alkalmazzák. A mikrokontroller programozás egyik legfontosabb szempontja a nyilvántartások és a kikötőkkel való együttműködés. Az AVR sorozat mikrokontrollerek több I / O regiszterrel és 32 általános célú regiszterrel rendelkeznek. A programozó nem tud közvetlenül írni a számot egy bemeneti / kimeneti regiszterhez. Ehelyett meg kell írnia a számot egy általános célú nyilvántartásba, majd másolja a regiszter értékét az I / O regiszterre. A munkakörülmények R1, R2, ..., R31. Az írási programok egyszerűsítése érdekében nagyon kényelmes a névregiszterek megadása. Javasoljuk, hogy a tárolt információknak megfelelő neveket adjanak. Például, ha az R16 regisztert ideiglenes információ tárolására használják, akkor a temp. Ez az alábbiak szerint történik: Annak érdekében, hogy ne "hívja" az I / O regisztert és a mikrokontroller fő nyilvántartásait, elegendő a program elején, hogy csatlakozzon a használt mikrokontrollerre vonatkozó fejlécfájl csatlakoztatásához. Azok. Nem kell megadnia a kikötők, az időzítők / számlálók kikötőinek nevét stb. Például, ha a programot az AT90S8515 mikrokontrollerre tervezték: "8515def.inc" Az AT90S1200 mikrokontroller esetében az első AVR mikrokontroller, a bemeneti / kimeneti nyilvántartások száma 0 és $ 3F között van (az MK modelltől függ). Külön-külön, akkor válassza ki a PORTB I / O regiszterek, PINB, PORTD, PIND (ezek ABC jelölést csatlakoztatása után 1200def.inc, és címük $ 18, $ 16, $ 12, $ 10 - Elfogadom nagyon nehéz tartani a digitális állandók fejemben könnyebb betűnevek). A legújabb mikrokontrollerek AVR portjai sokkal nagyobbak, az A, B, C, D, E ... Fontolja meg a népszerű mikrokontroller Attiny2313 megállapításainak helyét. A 2-9., 11 lábak a PD0-PD7 nevekkel a D port, hasonlóan a B porthoz. Kérjük, vegye figyelembe, hogy a B port nyolc bites, és a D port hét. A portok bemenetként és kimenetként működhetnek. Ha a port bemenetként működik, akkor az értékek számításához, a PINB vagy a PIND REGISZTRÁCIÓ HOZZÁADÁSA - attól függően, hogy melyik port olvasható. Ha néhány fenyő magas szint a naplónak. "1", akkor az olvasási értékekben lévő megfelelő bitek "1" -ben kerülnek telepítésre. Következtetések képesek ellenállni akár 20 mA, de nem érdemes elfelejteni a kikötő összes kikötőjét. Vannak korlátozások. Ha a port kimenet van, a portvonalakon található értékek a megfelelő érték rögzítésével vannak felszerelve a Portb vagy Portd port regiszterjének. A napló létrehozása. "1" A port kimenetén a Portb vagy Portd regiszter megfelelő bitjét kell telepíteni. A kikötővel való legfontosabb munkahely az, hogy a portvonalak működéséért felelős reteszregiszterrel dolgozzon a bemenetre vagy a kilépésre. A regiszter neve DDRX, ahol X a port levél. A lábak kimenetének kialakítása érdekében meg kell írnunk a megfelelő biteket "1". Például, azt szeretnénk, hogy a PB7 port a kikötő bejáratánál, és a fennmaradó lábak kimenete van, akkor ezt meg kell írni az DDRB regiszter értékét 0B01111111. A 0b prefix azt jelenti, hogy a szám bináris formában van rögzítve. A DDRX regiszterek indításakor visszaállnak, vagyis Minden láb bemenet. Ajánlott fel nem használt lábak a készülékben, hogy bemeneteket készítsenek. Vegyünk egy egyszerű programot, amely egy mikrokontroller kikötőjével dolgozik: Tartalmazza a "8515def.inc" -t; Csatlakoztassa a fájlt a regiszter leírásaival .def temp \u003d r16 r1mp reset; Átmeneti vektor, ha visszaállítja: LDI temp, 0b00000011; A PC0 és a PC1 meghatározása DDRC, TEMP LDI TEMP, 0B00000001; Világítjuk a LED-et a PC0-en PORTC-n, a tempóban, a tempóban; Olvassa el a Port C ... LOOP-t :; Fő ciklus NOP RJMP hurok Olvasás írás Kezdő érték · Bit 7 - Minden megszakítás engedélye. A megszakítások megoldásához ezt a bitet az 1. államba kell állítani. Az egyedi megszakítás felbontását az EIMSK és a Timsk megszakítja a regisztert. Ha ez a bit törlődik (\u003d 0), akkor a megszakítások egyike sem kerül feldolgozásra. A Bit hardver törlődik a megszakítás előfordulása után, és a RETI parancs későbbi megszakítási felbontására telepítve van. · Bit 3 - Két túlfolyó zászló mellett. Támogatja a kiegészítések aritmetikáját. Az AT90S8535 mikrokontrollernek 4 párhuzamos I / O portja van A, B, C és D. Olvasás írás Kezdő érték Olvasás írás Kezdő érték Olvasás írás Kezdő érték A B port 8 bites kétirányú I / O port. Csakúgy, mint a port és a kölcsönhatás a port révén hajtják végre, három nyilvántartás az adatok input / output tér: Az adatok nyilvántartásba - PORTB, $ 18 ($ 38), adatiránytól Register - DDRB, $ 17 ($ 37), és Beviteli regiszter - Pinb, $ 16 ($ 36). A PINB-regiszter csak olvasást biztosít. A PINB-nyilvántartás nem regisztrálás a szó teljes értelmében. A fellebbezés biztosítja, hogy az egyes portkimenet fizikai állapotát olvassa el. A port képei a táblázatban feltüntetett alternatív funkciókat végezhetnek. 2.1. Alternatív funkció T0 - Időzítő / időzítő / számláló farokbevitel 0 T1 - Időzítőóra bejegyzés / mérő 1 Ain0 - Pozitív komparátor következtetése Ain1 - Negatív komparátor következtetése - Bejelentkezés kiválasztása SPI MOSI - Telepítési vezető / sebesség SPI bemenet MISO - TELEPÍTÉSI LINE / SPEED OUTPUT SPI SCK - SPI órajel Ha következtetések alternatív funkciókat, a PORTB regiszterek DDRB kell telepíteni kell. Olvasás írás Kezdő érték Regisztrálja a kikötői adatokat B -DDRB. Olvasás írás Kezdő érték Beviteli adatregiszter B -Pinb. Olvasás írás Kezdő érték A C port 8 bites kétirányú I / O port. Továbbá, hogy a kikötők A és a kölcsönhatás a C port keresztül hajtják végre három nyilvántartás az adatmemória / kimenet / output tér: Az adatok nyilvántartásba - PortC, $ 15 ($ 35), adatiránytól Register - DDRC, $ 14 ($ 34) és bemeneti adatregisztráció - PINC, 13 $ (33 dollár). A PINK-nyilvántartás csak az olvasás lehetősége, és a Portc és az DDR-nyilvántartások az olvasás és az írás lehetősége. A PINK-nyilvántartás nem nyilvántartás a szó teljes értelmében. A fellebbezés biztosítja, hogy az egyes portkimenet fizikai állapotát olvassa el. Olvasás írás Kezdő érték Regisztrálja a kikötői adatokat C -DDRC. Olvasás írás Kezdő érték Beviteli adatregiszter C -PINC. Olvasás írás Kezdő érték A Port egy 8 bites kétirányú I / O port. Emellett az A, B kikötőknél és a D portral való kölcsönhatással, az adatbeviteli / kimeneti térben három regiszteren keresztül: adatregiszter - Portdd, $ 12 ($ 32), adatirány-regiszter - DDRD, $ 11 ($ 31) és bemeneti regiszter - Pind, $ 10 ($ 30). A PIND REGISZTRÁCIÓ REGISZTRÁLHATÓ, ÉS A PORTD ÉS A DDRD regiszterek olvasása és írása. A Regisztráció nem regisztrálás a szó teljes értelmében. A fellebbezés biztosítja, hogy az egyes portkimenet fizikai állapotát olvassa el. Alternatív funkció RXD - UART vevő bejárata TXD - UART adó kimenet INT0 - Külső megszakítási bemenet 0 INT1 - Kültéri megszakítási bemenet 1 OC1B - Az időzítő / számláló kimeneti összehasonlítása 1 OC1A - Kimeneti összehasonlítás és időzítő / számláló 1 ICP - Timer Capture Trigger bejegyzés 1 OC2 - Időzítő / számláló kimeneti összehasonlító kimenet 2 Ha alternatív funkciókat használ, akkor a portd, a DDRD regisztereket ennek megfelelően kell felszerelni. Olvasás írás Kezdő érték Olvasás írás Kezdő érték Olvasás írás Kezdő érték Mivel az első, az első, az első, akkor minden diák először ugyanazt a munkát végez a diákok készségeinek megszerzéséhez a laboratóriumi komplexummal való együttműködéshez. Állásaikat a PEVM-ba ugyanazt a kivonási problémát vezették be az 5.5.3. Bekezdésben bemutatott 5.3 közül. A program összeállítása után a Microcontroller munkahelyére íródott, és munkáját a tanár bizonyítja. Palackozási műveletek
Egy külön bit telepítése
Állítsa vissza (reset) egyéni biteket
Bitkapcsolás
A kibocsátás ellenőrzése logikai nulla (reset) jelenlétére
ha
Ellenőrizze a lemerülést egy logikai egység (telepítés) jelenlétére
ha
Várakozás egy bitre
míg
Várakozás a Battal telepítésre
míg
Bit
· 6 bit - Cope Copervation Bit. A Blod és a BST bits Copy parancsok ezt a bitet használják forrásként és vevőként a csaták során. Az általános célú BST parancs bitje másolódik a t-re, a b bld parancsot t az általános célú nyilvántartási bitekre másolja.
· Bit 5 - Fél-Mannenos zászlaja. Ez jelzi a Tetrad közötti átvitelt, ha számos aritmetikai műveletet végez.
· Bit 4 - A jel jele. BIT S értéke az eredmény egy művelet kivételével, vagy (n (+) v) a fenti a zászlók a negatív érték (n) és kiegészítéseket a két túlcsordulás jelzőbitet (V).
· Bit 2 - negatív értékű zászló. Ez a zászló számos aritmetikai és logikai művelet negatív eredményét jelzi.
· Bit 1 - nulla értékű zászló. Ez a zászló számos aritmetikai és logikai művelet nulla eredményét jelzi.
· Bit 0 - Átviteli zászló. Ez a zászló az aritmetikai és logikai műveletek átadását jelzi.
Az A port egy 8 bites kétirányú port. Kölcsönhatás a port révén hajtják végre, három nyilvántartás az adatok input / output tér: adatregiszter - Porta, $ 1B ($ 3b) adatiránytól Register - DDRA, $ 1A ($ 3A), Input Data Register - Pina, $ 19 (39 dollár). A Pina Regisztráció csak az olvasás lehetősége, és a Porta és a DDRA regiszterek az olvasás és az írás lehetősége. A Pina Regisztráció nem regisztrálás a szó teljes értelmében. A fellebbezés biztosítja, hogy az egyes portkimenet fizikai állapotát olvassa el. Az A port az analóg A / D jelek megadására is szolgál.Port adatregiszter A -Porta
Bit
A portadatok adatai nyilvántartása A -Ddra
Bit
A. port -Pina.
Bit
2.1. Táblázat. A kikötői eredmények alternatív funkciói
Kikötő kimenet
Kikötői adatregiszterB. –
Portb.
Bit
Bit
Bit
A kikötőben csak két kimenettel végezhet alternatív funkciókat: PC6 és PC7 következtetések végrehajtják a TOSC1 és a TOSC2 időzítő / számláló funkcióit.Kikötői adatregiszterC. –
Portc.
Bit
Bit
Bit
A Port D A következtetések alternatív funkciókat tartalmazhatnak a táblázatban meghatározott alternatív funkciókat. 2.2.2.2. Táblázat. A kikötői következtetések alternatív funkciói D
Kikötő kimenet
Kikötői adatregiszterD. –
Portd.
Bit
A kikötői adatok nyilvántartásaD. –
DDRD.
Bit
Port bemeneti nyilvántartásD. –
Pind.
Bit
Miután egy ilyen ismerős a komplexummal, a hallgató egyéni feladatot végez. Az idő jelenlétében a tanár bonyolíthatja az egyéni feladatot.