Gyors AVR-rendszer. Biztosíték-bitek az AVR mikrokontrollerekben

A Mikroelektronika hibakeresési testületeinek kialakításának és iránymutatásainak kialakítása a tervezésen alapult. Easyavr (és nem csak), amelyet ez a vállalat gyárt, vonzza a kezdőknek a gyártási minőség mikrokontroller technikáját és a különböző komponenseket. Tény, hogy a fele feleslegessé válik ellenőrzése után a hatását 5-6 képzési programok, feltételezhető magukat, sok LED-ek és gombok csatlakozik minden sora, minden kikötőben. De csak egy kísérletezőre van szükséged, amíg meg nem tanulja a jeleket és a flash mutatókat, és ez elég gyorsan történik. A táblán csak négy LED és egy kapcsoló létezik, elég ahhoz, hogy elkezdje ...

A díjat a Fastavr néven adtam. Méretek 98x127 mm és egyoldalas nyomtatott telepítés, meglehetősen alkalmas otthon. A mikrokrokiokat csak a panelen szerelt dip-burkolatokban alkalmazzák, ami megkönnyíti azokat a kísérleti folyamatban. A mikrokontroller lehet időmérő mind egy kvarcrezonátor és a frekvencia órajel-telepített órajelgenerátor egy frekvenciaosztó, egy csatlakozóhüvelyhez való csatlakoztatásához a standard STK-200 programozó szelektív takarmány rajta, és azzal a képességgel, hogy csatlakoztassa a JTAG Adapter, ha szükséges, programozhatja és egy mikrokontroller dolgozni. Egy másik eszközön.

A táblán van a legszükségesebb perifériák csomagolására hibamentesített tervez: kétbites hét elem LED kijelző, szimbolikus LCD, RS-232, SPI, PS / 2 interfész (csatlakoztatásához egy szabványos számítógép-billentyűzet vagy a „egér” ), EEPROM Microcircuit, hangjelző eszköz. Ezen eszközök többségét az önkényes kombinációk bármely mikrokontroller portjának bármilyen következtetéseihez csatlakoztathatjuk, minden port áll rendelkezésre, és a fedélzeten kívüli eszközök csatlakoztatása. Elérhető az eszközökön, beleértve a kvarc generátor és a LED jelzőit is, akkor is csatlakoztatható az eszközökön kívüli eszközökhöz, amelyek mindezek a csatlakozások nem igényelnek forrasztást, és a fórumon elérhető kapcsolatok és a külső eszközök között vannak felszerelve .

Kezdetben egy hibakeresési tábla egy olcsó microcontroller Atmaga8-val, amely szinte minden inherens család (AVR) rendelkező lehetőségekkel rendelkezik, úgy döntöttem, hogy nem mentem és alkalmazzam ugyanazt a család mikrokontrollerjét a DIP ügyben a maximális számú következtetések számával (40) - ATMEGA16 vagy ATMEGA32. A következtetések helyszíne ugyanaz, és bárki telepíthető a leírt táblán. Számos kimenet lehetővé teszi, hogy a program hibakeresésére lehet csatlakozni a különböző perifériás eszközök csatlakoztatására. Mivel az AVR család mikrokontrollerjei programozott kompatibilis kompatibilisek, egy erősebb programnak szentelve, mivel általában egy kevésbé erőteljes figyelemre méltó, természetesen különbségeikre való átruházás.

A debugó fedélzeten telepített mikrokontroller ugyanazon példányán sok különböző program hibakerhet. Szoftver (vaku) A modern mikrokontrollerek memóriája lehetővé teszi olyan sokféle újraprogramozását, hogy amikor a program számos változtatása a hibakeresés folyamatában, akkor nem gondolhat az erőforrás lehetséges kimerülésére, még akkor is, ha az első jelei jelennek meg ( Néhány memóriacellát nem programoznak az első alkalommal) Microcontroller, a hibakeresési fórumon töltötte, ne dobja el. Az utóbbi időben programozható, küldhet "állandó munkát" küldeni az egyik korábban jól megalapozott struktúrához.

A Fastavr tábla fő csomópontjának sémáját az 1. ábrán mutatjuk be. 1. A periféria minden csatlakoztatása a DD2 mikrokontroller kikötőihez kétsoros 16-pólusú HR1-XP PIN csapokkal történik. Mindegyik csapok mindegyike csatlakozik a mikrokontroller kikötőinek kimeneteihez, és furcsa - a rendelkezésre álló a fedélzeten perifériás eszközök. A szomszédos csapok hibakereséséhez való elrendezésekor kényelmesen a hagyományos jumperekhez kapcsolódnak, és az eltávolításhoz egy másik blokkban, vagy akár egy másik táblán is, a rugalmas szigetelt vezeték szegmenseiből származó jumperek, amelyek mindkét végén a a csatlakozók (2. ábra). Az aljzatokon hőre zsugorodó csövek vannak felszerelve.


Az ugyanazon csapok hibakeresési folyamatában kényelmes csatlakoztatni a vezérlést és a mérőműszereket: oszcilloszkóp, frekvenciamérő, tesztjelek generátor. A csapok sora sorban a kikötő kategória számának növelése érdekében megkönnyíti a jobb keresést, és jelentősen csökkenti a zavaró kockázatát. Ilyen megoldás véleményem szerint sokkal kényelmesebb, mint a legtöbb ipari hibakeresések használatával az évtizedek-inaktív kétsoros IDC-10 csatlakozók külső csatlakoztatásához. Az egyetlen előny egy olyan kulcs jelenléte, amely a megfelelő dokkolást biztosítja a csatlakozó összekötő részével. És ha egy vezetéket vagy a mérőműszer szondát összekapcsol, akkor minden alkalommal figyelembe kell venni a kapcsolatot, emlékeztetve a mikrokontroller következtetéseinek betartásának sorrendjére.

Ha a S2-S4 rövidzárak eltávolítjuk, A S5 és S6 vannak telepítve, egy kvarcrezonátor ZQ1 van kötve egy belső órajel-generátor egy mikrokontroller, amelynek gyakorisága a választható bármely szükséges a feladat megoldható. A fórumon 16 MHz-es integrált kvarc generátorral is rendelkezik. A DD1 chip triggerek két-négyre osztják gyakoriságát. Az S5, S6 jumper eltávolítása és az S2-S4 ugrók egyikének telepítése után lehetőség van a mikrokontroller (13 kimenet 13) impulzusok Órájára, 4, 8 vagy 16 MHz-es frekvenciával. Ez biztosítja a mikrokontroller működését olyan konfigurációval, amelyben a belső óra RC generátor ki van kapcsolva.

A külső generátor órája hasznos lehet, és visszaállítja a mikrokontroller teljesítményét, amelynek konfigurációja hibásan fordul elő. Olvashat róla.

