Ātra AVR shēma. Drošinātāju biti AVR mikrokontrolleros

Dizaina un vadlīniju izstrāde Mikroelektronikas atkļūdošanas padomju izmantošanai tika balstīta uz dizainu. EasyAV (un ne tikai), ko ražo šī uzņēmuma piesaistīt iesācējiem apgūt mikrokontrollera tehniku \u200b\u200bražošanas kvalitāti un dažādus komponentus uzstādīti uz tiem. Faktiski puse no tām kļūst nevajadzīgas pēc tam, kad pārbaudes piecu sešu mācību programmu rīcībā, pieņemts, ka katrai ostai ir daudz gaismas diodes un pogas. Bet viņiem ir nepieciešams eksperimentētājs tikai līdz brīdim, kad tā mācās pārvaldīt signālus un zibspuldzes rādītājus, un tas notiek diezgan ātri. Uz mana kuģa ir tikai četri LED un slēdzis, tas ir pietiekami, lai sāktu ...

Izstrādāts ar maksu, es sniedzu vārdu Fastavr. Izmēru izmēri 98x127 mm un vienpusēja iespiests uzstādīšana, tas ir diezgan piemērots mājās. Mikrocirkļi tiek piemēroti tikai panelī uzstādītajos iemērcošajos korpusos, kas ļauj tos viegli nomainīt eksperimenta procesā. Mikrokontrolleris var būt pulkstenis gan no kvarca rezonatora, gan frekvences pulksteņa uzstādītā pulksteņa ģenerators ar frekvenču sadalītāju, ir paredzēts savienotājs, kas savieno standarta StK-200 programmētāju ar selektīvu barību uz tā un ar spēju savienot JTAG Adapteris Ja nepieciešams, varat programmēt un mikrokontrolleru izstrādātu darbam. citā ierīcē.

Uz kuģa ir visvairāk nepieciešamās perifērās ierīces, lai iepakojuma atkļūdotu dizainu: divu bitu septiņu elementu LED indikators, simbolisks LCD, RS-232, SPI, PS / 2 saskarnes (lai savienotu standarta datora tastatūru vai "peli" ), EEPROM mikroshēmas, skaņas signalizācijas ierīce. Ir iespējams savienot lielāko daļu no šīm ierīcēm uz jebkuru mikrokontrolleru ostu secinājumus patvaļīgās kombinācijas Visas ostas ir pieejamas un savienot ierīces ārpus kuģa. Pieejams ierīču padomē, ieskaitot kvarca ģeneratoru un LED indikatorus, var arī savienot ar ierīcēm ārpus tās visi šie savienojumi neprasa lodēšanu un tiek veikti, uzstādot džemperus starp savienojumiem, kas pieejami uz kuģa vai starp tiem un ārējām ierīcēm .

Sākotnēji atkļūdošanas padome ar lētu mikrokontrolleru ATMEGA8, kuram ir gandrīz visa raksturīgā ģimene (AVR) ar iespējām, es nolēmu neizmantot un pielietot vienas un tās pašas ģimenes mikrokontrolleru DIP lietā ar maksimālo iespējamo secinājumu skaitu (40) - atmega16 vai atmega32. Secinājumu atrašanās vieta ir vienādi, un ikviens var uzstādīt uz aprakstīto padomi. Liels skaits rezultātu ļauj savienot vairāk dažādas perifērijas ierīces, kas var būt nepieciešamas, atkļūdojot programmu. Tā kā AVR ģimenes mikrokontrolleriem ir programmiski saderīgi, kas veltīta jaudīgākai programmai ir vienkārša, kā likums, lai pārceltu uz mazāk spēcīgu, protams, to atšķirības.

Šajā pašā instancē mikrokontrollera uzstādīta uz atkļūdošanas padomē, daudzas dažādas programmas var atkļūdot. Programmatūra (Flash) Moderno mikrokontrolleru atmiņa ļauj tik daudziem pārplānošanas cikliem, ka, veicot daudzas izmaiņas programmā tās atkļūdošanas procesā, jūs nevarat domāt par iespējamo resursu izsmelšanu pat tad, kad parādās pirmās pazīmes, kas parādās ( Dažas atmiņas šūnas nav ieprogrammētas no pirmās reizes) mikrokontrolleris, kas pavadīts tās atkļūdošanas padomē, jums nevajadzētu izmest. To var ieprogrammēt līdz pēdējam laikam, nosūtīt "par pastāvīgu darbu" uz vienu no iepriekš labi izveidotām struktūrām.

Fastavr kuģa galvenā mezgla shēma ir parādīta 1. attēlā. 1. Viss Perifērijas savienojums ar DD2 mikrokontrollera ostām tiek veikta ar divkāršu rindu 16-pin hr1-XP pin tapas. Pat tapas katra no tām ir savienotas ar mikrokontrollera ostu un nepāra - uz pieejamo uz kuģa perifērijas ierīces. Montējot izkārtojumu, lai atkļūdotu blakus esošais PIN ir ērti savienots ar parastajiem džemperiem, un uz noņemšanu, citā blokā vai pat citā kuģa, ir džemperi no elastīgā izolēta stieples segmentiem, kas aprīkoti abos domkratu galos no domkratiem savienotāji (2. att.). Uz ligzdām ir uzstādīti siltuma saraušanās caurules.


Šajā procesā atkļūdošanu uz tiem pašiem tapām, tas ir ērti savienot kontroles un mērinstrumentus: osciloskops, frekvences mērītājs, testa signālu ģenerators. PINS atrašanās vieta pēc kārtas, lai palielinātu ostas kategorijas numuru, atvieglo labo meklēšanu un ievērojami samazina to mulsinošo risku. Šāds risinājums, manuprāt, ir daudz ērtāk nekā vairumā rūpniecības atkļūdotņu izmantošanai ārējiem savienojumiem desmitgades neaktīvo divu rindu IDC-10 savienotājiem. Vienīgā priekšrocība ir atslēgas klātbūtne, kas nodrošina pareizu dokstaciju ar savienojuma savienojumu daļu. Un, pieslēdzot vienu vadu vai mērinstrumenta zondi, ir nepieciešams apsvērt kontaktus katru reizi, atgādinot par to atbilstības secinājumiem ar mikrokontrollera secinājumiem.

Ja tiek noņemti S2-S4 džemperi, tiek uzstādīti S5 un S6, kvarca rezonators ZQ1 ir savienots ar mikrokontrollera iekšējo pulksteni ģeneratoru, kuru biežumu var izvēlēties ar jebkuru nepieciešamo uzdevumu atrisinājumu. Valdei ir arī neatņemama kvarca ģenerators G1 16 MHz. DD1 mikroshēmu trigeri sadala savu frekvenci līdz diviem un četriem. Pēc noņemšanas džemperis S5, S6 un instalējot vienu no S2-S4 džemperiem, ir iespējams iesniegt pulksteņa ieejas mikrokontrollera (izejas 13) impulsu ar frekvenci 4, 8 vai 16 MHz. Tas nodrošinās mikrokontrollera darbību ar jebkuru konfigurāciju, kurā iekšējais pulkstenis RC ģenerators ir izslēgts.

Noklikšķiniet no ārējā ģeneratora var būt noderīga un atjaunot mikrokontrollera veiktspēju, kura konfigurācija tiek prasīta kļūdaini. Jūs varat izlasīt par to.