Bár a mikrokontroller saját nem illékony adatmemóriáját tartalmazza, gyakran nem elegendő a szilárd feladathoz. A probléma megoldható a kívánt térfogat külső memória mikrokirkójának mikrokontrollerjével való csatlakoztatással. A FASTAVR kártyán ez az 1. ábrán látható rendszer szerint történik. 3 DS1 chip 24c vagy 24LC sorozat - újraprogramozott nem illékony memória I2C interfésszel. Az AO-A2 bemenetei olyan módon vannak összekötve, hogy az interfészbuszban lévő cím LED-je 1, a két pedig nulla.

Ábrán. A 4. ábra mutatja a rendelkezésre álló rendszert a Control és Jelzés. Az SA1 négyszeres DIP kapcsoló a mikrokontroller portjainak következtetéseihez kapcsolódik. Az R4-R7 ellenállások védik ezeket a következtetéseket, ha véletlenszerűen programoznak túlterhelési kimenetek, amikor zárt kapcsolók. A DR1 szerelési ellenállások nagy logikai szintet támogatnak a mikrokontroller bemeneteken, amikor SA1.1-SA1.4 kapcsolók nyitottak. Az ötödik "extra" összeszerelési ellenállás használható olyan szinten, hogy bármilyen láncra nyújtson be.
Négy HL1 -HL4 jel LED-ek izzóak a nagy logikai szinteken a kimeneteken, amelyekhez csatlakoztatva vannak, és nem lesz alacsonyabb. Ellenállások R8-R11 korlátozzák az áramot.

A két méretű hételemes LED jelzőfényű HG1 elektelhódák átkapcsolása VT1-VT4 tranzisztorokon összegyűjtött. Mind a közös anódok (például DA56-11) és a közös elemek (például DC56-11) jelzőit vezérelhetik, csak az R12-R21-hez mellékelt szoftverek szükséges polaritását kell biztosítani Ellenállások. Az ilyen mutatók könnyen megtalálhatók a pénztárgépek és a rendszerblokkok számítógépblokkjaiban. Az S7 Jumper eltávolítása után letilthatja a HG1 jelző alacsonyabb kibocsátásának H (decimális pontját).

Az XP5 csatlakozó a beépített vezérlőkkel csatlakozik a közös szimbolikus LCD Fastavr kártyához. Valójában ez egy kétsoros 34-pólusú IDC-34MS csatlakozó, de csak egy sor 17 érintkezőjét használjuk. Az ábrán látható számuk nem felel meg ennek a szabványos csatlakozónak, de egybeesik a leggyakoribb LCD eredményeinek. Az ilyen csatlakozó jelenléte lehetővé teszi, hogy kommunikáljon a jelzővel egy szabványos számítógépes 34-pro-vizes lapos kábellel, amelynek célja a rugalmas lemezek meghajtójának csatlakoztatása alaplap. Az LCD interfész érintkezőhelyeinek megnyitása során 14 pólusú csipetblokkot helyeztek be és forrasztva. Egy csatlakozó van rá lapos kábelÉs a második be van helyezve az XP5 csatlakozóba. A több ezer érintkezők a mikrokontroller portjai kimeneteihez kapcsolódnak a debug-in eszközben lévő befogadási sémának megfelelően. A csatlakoztatott jelzővel ellátott tábla az 1. ábrán látható. öt.

Az LCD összekapcsolásának módja viszonylag komplex, de kényelmes, mert a mutatók különböző típusokUgyanaz a Cocoovka, akkor gyorsan változhat, anélkül, hogy kockáztatnánk a következtetéseik összekapcsolási sorrendjét a mikrokontroller kikötőivel. R23 gyors ellenállás kontrasztszabályozóként szolgál.

A B1 hangtalan jelzőeszköze 80 ohm-rezisztencia elektromágneses emitter, amely a számítógép alaplapján található. A VD1 dióda elnyomja az önindukciós feszültségkibocsátást a riasztás jelzésére, ha impulzusfeszültséggel működik. Csökkentse az R22 ellenállást, hogy növelje a hangmennyiséget, ne legyen. Ez egy mikrokontroller kimenethez vezet.

Kis tanács. Ne felejtsük el a generációs program eljárás végén hangjelzés Küldjön parancsot alacsony szint A PD7 mikrokontroller kimenetén. Ha a szint itt is magas, a jelenlegi keresztül a kibocsátó a B1 tovább tud folyni és szüneteiben jelek, ami vezet általános növekedést energiafogyasztás mikrokontroller.

Rendszer külső interfészek A hibakeresési tábla az 1. ábrán látható. 6. Az XS1 csatlakozóhoz csatlakozhat számítógép billentyűzet vagy "egér", és csatlakoztassa az XS2 csatlakozót a számítógép COM portjával. A tipikus séma szerint tartalmazó DA1 mikrocirkó koordinálja az RS-232 jelek és a mikrokontroller szintjét. Az S8-S10 jumperek vékony részek a nyomtatási vezetők, amelyek vághatók, ha nem csak információt kell használni, hanem az RS-232 interfész vezérlőjeleit is a hibakereső eszközön.
Az L1-L5 fojtók elnyomják a nagyfrekvenciás interferenciát. Ezek kis ferritcsövek a vezetékeken. Ilyen könnyen megtalálható a számítógépes táblákon.

A Fastavr kártyára telepített mikrokontroller programkódok feltöltéséhez az XP6 csatlakozó csatlakozik a programozóhoz. A vele való munkavégzés idején az S1 jumper (lásd az 1. ábrát) ajánlott, ha eltávolítjuk a mikrokontroller kezdeti telepítésének láncolatát a táblán. Ha a programozónak saját áramforrása van, akkor az S11 jumper eltávolítása szükséges. Amikor telepítve van, a programozó a hibakeresési tábla működik.

Az STK-200-hoz hasonló programozót használtam. Az áramköri kártya diagramja és rajza az 1. ábrán látható. 8 és 9 V. Ebben a programozóban csak egy KR1564AP5 chip (74HC244AN) van csatlakoztatva a számítógép LPT portjához. A kvarc rezonátor telepítése a programozóban nem szükséges, a hibakeresési fórumon van. Ha dolgozik ezzel a programozóval és a PONYPROG programmal a CORE2DUO + \u200b\u200bprocesszorral, 1965 chipset és működési windows rendszer XP SP3 Nincs probléma merült fel.

A hibakeresési tábla gyűjteményének áramkörét az 1. ábrán mutatjuk be. 7. Vegye fel a 3 XP7 csatlakozót külső forrás A stabilizált feszültséget +5 V. S12, S13-os jumpereket el kell távolítani. Ha a 9 ... 16 V állandó feszültség forrása van, pozitív kimenete a 2 azonos csatlakozó és az S12, S13 beépített jumperek érintkezőjéhez van csatlakoztatva. Ebben az esetben a külső stabilizált feszültség nem szükséges, a DA2 integrált stabilizátor alkalmazásával kapjuk meg.

Ha a HG1 LED nem használható, és bármilyen külső eszköz nincs csatlakoztatva a táblához, a DA2 stabilizátor hőmérséklete kicsi. Ha a hűtőborda jelenléte ellenére a stabilizátor erősen felmelegszik, akkor ajánlott átkapcsolni egy külső nagy teljesítményű feszültségforrásból 5 V.