Lai gan mikrokontrolleris satur savu ne-gaistošo datu atmiņu, tas bieži ir nepietiekams, lai nodrošinātu stabilu uzdevumu. Problēmu var atrisināt, savienojot vēlamā tilpuma ārējās atmiņas mikrocontrolleru. Fastavr dēļā tas tiek darīts saskaņā ar shēmu, kas parādīta 1. attēlā. 3 DS1 CHIP 24C vai 24LC sērija - pārprogrammēta nav gaistoša atmiņa ar I2C interfeisu. AO-A2 ieejas ir saistītas tādā veidā, ka jaunākā savas adreses novadīšana uz saskarnes autobusu ir 1, un divi pēc tam ir nulle.

Att. 4 parāda shēmu, kas pieejama Fastavr padomē kontroles un norādes. Četrvietīgs DIP slēdzis SA1 ir savienots ar mikrokontrollera ostu secinājumiem. R4-R7 rezistori aizsargā šos secinājumus, ja tie ir nejauši ieprogrammēti kā pārslodzes izejas, kad slēgti slēdži. Dr1 montāžas rezistori atbalsta augstu loģisko līmeni mikrokontrolleru ieejās, kad SA1.1-SA1.4 slēdži ir atvērti. Piekto "papildu" montāžas rezistoru var izmantot arī, lai iesniegtu šādu līmeni jebkurai ķēdei.
Četri HL1 -HL4 signālu gaismas diodes ir kvēlojošs augstu loģisko līmeni uz rezultātiem, uz kuriem tie ir savienoti, un netiks izgaismoti zemā līmenī. Rezistori R8-R11 ierobežo strāvu.

Bieži elektrodi divu izmēra septiņu elementu LED indikatoru HG1, savākti uz VT1-VT4 tranzistoriem. Tās var kontrolēt rādītājus gan ar kopējām anodiem (piemēram, DA56-11), un ar kopīgiem elementu katodiem (piemēram, DC56-11), jums ir tikai nepieciešams, lai nodrošinātu nepieciešamo polaritāti programmatūru veido kontroles impulsi, kas piegādāti R12-R21 rezistori. Šādi rādītāji ir viegli atrast kases aparāti un datoru bloki. Pēc S7 Jumper noņemšanas jūs varat atspējot HG1 indikatora apakšējās izlādes elementu H (decimālzīmi).

XP5 savienotājs tiek izmantots, lai izveidotu savienojumu ar kopīgu simbolisko LCD Fastavr padomi ar iebūvētiem kontrolieriem. Faktiski, tas ir divu rindu 34-pin IDC-34MS savienotājs, bet tikai 14 no 17 kontaktiem vienā rindā tiek izmantoti. To diagrammā norādītie skaitļi neatbilst standarta savienotājam, bet tas sakrīt ar visizplatītāko LCD konstatējumiem. Šāda savienotāja klātbūtne ļauj izmantot, lai sazinātos ar indikatoru ar standarta datoru 34-pro-ūdens plakanu kabeli, kas paredzēts, lai savienotu elastīgus diskus ar mātesplate. LCD saskarnes kontaktpersonu kontaktpunktu atverēs ievietots un lodēts uz tiem 14-tapu šķipsnu bloku. Viens savienotājs tiek likts uz to plakanais kabelisUn otrais ir ievietots XP5 savienotājā. Kontakti Tūkstošiem ir savienoti ar mikrokontrollera ostu izejas saskaņā ar iekļaušanas shēmu debug-in ierīcē. Valde ar pievienoto indikatoru ir parādīts 1. attēlā. pieci.

Aprakstītā LCD savienošanas metode ir salīdzinoši sarežģīta, bet tas ir ērts, jo indikatori dažādi veidiŅemot to pašu Cocoovka, jūs varat ātri mainīt, neriskējot, lai maldinātu secību saistībā ar saviem secinājumiem ar ostām mikrokontrollera. R23 Rapid Resistor kalpo kā kontrasta regulators.

Skaņas signalizācijas ierīce B1 ir 80 omu pretestības elektromagnētiskais emitents, kas atrodams datora mātesplatē. VD1 diode nomāc pašindukcijas sprieguma emisijas, kas rodas signālam trauksmes signālam, kad to darbina pulsa spriegums. Samazināt pretošanās rezistors R22, lai palielinātu skaņas skaļumu, nevajadzētu būt. Tas novedīs pie mikrokontrollera izejas.

Mazā padome. Neaizmirstiet paaudzes programmas procedūras beigās skaņas signāls Iesniedziet komandu iestatījumu zems līmenis Pie PD7 mikrokontrollera izejas. Ja līmenis šeit ir augsts, strāva caur B1 emitentu turpinās plūsmu un pauzes starp signāliem, kas izraisīs vispārēju enerģijas patēriņa pieaugumu ar mikrokontrolleri.

Shēma Ārējās saskarnes Atkļūdošanas padome ir parādīta 1. attēlā. 6. Uz XS1 savienotāju, varat izveidot savienojumu datoru tastatūra vai "pele" un savienojiet XS2 savienotāju ar datora com. DA1 mikrocirkūcija iekļauta atbilstoši tipiskajai shēmai, koordinē RS-232 signālu un mikrokontrollera līmeni. S8-S10 džemperi ir plānas drukas vadu sadaļas, kuras var samazināt, ja ir nepieciešams izmantot ne tikai informāciju, bet arī RS-232 saskarnes kontroles signālus atkļūdotajā ierīcē.
L1-L5 droseles apspiest augstfrekvences traucējumus. Tās ir mazas ferīta caurules uz vadiem. Šāda viegli atrast datoru dēļos.

Lai augšupielādētu mikrokontrolleru programmas kodus, kas instalēti Fastavr Board, XP6 savienotājs ir savienots ar programmētāju. Darba laikā ar to džemperis S1 (sk. 1. att.) Ieteicams noņemt, izslēdzot mikrokontrollera sākotnējās uzstādīšanas ķēdi uz kuģa. Ja programmētājs ir savs strāvas avots, ir nepieciešams noņemt džemperis S11. Kad tas ir uzstādīts, programmētāju darbina atkļūdošanas padome.

Es izmantoti programmētājs, kas ir līdzīgs Stk-200. Tās diagrammu un shēmas zīmējumu var atrast attēlā. 8 un 9 V. Šajā programmētājam tikai viens Kr1564AP5 mikroshēma (74HC244AN) ir savienots ar datora LPT portu. Instalējiet kvarca rezonatoru programmētājam nav nepieciešams, tas ir atkļūdošanas padomē. Strādājot ar šo programmētāju un ponyprog programmu datorā ar Core2duo + procesoru, 1965 mikroshēmojumu un darbojas windows sistēma XP SP3 nav radušās problēmas.

Debug kuģa kolekcijas ķēde ir parādīta 1. attēlā. 7. Sazinieties ar 3 XP7 savienotāju no ārējais avots Jūs varat iesniegt stabilizētu spriegumu +5 V. Džemperi S12, S13 ir jānoņem. Ja pastāv konstanta sprieguma 9 ... 16 V, tā pozitīvā produkcija ir savienota ar to pašu savienotāju un uzstādīto džemperu S12, S13 kontaktu. Šādā gadījumā ārējais stabilizēts spriegums nav nepieciešams, to iegūst, izmantojot DA2 integrēto stabilizatoru.