A VD2 és a VD3 diódák védik a tápellátás helytelen polaritásától. Throtes (ferritcsövek) L6 és L7 elnyomja a nagyfrekvenciás interferenciát. A CT12-X17 (+5 V) és a HT18-HT22 (összesen) és a HT18-HT22 (összérték) és a HT18-HT22 (összesen) különböző külső eszközökben alkalmazható. Ezenkívül a HT18-HT22 érintkezők kényelmesen csatlakoztatják a mérőműszerek teljes vezetékét.

Az áramköri kártya rajzát az 1. ábrán mutatjuk be. 8. Ez egyoldalú fólia fibercker vastagság 1,5 mm. Ne feledje, hogy a szigetelt vezetékből két jumper-eltolódott vonalak vannak felszerelve a nyomtatott vezetékekből. A többi a vezetékből elkülönítés nélkül készül, és a részoldalon található. A DA1, DD1, DD2, DS1 chipek és a HG1 LED jelző esetében a panel a táblára van felszerelve, amely lehetővé teszi, hogy gyorsan kicserélje ezeket az elemeket, ha szükséges. Ferritcsövek hiányában az L1-L7 fojtók helyett a jumperek telepíthetők.

Az XS1 csatlakozó mellett van egy leszállóhely egy másik csatlakozóhoz, amelyet az XSV jelzi. Bár a következtetései nem kapcsolódnak bárhol, lehetővé teszi, hogy egyszerűen telepítse a kettős MDN-6F aljzatot számítógépes alaplapra. XS2 csatlakozó - DB-9F aljzat.

CHR1-HR4 pin, HT1 -HT22 csapok és beépítésre szánt jumper S1 - S7, S11-S13 készülnek, kétsoros csatlakozó a PLD sorozat, vagy egysoros PLS sorozat. A kívánt névjegyek megszerzéséhez a megfelelő hosszúsága vagy szegmensei hiányzó érintkezőkkel vannak elválasztva.

Kérjük, vegye figyelembe, hogy a PT4-HT11 csapok érintkező oldalai mellett ingyenes kontaktlencsék vannak. Ez lehetővé teszi, hogy telepítsen egy kétsoros PIN-blokkot itt, nem pedig a "lazítás", gyakori javaslatokkal. A KHR5 csatlakozóról (IDC-34MS) korábban említette. Az XP6 csatlakozó (a programozó számára) ugyanazon sorozat (IDC-10MS) évtizede. A hárompólusú XP7 tápegység eltávolításra kerül az alaplapról, ahol a ventilátor csatlakoztatására szolgál. Ez leállt a csatlakozó válaszának keresésére, amely úgy van kialakítva, hogy csatlakozzon a tápegységhez.

Az alsó (a rajz) részei a fedélzeten van egy téglalap alakú mező, amely tele van a kapcsolattartó oldalakkal - tartalék, amely mindenféle kiegészítő elemet forgalomba hozhat, amely a hibakeresés során szükséges. Az általam készített fizetéskor itt telepítve volt, például egy változó ellenállás, amelynek 22 Com megnevezése. A +5 V-os feszültséggel töltöttük, és a motorról eltávolított állítható állítható állítható beállítható a mikrokontroller ADC ellenőrzésére.

Az RS-232 interfész nagyon kényelmes a hibakeresés során, hozzáadva a hibakeresési programot a programba, amely a szükséges információkat a USART Microcontroller segítségével küldi el. A számítógépen fut, amelynek egy olyan COM-portja van, amely összeköti a hibakeresési tábla XS2 csatlakozóját, a terminálprogramot, figyelheti a fogadott üzeneteket.


A V1.9b terminál programot használtam, amely az interneten megtalálható keresőmotor. A program ablakának ablakát az eszköz hibakerítőjéből érkező és továbbított üzenetek példáival az ábrán látható. 9. Az orosz szöveg normál megjelenítéséhez kattintson a "Betű betűtípus" gombra, válassza ki a megnyíló ablak betűtípusát - A szokásos méret 8, a szimbólumkészlet cirill.

PCB fájl a Sprint Layout 5.0 formátumban és olyan programok példái, amelyek bemutatják a csomópontok tábláján rendelkezésre álló munkát:

IRODALOM
1 Baranov V. Az AVR mikrokontrollerek konfigurációjának helyreállítása. - Rádió. 2009, № 11, p. 26-29.

S. Borisov, Knotovaya Tula régió.
Rádió Nos. 8-9 2010.

Gyakran szükség van bármely eszköz vezérlésére (az izzólámpa, a motor, a motor, a barna vagy egy egyszerű LED) a PWM-en keresztül.

Valószínűleg megmagyarázza, hogy mi az, és abban, hogy a Shim Control varázsa nem szükséges, már sok információ van az interneten, és nem valószínű, hogy jobban megtéveszti ezt a témát. Ezért azonnal lépni az üzleti, nevezetesen, elkezdjük a PWM az ATTINY2313 segítségével Bascom-AVR.

PWM B. aVR mikrokontrollerek A számlálók időzítésére szolgál, a Tiny2313 MK-ban, csak 2: 8 bites időzítővel, legfeljebb 255 és 16 bites időzítővel, amely képes 65535-re számítva. Minden időzítő két PWM csatornát vezérel, így minden hardver képes több mint 4 csatornát kell végrehajtani.

A PWM csatornáinak számával kapcsolatos információk és az egyes csatornák kisülése az adatlap oldalára a mikrokontrollerre remeghet.

Így az ATTINY2313 fedélzetén két 8 bites WIM csatornák vannak a Timer0-től és két több csatornát futtató időzítővel, amelynek időzítője 8-10 bites programozható bit van. Az adatlapon ezek a lábak a következőképpen vannak aláírva:

Annak érdekében, hogy konfigurálhassuk a Timer1 időzítőt a PWM generálásához a BASCOM-ban, elegendő a következő sor leírása:

Config timer1 \u003d pwm, pwm \u003d 8, hasonlítsa össze a pwm \u003d tisztítás, összehasonlítás b pwm \u003d Törölje le, prescale \u003d 64

PWM \u003d 8 Kiválasztja a PWM bitet, a Timer1-re, mivel a fentiekben leírtak szerint pwm \u003d 9 vagy pwm \u003d 10.

Hasonlítsa össze a / b pwm \u003d Törlés / Törölje itt Itt konfigurálja az aktív állapotot minden PWM csatorna (A és B) esetében.

Prescale \u003d 64 - Már ismerős időzítő konfigurációs karakterlánc, amely felelős az időzítő túlcsordulási frekvenciájának előkészítéséért ez az eset Az osztó beállítja a PWM frekvenciáját. Megváltoztathatjuk saját belátása szerint Prescale \u003d 1 | 8 | 64 | 256 | 1024