Kad HG1 LED netiek izmantots, un jebkuras ārējās ierīces nav savienotas ar kuģa, DA2 stabilizatora temperatūra ir maza. Ja, neskatoties uz siltuma izlietnes klātbūtni, stabilizators ir stingri apsildāms, ieteicams pārslēgties uz jaudu no ārējā pietiekami spēcīga sprieguma avota 5 V. uz barošanas sprieguma signālu klātbūtni HL5 LED.

VD2 un VD3 diodes Aizsargā no nepareizas elektroapgādes polaritātes. Hsmotes (ferīta caurules) L6 un L7 apspiest augstas frekvences traucējumus. CT12-X17 (+5 V) un HT18-HT22 (kopā) un HT18-HT22 (kopā) un HT18-HT22 (kopā) un HT18-HT22 (kopā) var izmantot dažādās ārējās ierīcēs. Turklāt HT18-HT22 kontakti ir ērti savienot mērinstrumentu kopējo vadu.

Circuit Board zīmējums ir attēlots attēlā. 8. Tas ir vienpusējs folijas šķiedru ar biezumu 1,5 mm. Ņemiet vērā, ka abas džemperis novirzītas līnijas no izolētās stieples ir uzstādītas no drukātajiem vadītājiem. Pārējie ir izgatavoti no vadiem bez izolācijas un atrodas uz vietas. DA1, DD1, DD2, DS1 mikroshēmām un HG1 LED indikatoram, panelis ir uzstādīts uz kuģa, kas ļauj ātri nomainīt šos elementus, ja nepieciešams. Ja nav ferīta caurules, nevis droseles L1-L7, jūs varat instalēt džemperus.

Blakus XS1 savienotājam ir izkraušanas vieta citam un tam pašam savienotājam, ko norāda XSV. Lai gan tās secinājumi nav savienoti jebkur, tas ļauj viegli instalēt divkāršu MDN-6F kontaktligzdu ar datora mātesplati. XS2 savienotājs - DB-9F ligzda.

Chr1-HR4 PIN, HT1 -HT22 tapas un paredzētas džemperu S1 - S7, S11-S13 uzstādīšanai, ir izgatavoti no divu rindu savienotājiem PLD sērijas vai viena rindas pls sērijas. Lai iegūtu vēlamo kontaktu skaitu, tie ir atdalīti no attiecīgā garuma segmentiem vai pievieno segmentiem ar trūkstošiem kontaktiem.

Lūdzu, ņemiet vērā, ka ir bezmaksas kontaktu paliktņi blakus kontaktpersonām PT4-HT11 PINS. Tas ļauj instalēt divu rindu tapu bloku šeit, neattiecas uz "atlaišanu" ar biežiem rekomaturiem. Par KHR5 savienotāju (IDC-34ms) iepriekš tika teikts. XP6 savienotājs (programmētājam) ir tās pašas sērijas desmitgade (IDC-10ms). Trīs Pin XP7 strāvas savienotājs tiek noņemts no mātesplates, kur tas tika izmantots, lai savienotu ventilatoru. Tas noņēma problēmu, meklējot savienotāja reakciju, kas paredzēts, lai izveidotu savienojumu ar barošanas paneli.

Apakšējā (saskaņā ar zīmēšanas) daļām ir taisnstūra lauks, kas piepildīts ar kontaktu vietnēm - rezerve visu veidu papildu elementu ievietošanai, kas var būt nepieciešami atkļūdošanas laikā. Par maksājumu, ko manis, tas tika uzstādīts šeit, piemēram, mainīgs rezistors ar nosaukumu 22 com. Tas tika piepildīts ar spriegumu +5 V, un regulējams regulējams no motora tika izmantots, lai pārbaudītu mikrokontrolleru ADC.

RS-232 interfeiss ir ļoti ērts, lai izmantotu, atkļūdojot, pievienojot atkug-in programmā modulī, kas nosūta nepieciešamo informāciju, izmantojot USART mikrokontrolleru. Darbojas datorā, kura com-osta savienoja XS2 savienotāju no atkļūdošanas kuģa, termināla programmu, jūs varat uzraudzīt saņemtos ziņojumus.


Es izmantoju Terminal V1.9B programmu, kuru var atrast internetā ar jebkuru meklētājs. Šīs programmas logs ar piemēriem, kas saņemti no ierīces, tiek atkļūdota un nosūtīta uz to, ir parādīts 1. attēlā. 9. Parastam Krievijas teksta displejam jums ir noklikšķiniet uz pogas "SET FONT", atlasiet fontu - arial logā, kas atveras - parastais izmērs ir 8, simbolu kopums ir kirilics.

PCB fails Sprint izkārtojumā 5.0 formātā un programmu piemēri, kas demonstrē mezglu valdē pieejamo darbu:

Literatūra
1 Baranov V. AVR mikrokontrolleru konfigurācijas atgūšana. - radio. 2009, № 11, p. 26-29.

S. Borisov, Knotovaya Tula reģions.
RADIO NOS. 8-9 2010.

Bieži vien ir nepieciešams izmantot jebkuras ierīces kontroli (neatkarīgi no tā, vai kvēlspuldze, dzinējs, tan vai vienkāršs LED) ir caur PWM.

Iespējams, paskaidrojiet, kas tas ir, un kādā shim kontroles šarmu nav nepieciešama, jau ir daudz informācijas internetā, un ir maz ticams, ka šī tēma būtu labāka par deceīnu. Tāpēc mēs nekavējoties pāriet uz uzņēmējdarbību, proti, mēs sāksim PWM uz attiny2313 Bascom-AVR līdzekļiem.

Pwm b. aVR mikrokontrolleri Strādā par skaitītāju taimeri, tiny2313 mk tilta taimeri tikai 2: 8-bitu taimeris0, ņemot vērā līdz 255 un 16 bitu taimeri1, kas spēj skaitīt līdz 65535. Katrs taimeris kontrolē divus PWM kanālus, tādējādi visi aparatūras var jāīsteno tik daudz kā 4 kanāli.

Informācija par pwm kanālu skaitu un katra kanāla izplūdi var būt ļoti sāpīga datu lapas lapās uz mikrokontrolleru.

Tādējādi uz klāja Attiny2313 Ir divi 8 bitu kanāli WIM strādā no taimeri0 un vēl diviem kanāliem, kas darbojas taimeri1 taimeri ir programmējams mazliet no 8 līdz 10 bitiem. Datasmetā šīs kājas ir parakstītas šādi:

Lai konfigurētu taimeris1 taimeri, lai radītu PWM BASCOM, tas ir pietiekami, lai pierakstītu šādu rindu:

Config taimeris1 \u003d pwm, pwm \u003d 8, salīdzināt pwm \u003d skaidrs, salīdzināt b pwm \u003d skaidrs uz leju, prescale \u003d 64

PWM \u003d 8 izvēlas pwm bitu, taimeri1, kā tas tika uzrakstīts iepriekš, var būt arī pwm \u003d 9 vai pwm \u003d 10.

Salīdziniet A / B PWM \u003d Notīriet / noskaidrojiet šeit, konfigurējiet aktīvo stāvokli katram PWM kanālam (A un B).

Prescale \u003d 64 - jau pazīstams taimera konfigurācijas virkne, kas ir atbildīga par taimera pārpildes frekvences iepriekš sadalīšanu Šis gadījums Dalītājs noteiks pwm biežumu. Mēs varam mainīties pēc jūsu ieskatiem prescale \u003d 1 | 8 | 64 | 256 | 1024


Radošā signāla nodokļa ciklu nosaka vērtība, ko mēs rakstām uz OCR1A un OCR1B salīdzināšanas reģistriem (mums ir divi kanāli, mums ir divi taimeri, šeit viens reģistrs A un B kanālā). Ar vērtībām, kas atrodas šajos reģistros, pastāvīgi salīdzina skaita reģistra vērtību (tas ir kopēts taimeri), kad tie sakrīt, MK pēdu slēdzis uz aktīvo stāvokli, un skaitīšanas reģistrs turpina lasīt maksimālā vērtība. Izskatot maksimāli, taimeris sāk paļauties atpakaļgaitas virziensun sasniedzot līdz skaitīšanas reģistra vērtībām un salīdzināšanas reģistru atkal sakrīt atkal, tas atgriezīsies pie mikrokontrollera pēdas (skatīt zemāk redzamo attēlu).



Mums, OCR1A un OCR1B salīdzināšanas reģistri ir tikai mainīgie, kuros mēs varam noteikt vērtību. Piemēram, tā:


OCR1a. = 100
OCR1B \u003d 150.


Banketu ērtībai tiek sniegts arī cits šo reģistru vārds: PWM1A un PWM1B, tāpēc iepriekšējās rindas būs līdzvērtīgas šādi:


Pwm1a. = 100
Pwm1b \u003d 150.

Tagad mēs sapratīsim, kā notīriet / noskaidrot aktīvo statusu konfigurāciju ietekmē to, kas notiek ar PWM produkciju atkarībā no salīdzinājuma reģistra.

Ja izeja ir konfigurēta, salīdzinot ar PWM \u003d Notīrīt aktīvo izejas statusu ir augsts līmenis un ar pieaugumu OCR (PWM) reģistra vērtību, proporcionālais spriegums uz šīs kājas pieaugs. Ar precizitāti, gluži pretēji, viss notiks, ja izeja ir konfigurēta, salīdzinot pwm \u003d skaidrs. Tas viss ir labi ilustrēts zemāk redzamajā attēlā.



Vērtības, ko šie salīdzināšanas reģistri var uzņemties, kā Shim kanāls ir chosised. Pie PWM \u003d 8 (8 bitu PWM) ir iespējams no 0 līdz 255; pie pwm \u003d 9 no 0 līdz 511; Ar pwm \u003d 10 no 0 līdz 1023. Šeit es domāju, ka viss ir skaidrs.


Tagad neliels piemērs: savienojiet LED uz mikrokontrolleru, kā parādīts diagrammā (MK jauda diagrammā nav norādīta)


Un uzrakstiet nelielu programmu:


$ Crystal \u003d 4000000

Config taimeris1 \u003d pwm, pwm \u003d 9, salīdzināt pwm \u003d skaidrs uz leju, salīdzināt b pwm \u003d skaidrs, prescale \u003d 8
Config portb.3 \u003d izeja
Config portb.4 \u003d izeja

Inc pwm1a. "Gludi palielināt salīdzināšanas regalitāti OCR1A
Inc pwm1b. "Neklistiski palielināt OCR1B salīdzinājuma reģistra vērtību

Waitms 20. "Pievienot kavēšanos

Cilpu.

Beigas.

Pēc apkopota un mirgo programma kontrolierī, viens no LED (D1) gludi tipa spilgtumu, un otrs (D2) vienmērīgi iet


Ja jūs tagad kule osciloskops uz peļņu PWM, mēs varam redzēt šādu attēlu ar mainīgo impulsu vienību (zilā signāla uz OS1A, Red On OS1V):


TIMER0 TIMER konfigurācija Lai ģenerētu PWM, gandrīz tāds pats, izņemot to, ka taimeris0 ir 8 bitu taimeris, un tāpēc šis taimera ģenerētais PWM vienmēr būs mazliet 8. Tāpēc šī taimera konfigurēšana, PWM bits nenorāda:

Config taimeris0 \u003d pwm, salīdzināt pwm \u003d skaidrs, salīdzināt b pwm \u003d skaidrs, prescale \u003d 64



Tagad līdzīgs piemērs ar LED, bet tagad PWM radīs taimeri0:


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

Config taimeris0 \u003d pwm, salīdzināt pwm \u003d skaidrs, salīdzināt b pwm \u003d skaidrs, prescale \u003d 8
Config portb.2 \u003d izeja
Config portd.5 \u003d izeja

Inc pwm0a " vienmērīgi palielina OCR0a reģistra vērtību
Inc pwm0b vienmērīgi palielina OCR0B reģistra vērtību

Waitms 20. "Pievienot kavēšanos

Cilpu.

Beigas.

Pievienojiet LED uz taimeri0 PWM izvadi, kā parādīts diagrammā:

Viss ir līdzīgs: pirmais LED (D1) vienmērīgi iegūs spilgtumu, un otrais (D2) netraucēti iziet.


Shim paaudzes frekvences skaitīšana

Ja jūs vēlaties uzzināt pārnesumu paaudzes biežumu, tad tas nav grūti. Paskaties tālāk norādītajā formulā:

PWM frekvence \u003d (kvarca frekvence / nobīde) / (skaitīšanas reģistra izmērs * 2)

Piemēram, mēs aprēķināsim vairākas vērtības:

1. Quartz frekvence \u003d 4000000 Hz, kompensēt \u003d 64, pwm bit 10 biti \u003d\u003e skaitīšanas reģistra izmērs \u003d 1024

PWM frekvence \u003d (4000000/64) / (1024 * 2) \u003d 122 Hz

2. frekvences kvarcs \u003d 8000000 Hz, kompensēt \u003d 8, pwm bit 9 biti \u003d\u003e skaitīšanas reģistra izmērs \u003d 512

PWM frekvence \u003d (8000000/8) / (512 * 2) \u003d 976,56 Hz

3. Kvarca frekvence 16000000 Hz, kompensēt \u003d 1, pwm bit 8 biti \u003d\u003e skaitīšanas reģistra izmērs \u003d 256

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

Fastavr Universal atkļūdošanas padome iesācējiem ATMEL MK programmē ir balstīta uz analīzi par duci līdzīgu dizainu. Maksa ir saprātīgs kompromiss starp lieko funkcionalitāti lielāko daļu no tiem vai pārāk primitīvas iezīmes citiem. Ņemot pieredzi darbā ar dažādām mikroprocesoru sistēmām, zemāk es komentē savas domas, - kā viens vai otrs kuģa mezgls bija iecerēts. Vienoties ar viņiem vai nē - jūsu bizness, bet var būt daļēji tie būs noderīgi, lai apgūtu AVR nākotnē ...