A generált jel működési ciklusát az OCR1A és OCR1B összehasonlító nyilvántartások (két csatornánk) értéke határozza meg (két csatornánk van, két időzítőnk van, itt egy regiszter az A és B csatornán. A nyilvántartásokban fekvő értékekkel folyamatosan összehasonlítja a számlálóregiszter értékét (az időzítőre másolják), ha egybeesnek, az MK lábkapcsoló az aktív állapotra, és a számláló nyilvántartás továbbra is olvasható maximális érték. Miután megvizsgálta a maximális értéket, az időzítő megkezdi számolni ellentétes irány, És elérte, amíg az értékek a számláló regiszter és összehasonlító regiszter ismét egybeesik újra, akkor kapcsolja vissza a lábát a mikrokontroller (lásd alább).



Számunkra az OCR1A és OCR1B összehasonlító nyilvántartások csak változóak, amelyekben értéket adunk. Például:


OCR1A. = 100
OCR1B \u003d 150.


A kényelem egy bankettjén ezen nyilvántartások egy másik nevét is biztosítják: PWM1A és PWM1b, így a korábbi vonalak megfelelnek a következőknek:


Pwm1a. = 100
Pwm1b \u003d 150.

Most fogjuk megérteni, hogy a Tiszta Up / Clear DOWN aktív állapotát konfiguráció befolyásolja, hogy mi történik a PWM kimenet függően összehasonlító regiszter.

Ha a kimenet a PWM \u003d Törölje az aktív kimeneti állapotot, magas szinten és az OCR (PWM) nyilvántartási érték növekedésével, az arányos feszültség ezen a lábon növekszik. Pontossággal, éppen ellenkezőleg, minden megtörténik, ha a kimenet összehasonlításra kerül, mint egy pwm \u003d tisztázza. Mindez jól illusztrálódik az alábbi képen.



Azok az értékek, amelyeket ezek az összehasonlító nyilvántartások elveszik a Shim csatorna kiválasztását. A PWM \u003d 8 (8 bites PWM) 0 és 255 között lehetséges; a pwm \u003d 9-en 0-tól 511-ig; A PWM \u003d 10-el 0-tól 1023-ig. Itt mindenki világos.


Most egy kis példa: Csatlakoztassa a LED-eket a mikrokontrollerhez, amint az a diagramban látható (az MK teljesítménye a diagramban nincs megadva)


És írjon egy kis programot:


$ Crystal \u003d 4000000

Config timer1 \u003d pwm, pwm \u003d 9, hasonlítsa össze a pwm \u003d törölje le, hasonlítsa össze a b pwm \u003d törölje, prescale \u003d 8
Konfigurációs portb.3 \u003d kimenet
CONFIG PORTB.4 \u003d Kimenet

IND PWM1A. "Zökkenőmentesen növeli az összehasonlító regitás OCR1A-t
IND PWM1B. "Az OCR1b összehasonlító regiszter értékének simítása

LEALMS 20. "Hozzáadás késleltetés

Hurok.

Vége.

Miután összeállították és felvillantották a programot a vezérlőbe, az egyik LED-ek (D1) zökkenőmentesen írják le a fényerőt, és a másik (D2) simán megy


Ha most piszkálni az oszcilloszkópon a hozam PWM, kiderül, egy ilyen kép egy pelenkázó impulzusok (kék jel os1a, piros a os1v):


Timer0 időzítő konfiguráció A generál PWM, majdnem ugyanaz, kivéve, hogy Timer0 egy 8 bites időzítő, és ezért a PWM által generált ez az időzítő mindig van egy kis 8. Ezért, konfigurálása ez az időzítő, a PWM-bit nem határozza meg:

Config timer0 \u003d pwm, hasonlítsa össze a pwm \u003d törlése, összehasonlítása b pwm \u003d Törölje le, strecale \u003d 64



Most egy hasonló példa a LED-ekkel, de most a PWM a Timer0-rel fog létrehozni:


$ regfile \u003d "attiny2313.dat"
$ Crystal \u003d 4000000

Config timer0 \u003d pwm, hasonlítsa össze a pwm \u003d törölje le, hasonlítsa össze a b pwm \u003d törölje, prescale \u003d 8
Konfigurációs portb.2 \u003d kimenet
Config portd.5 \u003d kimenet

Injekciós pwm0a " zökkenőmentesen növeli az OCR0A regiszter értékét
Inn pwm0b " zökkenőmentesen növeli az OCR0B regiszter értékét

LEALMS 20. "Hozzáadás késleltetés

Hurok.

Vége.

Csatlakoztassa a LED-eket a Timer0 PWM kimenethez, ahogy az ábrán látható:

Minden hasonló: az első LED (D1) zökkenőmentesen erősíti a fényerőt, és a második (D2) zökkenőmentesen kialszik.


Shim generációs frekvencia számolás

Ha meg akarja tapasztalni a sebességváltó gyakoriságát, akkor ne legyen nehéz. Nézd meg az alábbi képletet:

Pwm frekvencia \u003d (kvarc frekvencia / offset) / (számláló regiszter mérete * 2)

Például több értéket fogunk kiszámítani:

1. Quartz frekvencia \u003d 4000000 Hz, Offset \u003d 64, PWM bit 10 bit \u003d\u003e Számláló regiszter mérete \u003d 1024

Pwm frekvencia \u003d (4000000/64) / (1024 * 2) \u003d 122 Hz

2. Frekvencia kvarc \u003d 8000000 Hz, offset \u003d 8, pwm bit 9 bitek \u003d\u003e Számláló regiszter mérete \u003d 512

Pwm frekvencia \u003d (8000000/8) / (512 * 2) \u003d 976,56 Hz

3. Quartz frekvencia 16000000 Hz, Offset \u003d 1, PWM bit 8 bitek \u003d\u003e Számláló regiszter mérete \u003d 256

PWM frekvencia \u003d (16000000/1) / (256 * 2) \u003d 31250 Hz

A Fastavr univerzális hibakeresési tábla kezdőknek az Atmel MK programozásban egy tucat hasonló formatervezés elemzésén alapul. A díj ésszerű kompromisszum a legtöbbjük redundáns funkciói között vagy mások túl primitív tulajdonságai között. Van néhány tapasztalat a különböző mikroprocesszoros rendszerekkel való munkavégzésben, az alábbiakban megjegyzem a gondolataimat, - mint egy vagy egy másik fedélzeti csomót. Egyetértek velük, vagy nem - az Ön vállalkozása, de részben lehetnek hasznosak a jövőbeni avr mester ...

A tervezés kialakítása a mikroelektronika (http://www.mikroe.com/ru/) fejlesztésén és támadásain alapult. De EasyAVR díjak (és nem csak) túl sok komponensek, amelyek vonzzák a variestic és minősége újonnan mikroprocesszoros berendezések, sőt a fele a feleslegessé vált, miután a sikeres összeállítás 5-6 példát programok és tapasztalatszerzés. Gondolod, miért van szüksége egy csomó LED-re és gombokra, amelyek összekapcsolódnak az egyes kikötőkhöz? Mindez igaz, amíg nem fogja megtudni, hogyan kell irányítani a kikötői kikötői és dobja mutatókat, és ez nagyon gyorsan megtörténik ;-) Ebben az esetben 4 LED van a táblán, és a kapcsoló elég elég ...

Tehát a hibakeresési bizottság lehetősége:

  • fő Periféria szett ATMEGA támogatás: RS-232 konverter, Biper, SPI EEPROM, LCD és LED kijelzők, Beépített órajel generátor + kvarc, PS-2 billentyűzet, ADC Tester, Logic teszterek;
  • az otthoni, egyoldalas nyomtatott áramköri kártya megismétlésének képessége optimalizálható lézeres vas-technológiához, kis mérethez;
  • az összes alkatrész csak a DIP-házakban történő alkalmazása megkönnyíti azokat a kísérletek során, vagy a processzor programja más rendszerekhez (például a JTAG esetében);
  • teljes funkcionális elegendő az eszközök egyszerű prototípusainak megteremtése és hibakeresés;
  • standard SPI SPI SPI csatlakozó szelektív tápegységgel a programozónak, a képességgel külső kapcsolat Jtag;
  • az a képesség, hogy lehetővé tegye a tábla JTAG Ice módban egyszerű ajánlást;
  • a periféria független kapcsolódási lehetősége bármilyen kombinációban az összes MK port helyének lineáris technológiájának köszönhetően;
  • a külső perifériás és az ATMEGA-források 100% -án való használatának lehetősége az ATMEGA erőforrások 100% -ára a DIP-40-ben minden port, ráadásul - az asztal összes belső perifériája lehetővé teszi, hogy külső eszközökhöz (például egy óra generátor vagy LED mutatók;

Mindez nem igényli a díjak vagy forrasztás finomítását. Így A Fastavr MK lehetőségeinek kezdeti szakaszában elég elég. Az, aki saját szoftverének létrehozását követi, önállóan dönthet úgy, hogy kifejezetten és a prototípusát a tervezés saját perifériáival kell elvégeznie. Ismét a nyugtát az MK AVR tanulmányának megkezdéséhez hozza létre, senki sem üldözött. A dokumentáció megjelenése maga az az érdeklődéshez kapcsolódik, amit sok kezdő fejlődik ez a típus Vezérlők, vagy még mindig úgy gondolják, hol kell elkezdeni. És természetesen el kell kezdened a vizsgálati díjat ;-)

Az MK AVR-önellátó vezérlők azonban a processzor nem az egész rendszer. "Az általuk kiszolgált vagy általuk ellenőrzött kockák önmagukban önmagukban a jövőbeli struktúrák külön blokkoként tekinthetők meg. A főtáblán való kombinálással mindannyian együtt lehet a szükséges eredmények kombinálásával. Először a díjat az ATMEGA8 alapján tervezték, mert Olcsó és szinte minden AVR képessége van. Azonban a tanács lebegése, úgy döntöttem, hogy nem mentem, és a mikrokontroller-atmega16 mikrokontrolleret a dip-házban vagy 32-ben hozzáférhetővé teszem. Mindkét MK azonos. Az ilyen megoldás költsége százszorosan kifizeti az I / O portok számát, amelyekhez legalább a hibakeresési időtartamra csatlakoztatható. Az AVR összes generációjának alulról felfelé történő kompatibilitás lehetővé teszi a programok írásbeli és hibakeresését egy erősebb chip használatával, majd készítsen össze a célkristályt. A vaku elegendő erőforrása lehetővé teszi, hogy ne "kitöltse" a Mega újraprogramozásának lehetőségeinek korlátozását, különösen azért, mert elegendő, küldje el az MK-t a munkatervhez, az utolsó alkalommal varrja (Jtag jég az első kihívó)

A tábla gyártásához egy kis "szemetet" megfelelő számítógépet vesz igénybe, amely elég az elektronika tárolószobájában. A legtöbb komponenst a régi vagy elutasították alaplapok Az IBM PC vagy a közeli számítógépes technológia, a közelmúltban a vasat egyre inkább szétszerel, és használat nélkül dobják el. Mivel SMD kis dolgokkal gyakorlatilag semmi sem tehet semmit (rendezze a problémát és az időt ...), az ilyen eszközöket teljesen vagy egy építőipari hajszárítót vagy elektromos tűzhelyet húzok ki.

Az alábbi Fastavr fő leírása blokkolja:

Étel. A beépített stabilizátor 78 (m) 05-nél lehetővé teszi a 9-12v széleskörű adapterekből származó díjakat, amelyek általában üresjáratban vannak. Ennek a szokásos befogadásában elegendő (Meg-16/32 + LCD + RS232 + TXO), ha egy tipikus 7 szegmensű LED-t használ, vagy rendkívül óvetlen külső periféria (komplex programozó), a stabilizátor már nagyon forró. Külső stabilizált feszültség csatlakoztatása + 5V lehetséges a PIN-3 X1 (a csatlakozó a Máté hűtőjeiből). Korábban ki kell kapcsolnia a VCC_sel csoport JP1-JP2 jumperjeit. Az ilyen típusú X1-t több okból választják ki, a fő szinte mindig adaptert készíthet a tábla különböző adapterekből, amelyek rendelkezésre állnak vagy laboratóriumi bp-et. Húsvét ferrit ferrit files (Balun) FB1, FB2 szűrőimpulzus interferencia és rf tipp. A VD1 diódákon a VD2 a "felügyelet". Több helyen a táblák vcc_ext és GND_EXT jumpers telepítve vannak. Ezeken keresztül elegendő egyszerűen, ha a periféria összekapcsolása a tápfeszültség és a teljes "Föld" eltávolításához.

A külső memóriát az I2C EEPROM 24CXXX szabványra hajtják végre. Bár az AVR maga is magában foglalja saját nem illékony memóriáját, de sok tervben külső chip előnyös lehet az erőforrás térfogata miatt. A befogadó áramkör szabványos, a 0x01 kristály címe.

Lineáris LED port állapotjelzők A HL2-HL5 4 diszkrét LED-eken készül. Az AVR-vel végzett kísérletek megkezdésekor ez elegendő, több számuk, úgy vélem, hogy nem indokolt és meglehetősen díszített. A LED-ek szerepelnek a port naplójának írásakor. "1", így tovább A port állapota jelzés nélkül jelenik meg, amely kényelmes és vizuális.

Az LCD jelző táblájához csatlakoztatva 2 csatlakozóval készül, mind a 8 bites, mind a 4 bites üzemmódot használhatja. Ezek közül az első a 34 pins x2 (a 3,5 "meghajtóból) lehetővé teszi, hogy a kívánt hosszúságú meghajtók standard feltöltött hurkokat használjon a kívánt hosszúságú meghajtókból, maga a jelzőn jobb, blokk), lehetővé teszi, hogy gyorsan változtassa meg a különböző mutatókat a félelem nélkül. A következtetések konvertálása nélkül csatlakozik. Az ABRA portjaihoz való csatlakozás az X10 PIN-blokkon keresztül történik, amely az LCD csatlakozási mód mellett rugalmasan válassza ki a következtetéseit Mk. Ez a kialakítás lehetővé teszi, hogy könnyedén alkalmazkodhasson a vezérlő szabad portjaihoz, még a "tárcsázza" őket az egyik különböző csoportban, amely szükséges, ha egy különösen hibás prototípusra vagy egy újonnan kialakított nyomtatott áramköri kártyára van szükség, kiderül, hogy kiderül kényelmesen vezetékezésben.


Sok esetben az LCD-kijelző használata nem indokolt ár, dimenziók vagy megbízhatóság. Például a legegyszerűbb töltő Vagy az időzítő keményen dolgozik, és a 2 bites LED jelzőt. A közös típusú kettős 7 szegmensű mutatók jelenlétében 14 mm-es jelzéssel rendelkező, mindkettő közös anóddal és egy közös katóddal (írott pénztárgépek és rendszerblokkok 486 számítógép). 2 ütemű kulcsokat kellett alkalmaznom a VT1-VT4-en, hogy bármilyen típusú jelzőt csatlakoztasson, és ennek megfelelően a jelzőt hozza létre, hogy a jövőben ne szakítsa meg a fejét áramkörrel.

Minden csatlakozási perifériák az ATMEGA portokhoz, amint korábban említettük, lineáris x3-x6 PIN-kódon keresztül készülnek. Főleg az adósságköltségeken megfigyeltem az IDC-10 csatlakozók (2x5) használatát. Az egyetlen előnye ennek a "kulcs" jelenléte, annak érdekében, hogy ne vegye be a plume helyeken, amikor csatlakoztatva van. Ezért az ilyen módszer előnyei véget érnek, és a hiányosságok megkezdődnek - még vizuálisan kényelmetlenek, hogy 8 számjegyű kikötővel dolgozhassanak, mert A következtetések nem egy sorban találhatók, lehetetlen, kivéve a hurok a beépített perifériát. A PIN-blokkok használata közvetlenül az ellenkező eredményt adja, kivéve, hogy a standard jumper-jumper segítségével könnyen ellenőrizhető, például a fenti jelek, például logikai szonda Vagy az oszcilloszkóp, nem kell piszkálni és számolni a kikötő kikötőjének félelmét a véletlenszerűen "blokkolni" következtetéseket. Adja hozzá a kapcsolat maximális legalacsonyabb és újrafelhasználhatósága, mert sokkal könnyebb cserélni egy hurkot vagy jumperet, mint a díjért felelős csatlakozó. Ráadásul most már az eladásunkban is megtalálható a csatlakozók ilyen válaszrészeit (vagy a régi rendszeregységekből), ami megkönnyíti és gyorsan összekapcsolja a csatlakozókat (ábra):


Hangra alkalmaztak egy közös bipper, amelynek ellenállása kb. 80 ohmat a Mattlat-től. A jel nem nagyon hangos, de elegendő a vezérléshez (R23 és így kiválasztva a határon). Egy külön kulcs, amit nem tettem senkit, aki azt akarta rekonstruálni, hogy a temp. Egy kis tanácsadás - a hanggal való munka, ne felejtsük el az eljárás végét, hogy olyan jelet generáljanak, hogy parancsot adjon a naplóba. "0" PD7 kimenet, egyébként a generáció leállítása után az "1" és a A hangszóró továbbra is megy, hogy nincs jó azonban az AVR-A teljes fogyasztásának megfontolására.

A 4 bites DIP kapcsoló SW4, a portok logikai jelei összeszerelve. Itt a számmal rendelkező helyzet hasonló a LED LED-ekhez. Mivel Az Avrov bemenetek belső plug-in-up rezisztenciával rendelkeznek, illetve a "harisnyatulajdonosok", hogy nincs szükség étkezésre. Az R18-R21 ellenállások védelmet nyújtanak az MK portok véletlen befogadásának hibáinak elleni védelmet a kimeneten. Az 1.03 és annál magasabb tábla ellenőrzése során a DIP kapcsoló helyettesíthető jumperekkel. Nemrég szükséges, hogy gyorsan készítsem a jtag jégtáblát. Ezzel összefüggésben az REV 1.4, az RN1 ellenállás mátrix bevezetésre került, amely lehetővé teszi a hardver számára, hogy a vezérlő több bemenetén "1" előadást kapjon. Ha nincs szüksége rá - nem tudja telepíteni az RN1-et.

A tapintat a MK van kiválasztva a CL_SEL pin-csoport, és el lehet végezni egy külső kvarcrezonátor Z1 (csak JP37, JP38 telepítve), szerves kvarc generátor G1 (16 MHz), vagy egy elválasztó, hogy: 2 és: 4. Így A kvarcon kívül a processzort 16, 8, 4 MHz-es frekvenciákkal nyomhatja. Könnyedén becsülheti meg a program gyorsaságát, vagy egy szabványos órajelzést kaphat egy lezárt speciális. kvarc. Elvben, a txo hiányában ez a frekvencia Bármely más generátort 16 MHz-re alkalmazhat. A generátor is hasznos lehet Önnek, ha az MK-t az MK hibás villogó Fiom Microcontroller, ebben az esetben az órajelzés nem játszik szerepet.

Az UART RS-232 soros interfészszintű átalakítója az AVR legtöbb rendszerének állandó tulajdonsága. Itt nem kell "újraindítania a kerékpárt", a szabványos max232 elég elég. Csak RX-TX jelek vesznek részt, ami elég a legtöbb alkalmazáshoz. Akkor gyakorlatilag csatlakozni CTS-RTS hardver flow control nélkül átdolgozták a fórumon, rugalmas vezetékek JP31-JP32 a számokat. A rendszer MAXIM MAX232, TI MAX232 és SIPEX SP3232 - tegyen társaik ellenőrzik a MAXIM MAX232, TI MAX232.

A külső mátrix billentyűzet különálló táblán készíthető el, és csatlakozhat az MC Plumeshez (úgy döntöttem, hogy az egér manipulátorokból alkalmazzuk, mivel a 2. szabály Micrikka mindig jó). A hibakeresési táblán egy dupla PS-2 csatlakozókat telepítenek. A Standard IBM PC-kezelőegység hardverfejlesztés nélkül van csatlakoztatva, természetesen megfelelő szoftveres támogatással az AVR-től. A második csatlakozó ingyenes, a saját belátása szerint. Rendszerint a billentyűzet nagyon specifikus dolog, a proteotípus adósságától függően, így néhány pondym után úgy döntöttem, hogy nem tegyem még a legegyszerűbb gombokat a táblán. A kábelezés és a tesztek után elhelyezem a táblákat.

A HL7 jelző a beépített hardveres PWM vezérlővel végzett kísérletekhez van beállítva.

Az X7 intrahemny szekvenciális programozásának csatlakozója az STK-200 szabványnak megfelelően történik. A programozó hatalma szelektíven választható a JP43-on keresztül. Az én esetemben a PonyProg legegyszerűbb programozója a 74-es puffer (LS, F) 244-en az LPT-en keresztül történő csatlakoztatással történik. Mindent ellenőrizték a Core2Duo + i965chipset által az XP SP2 által kezelt, nem merült fel problémák. A programozó a debugok csatlakozóján keresztül működik, és kényelmes működésben, mert Pufferek normál üzemmódban "Go" és Z-státuszig, és teljesen ne zavarja a Fastavr-t. A JTAG adapter csatlakoztatása intrahemum programozáshoz és hibakereséshez a valós idejű időszakban is lehetséges, anélkül, hogy a tábla a C. port megfelelő lineáris tűs portján keresztül történő finomítása nélkül lehetséges.

Továbbra is meg kell említeni néhány további szükséges elemet:

A külső visszaállítás láncolata, amelyet az AVR meglehetősen egyszerű. A JP42-en keresztül kikapcsolható, bár a programozóval való kizsákmányolás nem zavarja a programozót. A reset bemenet lehet programozni a fúzió, mint a standard I / O port és használt periféria, de nem szabad elfelejteni, hogy ebben az esetben ez már nem lehetséges, hogy átprogramozza a kristály keresztül x7.

A potenciométerben lévő R27 változó ellenállás egy feszültségértékelő, beépített ADC-vel végzett kísérletek esetén a kimenet az MK bármely analóg bemenetein szolgálhat. Kisebb megjegyzés - Kérjük, vegye figyelembe, hogy bármilyen okból nem telepíti ezt az ellenállást, győződjön meg róla, hogy a teljes GND gumiabroncs normális áthaladásához jumper (az 1. ábrán látható).

Egy kicsit a Samoa-ról pcb és design. Amint azt már megjegyeztük, a tábla egyoldalú. A lézeres vas technológiával elvégzett 2 példányt teszteltem (az egyik, amikor a fényképpapírról a csomópontokról, a másik az öngombok alapján), így tovább Kívánt esetben mindent meg kell szerezni ;-) Ha a fotókról, nagyszerűen gondolsz! A jumper szabályok elváltak, figyelembe véve a "tiltott zónák" és a standard 16-pin-hurok használatát (bár a játékból), még akkor is, ha egy rendkívül közel van. A ferrit fojtók hiányában (a régi 286 Matpal vagy az égő monitorokból) biztonságosan beállíthatja a jumpereket. Az összes zseton alatt azonnal javaslom, hogy a panelek ne dohányozzák a díjat. Ne felejtsd el 2 ugrót a HL6 jelző gombjával.

De úgy néz ki, mintha a TTL / CMOS logika ellenőrzésének felülete, amennyire csak lehetséges, megpróbálom megmondani, mi kiderült.

Általában az időzítőnek összehasonlító nyilvántartása van OCR **És ha az időzítő értéke egybeesik az összehasonlító regiszter értékével OCR **2 dolog előfordulhat:

  • Megszakít
  • A külső összehasonlítási teljesítmény állapotának megváltoztatása OC **

Most személyre szabhatjuk Alátétlemezamikor a számláló az értékre kerül OCR **feszültség a lábon OC **változás 5-ről 0-ra. Ha az időzítő elviseli a végét, és elkezdi a számlálást először 0 és 5 közötti feszültség megváltoztatásához, akkor négyszögletes impulzusok lesznek a kimeneten.

3 üzemmód vanAlátétlemez

Szt (Állítsa vissza a véletlenséget) - ez hívható Chimfrekvencia-pulzált modellezési jel Ha az időzítő az értékre kerül OCR **visszaállítja és megváltoztatja az értéket OC **ellenkezőleg. Így a wellness Alátétlemezmindig ugyanaz.

Ezt akkor használják, ha meg kell számolnia a pontos időszakokat, vagy megszakítja a megszakításokat egy bizonyos időpontban.

Gyors pwm. (FAST PWM) - A számláló 0 és 255 között hisz, majd 0-ra állítja.

Amikor az időzítő érték egybeesik OCR **a megfelelő kimenet 0-ra állítható, ha a nullázás 1-es beállítása.

Leggyakrabban szokásos Alátétlemez.

Fázis helyes pwm. (PWM pontos fázisú) - Ebben az üzemmódban a számláló 0 és 255 között van, majd az ellenkező irányba nulla. Az első véletlen egybeesésen OCR **a kimenet 0-ra állítható, 2 mérkőzéssel (amikor a számláló visszatér), tegye 1.

Használja, hogy ne tegye le a fázist, amikor a vám változik.



Ha a következtetéssel szeretnénk dolgozni OC1A.bit B-t helyeztünk. COM1A1 COM1A0.
Általában "/" eszközök vagy. Tcnt1.= OCR1A.-ért Alátétlemezkimenetelén OC1A.

Időzítő / számláló üzemmód - Időzítő / számláló mód.

Top.- TCNT1 érték, amelyen a kimeneti érték eltolódik OC **.

TOV1 zászló beállítva - milyen értékek vannak a GIFR-regiszter telepítéséhez

Válasszon az utolsó táblázatból, amelyre szükségünk van, ne nézzen rá Top.. A 2 táblázat közül válassza ki a 2. lehetőséget. Csak a regiszterekhez szükséges biteket kell elhelyeznie.

#Define f_cpu 8000000l #include #Inlude. Int Main () (ddd \u003d 0xff; ocr1a \u003d 0xc0; // Összehasonlít ezzel az értékkel OCR1B \u003d 0x40; // PWM és TCCR1A időzítő beállítása<CS10tegye 1, úgy véli, hogy az MK frekvenciája az időzítő gyakoriságának konfigurálásáról


Forduljunk a beépített időzítők tanulmányozásához.
Tanulási megszakítások és különösen időzítőka mikrokontrollerekben bizonyos nehézséget jelentenek a multifunkcionalitásuk miatt. Ma megpróbáljuk kitalálni a feltételeket és a neveket.

BAN BEN aVR mikrokontrollerek Lehet, hogy egy-négy időzítőből, nyolcjegyű vagy hexadecimensek.
Az egyszerűsített időzítőket a t betű jelzi, és a szám nulla és három között. Jellemzően a T0 és a T2 nyolcvanas és páratlan T1 és T3 tizenhat számjegyű. A programozás alatt az egyszerűsített verziót csak a megjegyzésekben használják, és a programokban az időzítő teljes neve - a TCNT-regiszter. Az alábbiakban az időzítők megnevezései:

Időzítők

T0, T2. - (TCNT0, TCNT2) nyolc bites számlálók (akár)
Tcntn.- A kibocsátási számláló 8 számviteli regiszterje
Hol; N-számszámláló

T1, T3. - (TCNT1N és TCNT1L, TCNT3H és TCNT3L) tizenhat számjegyű számlálók (páratlan)
Tcntny. - A kibocsátási számláló 16 számlái
Hol; N-számszámláló
Y-senior (h) vagy junior (L) mentesítés

T1 két nyolc bites regiszterből áll Tcnt1n és tcnt1l, de
T3 két regiszter Tcnt3h és tcnt3l. Levél H. az idősebb kisütést jelöli, és L. Jr.

Mint időzítőknyilvántartások, akkor bármikor kapcsolatba léphet velük, olvassa el, írja, visszaállítja és módosíthatja az értéket.
A TCNT1N és a TCNT1L időzítők rögzítésére és leolvasására vonatkozó különleges szabályok.

1. A programok rögzítése és az időzítő adatok olvasása atomi jellegűnek kell lennie, vagyis Az olvasás vagy az írás előtt megtiltjuk a megszakításokat, és a folyamat végén ismét megengedjük.
2. A felvétel során a régebbi bájt H, majd a Younger L. először rögzül.
3. Olvasás közben a fiatalabb bájt, amikor a vezető H.
Például:
Adatok rögzítése a számláló nyilvántartásba.
CLI; Megtiltja a TCNT1H, R16; A régebbi bájt rögzítése TCNT1L, R17; A fiatal BYTE SEI rögzítése; Megszakítja a megszakításokat

Adatok olvasása a számláló nyilvántartásból
CLI; Tiltja a TCNT1L, R16-os megszakításokat; A fiatal bájt olvasása TCNT1H, R17; Reading SeI byte; Megszakítja a megszakításokat

Miért ilyen szabályok? És mindent, hogy az adatok ne torzuljanak az idő alatt, amely az olvasási folyamathoz megy minden egyes regiszterből.
Ha közvetlen olvasási 8-bites regisztereket használ a TCNT1H és TCNT1L, akkor nem biztos, hogy ezek a regiszterek egyszerre olvashatók. A következő helyzet előfordulhat: a mérő tartalmazza a $ 01FF értékét, a TCNT1H-t (a 01-es értéket tartalmazza). Ez idő alatt a számláló impulzus jött, és a TCNT1L tartalma 00 dollár lett, és a 02 dolláros értéket TCNT1H-ban rögzítették.

Most olvassa el a TCNT1L értéket egy másik változóba, szerezze be a 00 $ -t ebben a változóban (végül is, az időzítő / számláló már fiókot készített). A 16 bites érték ezeket a változókat $ volt 0100, de abban az időben az olvasás a régebbi byte tartalmát a számláló $ volt 01FF, és ha kellett, hogy olvassa el a fiatalabb byte FF. Az ilyen helyzet megakadályozása érdekében az időzítő / számláló egységben található ideiglenes nyilvántartást használják. Ez a nyilvántartás átlátszó, vagyis Automatikusan működik. A TCNT1L-regiszter értékének olvasásakor a változóra a TCNT1H tartalma ebbe a regiszterbe esik. Ezután az idősebb bájt olvasásakor az időregiszter értéke olvasható. Az ideiglenes nyilvántartás teljesen átlátható a felhasználónak, de a helyes működés érdekében követni kell a fent meghatározott műveletek sorrendjét. A további (puffer) nyilvántartásba történő nyilvántartáshoz való felkészülés kettős pufferzéssel történik

Az időzítők a számláló impulzusokhoz kapcsolódnakamely külső lehet, és beírhatja a chip speciális bemenetét, vagy saját generátoruk alkotja. Ezenkívül a saját generátor gyakoriságát egy külső kvarc rezonátor szinkronizálhatja, és a belső RC-séma határozható meg. Ezt követően a saját generátor külső frekvenciáját vagy gyakoriságát a nyilvántartás által kezelt regiszter tartja CLKPR.. A generátor vezetője az Explorer (Prescasher) CLKPR után gyakran a processzor (CPU) órajelének (órafrekvenciájának).
A bemeneti időzítőhez mellékelt frekvencia clktn. Ez a frekvencia megfelel a processzor órajelének.
Egy számolható impulzus növeli az időzítő értékét egységenként, így a TCNT regiszterek számlálhatók és nevezett időzítő / számlálók (TC).
Az időzítő / mérő megfelelő működéséhez egy külső órajelre a külső órajel két kapcsolásának minimális időtartama legalább egy időszak a CPU órajel. Szinkronizált külső órajel a belső CPU órajel növekvő elülső részével. (Emlékeztetni kell a frekvenciamérők építésére).
Időzítő / számláló nyilvántartás Tcnt. nyilvántartás TCCR..
Maszk megszakítása Időzítő / számláló Tcnt. Regisztráljon Timsk. (Időzítő megszakításvezérlő regiszter).
Regisztráció zászlók Timsk megszakítási maszk - a TIFR Regisztráció. Ne feledje, hogy ezek a 3 regiszter (TCCR, TIMSK, TIFR), amikor a TCNT munkát / számlálásakor szinte mindig használják.

A megszakításokat a TCNT REGISZTRÁCIÓK FELHASZNÁLHATÓ, A TCNT-regiszter értékeinek összehasonlítása a speciális OCR összehasonlító nyilvántartások értékével, a speciális ICR rögzítő nyilvántartások értékével, és az időzítő / számláló üzemmód határozza meg . Ezenkívül a megszakítási kérelem válaszul jelentkezhet watchdog időzítő WDT.

Az időzítők / számlálók különböző üzemmódokban működhetnek, és ennek megfelelően különböző funkciókat végezhetnek.
A működés módja, azaz az időzítő / számláló viselkedése és a véletlenszerű jel kimenete a nyilvántartások által ellenőrzött jelek működési módjaként definiálódik Wgm02; WGM01; WGM00. (Rövidített felvétel WGM02: 0.) és a nyilvántartások által ellenőrzött egybeesési jel kimeneti módja Soms0x1; SOM0X0. (Rövidített felvétel Som0x1: 0.). A bitek állapota, amelyen a véletlenszerű jel kimeneti módja függ, nem befolyásolja a számlálószekvenciát, amelyet csak a jelgenerátor konfigurációs bitek állapota határoz meg.

Bitek Som0x1: 0. Határozza meg, hogy a PWM kimeneti jelet invertálják-e vagy sem (fordított vagy nem fordított PWM).
(PWM) impulzusmoduláció vagy impulzusszélesség moduláció (PWM).
A nem PWM módban, a tartalom bit som a soms0x1: 0 meghatározza, hogy a kimeneti jel kell telepíteni egy egység, nullázódik, vagy áttért a szemközti állapot idején a véletlen.

--
Kösz a figyelmet!
Igor Kotov, a "Datgorod" magazin főszerkesztője

Egy lépéssel egyenlő, akkor a változások így fognak kinézni:
Plusz: rcall késés; Átmenet az INC TEMP2 késleltetési szubrutin; Menjen egy lépéssel, és ellenőrizze, hogy az eredmény nulla BREQ Plus_1; Ha ez az, akkor fordulunk a Plus_1 RJMP helyes címkéhez; A PLUS_1: DEC TEMP2 gombok felmérése; Kivonjuk az RJMP készüléket helyes; Visszatérés a mínuszhoz: RCALL KEDVEZMÉNYEK; Áttérés a DEC TEMP2 késleltetési alprogramra; Menjen egy lépéssel, és ellenőrizze, hogy az eredmény nulla BREQ MINUS_1; Ha ez az, akkor fordulunk a MINUS_1 RJMP helyes címkéhez; Visszatérés a MINUS_1: INC TEMP2 gombokhoz; Adjon hozzá egy RJMP helyes egységet; Visszatérés a Poll gombra

Az AVRSTUDIO 5 irritációja és az Attiny2313 mikrokontroller irritációja miatt a cikksorozatot az Atmelstudio6 és az Atmega8 és az Atmega16 mikrokontrollerek között írják át. Elnézést kérek előre a kellemetlenségért.