Dizaina dizains balstījās uz mikroelektronikas attīstību un uzbrukumiem (http://www.mikroe.com/ru/). Bet EASYAV maksas (un ne tikai) satur pārāk daudz komponentu, ko piesaista Variestic un jaunpienācēju kvalitāte mikroprocesoru iekārtās, patiesībā puse no tiem kļūst nevajadzīgas pēc veiksmīgas 5-6 programmu piemēru un pieredzes iegūšanas. Vai jūs domājat, kāpēc jums ir nepieciešams ķekars LED un pogas, kas saistītas ar katru portu? Tas viss ir taisnība, kamēr jūs nezināt, kā kontrolēt ostu ostu un mest indikatorus, un tas notiks ļoti ātri ;-) Šajā gadījumā uz kuģa ir 4 LED, un slēdzis ir pietiekami daudz ...

Tātad, atkļūdošanas padomes iespējas:

  • galvenais perifērijas komplekts ATMEGA atbalstam: RS-232 Converter, Biper, SPI EEPROM, LCD un LED indikatori, iebūvēts pulksteņa ģenerators + Quartz, PS-2 tastatūra, ADC testeris, loģikas testētāji;
  • spēja atkārtošanās mājās, vienpusēja iespiedshēmas plate ir optimizēta lāzera dzelzs tehnoloģijām, maza izmēra;
  • visu komponentu piemērošana tikai iemērkšanas korpusos, ļauj viegli aizstāt tos eksperimentu procesā vai programmā procesors pati par citām shēmām (piemēram, JTAG);
  • pilnīga funkcionāla pietiekamība, lai izveidotu vienkāršus ierīču prototipus un tos atkļūdot;
  • standarta SPI SPI SPI savienotājs ar selektīvu strāvas padevi programmētājam, spēja Ārējais savienojums Jtag;
  • spēja iespējot valdi JTAG ledus režīmā ar vienkāršu rekomendāciju;
  • iespēja neatkarīgas pārslēgšanās perifērijas jebkurā kombinācijā, jo lineāro tehnoloģiju atrašanās vietu visām MK ostām;
  • iespēja viegli piesaistīt jebkādu ārējo perifēro un lietošanu uz 100% no atmega resursiem DIP-40, visas ostas tiek nodotas, turklāt - visi iekšējie perifērijas valdes ļauj to izmantot ārējām ierīcēm (piemēram, pulksteni ģenerators vai LED indikatori;

Tas viss nav nepieciešams pilnveidot maksu vai lodēšanas. Tā Sākotnējā posmā attīstību MK iespējas Fastavr ir pietiekami. Tas, kurš vēlas virzīties uz priekšu, pēc savas programmatūras izveides var izlemt patstāvīgi, ka viņam ir nepieciešams konkrēti un darīt prototipu dizaina ar savu perifērijas komplektu. Vēlreiz kvīts ir izveidots, lai sāktu pētījumu par MK AVR, neviens netika vajāts. Dokumentācijas izskats ir saistīts ar interesi, ko attīstās daudzi iesācēji Šis veids Kontrolieri vai joprojām domā, kur sākt. Un jums ir jāsāk dabiski ar testa maksu ;-)

MK AVR-pašpietiekami kontrolieri, tomēr procesors nav visa sistēma. "Kubi", kas to apkalpo vai kontrolē atsevišķi, var uzskatīt par atsevišķiem nākotnes struktūru blokiem. Apvienojot tos galvenajā padomē, jūs varat visus kopā apvienojot nepieciešamos rezultātus. Sākumā, maksa tika izstrādāta, pamatojoties uz atmega8, jo, jo Viņš ir lēts un ir gandrīz visas AVR iespējas. Tomēr, novedot padomu, es nolēmu neizmantot un ievietot mikrokontroller-atmega16 mikrokontrolleru kā pieejamu dip-mājokļu vai 32. Codoolevka abām MK ir identisks. Šāda šķīduma izmaksas ar simtkārtīgu atmaksājas ar I / O ostu skaitu, kurus var pievienot vismaz atkļūdekļa laikā. Saderība no visām paaudzēm AVR ļauj jums rakstīt un atkļūdot programmas, izmantojot spēcīgāku mikroshēmu un pēc tam izveidojiet mērķa kristāla apkopojumu. Pietiekams resurss zibspuldzes ļauj "aizpildīt" uz ierobežojumiem iespējām pārplānošanu mega, jo īpaši tāpēc, ka ir iespējams strādāt pietiekami, nosūtīt, lai dzīvotu mk uz darba dizainu, izšūšanu to pēdējo reizi (JTAG ICE ir pirmais Challenger)

Valdes ražošanai tas aizņems mazliet atbilstošu datoru "Trash", kas ir pietiekams jebkuras elektronikas uzglabāšanas telpās. Lielākā daļa sastāvdaļu tiek uzklāti no veciem vai noraidīti mātesplates IBM PC vai netālu no datoru tehnoloģijas, nesen šāda veida dzelzs ir vairāk un vairāk demontāža un tiek izmests bez lietošanas. Jo Ar SMD mazām lietām praktiski neko nedara neko (kārtot problēmu un laiku ...), es izvelku šādas ierīces pilnībā vai būvniecības matu fēnu vai elektrisko plīti.

Galvenais apraksts Fastavr zemāk bloķē:

Ēdiens. Iebūvētais stabilizators 78 (m) 05 ļauj sagatavot maksu no plaši izplatītiem adapteriem 9-12V, kas ņemti no citām iekārtām, kas parasti ir tukšas. Parastā iekļaušanā tas ir pietiekams (MEG-16/32 + LCD + RS232 + TXO), lietojot tipisku 7 segmentu LED vai ļoti lielu ārējo perifēriju (komplekss programmētājs), stabilizators jau ir ļoti karsts. Ārējā stabilizēta sprieguma + 5V savienošana ir iespējama, izmantojot PIN-3 x1 (tiek piemērots savienotājs no Mateja dzesētājiem). Iepriekš jums ir jāizslēdz VCC_SEL grupas JP1-JP2 džemperi. X1 šāda veida tiek izvēlēts vairāku iemeslu dēļ, galvenais var gandrīz vienmēr veikt adapteri, lai darbinātu valdi no dažādiem adapteriem, kas ir pieejami vai laboratorijas BP. Pasā Ferīta droseles (Balun) FB1, FB2 filtra impulsa traucējumi un RF padoms. Par diodēm VD1, VD2, kas veikta no "uzraudzības". Vairākās vietās dēļi ir uzstādīti vcc_ext un gnd_ext džemperi. Izmantojot tos, tas ir pietiekami vienkārši, savienojot perifēriju, lai noņemtu barošanas spriegumu un kopējo "zemi".

Ārējā atmiņa tiek īstenota standarta I2C EEPROM 24CXXX. Lai gan AVR pati par sevi satur savu ne-gaistošo atmiņu, bet daudzos dizainos ārējo mikroshēmu var būt vēlams, ņemot vērā resursu apjomu. Iekļaušanas ķēde ir standarta, 0x01 kristāla adrese.

Lineārās LED portu statusa indikatori HL2-HL5 tiek veikti uz 4 diskrētiem LED. Lai sāktu eksperimentus ar AVR, tas ir pietiekams, vairāk no to skaita, es uzskatu, ka tas nav pamatots un diezgan dekorēts. LED ir iekļauti rakstot uz porta žurnālu. "1", tā tālāk Ostas statuss tiek parādīts bez signāla inversijas, kas ir ērts un vizuāls.

Savienojuma izveide ar LCD indikators ir izgatavots no 2 savienotāja, ir iespējams izmantot gan 8 bitu un 4 bitu režīmu. Pirmais no tiem ir 34 tapas x2 (no 3.5 "diska) ļauj izmantot standarta uzlādētos cilpas no disku vēlamo garumu, attiecīgi, uz paša indikatora, tas ir labāk, lai paslēptu PIN Jumper Line (PIN- bloks), tas ļauj ātri mainīt dažādus rādītājus bez bailes pārvērst secinājumus. Savienojums ar ABRA ostām tiek veikta, izmantojot PIN-Block X10, ka papildus LCD savienojuma režīmā jūs varat elastīgi izvēlēties secinājumus par Mk. Šis dizains ļauj viegli pielāgoties brīvi portiem kontroliera, pat "izsaukt" tos vienā no dažādām grupām ostās, kas ir nepieciešams, ja konfigurēts ar īpaši atkļūdotu prototipu vai jaunizveidotu apdrukājamo shēmu kuģa, izrādās ērtāk vadu.


Daudzos gadījumos LCD indikatora izmantošana var nebūt pamatota ar cenu, izmēriem vai uzticamību. Piemēram, vienkāršākajā lādētājs Vai taimeris var labi strādāt, un 2 bitu LED indikators. Klātbūtnē divu 7-segmentu rādītājus kopējā tipa ar augstumu 14mm zīmi, gan ar kopējo anoda, gan parasto katodu (norakstīts ārpus naudas reģistriem un sistēmas bloki 486 datori). Man bija jāpiemēro 2-taktu taustiņi uz VT1-VT4, lai savienotu jebkādus tipa rādītājus, un, attiecīgi, indikators pats panelis, lai nākotnē tas nepārkāptu galvu ar shēmu.

Visi savienojuma perifērijas uz atmeža ostām, kā minēts iepriekš, tiek veikti, izmantojot lineāro X3-X6 PIN. Galvenokārt par parāda iekasēšanu es novēroju IDC-10 savienotāju (2x5) izmantošanu. Vienīgā priekšrocība šajā ir klātbūtne "atslēga", lai neņemtu plūmes vietās, kad tas ir saistīts. Tāpēc priekšrocības šādai metodei beigsies un nepilnības sākt - pat vizuāli neērti strādāt ar 8 ciparu ostām, jo Secinājumi neatrodas pēc kārtas, nav iespējams, izņemot cilpu, lai pievienotu iebūvēto perifēriju. PIN bloku izmantošana tieši dod pretējo rezultātu, izņemot to, izmantojot standarta džemperis-jumper, ir viegli kontrolēt visus iepriekš minētos signālus, piemēram, loģiskā zonde Vai osciloskops, jums nav nepieciešams piestāt un saskaitīt bailes no ostas ostas nejauši "bloķēt" secinājumus. Pievienojiet šeit maksimālo zemāko un atkārtotu šo savienojumu, jo tas ir daudz vieglāk nomainīt cilpu vai džemperi nekā savienotājs, kas atbild par maksu. Turklāt tagad pārdošanā pat mūsu outback jūs varat atrast šādas reaģēšanas daļas savienotājiem (vai izmantot no vecās sistēmas vienībām), kas padara to viegli un ātri apvienot savienotājus (att.):


Par skaņu, tika izmantots kopējs lippers ar rezistenci aptuveni 80 omi no Mattlat. Signāls nav ļoti skaļš, bet pietiekams, lai kontrolētu (R23 un tik izvēlēts pie robežas). Atsevišķs atslēga man nav nodevis nevienu, kas vēlējās to rekonstruēt vietās maketing apzīmēts kā temp. Neliels padoms - strādājot ar skaņu, neaizmirstiet beigās procedūru, lai radītu signālu, lai izveidotu komandu nokrīt žurnālā. "0" PD7 izeja, pretējā gadījumā pēc paaudzes pārtraukšanas var palikt "1" un strāva Runātājs turpinās iet, ka nav labas, lai gan apsvērumiem par kopējo AVR-A patēriņu.

Uz 4 bitu DIP slēdzis SW4, loģiskie signāli ostām ir samontēti. Šeit situācija ar numuru ir līdzīga LED LED. Jo Avrov ieejām ir iekšējais spraudnis, attiecīgi, "bikšturi", lai sniegtu nekādu vajadzību pēc ēdienreizēm. R18-R21 rezistori satur aizsardzību pret kļūdām nejaušu iekļaušanu MK portu uz izejas. Valdes revīzijā 1.03 un augstāk, DIP slēdzis var aizstāt ar džemperiem. Es nesen, lai ātri veiktu no JTAG ledus kuģa. Saistībā ar kuru REV 1.4 tika ieviesta RN1 rezistora matrica, kas ļauj aparatūrai veidot lekciju "1" uz vairākām kontroliera izejvielām. Ja jums tas nav nepieciešams - jūs nevarat instalēt rn1.

TACT uz MK izvēlas CL_SEL PIN-Group, un to var veikt no ārējā kvarca rezonatorā Z1 (tikai JP37, JP38 ir instalēts), kas ir integrēts kvarca ģenerators G1 (16 MHz), vai no dalītāja uz: 2 un: 4. Tā Papildus kvarca jūs varat atrisināt procesoru ar frekvencēm 16, 8, 4 MHz. Jūs varat viegli novērtēt programmas atkļūdošanas ātrumu vai iegūt standarta pulksteņa frekvenci ar noslēgtu īpašu. kvarcs. Principā, ja nav txo Šī frekvence Jūs varat lietot jebkuru citu ģeneratoru līdz 16 MHz. Ģenerators var būt noderīgs arī jums, kad "pacelot" MK nepareizu mirgojošu fiom mikrokontrollera dēļ, šajā gadījumā pulksteņa frekvencei nav loma.

RS-232 sērijas interfeisa līmeņa pārveidotājs UART ir pastāvīgs atribūts lielāko daļu sistēmu uz AVR. Šeit jums nav nepieciešams "izgudrot velosipēdu", standarta MAX232 ir pietiekami. Ir iesaistīti tikai RX-TX signāli, kas ir pietiekami, lai lielākā daļa lietojumprogrammu. Jūs varat praktiski savienot CTS RTS aparatūras plūsmas kontrolei, nepārstrādājot kuģa, elastīgus vadus uz JP31-JP32 no dziesmām. Shēmā, Maxim Max232, TI Max232 un SIPEX SP3232 - ielieciet nevienu kolēģi, tiek pārbaudīti Maxim Max232, TI MAX232.

Ārējo matricas tastatūru var veikt uz atsevišķa kuģa un izveidot savienojumu ar MC plūmēm (es nolēmu piemērot no peles manipulatoriem, kā 2. noteikums Micrikka vienmēr ir labi). Debug padomē ir uzstādīti dubultā PS-2 savienotāji. Standarta IBM PC tastatūra ir savienota bez aparatūras uzlabojumiem, protams, ar atbilstošu programmatūras atbalstu no AVR. Otrais savienotājs ir bezmaksas, izmantojiet pēc saviem ieskatiem. Kā likums, tastatūra ir ļoti specifiska lieta, atkarībā no proteotipa parādiem, tāpēc pēc dažām pondays es nolēmu ne likt pat vienkāršākās pogas uz kuģa. Pēc vadu un to testiem es izlikšu savus padomes.

HL7 indikators ir iestatīts eksperimentiem ar iebūvētu aparatūras PWM kontrolieri.

Intrahemny secīgu programmēšanas X7 savienotājs ir izgatavots saskaņā ar Stkt-200. Iespējas uz programmētāju var selektīvi izvēlēties, izmantojot JP43. Manā gadījumā, vienkāršākais programmētājs no ponyprog uz 74als buferi (Ls, F) 244 tiek izmantots ar savienojumu ar LPT. Viss tika pārbaudīts Core2duo + I965Chipset pārvalda XP SP2, radās nekādas problēmas. Programmētājs ir darbināms ar atkļūdošanas savienotāju un ir ērta ekspluatācijā, jo Buferi normālā režīmā "Go" uz Z-statusu un absolūti netraucē Fastavr. Savienojot JTAG adapteri intrahēmijas programmēšanai un atkļūdošanai reālā laika periodā, ir iespējama arī bez izsmalcinātas valdes caur attiecīgo lineāro PIN portu ostā C.

Tas joprojām pieminēt vēl dažus nepieciešamos elementus:

Ārējās atiestatīšanas ķēde, kas AVR ir diezgan vienkārša. To var izslēgt, izmantojot JP42, lai gan izmantošana ar programmētāju netraucē programmētājs. Reset Input var pārprogrammēt caur Fusion kā standarta I / O portu un izmanto perifērijai, bet ir jāatceras, ka šajā gadījumā tas vairs nav iespējams atkārtoti programmēt kristālu caur X7.

R27 mainīgais rezistors iekļauts potenciometrs ir sprieguma vērtētājs eksperimentiem ar iebūvētu ADC, izejas no tā var tikt pasniegta uz jebkuru no analogās ieejas MK. Neliela piezīme - lūdzu, ņemiet vērā, ja jums nav instalēt šo rezistoru jebkāda iemesla dēļ, pārliecinieties, ka džemperis (attēlā) par normālu gaitu no kopējā GND riepu!

Nedaudz par Samoa pcb un dizains. Kā jau minēts, valde ir vienpusīga. Esmu pārbaudījis 2 kopijas, ko veica lāzera dzelzs tehnoloģijas (viens, drukājot uz fotopapīra no krustojumiem, otrs, pamatojoties uz pašpārliecībām), tā tālāk Ja vēlaties, viss ir jāiegūst ;-) Ja jūs domājat par fotogrāfijām, lieliski! Jumper noteikumi ir šķīries, ņemot vērā "aizliegtās zonas" un standarta 16-pin cilpu (bārs no spēļu portu), pat ja savieno vienu ļoti tuvu. Ja nav ferīta droseles (es uzklājos no vecajiem 286 Matpal vai degļa monitoriem) jūs varat droši ielikt džemperus. Es ieteiktu tūlīt zem visām mikroshēmām, lai ievietotu paneļus, lai nesmēķētu maksu. Neaizmirstiet 2 džemperi ar taustiņiem HL6 indikatoram.

Bet tas izskatās kā interfeiss, lai pārbaudītu TTL / CMOS loģiku, cik vien iespējams, es centīšos pateikt, ko tas izrādījās.

Kopumā taimeris ir salīdzināšanas reģistrs OCR **un, kad taimera vērtība sakrīt ar salīdzināšanas reģistra vērtību OCR **2 Var rasties 2 lietas:

  • Pārtraukt
  • Mainot ārējās salīdzināšanas produkcijas stāvokli Oc **

Tagad mēs varam pielāgot Nojumekad skaitītājs aizņem vērtību OCR **voltage uz izvēlētā kājas Oc **mainīt no 5 līdz 0. Kad taimeris pacelsies līdz galam un sāk skaitīt pirmo maiņu spriegumu no 0 līdz 5, mums būs taisnstūra impulsi pie izejas.

Ir 3 darbības režīmiNojume

St (reset, kad sakritība) - to var saukt Chim.frekvences impulsa modelēšanas signāls, kad taimeris aizņem līdz vērtību OCR **tas tiek atiestatīts un maina vērtību Oc **pretēji. Tādējādi, labsajūta Nojumevienmēr tas pats.

Tas tiek izmantots, ja jums ir nepieciešams skaitīt precīzus periodus, vai ģenerēt pārtraukumus noteiktā laikā.

Ātri pwm. (Fast PWM) - Counter tic no 0 līdz 255, pēc kura tas tiek atiestatīts uz 0.

Kad taimera vērtība sakrīt ar OCR **atbilstošais produkts tiek atiestatīts uz 0, kad ir iestatīts nulle.

Visbiežāk tiek izmantots kā parasts Shim.

Fāze pareizi PWM. (PWM ar precīzu fāzi) - šajā režīmā, skaitītājs uzskata no 0 līdz 255, un pēc tam to uzskata par pretējā virzienā uz nulli. Pirmajā sakritībā ar OCR **izeja tiek atiestatīta uz 0, ar 2 spēlēm (kad letes iet atpakaļ), ievietojiet 1.

Lietošana, lai netiktu nošauts posms, kad izmaiņas mainās.



Ja mēs vēlamies strādāt ar secinājumu OC1A.mēs ievietojam bitus B. Com1a1 com1a0.
Kopumā "/" nozīmē vai. Tcnt1= OCR1a.priekš Nojumepie rezultāts OC1A.

Taimera / operācijas veids - Taimera / Counter režīms.

Tops.- TCNT1 vērtība, kurā izejas vērtība maiņās OC **.

TOV1 karogs iestatīts uz - Kādas vērtības ir instalēta mazliet GIFR reģistra

Izvēlieties no pēdējās tabulas, kas mums nepieciešams, neredziet Tops.. No 2 tabulām, izvēlieties kādu no 2. opcijām. Tas joprojām ir tikai, lai ievietotu nepieciešamos bitus reģistros.

#Define f_cpu 8000000l #include #Include. Int galvenais () (DDRD \u003d 0xff; OCR1A \u003d 0xc0; // Salīdzināt ar šo vērtību OCR1B \u003d 0x40; // PWM un TCCR1A taimera iestatīšana | \u003d (1<CS10ievietojiet 1, viņš uzskata, ka MK biežums par to, kā konfigurēt taimera frekvenci


Ļaujiet mums vērsties pie iebūvēto taimera pētījuma.
Mācīšanās pārtraukumi un it īpaši taimerimikrokontrolleros tas rada zināmas grūtības to daudzfunkcionalitātes dēļ. Šodien mēs centīsimies noskaidrot noteikumus un vārdus.

Iebildums aVR mikrokontrolleri Var būt no viena līdz 4 taimeri, astoņu ciparu vai heksadeciments.
Vienkāršoti taimeri tiek apzīmēti ar burtu t, un numuru no nulles līdz trim. Parasti pat T0 un T2 ir astoņstatas un nepāra T1 un T3 ar sešpadsmit cipariem. Programmēšana vienkāršotā versija tiek izmantota tikai komentāros, un programmās tiek noteikts pilnais taimera nosaukums - TCNT reģistrs. Zemāk ir nosaukumi taimeri:

Taimeri

T0, T2. - (TCNT0, TCNT2) astoņu bitu skaitītāji (pat)
Tcntn.- izlādes skaitītāja grāmatvedības reģistrs 8
Kur; N-numuru skaitītājs

T1, T3. - (TCNT1N un TCNT1L, TCNT3H un TCNT3L) Sešpadsmit ciparu skaitītāji (nepāra)
Tcntny. - kontu reģistrs 16 no izlādes skaitītāja
Kur; N-numuru skaitītājs
Y-vecākais (H) vai junioru (L) izlādes

T1 sastāv no diviem astoņu bitu reģistriem TCNT1N un TCNT1L, bet
T3 no diviem reģistriem TCNT3H un TCNT3L. Vēstule H. apzīmē vecāko izlādi, un L. Jr.

taimerivai reģistri, tad jūs varat sazināties ar viņiem jebkurā laikā, lasīt, rakstīt, atiestatīt un mainīt vērtību.
Paziņoja par īpašiem noteikumiem par ierakstīšanai un lasīšanai TCNT1N un TCNT1L taimeri.

1. Ierakstīšanas programmas un taimera datu lasīšana jābūt atomu, ti. Pirms lasīšanas vai rakstīšanas mēs aizliedza pārtraukt, un procesa beigās atkal atļauj.
2. Ierakstot, vecāku baitu H un tad jaunākais L. pirmo reizi ierakstīts.
3. Lasot, jaunākais baits l tad vecākais H.
Piemēram:
Ierakstiet datus skaitīšanas reģistrā.
Cli; Aizliegt pārtraukt TCNT1H, R16; Vecāku bites ierakstīšana TCNT1L, R17; Jaunāka baitu SEI ierakstīšana; Ļaut pārtraukt

Lasīt datus no skaitīšanas reģistra
Cli; Aizliegt pārtraukt TCNT1L, R16; Jaunākās baita lasīšana TCNT1H, R17; Lasot vecāko Sei baitu; Ļaut pārtraukt

Kāpēc šādi noteikumi? Un viss, lai dati netiktu izkropļoti laikā, kas dosies uz lasīšanas procesu no katra reģistra.
Ja izmantojat Direct Reading 8 bitu reģistrus TCNT1H un TCNT1L, tad jūs nevarat būt pārliecināts, ka šie reģistri lasa vienlaicīgi. Var rasties šāda situācija: skaitītājam bija vērtība $ 01FF, jūs uzskatāt TCNT1H (kas satur vērtību 01 ar dažiem mainīgajiem). Šajā laikā atnāca skaitīšanas impulss, un TCNT1L saturs kļuva par 00 $, un TCNT1H $ 02 vērtība tika ierakstīta.

Tagad jūs izlasiet TCNT1L vērtību uz citu mainīgo, iegūstiet vērtību $ 00 šajā mainīgā (galu galā, taimeris / skaitītājs jau ir izveidojis kontu). Šo mainīgo 16 bitu vērtība bija $ 0100, bet vecāku baitu lasīšanas laikā skaitītāja saturs bija 01FF $, un jums bija jāizlasa jaunākais baits kā FF. Lai novērstu šādu situāciju, tiek izmantots pagaidu reģistrs, kas atrodas taimera / counter vienībā. Šis reģistrs ir pārredzams, ti. Darbojas automātiski. Lasot TCNT1L reģistra vērtību mainīgajam, TCNT1H saturs ietilpst šajā reģistrā. Tad lasot vecāko baitu mainīgā, laika reģistra vērtība tiek nolasīta. Pagaidu reģistrs lietotājam ir absolūti pārredzams, bet tā pareizai darbībai ir jāievēro iepriekš norādīto darbību secība. Apelācija reģistrē, izmantojot papildu (bufera) reģistru, sauc par dubultu buferizāciju

Taimeri ir saistīti ar skaitīšanas impulsiemkas var būt ārējs un ievadiet mikroshēmas īpašo ievadi vai veido to pašu ģenerators. Savukārt sava ģeneratora biežums var sinhronizēt ar ārējo kvarca rezonatoru, un to var noteikt iekšējā RC shēma. Pēc tam ārējo frekvenci vai sava ģeneratora biežumu tur reģistrā pārvaldītā reģistrā Clkpr.. Ģeneratora vadītājs pēc Explorer (Prescasher) Clkpr bieži sauc par procesora (CPU) pulksteņa signālu (pulksteņa frekvenci).
Frekvence, kas piegādāta ievades taimeram norādīts kā clktn. Šī frekvence atbilst procesora pulksteņa signālam.
Viens skaitāms impulss palielina taimera vērtību uz vienību, tāpēc TCNT reģistri ir skaitāmi un sauc par taimeri / skaitītāji (TC).
Lai pareizi darbotos taimera / skaitītāja uz ārējā pulksteņa signāla, minimālais laiks starp abiem pārslēgšanas ārējā pulksteņa signāla jābūt vismaz vienu periodu CPU pulksteņa signālu. Sinhronizēts ārējais pulksteņa signāls ar pieaugošo priekšējo iekšējo CPU pulksteņa signālu. (Tas jāatceras, veidojot frekvenču mērītājus).
Taimeris / Counter Register TCNT. ir reģistrs Tccr..
Maska pārtraukt Taimeris / skaitītājs TCNT. Kalpo reģistram Timsk. (Taimera pārtraukt kontroles reģistrs).
Karogu reģistrs Timsk pārtraukt maska \u200b\u200b- ir TIFR reģistrs. Atcerieties, ka šie 3 reģistri (TCCR, Timsk, TIFR), strādājot / skaitot TCNT lieto gandrīz vienmēr.

Pārtraukumus var saukt par pārplūdi TCNT reģistru, salīdzinot TCNT reģistra vērtības ar īpašo OCR salīdzināšanas reģistru vērtību, uztveršanas - ar īpašo ICR uztveršanas reģistru vērtībām un nosaka taimera / skaitītāja režīmā . Turklāt pārtraukt pieprasījumu var rasties atbildes reakcijā watchdog taimeris WDT.

Taimeri / skaitītāji var darboties dažādos režīmos un attiecīgi veikt dažādas funkcijas.
Darbības veids, I.E., taimera / skaitītāja uzvedība un nejaušības signāla izlaide ir definēta kā reģistru kontrolēto signālu darbības veids Wgm02; Wgm01; WGM00. (Saīsināts ieraksts WGM02: 0.) un Reģistru kontrolētā nejaušības signāla izejas režīms Soms0x1; Som0x0 (Saīsināts ieraksts Som0x1: 0.). Bitu statuss, kurā ir atkarīgs no nejaušības signāla izvades režīms, neietekmē skaitīšanas secību, ko nosaka tikai signāla ģeneratora konfigurācijas bitu statuss.

Biti Som0x1: 0. Nosakiet, vai PWM izejas signāls ir jāapmierina vai nav (apgriezts vai nav apgriezts PWM).
(PWM) impulsa modulācija vai pulsa platuma modulācija (PWM).
Par ne-PWM režīmiem, saturu biti som no soms0x1: 0 nosaka, vai izejas signāls jāuzstāda vienībā, atiestatīt uz nulli vai pāriet uz pretējo valsti laikā sakritība.

--
Paldies par uzmanību!
Igors Kotov, redaktors-in-galvenais no žurnāla "Datgorod"

Jūs varat veikt soli vienāds ar vienu, tad izmaiņas izskatīsies šādi:
Plus: RCALL aizkavēšanās; Pāreja uz inc temp2 kavēšanās subroutine; Iet uz vienu soli un pārbaudiet, vai rezultāts ir nulle breq plus_1; Ja tas ir, mēs ieslēdzam PLUS_1 RJMP pareizu etiķeti; Balva plus_1: Dec temp2 pogas aptauja; Mēs atņemam vienību RJMP pareizu; Atgriezties pie mīnusa: rcall aizkaves pogas; Pāreja uz Dec temp2 aiztures apakšprogrammu; Iet uz vienu soli un pārbaudiet, vai rezultāts ir nulle breq mīnus_1; Ja tas ir, mēs vēršamies pie Minus_1 RJMP pareiza etiķete; Atgriezties mīnus_1: inc temp2 pogas; Pievienojiet RJMP pareizu vienību; Atgriezieties pogā Aplolīt

Sakarā ar Avrstudio 5, un attiny2313 mikrokontroller, rakstu sērija tiks pārrakstīta Atmelstudio66, un atmega8 un atmega16 mikrokontrolleri. Es atvainojos iepriekš par neērtībām.