Atmel 8-bit AVR Mikwokontwolè ak 2/4/8K Bytes nan sistèm nan pwogramasyon Flash
Karakteristik
- Segondè Pèfòmans, Low Power AVR® 8-Bit Microcontroller
- Avanse RISC Achitekti
- 120 Enstriksyon pwisan - Pifò Single Egzekisyon sik revèy
- 32 x 8 Objektif Jeneral Rejis Travay
- Fully Statik Operasyon
- Pwogram ki pa temèt ak memwa done
- 2/4/8K Bytes nan Flash memwa pwogram pwogramasyon nan sistèm nan
- Andirans: 10,000 Ekri/Efase sik
- 128/256/512 Bytes nan sistèm pwogramasyon EEPROM
- Andirans: 100,000 Ekri/Efase sik
- 128/256/512 Bytes Entèn SRAM
- Programming Lock pou Self-Programming Flash Program and EEPROM Data Security
Karakteristik periferik
- 8-bit Timer/Counter ak Prescaler ak de chanèl PWM
- 8-bit High Speed Timer / Counter ak Prescaler Separe
- 2 segondè Frekans PWM Sorti ak Sòti Separe Konpare Rejis
- Dèlko Programmable Dead Time
- USI - Inivèsèl Serial Interface ak Start Condition Detector
- 10-bit ADC
4 Single Ended Channels
2 Pè chanèl ADC diferans ak pwogrè pwogramasyon (1x, 20x)
Mezi Tanperati
Pwogramasyon Watchdog revèy ak separe sou-chip osilateur
Sou-chip analog Konparatè
Karakteristik mikrokontroleur espesyal
debugWIRE On-chip Debug System
Nan sistèm pwogramasyon atravè pò SPI
Sous ekstèn ak entèn entèwonp
Ba pouvwa san fè anyen konsa, rediksyon bri ADC, ak mòd pouvwa-desann
Amelyore Power-on Reset Circuit
Programmable Brown-out Deteksyon Awondisman
Osilator entèn kalibre
I / O ak pakè
Sis pwogramasyon I/O Liy
8-pin PDIP, 8-pin SOIC, 20-pad QFN/MLF, ak 8-pin TSSOP (sèlman ATtiny45/V)
Opere Voltage
– 1.8 – 5.5V pou ATtiny25V/45V/85V
– 2.7 – 5.5V pou ATtiny25/45/85
Klas vitès
– ATtiny25V/45V/85V: 0 – 4 MHz @ 1.8 – 5.5V, 0 – 10 MHz @ 2.7 – 5.5V
– ATtiny25/45/85: 0 – 10 MHz @ 2.7 – 5.5V, 0 – 20 MHz @ 4.5 – 5.5V
Endistriyèl Tanperati Range
Konsomasyon pouvwa ki ba
Mode aktif:
1 MHz, 1.8V: 300 µA
Pouvwa-desann Mode:
PIN konfigirasyon
Pinout ATtiny25/45/85
Deskripsyon Pin
VCC: Pwovizyon pou voltage.
GND: tè.
Port B (PB5:PB0): Port B se yon pò I/O 6-bit bi-direksyon ak rezistans entèn pull-up (seleksyone pou chak ti). Tanpon pwodiksyon Port B yo gen karakteristik kondwi simetrik ak tou de gwo koule ak kapasite sous. Kòm entrées, Port B broch ki deyò rale ba yo pral sous kouran si rezistans rale-up yo aktive. Pin Port B yo tri-detake lè yon kondisyon reset vin aktif, menm si revèy la pa kouri.
Port B sèvi tou fonksyon divès kalite espesyal ATtiny25/45/85 jan lis.
Sou ATtiny25, pò I/O pwogramasyon PB3 ak PB4 (pin 2 ak 3) yo echanje nan mòd konpatibilite ATtiny15 pou sipòte konpatibilite bak ak ATtiny15.
RESET: Reyajiste opinyon. Yon nivo ki ba sou peny sa a pou pi lontan pase longè batman kè minimòm lan pral jenere yon reset, menm si revèy la pa kouri epi si peny reset la pa te enfim. Yo bay longè batman kè minimòm nan Tablo 21-4 nan paj 165. Batman ki pi kout yo pa garanti pou jenere yon reset.
Pin reset la ka itilize tou kòm yon (fèb) PIN I/O.
Plis paseview
ATtiny25/45/85 a se yon mikwokontwolè CMOS 8-bit ki ba-pouvwa ki baze sou achitekti RISC amelyore AVR. Lè w egzekite enstriksyon pwisan nan yon sèl sik revèy, ATtiny25/45/85 la reyalize debi ki apwoche 1 MIPS pou chak MHz sa ki pèmèt designer sistèm nan optimize konsomasyon pouvwa kont vitès pwosesis.
Blòk Dyagram
Nwayo AVR konbine yon seri ansèyman rich ak 32 rejis travay jeneral. Tout 32 rejis yo konekte dirèkteman nan Inite Lojik Aritmetik (ALU), sa ki pèmèt ou jwenn aksè de rejis endepandan nan yon sèl enstriksyon egzekite nan yon sik revèy. Achitekti a ki kapab lakòz se pi plis kòd efikas pandan y ap reyalize debi jiska dis fwa pi vit pase mikwokontwolè CISC konvansyonèl yo.
ATtiny25/45/85 bay karakteristik sa yo: 2/4/8K octets nan sistèm nan pwogramasyon Flash, 128/256/512 bytes EEPROM, 128/256/256 bytes SRAM, 6 liy I/O jeneral, 32 jeneral. rejis k ap travay objektif, yon sèl 8-bit revèy/kontan ak mòd konpare, yon sèl 8-bit gwo vitès revèy/kontwa, Inivèsèl Serial Entèfas, Entèn ak ekstèn entèwonp, yon 4-chanèl, 10-bit ADC, yon revèy Watchdog pwogramasyon ak entèn. Osilator, ak twa lojisyèl chwazi mòd ekonomize pouvwa. Mòd san fè anyen konsa sispann CPU a pandan y ap pèmèt sistèm SRAM, Timer/Counter, ADC, Analog Comparator, ak Interrupt kontinye fonksyone. Mòd pouvwa-desann sove kontni anrejistreman an, enfim tout fonksyon chip jiskaske pwochen Entèwonp oswa Reset Materyèl. Mòd Rediksyon bri ADC sispann CPU a ak tout modil I/O eksepte ADC, pou minimize bri chanje pandan konvèsyon ADC.
Aparèy la fabrike lè l sèvi avèk teknoloji Atmel nan gwo dansite memwa ki pa temèt. On-chip ISP Flash la pèmèt memwa Pwogram lan re-pwograme nan sistèm nan atravè yon koòdone seri SPI, pa yon pwogramè memwa konvansyonèl ki pa temèt oswa pa yon kòd bòt sou chip ki kouri sou nwayo AVR.
ATtiny25/45/85 AVR sipòte ak yon seri konplè pwogram ak zouti devlopman sistèm ki gen ladan: C Konpile, Macro Assembler, Debugger/Similatè Pwogram ak Twous Evalyasyon.
Konsènan Resous
Yon seri complète de zouti devlopman, nòt aplikasyon yo ak fich ki disponib pou telechaje sou http://www.atmel.com/avr.
Kòd Examples
Dokimantasyon sa a gen senp kòd ansyenamples ki yon ti tan montre kouman yo sèvi ak divès pati nan aparèy la. Kòd sa yo ansyenamples asime ke pati a header espesifik file enkli anvan konpilasyon. Ou dwe konnen ke se pa tout machann C du ki gen ladan definisyon ti jan nan header la files ak entèwonp manyen nan C se konpilatè depann. Tanpri konfime ak dokiman C du pou plis detay.
Pou Rejis I/O ki sitiye nan kat I/O pwolonje, "IN", "OUT", "SBIS", "SBIC", "CBI", ak "SBI" enstriksyon yo dwe ranplase ak enstriksyon ki pèmèt aksè nan I/O pwolonje. /O. Tipikman, sa vle di "LDS" ak "STS" konbine avèk "SBRS", "SBRC", "SBR", ak "CBR". Remake byen ke se pa tout aparèy AVR ki gen yon kat I/O pwolonje.
Kapasitif Touch Sensing
Atmel QTouch Library bay yon solisyon senp pou itilize pou koòdone ki sansib sou mikwo-kontwolè Atmel AVR. Bibliyotèk QTouch la gen ladan sipò pou metòd akizisyon QTouch® ak QMatrix®.
Sensasyon manyen yo fasil ajoute nan nenpòt aplikasyon lè w konekte Bibliyotèk QTouch la epi itilize Entèfas Programming Aplikasyon (API) nan bibliyotèk la pou defini chanèl tactile ak detèktè yo. Lè sa a, aplikasyon an rele API pou rekipere enfòmasyon chanèl la epi detèmine eta a nan Capteur manyen la.
Bibliyotèk QTouch la gratis epi yo ka telechaje nan Atmel la websit. Pou plis enfòmasyon ak detay sou aplikasyon an, al gade nan Gid Itilizatè Bibliyotèk QTouch la - ki disponib tou nan Atmel la websit.
Retansyon Done
Rezilta kalifikasyon fyab yo montre ke pousantaj echèk retansyon done yo prevwa a se anpil mwens pase 1 PPM sou 20 ane nan 85 °C oswa 100 ane nan 25 °C.
AVR CPU Nwayo
Entwodiksyon
Seksyon sa a diskite sou achitekti debaz AVR an jeneral. Fonksyon prensipal la nan nwayo CPU a se asire ekzekisyon pwogram kòrèk. Se poutèt sa CPU a dwe kapab jwenn aksè nan memwa, fè kalkil, kontwole periferik, ak okipe entèwonp.
Achitekti Plis paseview
Yo nan lòd yo maksimize pèfòmans ak paralelis, AVR a sèvi ak yon achitekti Harvard - ak memwa separe ak otobis pou pwogram ak done. Enstriksyon ki nan memwa Pwogram nan yo egzekite ak yon sèl nivo tiyo. Pandan y ap egzekite yon enstriksyon, pwochen ansèyman an pre-chache nan memwa Pwogram nan. Konsèp sa a pèmèt enstriksyon yo dwe egzekite nan chak sik revèy. Memwa Pwogram nan se memwa Flash Reprogrammable nan Sistèm.
Enskri nan aksè rapid File gen 32 x 8-bit rejis travay jeneral ak yon sèl tan aksè sik revèy. Sa a pèmèt operasyon yon sèl sik Inite lojik aritmetik (ALU). Nan yon operasyon ALU tipik, de operand yo soti nan Rejis la File, operasyon an egzekite, epi rezilta a estoke tounen nan Rejis la File- nan yon sik revèy.
Sis nan 32 rejis yo ka itilize kòm twa 16-bit endikasyon endirèk adrès enskri pou adrès Espas Done yo - pèmèt kalkil adrès efikas. Youn nan pwent adrès sa yo ka itilize tou kòm yon konsèy adrès pou gade tab nan memwa Flash Pwogram. Rejis fonksyon ajoute sa yo se 16-bit X-, Y-, ak Z-rejis, ki dekri pita nan seksyon sa a.
ALU a sipòte operasyon aritmetik ak lojik ant rejis oswa ant yon konstan ak yon rejis. Operasyon rejis sèl ka egzekite tou nan ALU la. Apre yon operasyon aritmetik, Rejis Estati a mete ajou pou reflete enfòmasyon sou rezilta operasyon an.
Koule pwogram yo bay pa kondisyonèl ak enkondisyonèl so ak apèl enstriksyon, kapab dirèkteman adrese espas adrès la antye. Pifò enstriksyon AVR gen yon sèl fòma mo 16-bit, men gen tou enstriksyon 32-bit.
Pandan entèwonp ak apèl sou woutin yo, Counter Pwogram (PC) adrès retou a estoke sou Stack la. Stack la efektivman afekte nan done jeneral SRAM la, epi kidonk gwosè Stack la sèlman limite pa gwosè total SRAM la ak itilizasyon SRAM la. Tout pwogram itilizatè yo dwe inisyalize SP a nan woutin Reset la (avan yo egzekite sou-routin oswa entèwonp). Stack Pointer (SP) aksesib pou li/ekri nan espas I/O. Done SRAM yo ka fasilman jwenn aksè atravè senk mòd adrès diferan ki sipòte nan achitekti AVR la.
Espas memwa yo nan achitekti AVR yo se tout kat memwa lineyè ak regilye.
Yon modil entèwonp fleksib gen anrejistreman kontwòl li yo nan espas I/O ak yon lòt Bit Global Interrupt Enable nan Rejis Estati a. Tout entèwonp yo gen yon Vektè entèwonp separe nan tablo Vektè entèwonp la. Entèwonp yo gen priyorite an akò ak pozisyon vektè entèwonp yo. Plis adrès vektè entèwonp la pi ba, se pi gwo priyorite a.
Espas memwa I/O genyen 64 adrès pou fonksyon periferik CPU kòm Rejis Kontwòl, SPI, ak lòt fonksyon I/O. Ou ka jwenn aksè nan memwa I/O dirèkteman, oswa kòm kote Espas Done yo apre sa ki nan Rejis la File, 0x20 – 0x5F.
ALU la vle di Inite lojik aritmetik
AVR ALU wo-pèfòmans la opere an koneksyon dirèk ak tout 32 rejis travay jeneral yo. Nan yon sèl sik revèy, operasyon aritmetik ant rejis objektif jeneral oswa ant yon rejis ak yon imedyat yo egzekite. Operasyon ALU yo divize an twa kategori prensipal - fonksyon aritmetik, lojik ak bit. Gen kèk enplemantasyon achitekti a tou bay yon miltiplikatè pwisan sipòte tou de miltiplikasyon siyen/non siyen ak fòma fraksyon. Gade seksyon "Enstriksyon an" pou yon deskripsyon detaye.
Enskri Estati
Rejis Estati a gen enfòmasyon sou rezilta ansèyman aritmetik ki pi resan egzekite a. Enfòmasyon sa a ka itilize pou chanje koule pwogram yo nan lòd yo fè operasyon kondisyonèl. Remake byen ke Rejis Estati a mete ajou apre tout operasyon ALU, jan sa espesifye nan Referans Set Enstriksyon yo. Sa a pral nan anpil ka retire nesesite pou itilize enstriksyon yo konpare devwe, sa ki lakòz kòd pi vit ak plis kontra enfòmèl ant.
Rejis Estati a pa estoke otomatikman lè w ap antre nan yon woutin entèwonp epi retabli lè w retounen soti nan yon entèwonp. Sa a dwe okipe pa lojisyèl.
SREG – Rejis Estati AVR
Rejis Estati AVR - SREG - defini kòm:
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3F | I | T | H | S | V | N | Z | C | SREG |
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 7 - I: Global Interrupt Enable
Yo dwe mete ti jan an Global Interrupt Enable pou entèwonp yo dwe pèmèt. Lè sa a, entèwonp endividyèl pèmèt kontwòl la fèt nan rejis kontwòl separe. Si Enskripsyon Entèwonp Global Enableman an otorize, pa gen okenn nan entèwonp yo aktive endepandan de paramèt pèmèt entèwonp endividyèl yo. I-bit la otorize pa pyès ki nan konpitè apre yon entèwonp te fèt, epi li mete pa enstriksyon RETI a pou pèmèt entèwonp ki vin apre yo. I-bit la kapab tou mete ak otorize pa aplikasyon an ak enstriksyon SEI ak CLI, jan sa dekri nan referans seri enstriksyon an.
Bit 6 - T: Bit Kopi Depo
Enstriksyon Bit Copy BLD (Bit LoaD) ak BST (Bit STtore) sèvi ak T-bit la kòm sous oswa destinasyon pou ti bit la opere. Yon ti jan soti nan yon rejis nan Rejis la File ka kopye nan T pa enstriksyon BST la, epi yon ti jan nan T ka kopye nan yon ti jan nan yon rejis nan Rejis la. File pa enstriksyon BLD la.
Bit 5 - H: Mwatye pote drapo
Half Carry Flag H a endike yon Half Carry nan kèk operasyon aritmetik. Half Carry itil nan aritmetik BCD. Gade "Deskripsyon ansèyman an" pou enfòmasyon detaye.
Bit 4 - S: Siy Bit, S = N ⊕ V
S-bit la se toujou yon eksklizif oswa ant Drapo Negatif N ak Drapo Debòde Konpleman De a V. Gade "Deskripsyon Ansèyman an" pou enfòmasyon detaye.
Bit 3 - V: Konpleman Debòde Drapo a
Two's Complement Overflow Flag V sipòte aritmetik konpleman de. Gade "Deskripsyon ansèyman an" pou enfòmasyon detaye.
Bit 2 - N: Drapo negatif
Drapo Negatif N la endike yon rezilta negatif nan yon operasyon aritmetik oswa lojik. Gade "Deskripsyon ansèyman an" pou enfòmasyon detaye.
Bit 1 - Z: Zewo Drapo
Zewo Drapo Z la endike yon rezilta zewo nan yon operasyon aritmetik oswa lojik. Gade "Deskripsyon ansèyman an" pou enfòmasyon detaye.
Bit 0 - C: Pote drapo
Carry Flag C a endike yon pote nan yon operasyon aritmetik oswa lojik. Gade "Deskripsyon ansèyman an" pou enfòmasyon detaye.
Rejis Objektif Jeneral File
Rejis la File optimize pou seri ansèyman RISC Enhanced AVR. Pou reyalize pèfòmans ak fleksibilite ki nesesè yo, Rejis la sipòte pwogram antre/sòti sa yo. File:
Yon opérand pwodiksyon 8-bit ak yon opinyon rezilta 8-bit
De opérand pwodiksyon 8-bit ak yon opinyon rezilta 8-bit
De opérand pwodiksyon 8-bit ak yon opinyon rezilta 16-bit
Yon opérand pwodiksyon 16-bit ak yon opinyon rezilta 16-bit
Figi 4-2 montre estrikti 32 rejis jeneral k ap travay nan CPU a.
Jan yo montre nan Figi 4-2, yo bay chak enskri tou yon adrès memwa Done, kat yo dirèkteman nan 32 premye kote nan Espas Done itilizatè yo. Malgre ke yo pa aplike fizikman kòm kote SRAM, òganizasyon memwa sa a bay gwo fleksibilite nan aksè nan rejis yo, kòm rejis X-, Y- ak Z-pointer yo ka mete nan endèks nenpòt rejis nan la. file.Pifò nan enstriksyon yo opere sou Rejis la File gen aksè dirèk nan tout rejis, e pi fò nan yo se enstriksyon yon sèl sik.
X-rejis la, Y-rejis, ak Z-rejis la
Rejis R26..R31 yo gen kèk fonksyon ajoute nan itilizasyon objektif jeneral yo. Rejis sa yo se endikasyon adrès 16-bit pou adrès endirèk nan espas done a. Twa rejis adrès endirèk X, Y, ak Z yo defini jan sa dekri nan Figi 4-3.
Nan diferan mòd adrès yo, rejis adrès sa yo gen fonksyon tankou deplasman fiks, ogmantasyon otomatik, ak dekresyon otomatik (gade referans seri enstriksyon an pou plis detay).
Pile Pointer
Pile a se sitou itilize pou estoke done tanporè, pou estoke varyab lokal yo ak pou estoke adrès retounen apre entèwonp ak apèl sou woutin. Stack Pointer Register la toujou lonje dwèt sou tèt Stack la. Remake byen ke Stack la aplike kòm ap grandi soti nan pi wo kote memwa nan pi ba kote memwa. Sa vle di ke yon lòd Stack PUSH diminye Stack Pointer la.
Stack Pointer la montre zòn done SRAM Stack kote Subroutine ak Interrupt Stacks yo ye. Pwogram nan dwe defini espas Stack sa a nan done SRAM la anvan yo egzekite nenpòt apèl sou woutin oswa entèwonp yo aktive. Pile Pointer la dwe mete nan pwen pi wo a 0x60. Pile Pointer la diminye pa youn lè done yo pouse sou Stack la ak enstriksyon PUSH la, epi li diminye pa de lè yo pouse adrès retou a sou Stack la ak apèl sou woutin oswa entèwonp. Stack Pointer la ogmante pa youn lè done yo soti nan Stack la ak enstriksyon POP la, epi li ogmante de de lè done yo soti nan Stack la ak retounen soti nan souroutine RET oswa retounen nan entèwonp RETI.
AVR Stack Pointer la aplike kòm de rejis 8-bit nan espas I/O. Kantite Bits yo itilize aktyèlman depann de aplikasyon an. Remake byen ke espas done a nan kèk aplikasyon nan achitekti AVR a tèlman piti ke sèlman SPL ki nesesè. Nan ka sa a, Rejis SPH la p ap prezan.
SPH ak SPL — Stack Pointer Register
ti jan | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
0x3E | SP15 | SP14 | SP13 | SP12 | SP11 | SP10 | SP9 | SP8 | SPH |
0x3D | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 | SPL |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | |
Valè inisyal | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND |
Distribisyon Egzekisyon Enstriksyon
Seksyon sa a dekri konsèp distribisyon jeneral aksè pou egzekisyon enstriksyon yo. CPU AVR la kondwi pa clkCPU revèy CPU, ki pwodui dirèkteman nan sous revèy chwazi pou chip la. Pa gen divizyon revèy entèn yo itilize.
Figi 4-4 montre enstriksyon paralèl chache ak ekzekisyon enstriksyon pèmèt achitekti Harvard la ak Rejis aksè rapid la File konsèp. Sa a se konsèp pipelining debaz la pou jwenn jiska 1 MIPS pou chak MHz ak rezilta inik korespondan pou fonksyon pou chak pri, fonksyon pou chak revèy, ak fonksyon pou chak inite pouvwa.
Figi 4-5. Yon sèl sik operasyon ALU
Reyajiste ak entèwonp manyen
AVR bay plizyè sous entèwonp diferan. Entèwonp sa yo ak Vektè Reset separe a chak gen yon Vektè Pwogram separe nan espas memwa Pwogram nan. Tout entèwonp yo asiyen bits endividyèl pèmèt yo ki dwe ekri lojik yon sèl ansanm ak Bit nan Global Interrupt Enable nan Rejis Estati a yo nan lòd yo pèmèt entèwonp la.
Adrès ki pi ba yo nan espas memwa Pwogram nan yo defini pa default kòm vektè yo Reyajiste ak entèwonp. Lis konplè vektè yo montre nan “Entèwonp” nan paj 48. Lis la detèmine tou nivo priyorite diferan entèwonp yo. Plis adrès la pi ba se pi wo nivo priyorite a. RESET gen pi gwo priyorite, epi pwochen se INT0 - Demann Entèwonp Ekstèn 0.
Lè yon entèwonp rive, Global Interrupt Enable I-bit la efase epi tout entèwonp yo enfim. Lojisyèl itilizatè a ka ekri yon lojik nan I-bit la pou pèmèt entèwonp enbrike. Lè sa a, tout entèwonp pèmèt yo ka entèwonp woutin entèwonp aktyèl la. I-bit la otomatikman mete lè yon enstriksyon Return from Interrupt – RETI – egzekite.
Fondamantalman gen de kalite entèwonp. Premye kalite a deklanche pa yon evènman ki mete drapo entèwonp la. Pou entèwonp sa yo, Counter Pwogram nan vektè nan vektè entèwonp aktyèl la nan lòd yo egzekite woutin nan manyen entèwonp, ak pyès ki nan konpitè efase Drapo Entèwonp ki koresponn lan. Drapo entèwonp yo ka netwaye tou lè w ekri yon lojik nan pozisyon ti drapo a (yo) yo dwe efase. Si yon kondisyon entèwonp rive pandan y ap efase ti korespondan entèwonp ki pèmèt yo, yo pral mete drapo a entèwonp epi yo sonje jiskaske entèwonp la pèmèt, oswa lojisyèl an otorize drapo a. Menm jan an tou, si youn oswa plizyè kondisyon entèwonp rive pandan y ap efase ti jan Entèwonp Global la, yo pral mete drapo Entèwonp ki koresponn lan (yo) epi sonje jiskaske yo tabli bit la Global Interrupt Enable, epi yo pral egzekite pa lòd priyorite.
Dezyèm kalite entèwonp yo pral deklanche osi lontan ke kondisyon entèwonp la prezan. Entèwonp sa yo pa nesesèman genyen drapo entèwonp. Si kondisyon entèwonp la disparèt anvan entèwonp la pèmèt, entèwonp la p ap deklanche.
Lè AVR a soti nan yon entèwonp, li pral toujou retounen nan pwogram prensipal la epi egzekite yon lòt enstriksyon anvan nenpòt entèwonp annatant yo sèvi.
Remake byen ke Rejis Estati a pa otomatikman estoke lè w ap antre nan yon woutin entèwonp, ni retabli lè w retounen soti nan yon woutin entèwonp. Sa a dwe okipe pa lojisyèl.
Lè w ap itilize enstriksyon CLI a pou enfim entèwonp, entèwonp yo pral imedyatman enfim. Yo p ap egzekite okenn entèwonp apre enstriksyon CLI a, menm si li rive ansanm ak enstriksyon CLI a. Egzanp sa aample montre kouman sa a ka itilize pou evite entèwonp pandan sekans ekri EEPROM kwonometre.
Kòd Asanble Egzample |
nan r16, SREG ; magazen valè SREG
cli ; enfim entèwonp pandan sekans kwonometre sbi EECR, EEMPE ; kòmanse ekri EEPROM sbi EECR, EEPE soti SREG, r16 ; retabli valè SREG (I-bit) |
C Kòd Egzample |
char cSREG;
cSREG = SREG; /* sere valè SREG */ /* enfim entèwonp pandan sekans kwonometre */ _CLI(); EECR |= (1< EECR |= (1< SREG = cSREG; /* retabli valè SREG (I-bit) */ |
Lè w ap itilize ansèyman SEI a pou pèmèt entèwonp yo, yo pral egzekite enstriksyon apre SEI a anvan nenpòt entèwonp ki annatant, jan yo montre nan ansyen sa a.ample.
Kòd Asanble Egzample |
sei ; mete Global Interrupt Enable
dòmi; antre nan dòmi, ap tann pou entèwonp ; nòt: pral antre nan dòmi anvan nenpòt ki annatant ; entèwonp (yo) |
C Kòd Egzample |
_SEI(); /* mete Global Interrupt Enable */
_DOMÒM(); /* antre nan dòmi, ap tann entèwonp */ /* nòt: pral antre nan dòmi anvan nenpòt entèwonp annatant (yo) */ |
Tan repons entèwonp
Repons nan ekzekisyon entèwonp pou tout entèwonp AVR pèmèt yo se kat sik revèy minimòm. Apre kat sik revèy yo egzekite adrès vektè Pwogram pou woutin aktyèl entèwonp yo. Pandan peryòd kat sik revèy sa a, Counter Pwogram nan pouse sou Stack la. Vektè a se nòmalman yon so nan woutin entèwonp la, ak so sa a pran twa sik revèy. Si yon entèwonp rive pandan egzekisyon yon enstriksyon milti-sik, enstriksyon sa a fini anvan yo sèvi entèwonp la. Si yon entèwonp rive lè MCU a nan mòd dòmi, tan an repons ekzekisyon entèwonp ogmante pa kat sik revèy. Ogmantasyon sa a vini anplis tan kòmanse nan mòd dòmi chwazi a.
Yon retou soti nan yon woutin manyen entèwonp pran kat sik revèy. Pandan kat sik revèy sa yo, Counter Pwogram lan (de byte) parèt tounen soti nan Stack la, Stack Pointer la ogmante pa de, epi I-bit nan SREG mete.
AVR memwa
Seksyon sa a dekri diferan memwa nan ATtiny25/45/85 la. Achitekti AVR a gen de espas memwa prensipal, memwa Done ak espas memwa Pwogram. Anplis de sa, ATtiny25/45/85 a gen yon memwa EEPROM pou depo done. Tout twa espas memwa yo lineyè ak regilye.
Nan-Sistèm Re-programmable Flash Pwogram memwa
ATtiny25/45/85 a gen 2/4/8K bytes sou-chip nan sistèm repwograme Flash memwa pou estoke pwogram yo. Depi tout enstriksyon AVR yo se 16 oswa 32 bit lajè, Flash la òganize kòm 1024/2048/4096 x 16.
Memwa Flash a gen yon andirans omwen 10,000 sik ekri / efase. Counter Pwogram ATtiny25/45/85 (PC) se 10/11/12 bit lajè, kidonk adrese kote memwa Pwogram 1024/2048/4096 yo. "Pwogram memwa- ming” nan paj 147 gen yon deskripsyon detaye sou Flash done seri telechaje lè l sèvi avèk broch SPI yo.
Tablo konstan yo ka asiyen nan tout espas adrès memwa Pwogram nan (gade deskripsyon enstriksyon LPM - Load Memory Program).
Figi 5-1. Kat jeyografik memwa pwogram
SRAM done memwa
Figi 5-2 montre kijan ATtiny25/45/85 SRAM memwa òganize.
Kote memwa 224/352/607 Done ki pi ba yo adrese tou de Rejis la File, memwa I/O ak SRAM done entèn yo. Premye 32 kote yo adrese Rejis la File, pwochen 64 kote memwa I/O estanda, ak dènye 128/256/512 kote yo adrese done entèn SRAM yo.
Senk mòd adrès diferan pou memwa Done yo kouvri: Dirèk, Endirèk ak Deplasman, Endirèk, Endirèk ak Pre-dekreman, ak Endirèk ak Post-enkreman. Nan Rejis la File, rejis R26 a R31 prezante rejis endirèk adrese yo.
Adrese dirèk la rive nan espas done tout antye.
Mòd Endirèk ak Deplasman an rive nan 63 adrès adrès soti nan adrès debaz yo bay nan rejis Y- oswa Z-.
Lè w ap itilize mòd adrès endirèk enskri ak pre-dekreman otomatik ak apre-enkreman, rejis adrès X, Y, ak Z yo diminye oswa ogmante.
32 rejis travay jeneral, 64 Rejis I/O, ak 128/256/512 octets SRAM done entèn nan ATtiny25/45/85 yo tout aksesib atravè tout mòd adrès sa yo. Rejis la File se dekri nan "Jen- Enskripsyon objektif File”Nan paj 10.
Figi 5-2. Kat memwa done
Aksè nan memwa done Fwa
Seksyon sa a dekri konsèp distribisyon jeneral aksè pou aksè memwa entèn yo. Aksè SRAM done entèn yo fèt nan de sik clkCPU jan sa dekri nan Figi 5-3.
Figi 5-3. Done sou chip SRAM Aksè Cycles EEPROM done memwa
ATtiny25/45/85 a gen 128/256/512 octets nan memwa EEPROM done. Li òganize kòm yon espas done separe, kote yon sèl byte ka li ak ekri. EEPROM a gen yon andirans nan omwen 100,000 sik ekri / efase. Aksè ki genyen ant EEPROM ak CPU a dekri nan sa ki annapre yo, ki espesifye Rejis Adrès EEPROM, Rejis Done EEPROM, ak Rejis Kontwòl EEPROM. Pou detay gade “Téléchargement seri” nan paj 151.
Aksè lekti/ekri EEPROM
Rejis Aksè EEPROM yo aksesib nan espas I/O.
Yo bay tan aksè ekri pou EEPROM la Tablo 5-1 nan paj 21. Yon fonksyon oto-distribisyon, sepandan, pèmèt lojisyèl itilizatè a detekte lè pwochen byte a ka ekri. Si kòd itilizatè a gen enstriksyon ki ekri EEPROM la, yo dwe pran kèk prekosyon. Nan ekipman pou pouvwa ki filtre anpil, VCC gen chans rive nan monte oswa tonbe tou dousman sou
Pouvwa-moute/desann. Sa lakòz aparèy la pou kèk peryòd de tan kouri nan yon voltage pi ba pase espesifye kòm minimòm pou frekans revèy la itilize. Gade “Anpeche koripsyon EEPROM” nan paj 19 pou plis detay sou fason pou evite pwoblèm nan sitiyasyon sa yo.
Yo nan lòd yo anpeche ekri EEPROM envolontè, yo dwe swiv yon pwosedi ekri espesifik. Gade "Atomik Byte Programming” nan paj 17 epi “Split Byte Programming” nan paj 17 pou detay sou sa.
Lè yo li EEPROM la, CPU a sispann pou kat sik revèy anvan pwochen enstriksyon an egzekite. Lè yo ekri EEPROM la, CPU a sispann pou de sik revèy anvan pwochen enstriksyon an egzekite.
Pwogramasyon byte atomik
Sèvi ak Atomic Byte Programming se mòd ki pi senp. Lè w ap ekri yon byte nan EEPROM, itilizatè a dwe ekri adrès la nan Rejis EEAR ak done yo nan Rejis EEDR. Si bit EEPMn yo zewo, ekri EEPE (nan kat sik apre yo fin ekri EEMPE) pral deklanche operasyon efase/ekri. Tou de sik efase ak ekri yo fèt nan yon sèl operasyon epi yo bay tan total pwogramasyon an Tablo 5-1 nan paj 21. Bit EEPE a rete fikse jiskaske operasyon efase ak ekri yo fini. Pandan ke aparèy la okipe ak pwogramasyon, li pa posib pou fè okenn lòt operasyon EEPROM.
Split byte Programming
Li posib pou divize sik efase a ak ekri nan de operasyon diferan. Sa a ka itil si sistèm lan mande pou yon ti tan aksè pou kèk peryòd de tan limite (tipikman si ekipman pou pouvwa a voltage tonbe). Pou kapab pran avans- tage nan metòd sa a, li nesesè ke kote yo dwe ekri yo te efase anvan operasyon an ekri. Men, depi operasyon yo efase ak ekri yo divize, li posib fè operasyon yo efase lè sistèm nan pèmèt fè operasyon tan-kritik (tipikman apre Power-up).
Efase
Pou efase yon byte, adrès la dwe ekri nan EEAR. Si bit EEPMn yo se 0b01, ekri EEPE a (nan kat sik apre yo fin ekri EEMPE) ap deklanche operasyon efase a sèlman (tan pwogramasyon yo bay nan Tablo 5-1 sou paj 21). Bit EEPE a rete fikse jiskaske operasyon efase a fini. Pandan ke aparèy la okipe pwogramasyon, li pa posib pou fè okenn lòt operasyon EEPROM.
Ekri
Pou ekri yon kote, itilizatè a dwe ekri adrès la nan EEAR ak done yo nan EEDR. Si bit EEPMn yo se 0b10, ekri EEPE a (nan kat sik apre yo fin ekri EEMPE) ap deklanche operasyon ekri a sèlman (tan pwogramasyon yo bay nan Tablo 5-1 nan paj 21). Bit EEPE a rete fikse jiskaske operasyon ekri a fini. Si kote yo dwe ekri a pa te efase anvan ekri, done yo ki estoke dwe konsidere kòm pèdi. Pandan ke aparèy la okipe ak pwogramasyon, li pa posib pou fè okenn lòt operasyon EEPROM.
Osilator kalibre a itilize pou tan aksè EEPROM yo. Asire w ke frekans osilateur a nan kondisyon ki dekri nan “OSCCAL – Rejis Kalibrasyon Osilateur” nan paj 31.
Kòd sa a ansyenamples montre yon sèl asanble ak yon fonksyon C pou efase, ekri, oswa ekri atomik nan EEPROM la. Ansyen anampyo sipoze ke entèwonp yo kontwole (egzanp, pa enfim entèwonp globalman) pou ke pa gen okenn entèripsyon ap rive pandan ekzekisyon fonksyon sa yo.
Kòd Asanble Egzample |
EEPROM_write:
; Tann pou fini ekri anvan yo sbic EECR,EEPE rjmp EEPROM_write ; Mete mòd pwogramasyon ldi r16, (0<<EEPM1)|(0<<EEPM0) soti EECR, r16 ; Mete adrès (r18:r17) nan rejis adrès soti EEARH, r18 soti EEARL, r17 ; Ekri done (r19) nan rejis done soti EEDR, r19 ; Ekri yon lojik pou EEMPE sbi EECR,EEMPE ; Kòmanse ekri eeprom pa mete EEPE sbi EECR,EEPE ret |
C Kòd Egzample |
void EEPROM_write (unsigned char ucAddress, unsigned char ucData)
{ /* Tann fin ekri anvan yo */ while(EECR & (1< ; /* Mete mòd pwogramasyon */ EECR = (0< /* Mete rejis adrès ak done */ EEAR = ucAddress; EEDR = ucData; /* Ekri yon lojik pou EEMPE */ EECR |= (1< /* Kòmanse ekri eeprom pa mete EEPE */ EECR |= (1< } |
Kòd kap vini an examples montre asanble ak C fonksyon pou li EEPROM la. Ansyen anamples asime ke entèwonp yo kontwole pou ke pa gen okenn entèwonp pral rive pandan ekzekisyon nan fonksyon sa yo.
Kòd Asanble Egzample |
EEPROM_li:
; Tann pou fini ekri anvan yo sbic EECR,EEPE rjmp EEPROM_read ; Mete adrès (r18:r17) nan rejis adrès soti EEARH, r18 soti EEARL, r17 ; Kòmanse lekti eeprom lè w ekri EERE sbi EECR,EERE ; Li done ki soti nan rejis done yo nan r16, EEDR ret |
C Kòd Egzample |
unsigned char EEPROM_read (unsigned char ucAddress)
{ /* Tann fin ekri anvan yo */ pandan (EECR & (1< ; /* Mete enskri adrès */ EEAR = ucAddress; /* Kòmanse lekti eeprom lè w ekri EERE */ EECR |= (1< /* Retounen done ki soti nan rejis done */ retounen EEDR; } |
Anpeche koripsyon EEPROM
Pandan peryòd ki ba VCC, done EEPROM yo ka pèvèti paske rezèv la voltage twò ba pou CPU a ak EEPROM la fonksyone byen. Pwoblèm sa yo se menm jan ak sistèm nivo tablo lè l sèvi avèk EEPROM, epi yo ta dwe aplike menm solisyon konsepsyon yo.
Yon koripsyon done EEPROM ka koze pa de sitiyasyon lè vol latage twò ba. Premyèman, yon sekans ekri regilye nan EEPROM a mande pou yon minimòm voltage pou opere kòrèkteman. Dezyèmman, CPU a tèt li ka egzekite enstriksyon mal, si rezèv la voltage twò ba.
Ka koripsyon done EEPROM fasil pou evite si w suiv rekòmandasyon konsepsyon sa a:
Kenbe AVR RESET aktif (ba) pandan peryòd ensifizan ekipman pou pouvwa voltage. Sa a ka fè lè w pèmèt entèn Brown-out Detector (BOD). Si nivo deteksyon BOD entèn la pa matche ak
bezwen nivo deteksyon, yon ekstèn ba VCC reset sikwi pwoteksyon ka itilize. Si yon réinitialisation rive pandan yon operasyon ekri nan pwogrè, operasyon ekri nan liv pral konplete depi ke ekipman pou pouvwa a voltage se ase.
I/O memwa
Definisyon espas I/O ATtiny25/45/85 la montre nan “Rezime Anrejistre” nan paj 200.
Tout ATtiny25/45/85 I/O ak periferik yo mete nan espas I/O a. Tout kote I/O ka jwenn aksè pa enstriksyon LD/LDS/LDD ak ST/STS/STD, transfere done ant 32 rejis travay jeneral yo ak espas I/O. Rejis I/O ki nan ranje adrès 0x00 – 0x1F yo aksesib dirèkteman avèk enstriksyon SBI ak CBI yo. Nan rejis sa yo, yo ka tcheke valè bit sèl lè w itilize enstriksyon SBIS ak SBIC yo. Ale nan seksyon seri enstriksyon an pou plis detay. Lè w ap itilize kòmandman espesifik I/O IN ak OUT, yo dwe itilize adrès I/O 0x00 – 0x3F. Lè w ap adrese Rejis I/O kòm espas done lè l sèvi avèk enstriksyon LD ak ST, yo dwe ajoute 0x20 nan adrès sa yo.
Pou konpatibilite ak aparèy nan lavni, rezève Bits yo ta dwe ekri a zewo si jwenn aksè. Rezève I / O adrès memwa pa ta dwe janm ekri.
Gen kèk nan Drapo Estati yo efase lè w ekri yon drapo ki lojik pou yo. Remake byen ke enstriksyon CBI ak SBI yo pral opere sèlman sou ti jan espesifye a, epi se poutèt sa yo ka itilize sou rejis ki gen drapo Estati sa yo. Enstriksyon CBI ak SBI yo travay ak rejis 0x00 jiska 0x1F sèlman.
Anrejistre kontwòl I/O ak periferik yo eksplike nan seksyon ki vin apre yo.
Enskri Deskripsyon
EEARH – Enskri Adrès EEPROM
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1F | – | – | – | – | – | – | – | EEAR8 | EEARH |
Li/Ekri | R | R | R | R | R | R | R | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X/0 |
Bits 7:1 - Res: Bits rezève
Bits sa yo rezève pou itilize nan lavni epi yo pral toujou li kòm zewo.
Bits 0 - EEAR8: Adrès EEPROM
Sa a se ti bit adrès EEPROM ki pi enpòtan nan ATtiny85. Nan aparèy ki gen mwens EEPROM, sa vle di ATtiny25/ATtiny45, ti jan sa a rezève epi li pral toujou li zewo. Valè inisyal Rejis Adrès EEPROM (EEAR) pa defini epi yo dwe ekri yon valè apwopriye anvan yo jwenn aksè nan EEPROM la.
EEARL – Enskri Adrès EEPROM
ti jan
0x1E | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 | EEARL |
Dèyè/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | X | X | X | X | X | X | X | X |
Bit 7 - EEAR7: Adrès EEPROM
Sa a se ti bit adrès EEPROM ki pi enpòtan nan ATtiny45. Nan aparèy ki gen mwens EEPROM, sa vle di ATtiny25, ti jan sa a rezève epi li pral toujou li zewo. Valè inisyal Rejis Adrès EEPROM (EEAR) pa defini epi yo dwe ekri yon valè apwopriye anvan yo jwenn aksè nan EEPROM la.
Bits 6:0 - EEAR[6:0]: Adrès EEPROM
Sa yo se (ba) Bits nan Rejis Adrès EEPROM la. Byte done EEPROM yo adrese lineyèman nan seri 0...(128/256/512-1). Valè inisyal EEAR pa defini epi yo dwe ekri yon valè apwopriye anvan yo ka jwenn aksè nan EEPROM la.
EEDR - EEPROM Done Rejis
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1D | EEDR7 | EEDR6 | EEDR5 | EEDR4 | EEDR3 | EEDR2 | EEDR1 | EEDR0 | EEDR |
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Pou operasyon ekri EEPROM la, Rejis EEDR a gen done yo dwe ekri nan EEPROM nan adrès Rejis EEAR bay. Pou operasyon an li EEPROM, EEDR a gen done yo li soti nan
EEPROM nan adrès EEAR bay.
5.5.4 EECR – Rejis kontwòl EEPROM |
|||||||||
Bit 7 6 5 | 4 | 3 | 2 | 1 | 0 | ||||
0x1C – | – | EEPM1 | EEPM0 | EPI | EEMPE | EEPE | EERE | EECR | |
Li/Ekri R R R/W | R/W | R/W | R/W | R/W | R/W | ||||
Valè inisyal 0 0 X | X | 0 | 0 | X | 0 |
Bit 7 - Res: Bit rezève
Se ti jan sa a rezève pou itilize nan lavni epi li pral toujou li kòm 0 nan ATtiny25/45/85. Pou konpatibilite ak aparèy AVR nan lavni, toujou ekri ti jan sa a zewo. Apre ou fin li, maske ti jan sa a.
Bit 6 - Res: Bit rezève
Se ti jan sa a rezève nan ATtiny25/45/85 la epi li pral toujou li kòm zewo.
Bits 5:4 - EEPM[1:0]: Bits mòd pwogramasyon EEPROM
Anviwònman Bits mòd pwogramasyon EEPROM la defini ki aksyon pwogramasyon ki pral deklanche lè w ap ekri EEPE. Li posib pou pwograme done nan yon sèl operasyon atomik (efase ansyen valè a ak pwograme nouvo valè a) oswa divize operasyon Efase ak Ekri nan de operasyon diferan. Tan yo pwogramasyon pou diferan mòd yo montre nan Tablo 5-1. Pandan ke EEPE yo mete, nenpòt ki ekri nan EEPMn pral inyore. Pandan reset, bit EEPMn yo pral reset a 0b00 sof si EEPROM la okipe pwogramasyon.
Tablo 5-1. Bits mòd EEPROM
EEPM1 | EEPM0 | Tan pwogramasyon | Operasyon |
0 | 0 | 3.4 ms | Efase ak ekri nan yon sèl operasyon (operasyon atomik) |
0 | 1 | 1.8 ms | Efase sèlman |
1 | 0 | 1.8 ms | Ekri Sèlman |
1 | 1 | – | Rezève pou itilizasyon nan lavni |
Bit 3 - EERIE: EEPROM Ready Interrupt Enable
Ekri EERIE nan yon sèl pèmèt EEPROM Ready Interrupt si yo mete I-bit nan SREG. Lè w ekri EERIE a zewo, enfim entèwonp la. EEPROM Ready Interrupt la jenere yon entèwonp konstan lè memwa ki pa temèt pare pou pwogramasyon.
Bit 2 - EEMPE: Pwogram Mèt EEPROM Pèmèt
Bit EEMPE a detèmine si ekri EEPE nan youn pral gen efè oswa ou pa.
Lè EEMPE mete, mete EEPE nan kat sik revèy yo pral pwograme EEPROM nan adrès ou chwazi a. Si EEMPE se zewo, mete EEPE p ap gen okenn efè. Lè EEMPE te ekri nan youn pa lojisyèl, pyès ki nan konpitè efase ti jan nan zewo apre kat sik revèy.
Bit 1 - EEPE: Pwogram EEPROM Pèmèt
Pwogram EEPROM Enable Signal EEPE se siyal pwogramasyon pèmèt EEPROM la. Lè yo ekri EEPE, yo pral pwograme EEPROM la dapre anviwònman bits EEPMn yo. Ti jan EEMPE a dwe ekri nan yon sèl anvan yon sèl ki lojik ekri nan EEPE, otreman pa gen okenn ekri EEPROM pran plas. Lè tan aksè ekri a te pase, bit EEPE a otorize pa pyès ki nan konpitè. Lè yo mete EEPE, CPU a kanpe pou de sik anvan pwochen enstriksyon an egzekite.
Bit 0 - EERE: EEPROM Read Enable
EEPROM Read Enable Signal - EERE - se strobe li nan EEPROM la. Lè yo mete adrès kòrèk la nan Rejis EEAR la, yo dwe ekri ti bit EERE nan youn pou deklanche lekti EEPROM la. Aksè lekti EEPROM la pran yon sèl enstriksyon, epi done yo mande yo disponib imedyatman. Lè yo li EEPROM la, CPU a sispann pou kat sik anvan pwochen enstriksyon an egzekite. Itilizatè a ta dwe sondaj bit EEPE a anvan li kòmanse operasyon lekti a. Si yon operasyon ekri nan pwogrè, li pa ni posib pou li EEPROM a, ni pou chanje Rejis EEAR.
Sistèm Revèy ak Opsyon Revèy
Sistèm revèy ak distribisyon yo
Clock CPU
Revèy CPU a ap dirije nan pati nan sistèm ki konsène ak operasyon nwayo AVR la. EgzampModil sa yo se Rejis Objektif Jeneral la File, Rejis Estati a ak memwa Done ki kenbe Pointer Stack la. Sispann revèy CPU a anpeche nwayo a fè operasyon jeneral ak kalkil.
I/O Clock – clkI/O
Yo itilize revèy I/O majorite modil I/O yo, tankou Timer/Counter. Modil entèwonp ekstèn lan itilize revèy I/O tou, men sonje ke kèk entèwonp ekstèn yo detekte pa lojik asynchrone, sa ki pèmèt entèwonp sa yo detekte menm si revèy I/O sispann.
Flash Clock – clkFLASH
Flash revèy la kontwole operasyon koòdone Flash la. Revèy Flash anjeneral aktif ansanm ak revèy CPU a.
ADC Clock - clkADC
ADC a bay yon domèn revèy dedye. Sa pèmèt kanpe CPU ak I/O revèy yo nan lòd yo diminye bri ki te pwodwi pa sikwi dijital. Sa a bay rezilta konvèsyon ADC pi egzak.
Entèn PLL pou jenerasyon vit periferik revèy - clkPCK
PLL entèn la nan ATtiny25/45/85 jenere yon frekans revèy ki miltipliye 8x nan yon opinyon sous. Pa default, PLL a sèvi ak pwodiksyon an nan entèn, 8.0 MHz RC osilator kòm sous. Altènativman, si ti jan LSM nan PLLCSR mete PLL la pral sèvi ak pwodiksyon an nan osilator RC divize pa de. Kidonk pwodiksyon PLL la, revèy periferik rapid la se 64 MHz. Revèy periferik rapid la, oswa yon revèy preskaled soti nan sa, ka chwazi kòm sous la revèy pou Timer/Counter1 oswa kòm yon revèy sistèm. Gade Figi 6-2. Frekans revèy periferik rapid la divize pa de lè LSM nan PLLCSR mete, sa ki lakòz yon frekans revèy 32 MHz. Remake byen, ke LSM pa ka mete si PLLCLK yo itilize kòm revèy sistèm.
Figi 6-2. PCK Sistèm Revèy.
PLL a fèmen sou osilator RC a epi ajiste osilateur RC a atravè enskri OSCCAL pral ajiste revèy periferik rapid la an menm tan. Sepandan, menm si yo pran osilateur RC a nan yon frekans ki pi wo pase 8 MHz, frekans rapid revèy periferik la boure nan 85 MHz (pi move ka) epi li rete osile nan frekans maksimòm lan. Li ta dwe remake ke PLL la nan ka sa a pa fèmen ankò ak revèy la osilator RC. Se poutèt sa, li rekòmande pa pran ajisteman OSCCAL yo nan yon frekans ki pi wo pase 8 MHz yo nan lòd yo kenbe PLL a nan seri a fonksyone kòrèk.
PLL entèn la aktive lè:
Bit PLLE nan rejis PLLCSR la mete.
Fusible CKSEL pwograme pou '0001'.
Fusible CKSEL pwograme pou '0011'.
PLLCSR bit PLOCK la mete lè PLL fèmen. Tou de entèn osilator RC ak PLL yo etenn nan pouvwa desann ak mòd dòmi kanpe.
PLL entèn nan mòd konpatibilite ATtiny15
Depi ATtiny25/45/85 se yon aparèy migrasyon pou itilizatè ATtiny15, gen yon mòd konpatibilite ATtiny15 pou konpatibilite bak. Mòd konpatibilite ATtiny15 la chwazi lè w pwograme fusibles CKSEL yo nan '0011'.
Nan mòd konpatibilite ATtiny15 frekans osilator RC entèn la kalibre jiska 6.4 MHz epi faktè miltiplikasyon PLL la mete sou 4x. Gade Figi 6-3. Avèk ajisteman sa yo sistèm revèy la se ATtiny15-konpatib ak revèy periferik rapid ki kapab lakòz gen yon frekans nan 25.6 MHz (menm jan ak nan ATtiny15).
Figi 6-3. PCK Clocking System nan mòd konpatibilite ATtiny15.
Revèy Sous
Aparèy la gen opsyon sous revèy sa yo, ki ka chwazi pa Flash Fuse Bits jan yo montre anba a. Revèy ki soti nan sous la chwazi a se antre nan dèlko revèy AVR a, epi li ap dirije nan modil ki apwopriye yo.
Tablo 6-1. Aparèy Clocking Opsyon Chwazi
Aparèy Clocking Opsyon | CKSEL[3:0](1) |
Revèy ekstèn (gade paj 26) | 0000 |
Revèy PLL segondè frekans (gade paj 26) | 0001 |
Osilator entèn kalibre (gade paj 27) | 0010(2) |
Osilator entèn kalibre (gade paj 27) | 0011(3) |
Osilator entèn 128 kHz (gade paj 28) | 0100 |
Ba-frekans Crystal osilator (gade paj 29) | 0110 |
Crystal osilator / seramik resonator (gade paj 29) | 1000 – 1111 |
Rezève | 0101, 0111 |
Pou tout fusibles "1" vle di ki pa pwograme pandan ke "0" vle di pwograme.
Se aparèy la anbake ak opsyon sa a chwazi.
Sa a pral chwazi mòd konpatibilite ATtiny15, kote revèy sistèm divize pa kat, sa ki lakòz yon frekans revèy 1.6 MHz. Pou plis enfòmasyon, gade "Osilator Entèn kalibre" nan paj 27.
Chwa yo divès kalite pou chak opsyon revèy yo bay nan seksyon sa yo. Lè CPU a reveye soti nan pouvwa-desann, yo itilize sous revèy la chwazi pou tan demaraj la, asire operasyon Oscillator ki estab anvan ekzekisyon enstriksyon kòmanse. Lè CPU a kòmanse nan reset, gen yon reta adisyonèl ki pèmèt pouvwa a rive nan yon nivo ki estab anvan yo kòmanse operasyon nòmal. Osilator Watchdog la itilize pou distribisyon an tan reyèl nan tan demaraj la. Yo montre kantite sik osilator WDT yo itilize pou chak tan-soti Tablo 6-2.
Tablo 6-2. Kantite Sik Osilator Watchdog
Tape Time-out | Kantite sik |
4 ms | 512 |
64 ms | 8K (8,192) |
Revèy ekstèn
Pou kondwi aparèy la soti nan yon sous revèy ekstèn, CLKI ta dwe kondwi jan yo montre nan Figi 6-4. Pou kouri aparèy la sou yon revèy ekstèn, CKSEL Fuses yo dwe pwograme nan "00".
Figi 6-4. Konfigirasyon ekstèn kondwi revèy
Lè yo chwazi sous revèy sa a, SUT Fuses yo detèmine lè demaraj yo jan yo montre nan Tablo 6-3.
Tablo 6-3. Tan demaraj pou seleksyon revèy ekstèn lan
SUT[1:0] | Tan pou kòmanse soti nan pouvwa-desann | Lòt Reta nan Reset | Itilizasyon Rekòmande |
00 | 6 CK | 14CK | BOD pèmèt |
01 | 6 CK | 14CK + 4 ms | Vit k ap monte pouvwa |
10 | 6 CK | 14CK + 64 ms | Pouvwa k ap monte dousman |
11 | Rezève |
Lè w ap aplike yon revèy ekstèn, li oblije evite chanjman toudenkou nan frekans revèy aplike a pou asire operasyon ki estab nan MCU la. Yon varyasyon nan frekans ki gen plis pase 2% soti nan yon sik revèy nan pwochen an ka mennen nan konpòtman enprevizib. Li oblije asire ke MCU a kenbe nan Reset pandan chanjman sa yo nan frekans revèy la.
Remake byen ke sistèm revèy prevannèl la ka itilize pou aplike chanjman nan tan kouri nan frekans revèy entèn la pandan y ap toujou asire operasyon ki estab. Gade “System Clock Prescaler” nan paj 31 pou detay.
Revèy PLL segondè frekans
Gen yon PLL entèn ki bay nominalman 64 MHz pousantaj revèy fèmen nan RC Osilator la pou itilize nan periferik Timer/Counter1 ak pou sous la revèy sistèm. Lè yo chwazi kòm yon sous revèy sistèm, lè w pwograme fusibles CKSEL yo nan '0001', li divize pa kat jan yo montre nan Tablo 6-4.
Tablo 6-4. Segondè Frekans PLL Revèy Operasyon Modes
CKSEL[3:0] | Nominal Frekans |
0001 | 16 MHz |
Lè yo chwazi sous revèy sa a, lè demaraj yo detèmine pa fus SUT yo jan yo montre nan Tablo 6-5.
Tablo 6-5. Tan kòmanse pou revèy PLL segondè frekans lan
SUT[1:0] | Tan demaraj soti nan Power Down | Lòt Reta nan Reset pouvwa-sou (VCC = 5.0V) | Itilizasyon rekòmande |
00 | 14CK + 1K (1024) CK + 4 ms | 4 ms | BOD pèmèt |
Tablo 6-5. Tan kòmanse pou revèy PLL segondè frekans lan
SUT[1:0] | Tan demaraj soti nan Power Down | Lòt Reta nan Reset pouvwa-sou (VCC = 5.0V) | Itilizasyon rekòmande |
01 | 14CK + 16K (16384) CK + 4 ms | 4 ms | Vit k ap monte pouvwa |
10 | 14CK + 1K (1024) CK + 64 ms | 4 ms | Pouvwa k ap monte dousman |
11 | 14CK + 16K (16384) CK + 64 ms | 4 ms | Pouvwa k ap monte dousman |
Osilator entèn kalibre
Pa default, Osilator Entèn RC a bay yon revèy apeprè 8.0 MHz. Menm si voltage ak tanperati depann, revèy sa a ka trè byen kalibre pa itilizatè a. Gade "Kalibre entèn RC osilator aki- racy” nan paj 164 epi "Vitès Osilator Entèn" nan paj 192 pou plis detay. Se aparèy la anbake ak CKDIV8 Fuse pwograme. Gade “System Clock Prescaler” nan paj 31 pou plis detay.
Yo ka chwazi revèy sa a kòm revèy sistèm lè w pwograme Fusibles CKSEL yo jan yo montre nan Tablo 6-6 nan paj la
27. Si yo chwazi, li pral opere san okenn konpozan ekstèn. Pandan reset, pyès ki nan konpitè chaje valè kalibrasyon pre-pwograme a nan Rejis OSCCAL la epi kidonk otomatikman kalibre RC Osilator la. Yo montre presizyon nan kalibrasyon sa a kòm kalibrasyon faktori nan Tablo 21-2 nan paj 164.
Lè w chanje rejis OSCCAL la soti nan SW, gade “OSCCAL – Rejis Kalibrasyon Osilateur” nan paj 31, li posib pou jwenn yon presizyon kalibrasyon ki pi wo pase lè w itilize kalibrasyon faktori a. Yo montre presizyon kalibrasyon sa a kòm kalibrasyon itilizatè nan Tablo 21-2 nan paj 164.
Lè yo itilize Osilator sa a kòm revèy chip, Watchdog Oscillator ap toujou itilize pou Watchdog Timer ak pou Reset Time-out la. Pou plis enfòmasyon sou valè kalibrasyon pre-pwograme, gade seksyon an "Cali- bytes bration” nan paj 150.
Osilator entèn la ka mete tou pou bay yon revèy 6.4 MHz lè w ekri CKSEL fusibles nan "0011", jan yo montre nan Tablo 6-6 anba a. Anviwònman sa a refere kòm Mòd konpatibilite ATtiny15 epi li gen entansyon bay yon sous revèy kalibre nan 6.4 MHz, tankou nan ATtiny15. Nan mòd konpatibilite ATtiny15, PLL la sèvi ak osilator entèn la kouri nan 6.4 MHz pou jenere yon siyal revèy periferik 25.6 MHz pou Timer/Counter1 (gade "8-bit Timer/Counter1 in Mòd ATtiny15” nan paj 95). Remake byen ke nan mòd operasyon sa a siyal revèy 6.4 MHz toujou divize pa kat, bay yon revèy sistèm 1.6 MHz.
Tablo 6-6. Mòd Fonksyònman Osilator RC entèn kalibre
CKSEL[3:0] | Nominal Frekans |
0010(1) | 8.0 MHz |
0011(2) | 6.4 MHz |
Se aparèy la anbake ak opsyon sa a chwazi.
Anviwònman sa a pral chwazi mòd konpatibilite ATtiny15, kote revèy sistèm divize pa kat, sa ki lakòz yon frekans revèy 1.6 MHz.
Lè yo seleksyone osilator entèn 8 MHz kalibre a kòm sous revèy, tan demaraj yo detèmine pa SUT Fuses yo jan yo montre nan Tablo 6-7 anba a.
Tablo 6-7. Start-up Times pou revèy osilator RC entèn kalibre
SUT[1:0] | Tan pou kòmanse soti nan pouvwa-desann | Lòt Reta nan Reset (VCC = 5.0V) | Itilizasyon Rekòmande |
00 | 6 CK | 14CK(1) | BOD pèmèt |
01 | 6 CK | 14CK + 4 ms | Vit k ap monte pouvwa |
10(2) | 6 CK | 14CK + 64 ms | Pouvwa k ap monte dousman |
11 | Rezève |
1. Si yo pwograme fuse RSTDISBL, tan demaraj sa a ap ogmante a 14CK + 4 ms pou asire yo ka antre nan mòd pwogramasyon an.
2. Se aparèy la anbake ak opsyon sa a chwazi.
Nan mòd konpatibilite ATtiny15, lè demaraj yo detèmine pa fus SUT jan yo montre nan Tablo 6-8 anba a.
Tablo 6-8. Tan demaraj pou revèy osilator RC entèn kalibre (nan mòd ATtiny15)
SUT[1:0] | Tan pou kòmanse soti nan pouvwa-desann | Lòt Reta nan Reset (VCC = 5.0V) | Itilizasyon Rekòmande |
00 | 6 CK | 14CK + 64 ms | |
01 | 6 CK | 14CK + 64 ms | |
10 | 6 CK | 14CK + 4 ms | |
11 | 1 CK | 14CK(1) |
Remak: Si fuse RSTDISBL pwograme, tan demaraj sa a ap ogmante a 14CK + 4 ms pou asire yo ka antre nan mòd pwogramasyon an.
An rezime, ou ka jwenn plis enfòmasyon sou mòd konpatibilite ATtiny15 nan seksyon yo "Pò B (PB5:PB0)" sou paj 2, “PLL entèn nan mòd konpatibilite ATtiny15” nan paj 24, "8-bit Timer/Counter1 in ATtiny15 Mode" sou paj 95, “Limitasyon debugWIRE” nan paj 140, “Octs Kalibrasyon” nan paj 150 ak nan tab la "Clock Prescaler Chwazi” nan paj 33.
Osilator entèn 128 kHz
Osilator entèn 128 kHz la se yon osilator ki ba pouvwa ki bay yon revèy 128 kHz. Frekans lan nominal nan 3V ak 25 ° C. Yo ka chwazi revèy sa a kòm revèy sistèm lè w pwograme CKSEL Fuses yo sou "0100".
Lè yo chwazi sous revèy sa a, SUT Fuses yo detèmine lè demaraj yo jan yo montre nan Tablo 6-9.
Tablo 6-9. Start-up Times pou 128 kHz Osilator Entèn la
SUT[1:0] | Tan pou kòmanse soti nan pouvwa-desann | Lòt Reta nan Reset | Itilizasyon Rekòmande |
00 | 6 CK | 14CK(1) | BOD pèmèt |
01 | 6 CK | 14CK + 4 ms | Vit k ap monte pouvwa |
10 | 6 CK | 14CK + 64 ms | Pouvwa k ap monte dousman |
11 | Rezève |
Remak: Si fuse RSTDISBL pwograme, tan demaraj sa a ap ogmante a 14CK + 4 ms pou asire yo ka antre nan mòd pwogramasyon an.
Ba-frekans Crystal osilator
Pou itilize yon kristal gade 32.768 kHz kòm sous revèy pou aparèy la, yo dwe chwazi Oscillator Crystal ba frekans lan lè w mete fusibles CKSEL nan '0110'. Kristal la ta dwe konekte jan yo montre nan Figi 6-5. Pou jwenn kapasite chaj apwopriye pou yon kristal 32.768 kHz, tanpri konsilte fichye manifakti a.
Lè yo chwazi osilator sa a, fwa yo kòmanse yo detèmine pa fus SUT yo jan yo montre nan Tablo 6-10.
Tablo 6-10. Start-up Times pou seleksyon revèy ba frekans Crystal osilator
SUT[1:0] | Tan demaraj soti nan Power Down | Lòt Reta nan Reset (VCC = 5.0V) | Itilizasyon rekòmande |
00 | 1K (1024) CK(1) | 4 ms | Pouvwa k ap monte rapid oswa BOD pèmèt |
01 | 1K (1024) CK(1) | 64 ms | Pouvwa k ap monte dousman |
10 | 32K (32768) CK | 64 ms | Frekans ki estab nan kòmansman an |
11 | Rezève |
Nòt: Opsyon sa yo ta dwe itilize sèlman si estabilite frekans nan kòmansman an pa enpòtan.
Osilator Crystal ba-frekans la bay yon kapasite chaj entèn, gade Tablo 6-11 nan chak PIN TOSC.
Tablo 6-11. Kapasite nan ba-frekans Crystal osilator
Aparèy | 32 kHz Osc. Kalite | Bouchon (Xtal1/Tosc1) | Bouchon (Xtal2/Tosc2) |
ATtiny25/45/85 | Sistèm Osc. | 16 pF | 6 pF |
Crystal osilator / seramik resonator
XTAL1 ak XTAL2 se opinyon ak pwodiksyon, respektivman, nan yon envèsti amplifier ki ka configuré pou itilize kòm yon osilator On-chip, jan yo montre nan Figi 6-5. Swa yon kristal kwatz oswa yon resonator seramik ka itilize.
C1 ak C2 ta dwe toujou egal pou tou de kristal ak resonators. Valè pi bon kondansateur yo depann sou kristal oswa resonator nan itilize, kantite kapasite ki pèdi, ak bri elektwomayetik anviwònman an. Gen kèk direktiv inisyal pou chwazi kondansateur pou itilize ak kristal yo bay nan Tablo 6-12 anba a. Pou resonator seramik, yo ta dwe itilize valè kondansateur manifakti a bay.
Tablo 6-12. Crystal osilateur mòd operasyon
CKSEL[3:1] | Frekans Range (MHz) | Ranje rekòmande pou kondansateur C1 ak C2 pou itilize ak kristal (pF) |
100(1) | 0.4 – 0.9 | – |
101 | 0.9 – 3.0 | 12 – 22 |
110 | 3.0 – 8.0 | 12 – 22 |
111 | 8.0 - | 12 – 22 |
Nòt: Opsyon sa a pa ta dwe itilize ak kristal, sèlman ak resonator seramik.
Osilateur a ka opere nan twa mòd diferan, chak optimize pou yon seri frekans espesifik. Mòd fonksyònman an chwazi pa fusibles CKSEL[3:1] jan yo montre nan Tablo 6-12.
CKSEL0 Fuse ansanm ak SUT[1:0] Fuse yo chwazi tan demaraj yo jan yo montre nan Tablo 6-13.
Tablo 6-13. Start-up Times pou seleksyon Crystal Oscillator Clock la
CKSEL0 | SUT[1:0] | Tan pou kòmanse soti nan pouvwa-desann | Lòt Reta nan Reset | Itilizasyon Rekòmande |
0 | 00 | 258 CK(1) | 14CK + 4 ms | Resonator seramik, rapid k ap monte pouvwa |
0 | 01 | 258 CK(1) | 14CK + 64 ms | Resonator seramik, pouvwa dousman k ap monte |
0 | 10 | 1K (1024) CK(2) | 14CK | Resonator seramik, BOD pèmèt |
0 | 11 | 1K (1024)CK(2) | 14CK + 4 ms | Resonator seramik, rapid k ap monte pouvwa |
1 | 00 | 1K (1024)CK(2) | 14CK + 64 ms | Resonator seramik, pouvwa dousman k ap monte |
1 | 01 | 16K (16384) CK | 14CK | Crystal osilator, BOD pèmèt |
1 | 10 | 16K (16384) CK | 14CK + 4 ms | Crystal osilator, vit k ap monte pouvwa |
1 | 11 | 16K (16384) CK | 14CK + 64 ms | Crystal osilator, pouvwa dousman k ap monte |
Nòt
Opsyon sa yo ta dwe itilize sèlman lè yo pa opere tou pre frekans maksimòm aparèy la, epi sèlman si estabilite frekans nan kòmansman an pa enpòtan pou aplikasyon an. Opsyon sa yo pa apwopriye pou kristal.
Opsyon sa yo fèt pou itilize ak resonator seramik epi yo pral asire estabilite frekans nan kòmansman an. Yo ka itilize tou ak kristal lè yo pa opere tou pre frekans maksimòm aparèy la, epi si estabilite frekans nan kòmansman an pa enpòtan pou aplikasyon an.
Sous Revèy Default
Se aparèy la anbake ak CKSEL = "0010", SUT = "10", ak CKDIV8 pwograme. Se poutèt sa, paramèt sous revèy default la se Oscillator Entèn RC ki kouri nan 8 MHz ak tan demaraj ki pi long ak yon premye revèy sistèm nan 8, sa ki lakòz revèy sistèm 1.0 MHz. Anviwònman default sa a asire ke tout itilizatè yo ka fè anviwònman sous revèy yo vle lè l sèvi avèk yon In-System oswa High-voltage Pwogramè.
Sistèm Clock Prescaler
Revèy sistèm ATtiny25/45/85 ka divize pa mete nan “CLKPR – Rejis Pre-Echèl Revèy” nan paj 32. Karakteristik sa a ka itilize pou diminye konsomasyon pouvwa lè kondisyon pou pouvwa pwosesis la ba. Sa a ka itilize ak tout opsyon sous revèy, epi li pral afekte frekans revèy CPU a ak tout periferik synchrone. clkI/O, clkADC, clkCPU, ak clkFLASH divize pa yon faktè jan yo montre nan Tablo 6-15 nan paj 33.
Chanje Tan
Lè w chanje ant paramèt prescaler, System Clock Prescaler asire ke pa gen okenn pwoblèm ki fèt nan sistèm revèy la e ke pa gen okenn frekans entèmedyè ki pi wo pase ni frekans revèy ki koresponn ak anviwònman anvan an, ni frekans revèy ki koresponn ak nouvo anviwònman an.
Kontwatè a rid ki aplike prescaler la kouri nan frekans nan revèy la endividi, ki ka pi vit pase frekans revèy CPU a. Pakonsekan, li pa posib pou detèmine eta a nan prescaler la - menm si li te lizib, epi tan an egzak li pran pou chanje soti nan yon divizyon revèy nan yon lòt pa ka egzakteman prevwa.
Depi lè yo ekri valè CLKPS yo, li pran ant T1 + T2 ak T1 + 2*T2 anvan nouvo frekans revèy la aktif. Nan entèval sa a, 2 bor revèy aktif yo pwodui. Isit la, T1 se peryòd revèy anvan an, ak T2 se peryòd ki koresponn ak nouvo anviwònman prescaler la.
Tanpon Sòti Revèy
Aparèy la ka bay revèy sistèm lan sou PIN CLKO (lè yo pa itilize kòm PIN XTAL2). Pou pèmèt pwodiksyon an, CKOUT Fuse a dwe pwograme. Mòd sa a apwopriye lè yo itilize revèy chip la pou kondwi lòt sikui sou sistèm lan. Remake byen ke revèy la pa pral pwodiksyon pandan reset e ke operasyon an nòmal nan I / O PIN yo pral pase sou plas lè fuze a pwograme. Entèn RC Osilator, WDT Osilator, PLL, ak revèy ekstèn (CLKI) ka chwazi lè revèy la se pwodiksyon sou CLKO. Osilateur kristal (XTAL1, XTAL2) pa ka itilize pou pwodiksyon revèy sou CLKO. Si yo itilize System Clock Prescaler, se revèy sistèm divize an ki pwodiksyon an.
Enskri Deskripsyon
OSCCAL - Oscillator Kalibrasyon Rejis
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x31 | CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | OSKAL |
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
Bits 7:0 - CAL[7:0]: Valè Kalibrasyon Osilateur
Yo itilize Rejis Kalibrasyon Osilateur la pou koupe osilateur RC Entèn Kalibrasyon an pou retire varyasyon pwosesis nan frekans osilateur la. Yon valè kalibrasyon pre-pwograme otomatikman ekri nan rejis sa a pandan reset chip, bay frekans kalibre faktori a jan sa espesifye nan Tablo 21-2 nan paj 164. Lojisyèl aplikasyon an ka ekri rejis sa a pou chanje frekans osilateur la. Osilator la ka kalibre nan frekans jan sa espesifye nan Tablo 21-2 nan paj 164. Kalibrasyon andeyò ranje sa a pa garanti.
Remake byen ke osilator sa a itilize pou tan EEPROM ak Flash aksè ekri, epi tan ekri sa yo pral afekte kòmsadwa. Si yo ekri EEPROM oswa Flash, pa kalibre a plis pase 8.8 MHz. Sinon, ekriti EEPROM oswa Flash ka echwe.
Bit CAL7 la detèmine seri operasyon pou osilator la. Mete ti jan sa a nan 0 bay ranje frekans ki pi ba a, mete ti jan sa a nan 1 bay ranje frekans ki pi wo a. De chenn frekans yo sipèpoze, sa vle di yon anviwònman OSCCAL = 0x7F bay yon frekans ki pi wo pase OSCCAL = 0x80.
Bits CAL[6:0] yo itilize pou ajiste frekans lan nan seri yo chwazi a. Yon anviwònman 0x00 bay frekans ki pi ba a nan seri sa a, epi yon anviwònman 0x7F bay frekans ki pi wo a nan seri a.
Pou asire operasyon ki estab nan MCU a, yo ta dwe chanje valè kalibrasyon an nan ti. Yon varyasyon nan frekans ki gen plis pase 2% soti nan yon sik nan pwochen an ka mennen nan konpòtman enprevizib. Chanjman nan OSCCAL pa ta dwe depase 0x20 pou chak kalibrasyon. Li oblije asire ke MCU a kenbe nan Reset pandan chanjman sa yo nan frekans revèy la
Tablo 6-14. Entèn RC Oscillator Frekans Gamme
Valè OSCCAL | Tipik pi ba frekans ki gen rapò ak frekans nominal | Tipik pi wo frekans ki gen rapò ak frekans nominal |
0x00 | 50% | 100% |
0x3F | 75% | 150% |
0x7F | 100% | 200% |
CLKPR – Revèy Pre-Echèl Enskri
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x26 | CLKPCE | – | – | – | CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | CLKPR |
Li/Ekri | R/W | R | R | R | R/W | R/W | R/W | R/W |
Valè Inisyal 0 0 0 0 Gade Deskripsyon Bit
Bit 7 - CLKPCE: Revèy Prescaler Chanjman Pèmèt
Yo dwe ekri ti CLKPCE a nan yon sèl lojik pou pèmèt chanjman nan ti CLKPS yo. Se ti moso CLKPCE sèlman mete ajou lè lòt ti moso yo nan CLKPR yo ekri an menm tan an zewo. CLKPCE otorize pa pyès ki nan konpitè kat sik apre yo fin ekri li oswa lè ti moso CLKPS yo ekri. Reekri ti jan CLKPCE la nan peryòd tan-soti sa a pa pwolonje peryòd tan-soti a, ni klè ti jan CLKPCE a.
Bits 6:4 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bits 3:0 – CLKPS[3:0]: Clock Prescaler Chwazi Bits 3 – 0
Bits sa yo defini faktè divizyon ant sous revèy chwazi a ak revèy sistèm entèn la. Bits sa yo ka ekri tan pou yo varye frekans revèy la pou adapte kondisyon aplikasyon yo. Kòm divize an divize opinyon revèy mèt la nan MCU a, vitès la nan tout periferik synchrone redwi lè yo itilize yon faktè divizyon. Faktè divizyon yo bay nan Tablo 6-15.
Pou evite chanjman envolontè nan frekans revèy, yo dwe swiv yon pwosedi ekri espesyal pou chanje bit CLKPS yo:
Ekri Clock Prescaler Change Enable (CLKPCE) bit nan youn ak tout lòt bit nan CLKPR a zewo.
Nan kat sik, ekri valè vle a nan CLKPS pandan w ap ekri yon zewo nan CLKPCE.
Entèwonp yo dwe enfim lè w ap chanje anviwònman preskalè pou asire w ke pwosedi ekriti a pa entèwonp.
CKDIV8 Fuse a detèmine valè inisyal bit CLKPS yo. Si CKDIV8 pa pwograme, bit yo CLKPS yo pral reset nan "0000". Si CKDIV8 pwograme, CLKPS Bits yo reset nan "0011", bay yon faktè divizyon nan uit nan kòmanse moute. Karakteristik sa a ta dwe itilize si sous revèy la chwazi a gen yon frekans ki pi wo pase frekans maksimòm aparèy la nan kondisyon fonksyònman aktyèl yo. Remake byen ke nenpòt valè ka ekri nan ti CLKPS yo kèlkeswa anviwònman CKDIV8 Fuse. Lojisyèl aplikasyon an dwe asire ke yon faktè divizyon ase se
chwazi si sous revèy la chwazi a gen yon frekans ki pi wo pase frekans maksimòm aparèy la nan kondisyon fonksyònman aktyèl yo. Se aparèy la anbake ak CKDIV8 Fuse pwograme.
Tablo 6-15. Clock Prescaler Chwazi
CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | Revèy Divizyon Faktè |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 2 |
0 | 0 | 1 | 0 | 4 |
0 | 0 | 1 | 1 | 8 |
0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 1 | 32 |
0 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 1 | 128 |
1 | 0 | 0 | 0 | 256 |
1 | 0 | 0 | 1 | Rezève |
1 | 0 | 1 | 0 | Rezève |
1 | 0 | 1 | 1 | Rezève |
1 | 1 | 0 | 0 | Rezève |
1 | 1 | 0 | 1 | Rezève |
1 | 1 | 1 | 0 | Rezève |
1 | 1 | 1 | 1 | Rezève |
Remak: Prescaler la enfim nan mòd konpatibilite ATtiny15 epi ni ekri nan CLKPR, ni pwogramasyon fuse CKDIV8 la pa gen okenn efè sou revèy sistèm lan (ki ap toujou 1.6 MHz).
Jesyon pouvwa ak mòd dòmi
Pèfòmans segondè ak efikasite kòd ki mennen nan endistri fè mikrokontroleur AVR yo yon chwa ideyal pou aplikasyon pou pouvwa ki ba. Anplis de sa, mòd dòmi pèmèt aplikasyon an fèmen modil ki pa itilize nan MCU a, kidonk ekonomize pouvwa. AVR a bay divès mòd dòmi ki pèmèt itilizatè a adapte konsomasyon pouvwa a ak kondisyon aplikasyon an.
Mod dòmi
Figi 6-1 nan paj 23 prezante diferan sistèm revèy ak distribisyon yo nan ATtiny25/45/85. Figi a itil nan chwazi yon mòd dòmi apwopriye. Tablo 7-1 montre diferan mòd dòmi ak sous reveye yo.
Tablo 7-1. Domèn revèy aktif ak sous reveye nan diferan mòd dòmi
Domèn revèy aktif | Osilateur | Sous reveye | ||||||||||
Mòd dòmi | clkCPU | clkFLASH | clkIO | clkADC | clkPCK | Sous revèy prensipal la pèmèt | INT0 ak Pin Chanjman | SPM/EEPROM
Pare |
USI Kòmanse Kondisyon |
ADC | Lòt I/O | Watchdog Entèwonp |
San fè anyen konsa | X | X | X | X | X | X | X | X | X | X | ||
ADC rediksyon bri | X | X | X(1) | X | X | X | X | |||||
Pouvwa-desann | X(1) | X | X |
Remak: Pou INT0, se sèlman entèwonp nivo.
Pou antre nan nenpòt nan twa mòd dòmi yo, yo dwe ekri ti SE nan MCUCR nan yon sèl lojik epi yo dwe egzekite yon enstriksyon SLEEP. Bits SM[1:0] ki nan Rejis MCUCR a chwazi ki mòd dòmi (Idle, ADC Noise Reduction oswa Power-down) ap aktive pa enstriksyon SLEEP la. Gade Tablo 7-2 pou yon rezime.
Si yon entèwonp pèmèt rive pandan MCU a nan yon mòd dòmi, MCU a reveye. Lè sa a, MCU a kanpe pou kat sik anplis tan demaraj la, egzekite woutin entèwonp la, epi rekòmanse egzekisyon nan enstriksyon apre SLEEP la. Sa ki nan Rejis la File ak SRAM yo pa chanje lè aparèy la reveye nan dòmi. Si yon reset rive pandan mòd dòmi, MCU a reveye epi egzekite soti nan vektè Reset la.
Remak: ke si yon nivo deklanche entèwonp yo itilize pou reveye nivo chanje a dwe kenbe pou kèk tan reveye MCU a (ak pou MCU a antre nan woutin sèvis entèwonp la). Gade “Entèwonp Ekstèn” nan paj 49 pou detay.
Mòd san fè anyen konsa
Lè bit SM[1:0] yo ekri nan 00, enstriksyon SLEEP la fè MCU a antre nan mòd Idle, sispann CPU a men pèmèt Analog Comparator, ADC, USI, Timer/Counter, Watchdog, ak sistèm entèwonp la kontinye opere. manje. Mòd dòmi sa a fondamantalman sispann clkCPU ak clkFLASH, pandan y ap pèmèt lòt revèy yo kouri.
Mòd san fè anyen konsa pèmèt MCU a reveye soti nan entèwonp ekstèn ki deklanche kòm byen ke entèn tankou debòde Timer la. Si yo pa obligatwa reveye soti nan entèwonp Konparatè Analòg la, yo ka koupe konparatè Analòg la lè w mete ti ACD nan. “ACSR – Analog Comparator Control and Status Register” nan paj 120. Sa ap redwi konsomasyon pouvwa nan mòd Idle. Si ADC a pèmèt, yon konvèsyon kòmanse otomatikman lè yo antre nan mòd sa a.
ADC bri rediksyon mòd
Lè bit SM[1:0] yo ekri nan 01, enstriksyon SLEEP la fè MCU a antre nan mòd Rediksyon bri ADC, sispann CPU a men pèmèt ADC a, entèwonp ekstèn yo, ak Watchdog la kontinye opere (si li pèmèt). Mòd dòmi sa a sispann clkI/O, clkCPU, ak clkFLASH, pandan y ap pèmèt lòt revèy yo kouri.
Sa a amelyore anviwònman bri pou ADC a, sa ki pèmèt mezi rezolisyon ki pi wo. Si ADC a pèmèt, yon konvèsyon kòmanse otomatikman lè yo antre nan mòd sa a. Apa de entèwonp konplè Konvèsyon ADC a, se sèlman yon Reset ekstèn, yon Reset Watchdog, yon Reset Brown-out, yon entèwonp pare SPM/EEPROM, yon entèwonp nivo ekstèn sou INT0 oswa yon entèwonp chanjman PIN ka reveye MCU a soti nan Rediksyon bri ADC. mòd.
Mòd pouvwa-desann
Lè bit SM[1:0] yo ekri nan 10, enstriksyon SLEEP la fè MCU a antre nan mòd Power-down. Nan mòd sa a, Oscillator a sispann, pandan y ap entèwonp ekstèn yo, USI kòmanse deteksyon kondisyon ak Watchdog la kontinye opere (si li pèmèt). Se sèlman yon Reset ekstèn, yon Reset Watchdog, yon Reset Brown-out, entèwonp kondisyon USI kòmanse, yon entèwonp nivo ekstèn sou INT0 oswa yon entèwonp chanjman PIN ka reveye MCU a. Mòd dòmi sa a sispann tout revèy pwodwi yo, sa ki pèmèt operasyon modil asynchrone sèlman.
Lojisyèl BOD Enfim
Lè detektè Brown-out (BOD) aktive pa fus BODLEVEL (gade Tablo 20-4 nan paj 148), BOD a ap siveye aktivman rezèv la voltage pandan yon peryòd dòmi. Nan kèk aparèy, li posib pou ekonomize enèji lè yo enfim BOD a pa lojisyèl nan mòd dòmi Power-Down. Lè sa a, konsomasyon pouvwa mòd dòmi an pral nan menm nivo ak lè BOD globalman enfim pa fusibles.
Si BOD enfim pa lojisyèl, fonksyon BOD la etenn imedyatman apre w fin antre nan mòd dòmi an. Lè yo leve soti nan dòmi, BOD otomatikman aktive ankò. Sa a asire operasyon an sekirite nan ka nivo VCC a te tonbe pandan peryòd dòmi an.
Lè BOD a te enfim, lè reveye nan mòd dòmi yo pral menm jan ak sa pou reveye soti nan RESET. Itilizatè a dwe manyèlman configured tan reveye yo pou referans bandgap la gen tan kòmanse ak BOD la ap travay kòrèkteman anvan MCU a kontinye egzekite kòd. Gade SUT[1:0] ak CKSEL[3:0] fuse bits nan tablo a “Fuse Low Byte” nan paj 149
BOD enfim kontwole pa ti BODS (BOD Sleep) nan MCU Control Register, gade “MCUCR – Kontwòl MCU Enskri” nan paj 37. Ekri ti jan sa a nan yon sèl etenn BOD nan Power-Down, pandan w ap ekri yon zewo kenbe BOD a aktif. Anviwònman default la se zewo, sa vle di BOD aktif.
Ekri nan ti BODS la kontwole pa yon sekans kwonometre ak yon ti jan pèmèt, gade "MCUCR - Rejis kontwòl MCU- ter” nan paj 37.
Limitasyon
Yo te aplike fonksyon enfim BOD nan aparèy sa yo, sèlman:
ATtiny25, revizyon E, ak pi nouvo
ATtiny45, revizyon D, ak pi nouvo
ATtiny85, revizyon C, ak pi nouvo
Revizyon yo make sou pake aparèy la epi yo ka lokalize jan sa a:
Anba bò pakè 8P3 ak 8S2
Bò anwo nan pake 20M1
Pouvwa Rediksyon Enskri
Rejis rediksyon pouvwa a (PRR), gade “PRR – Rejis rediksyon pouvwa” nan paj 38, bay yon metòd pou diminye konsomasyon pouvwa lè yo sispann revèy la nan periferik endividyèl yo. Eta aktyèl la nan periferik la jele epi anrejistreman I/O yo pa ka li oswa ekri. Resous yo itilize pa periferik la lè yo kanpe revèy la ap rete okipe, kidonk periferik la ta dwe nan pifò ka yo enfim anvan yo sispann revèy la. Reveye yon modil, ki se fè pa netwaye ti jan an nan PRR, mete modil la nan menm eta a kòm anvan are.
Modil fèmen ka itilize nan mòd san fè anyen konsa ak mòd aktif pou redwi siyifikativman konsomasyon pouvwa a an jeneral. Nan tout lòt mòd dòmi, revèy la deja sispann. Gade “Apwovizyone aktyèl modil I/O” nan paj 177 pou egzanpamples.
Minimize konsomasyon pouvwa
Gen plizyè pwoblèm yo konsidere lè w ap eseye minimize konsomasyon pouvwa a nan yon sistèm kontwole AVR. An jeneral, mòd dòmi yo ta dwe itilize otank posib, epi mòd dòmi yo ta dwe chwazi pou ke kòm kèk ke posib nan fonksyon aparèy la ap opere. Tout fonksyon ki pa nesesè yo ta dwe enfim. An patikilye, modil sa yo ka bezwen konsiderasyon espesyal lè w ap eseye reyalize pi ba konsomasyon pouvwa posib.
Konvètè analòg ak dijital
Si li pèmèt, ADC a pral pèmèt nan tout mòd dòmi. Pou ekonomize pouvwa, ADC a ta dwe enfim anvan ou antre nan nenpòt mòd dòmi. Lè ADC a etenn epi limen ankò, pwochen konvèsyon an pral yon konvèsyon pwolonje. Gade “Konvètè Analòg pou Digital” nan paj 122 pou plis detay sou operasyon ADC.
Konparatè analòg
Lè w ap antre nan mòd Idle, Konparatè Analòg la ta dwe enfim si li pa itilize. Lè w ap antre nan mòd rediksyon bri ADC, konparatè analòg la ta dwe enfim. Nan lòt mòd dòmi yo, Konparatè Analòg la otomatikman enfim. Sepandan, si Konparatè Analòg la mete kanpe pou itilize Vol Entèn latage Referans kòm opinyon, Konparatè Analòg la ta dwe enfim nan tout mòd dòmi. Sinon, Entèn Voltage Referans ap pèmèt, endepandan de mòd dòmi. Gade “Analog Comparator” nan paj 119 pou plis detay sou kijan pou konfigirasyon Analog Comparator la.
Detektè Brown-out
Si Detektè Brown-out la pa nesesè nan aplikasyon an, modil sa a ta dwe etenn. Si detektè Brown-out la pèmèt pa BODLEVEL Fuses yo, li pral aktive nan tout mòd dòmi, epi kidonk, toujou konsome pouvwa. Nan mòd dòmi pi fon yo, sa a pral kontribye anpil nan konsomasyon aktyèl total la. Gade "Deteksyon mawon- syon” nan paj 41 epi “Software BOD Disable” nan paj 35 pou plis detay sou fason pou konfigirasyon Detektè Brown-out la.
Entèn Voltage Referans
Entèn Voltage Referans ap pèmèt lè sa nesesè pa Deteksyon Brown-out la, Konparatè Analòg la oswa ADC a. Si modil sa yo enfim jan sa dekri nan seksyon ki anwo yo, vol entèn latagReferans yo pral enfim epi li pa pral konsome pouvwa. Lè yo vire sou ankò, itilizatè a dwe pèmèt referans a kòmanse anvan pwodiksyon an itilize. Si referans a kenbe nan mòd dòmi, pwodiksyon an ka itilize imedyatman. Gade "Entèn Voltage Referans” nan paj 42 pou plis detay sou tan demaraj la.
Watchdog revèy
Si Watchdog Timer la pa nesesè nan aplikasyon an, modil sa a ta dwe etenn. Si Watchdog Timer la aktive, li pral aktive nan tout mòd dòmi, e pakonsekan, toujou konsome pouvwa. Nan mòd dòmi pi fon yo, sa a pral kontribye anpil nan konsomasyon aktyèl total la. Gade “Watchdog Timer” nan paj 42 pou plis detay sou kijan pou konfigirasyon Watchdog Timer la.
Port Pins
Lè w ap antre nan yon mòd dòmi, tout broch pò yo ta dwe configuré pou itilize pouvwa minimòm. Bagay ki pi enpòtan an se lè sa a asire ke pa gen okenn broch kondwi chaj rezistan. Nan mòd dòmi kote tou de revèy I / O (clkI / O) ak revèy ADC (clkADC) yo sispann, tanpon yo antre nan aparèy la ap enfim. Sa a asire ke pa gen okenn pouvwa konsome
pa lojik D 'lè pa nesesè. Nan kèk ka, lojik D' bezwen pou detekte kondisyon reveye, Et
Lè sa a, li pral pèmèt. Gade nan seksyon an “Digital Antre Pèmèt ak mòd dòmi” nan paj 57 pou detay sou ki broch yo aktive. Si tanpon an antre pèmèt epi siyal la antre ap flote oswa li gen yon nivo siyal analòg tou pre VCC/2, tanpon an opinyon pral sèvi ak twòp pouvwa.
Pou broch opinyon analòg, tanpon dijital la ta dwe enfim nan tout tan. Yon nivo siyal analòg tou pre VCC/2 sou yon peny opinyon ka lakòz siyifikatif aktyèl menm nan mòd aktif. Tanpon D 'dijital yo ka enfim lè w ekri nan Rejis Enfim Antre Digital (DIDR0). Gade “DIDR0 – Enskripsyon dijital Enfim 0” nan paj 121 pou detay.
Enskri Deskripsyon
MCUCR la vle di Enskri kontwòl MCU
Rejis kontwòl MCU a gen ti moso kontwòl pou jesyon pouvwa.
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
Li/Ekri | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 7 - BODS: BOD Dòmi
Fonksyonalite enfim BOD disponib nan kèk aparèy sèlman. Gade “Limitasyon” nan paj 36.
Pou kapab enfim BOD pandan dòmi (gade Tablo 7-1 nan paj 34) bit BODS la dwe ekri nan yon sèl lojik. Sa a se kontwole pa yon sekans kwonometre ak bit la pèmèt, BODSE nan MCUCR. Premyèman, tou de BODS ak BODSE dwe mete nan yon sèl. Dezyèmman, nan kat sik revèy, BODS dwe mete sou youn epi BODSE dwe mete sou zewo. Bit BODS la aktif twa sik revèy apre li fin mete. Yon enstriksyon dòmi dwe egzekite pandan BODS aktif yo nan lòd yo fèmen BOD a pou mòd aktyèl la dòmi. Bit BODS la otomatikman efase apre twa sik revèy.
Nan aparèy kote Sleeping BOD pa te aplike ti jan sa a pa itilize epi yo pral toujou li zewo.
Bit 5 - SE: Pèmèt dòmi
Ti SE a dwe ekri nan yon sèl lojik pou fè MCU a antre nan mòd dòmi lè enstriksyon SLEEP la egzekite. Pou evite MCU a antre nan mòd dòmi sof si se objektif pwogramè a, li rekòmande pou ekri yon ti jan Pèmèt Dòmi (SE) nan yon sèl jis anvan ekzekisyon enstriksyon SLEEP la epi netwaye li imedyatman apre reveye.
Bits 4:3 - SM[1:0]: Mòd dòmi Chwazi Bits 1 ak 0
Bits sa yo chwazi ant twa mòd dòmi ki disponib jan yo montre nan Tablo 7-2.
Tablo 7-2. Chwazi mòd dòmi
SM1 | SM0 | Mòd dòmi |
0 | 0 | San fè anyen konsa |
0 | 1 | ADC rediksyon bri |
1 | 0 | Pouvwa-desann |
1 | 1 | Rezève |
Bit 2 - BODSE: BOD Sleep Enable
Fonksyonalite enfim BOD disponib nan kèk aparèy sèlman. Gade “Limitasyon” nan paj 36.
Bit BODSE a pèmèt anviwònman bit kontwòl BODS, jan sa eksplike nan deskripsyon ti BODS. Enfimite BOD kontwole pa yon sekans kwonometre.
Ti jan sa a pa itilize nan aparèy kote lojisyèl BOD enfim pa te aplike epi li pral li kòm zewo nan aparèy sa yo.
PRR la vle di Rejis rediksyon pouvwa
Rejis Rediksyon Enèji a bay yon metòd pou diminye konsomasyon pouvwa lè li pèmèt siyal revèy periferik yo enfim.
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x20 | – | – | – | – | PRIM1 | PRIM0 | PRUSI | PRADC | PRR |
Li/Ekri | R | R | R | R | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 7:4 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bit 3 - PRTIM1: Rediksyon pouvwa revèy / Counter1
Ekri yon sèl lojik nan ti sa a fèmen modil Timer/Counter1 la. Lè Timer/Counter1 aktive, operasyon an ap kontinye tankou anvan fèmen an.
Bit 2 - PRTIM0: Rediksyon pouvwa revèy / Counter0
Ekri yon sèl lojik nan ti sa a fèmen modil Timer/Counter0 la. Lè Timer/Counter0 aktive, operasyon an ap kontinye tankou anvan fèmen an.
Bit 1 - PRUSI: Rediksyon pouvwa USI
Ekri yon lojik yon sèl nan ti sa a fèmen USI a pa kanpe revèy la nan modil la. Lè w reveye USI a ankò, yo ta dwe re-inisyalize USI a pou asire bon operasyon.
Bit 0 - PRADC: Rediksyon pouvwa ADC
Ekri yon lojik yon sèl nan ti jan sa a fèmen ADC a. ADC a dwe enfim anvan fèmen. Remake byen ke revèy ADC a tou itilize pa kèk pati nan konparatè analòg la, ki vle di ke konparezon an analòg pa ka itilize lè ti jan sa a wo.
Sistèm kontwòl ak Reyajiste
Reyajiste AVR la
Pandan reset, tout Rejis I/O yo mete sou valè inisyal yo, epi pwogram nan kòmanse egzekisyon apati Vektè Reset la. Enstriksyon yo mete nan Vektè Reset la dwe yon enstriksyon RJMP – Relative Jump – nan woutin manyen reset la. Si pwogram nan pa janm pèmèt yon sous entèwonp, yo pa itilize vektè entèwonp yo, epi yo ka mete kòd pwogram regilye nan kote sa yo. Dyagram nan sikwi nan Figi 8-1 montre lojik reset la. Yo bay paramèt elektrik sikwi reset la “Sistèm ak Reyajiste Karakteristik” nan paj 165.
Figi 8-1 Reyajiste lojik
Pò I/O nan AVR yo imedyatman reset nan eta inisyal yo lè yon sous reset ale aktif. Sa a pa mande pou nenpòt sous revèy yo dwe kouri.
Apre tout sous reset yo te ale inaktif, yon kontwa reta envoke, etann reset entèn la. Sa a pèmèt pouvwa a rive nan yon nivo ki estab anvan operasyon nòmal kòmanse. Peryòd tan-soti kontwa reta a defini pa itilizatè a atravè SUT ak CKSEL Fuses yo. Seleksyon diferan yo pou peryòd reta yo prezante nan "Revèy Sous” nan paj 25.
Reyajiste Sous yo
ATtiny25/45/85 a gen kat sous reset:
Pouvwa-sou Reyajiste. MCU a reset lè rezèv la voltage pi ba pase papòt Reset pouvwa-sou (VPOT).
Reset ekstèn. MCU a reset lè yon nivo ki ba prezan sou PIN RESET la pou pi lontan pase longè batman kè minimòm lan.
Watchdog Reyajiste. MCU a reset lè peryòd Watchdog la ekspire epi Watchdog la aktive.
Brown-soti Reyajiste. MCU a reset lè rezèv la voltage VCC anba papòt Brown-out Reset (VBOT) epi Detektè Brown-out la aktive.
Pouvwa-sou Reyajiste
Yon batman Power-on Reset (POR) pwodwi pa yon sikwi deteksyon On-chip. Nivo deteksyon an defini nan "Sis- tem ak Reyajiste Karakteristik” nan paj 165. POR a aktive chak fwa VCC anba nivo deteksyon an. Sikwi POR a ka itilize pou deklanche Start-up Reset la, osi byen ke pou detekte yon echèk nan rezèv voltage.
Yon kous Power-on Reset (POR) asire ke aparèy la reset soti nan Power-on. Rive nan papòt Reset pouvwa-sou voltage envoke kontwa reta a, ki detèmine konbyen tan aparèy la kenbe nan RESET apre VCC monte. Siyal RESET la aktive ankò, san okenn reta, lè VCC diminye pi ba pase nivo deteksyon an.
Figi 8-2. MCU Start-up, RESET Mare nan VCC
RESET ENtèn
Figi 8-3. MCU Start-up, RESET Pwolonje Deyò
Reyajiste ekstèn
Yon Reset Ekstèn ki te pwodwi pa yon nivo ki ba sou PIN RESET la si li pèmèt. Reyajiste pulsasyon ki pi long pase lajè batman kè minimòm lan (gade “Sistèm ak Reyajiste Karakteristik” nan paj 165) ap jenere yon reset, menm si revèy la pa kouri. Batman ki pi kout yo pa garanti pou jenere yon reset. Lè siyal aplike a rive nan Reset Threshold Voltage – VRST – sou kwen pozitif li yo, kontwa reta a kòmanse MCU a apre peryòd Time-out la fin ekspire.
Figi 8-4. Reset ekstèn pandan operasyon an
Deteksyon Brown-out
ATtiny25/45/85 gen yon sikwi On-chip Brown-out Detection (BOD) pou kontwole nivo VCC pandan operasyon an lè w konpare li ak yon nivo deklanche fiks. Nivo deklanche pou BOD a ka chwazi pa BODLEVEL Fuses yo. Nivo deklanche a gen yon isterèz pou asire Deteksyon Brown-out gratis. Isterèz la sou nivo deteksyon an ta dwe entèprete kòm VBOT + = VBOT + VHYST/2 ak VBOT- = VBOT - VHYST/2.
Lè BOD a aktive, epi VCC diminye nan yon valè ki pi ba pase nivo deklanche (VBOT-in Figi 8-5), Reset Brown-out la aktive imedyatman. Lè VCC ogmante pi wo pase nivo deklanche (VBOT + nan Figi 8-5), kontwa reta a kòmanse MCU a apre peryòd Time-out tTOUT te ekspire.
Kous la BOD pral sèlman detekte yon gout nan VCC si vol latage rete anba nivo deklanche a pou pi lontan pase tBOD yo bay nan “Sistèm ak Reyajiste Karakteristik” nan paj 165.
Watchdog Reyajiste
Lè Watchdog la soti, li pral jenere yon kout batman reset ki dire yon sik CK. Sou kwen k ap tonbe nan batman kè sa a, revèy reta a kòmanse konte peryòd Time-out tTOUT la. Gade “Watchdog Timer” nan paj 42 pou plis detay sou operasyon Watchdog Timer la.
Voltage Referans Enable Signals and Start-up Time
Vol latagreferans a gen yon tan demaraj ki ka enfliyanse fason yo ta dwe itilize li. Se tan an kòmanse bay nan “Sistèm ak Reyajiste Karakteristik” nan paj 165. Pou ekonomize pouvwa, referans a pa toujou vire sou. Referans lan limen nan sitiyasyon sa yo:
Lè BOD a pèmèt (pa pwogramasyon BODLEVEL[2:0] Fuse Bits).
Lè referans a bandgap konekte ak konparatè analòg (pa mete ti jan ACBG nan ACSR).
Lè ADC a pèmèt.
Kidonk, lè BOD a pa pèmèt, apre yo fin mete ti jan ACBG la oswa pèmèt ADC a, itilizatè a dwe toujou pèmèt referans a kòmanse anvan pwodiksyon an soti nan Konparatè analòg oswa ADC yo itilize. Pou diminye konsomasyon pouvwa nan mòd Power-down, itilizatè a ka evite twa kondisyon ki anwo yo pou asire ke referans a etenn anvan ou antre nan mòd Power-down.
Watchdog revèy
Watchdog Timer la revèy soti nan yon osilator sou chip ki kouri nan 128 kHz. Lè w kontwole Watchdog Timer prescaler la, yo ka ajiste entèval Watchdog Reset la jan yo montre nan Tablo 8-3 nan paj 46. WDR – Watchdog Reset – enstriksyon reset Timer Watchdog la. Watchdog Timer la reset tou lè li enfim epi lè yon Chip Reset rive. Yo ka chwazi dis peryòd sik revèy diferan pou detèmine peryòd reset la. Si peryòd reset la ekspire san yon lòt Watchdog Reset, ATtiny25/45/85 reset ak egzekite soti nan vektè Reset la. Pou detay sou distribisyon Watchdog Reset la, gade nan Tablo 8-3 nan paj 46.
Watchdog Timer a kapab tou configuré pou jenere yon entèwonp olye pou yo yon reset. Sa a ka trè itil lè w ap itilize Watchdog la pou reveye soti nan pouvwa-desann.
Pou anpeche envolontè envolontè Watchdog la oswa chanjman san entansyonèl nan peryòd tan-soti, de nivo sekirite diferan yo chwazi pa fuse WDTON la jan yo montre nan Tablo 8-1 Gade “Sekans kwonometre pou chanje kon- figurasyon Watchdog Timer la” nan paj 43 pou detay.
Tablo 8-1. Konfigirasyon WDT kòm yon fonksyon nan Anviwònman Fuse nan WDTON
WDTON | Nivo Sekirite | WDT Inisyal Eta | Ki jan yo enfim WDT la | Kijan pou Chanje Time-out |
Pa pwograme | 1 | Andikape | Sekans kwonometre | Pa gen limit |
Pwograme | 2 | Pèmèt | Toujou aktive | Sekans kwonometre |
Figi 8-7. Watchdog revèy
Sekans kwonometre pou chanje konfigirasyon revèy Watchdog la
Sekans pou chanje konfigirasyon diferan yon ti kras ant de nivo sekirite yo. Yo dekri pwosedi separe pou chak nivo.
Nivo Sekirite 1: Nan mòd sa a, Watchdog Timer la okòmansman enfim, men li ka aktive lè w ekri ti WDE a nan youn san okenn restriksyon. Yon sekans kwonometre nesesè lè enfim yon Watchdog Timer ki pèmèt. Pou enfim yon Timer Watchdog aktive, yo dwe swiv pwosedi sa a:
Nan menm operasyon an, ekri yon lojik nan WDCE ak WDE. Yon lojik dwe ekri nan WDE kèlkeswa valè anvan WDE bit la.
Nan kat pwochen sik revèy yo, nan menm operasyon an, ekri WDE ak WDP ti jan yo vle, men ak ti jan WDCE a otorize.
Nivo Sekirite 2: Nan mòd sa a, Watchdog Timer la toujou aktive, epi WDE bit la ap toujou li kòm youn. Yon sekans kwonometre nesesè lè w ap chanje peryòd Watchdog Time-out la. Pou chanje Time-out Watchdog la, yo dwe swiv pwosedi sa a:
Nan menm operasyon an, ekri yon lojik nan WDCE ak WDE. Menmsi WDE a toujou mete, WDE a dwe ekri nan youn pou kòmanse sekans kwonometre a.
Nan kat pwochen sik revèy yo, nan menm operasyon an, ekri ti WDP yo jan yo vle, men ak ti jan WDCE a otorize. Valè ki ekri nan ti WDE a pa enpòtan.
Kòd Example
Kòd sa a ansyenample montre yon sèl asanble ak yon fonksyon C pou fèmen WDT la. Ansyen anample sipoze ke entèripsyon yo kontwole (egzanp, pa enfim entèwonp globalman) pou ke pa gen okenn entèwonp pral rive pandan ekzekisyon fonksyon sa yo.
Kòd Asanble Egzample(1) |
WDT_off:
wdr ; Klè WDRF nan MCUSR ldi r16, (0< soti MCUSR, r16 ; Ekri yon lojik pou WDCE ak WDE ; Kenbe ansyen anviwònman prescaler pou anpeche Reset Watchdog envolontè nan r16, WDTCR ori r16, (1< soti WDTCR, r16 ; Etenn WDT ldi r16, (0< soti WDTCR, r16 ret |
C Kòd Egzample(1) |
anile WDT_off(anile)
{ _WDR(); /* Klè WDRF nan MCUSR */ MCUSR = 0x00 /* Ekri yon lojik nan WDCE ak WDE */ WDTCR |= (1< /* Etenn WDT */ WDTCR = 0x00; } |
Nòt: 1. Gade "Kòd Egzamples” nan paj 6.
Enskri Deskripsyon
MCUSR – Enskri Estati MCU
Rejis Estati MCU a bay enfòmasyon sou ki sous reset ki lakòz yon Reset MCU.
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x34 | – | – | – | – | WDRF | BORF | EXTRF | PORF | MCUSR |
Li/Ekri | R | R | R | R | R/W | R/W | R/W | R/W |
Valè Inisyal 0 0 0 0 Gade Deskripsyon Bit
Bits 7:4 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bit 3 - WDRF: Watchdog Reyajiste Drapo
Bit sa a mete si yon Reset Watchdog rive. Yo reset ti jan an pa yon Power-on Reset, oswa lè w ekri yon zewo lojik nan drapo a.
Bit 2 - BORF: Brown-out Reset Flag
Bit sa a mete si yon Reset Brown-out rive. Yo reset ti jan an pa yon Power-on Reset, oswa lè w ekri yon zewo lojik nan drapo a.
Bit 1 - EXTRF: Ekstèn Reset Flag
Se ti jan sa a mete si yon Reset ekstèn rive. Yo reset ti jan an pa yon Power-on Reset, oswa lè w ekri yon zewo lojik nan drapo a.
Bit 0 - PORF: Power-on Reset Flag
Se ti jan sa a mete si yon Reset pouvwa-sou rive. Bit la reset sèlman lè w ekri yon zewo lojik nan drapo a.
Pou sèvi ak drapo Reset yo pou idantifye yon kondisyon reset, itilizatè a ta dwe li epi reset MCUSR la pi bonè posib nan pwogram nan. Si yo efase rejis la anvan yon lòt reset, ou ka jwenn sous la nan reset la lè w egzamine Drapo Reset yo.
WDTCR la vle di Watchdog Timer Control Register
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x21 | WDIF | WDIE | WDP3 | WDCE | WDE | WDP2 | WDP1 | WDP0 | WDTCR |
Li/Ekri | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | X | 0 | 0 | 0 |
Bit 7 - WDIF: Watchdog Timeout Interrupt Flag
Se ti jan sa a mete lè yon tan-soti rive nan Watchdog Timer la epi Watchdog Timer se configuré pou entèwonp. WDIF otorize pa pyès ki nan konpitè lè egzekite vektè manyen entèwonp ki koresponn lan. Altènativman, WDIF otorize lè w ekri yon lojik sou drapo a. Lè I-bit la nan SREG ak WDIE yo mete, Watchdog Time-out Interrupt la egzekite.
Bit 6 - WDIE: Watchdog Timeout Interrupt Enable
Lè yo ekri ti bit sa a nan youn, WDE efase, epi I-bit la nan Rejis Estati a mete, Watchdog Time-out Interrupt la aktive. Nan mòd sa a entèwonp ki koresponn lan egzekite olye pou yo yon reset si yon timeout nan Watchdog Timer la rive.
Si WDE mete, WDIE otomatikman efase pa pyès ki nan konpitè lè yon tan-soti rive. Sa a itil pou kenbe sekirite Watchdog Reset pandan w ap itilize entèwonp la. Apre yo fin efase ti jan WDIE la, pwochen tan an ap jenere yon reset. Pou evite Reset Watchdog la, WDIE dwe mete apre chak entèwonp.
Tablo 8-2. Konfigirasyon revèy Watchdog
WDE | WDIE | Watchdog Timer Eta | Aksyon sou Time-out |
0 | 0 | Sispann | Okenn |
0 | 1 | Kouri | Entèwonp |
1 | 0 | Kouri | Reyajiste |
1 | 1 | Kouri | Entèwonp |
Bit 4 - WDCE: Pèmèt Chanjman Watchdog
Yo dwe mete ti bit sa a lè yo ekri ti bit WDE nan zewo lojik. Sinon, Watchdog la p ap enfim. Yon fwa ekri nan yon sèl, pyès ki nan konpitè pral netwaye ti jan sa a apre kat sik revèy. Gade nan deskripsyon ti jan WDE pou yon pwosedi enfim Watchdog. Ti jan sa a dwe mete tou lè w ap chanje bits prescaler yo. Gade “Sekans kwonometre pou Chanje Konfigirasyon Revèy Watchdog la” nan paj 43.
Bit 3 - WDE: Pèmèt Watchdog
Lè WDE ekri nan yon sèl lojik, Watchdog Timer la aktive, epi si WDE ekri nan zewo lojik, fonksyon Watchdog Timer la enfim. WDE ka otorize sèlman si ti jan WDCE a gen yon nivo lojik. Pou enfim yon Timer Watchdog aktive, yo dwe swiv pwosedi sa a:
Nan menm operasyon an, ekri yon lojik nan WDCE ak WDE. Yon lojik dwe ekri nan WDE menm si li mete nan youn anvan operasyon an enfim kòmanse.
Nan kat pwochen sik revèy yo, ekri yon lojik 0 pou WDE. Sa a enfim Watchdog la.
Nan nivo sekirite 2, li pa posib pou enfim Watchdog Timer, menm ak algorithm ki dekri pi wo a. Gade “Sekans kwonometre pou chanje konfigirasyon revèy Watchdog la” nan paj 43.
Nan nivo sekirite 1, WDE pase sou plas pa WDRF nan MCUSR. Gade “MCUSR – MCU Status Register” nan paj 44 pou deskripsyon WDRF. Sa vle di ke WDE toujou mete lè WDRF mete. Pou netwaye WDE, WDRF dwe efase anvan enfim Watchdog la ak pwosedi ki dekri pi wo a. Karakteristik sa a asire plizyè reset pandan kondisyon ki lakòz echèk, ak yon demaraj san danje apre echèk la.
Remak: Si revèy gadyen an pa pral itilize nan aplikasyon an, li enpòtan yo ale nan yon pwosedi enfim gadyen nan inisyalizasyon aparèy la. Si Watchdog a aksidantèlman pèmèt, pou egzanpample pa yon konsèy runaway oswa kondisyon mawon-soti, aparèy la pral reset, ki an vire ap mennen nan yon nouvo reset watchdog. Pou evite sitiyasyon sa a, lojisyèl aplikasyon an ta dwe toujou netwaye drapo a WDRF ak ti jan kontwòl WDE nan woutin inisyalizasyon an.
Bits 5, 2:0 - WDP[3:0]: Watchdog Timer Prescaler 3, 2, 1, ak 0
WDP[3:0] Bits yo detèmine preskalyasyon Watchdog Timer la lè Watchdog Timer aktive. Yo montre diferan valè preskalaj yo ak Peryòd Timeout korespondan yo Tablo 8-3.
Tablo 8-3. Watchdog Timer Prescale Chwazi
WDP3 | WDP2 | WDP1 | WDP0 | Kantite sik osilator WDT | Tipik Time-out nan VCC = 5.0V |
0 | 0 | 0 | 0 | 2K (2048) sik | 16 ms |
0 | 0 | 0 | 1 | 4K (4096) sik | 32 ms |
0 | 0 | 1 | 0 | 8K (8192) sik | 64 ms |
0 | 0 | 1 | 1 | 16K (16384) sik | 0.125 s |
0 | 1 | 0 | 0 | 32K (32764) sik | 0.25 s |
0 | 1 | 0 | 1 | 64K (65536) sik | 0.5 s |
0 | 1 | 1 | 0 | 128K (131072) sik | 1.0 s |
0 | 1 | 1 | 1 | 256K (262144) sik | 2.0 s |
1 | 0 | 0 | 0 | 512K (524288) sik | 4.0 s |
1 | 0 | 0 | 1 | 1024K (1048576) sik | 8.0 s |
Tablo 8-3. Watchdog Timer Prescale Select (kontinye)
WDP3 | WDP2 | WDP1 | WDP0 | Kantite sik osilator WDT | Tipik Time-out nan VCC = 5.0V |
1 | 0 | 1 | 0 | Rezève(1) | |
1 | 0 | 1 | 1 | ||
1 | 1 | 0 | 0 | ||
1 | 1 | 0 | 1 | ||
1 | 1 | 1 | 0 | ||
1 | 1 | 1 | 1 |
Remak: 1. Si yo chwazi, youn nan paramèt valab ki anba a 0b1010 yo pral itilize.
Entèwonp
Seksyon sa a dekri spesifik manyen entèwonp yo jan yo fèt nan ATtiny25/45/85. Pou yon eksplikasyon jeneral sou manyen entèwonp AVR, al gade nan “Reset ak entèwonp Gestion” nan paj 12.
Vektè entèwonp nan ATtiny25/45/85
Vektè entèwonp ATtiny25/45/85 yo dekri nan Tablo 9-1anba a.
Tablo 9-1. Reyajiste ak entèwonp vektè
Vektè No. | Adrès Pwogram | Sous | Definisyon entèwonp |
1 | 0x0000 | RESET | Ekstèn PIN, Power-on Reyajiste, Brown-soti Reyajiste, Watchdog Reyajiste |
2 | 0x0001 | INT0 | Demann entèwonp ekstèn 0 |
3 | 0x0002 | PCINT0 | Pin Chanjman Entèwonp Demann 0 |
4 | 0x0003 | TIMER1_COMPA | Timer/Counter1 Konpare Match A |
5 | 0x0004 | TIMER1_OVF | Timer/Counter1 Debòde |
6 | 0x0005 | TIMER0_OVF | Timer/Counter0 Debòde |
7 | 0x0006 | EE_RDY | EEPROM pare |
8 | 0x0007 | ANA_COMP | Konparatè analòg |
9 | 0x0008 | ADC | Konvèsyon ADC konplè |
10 | 0x0009 | TIMER1_COMPB | Timer/Counter1 Konpare Match B |
11 | 0x000A | TIMER0_COMPA | Timer/Counter0 Konpare Match A |
12 | 0x000B | TIMER0_COMPB | Timer/Counter0 Konpare Match B |
13 | 0x000C | WDT | Watchdog Tan-soti |
14 | 0x000D | USI_START | USI KÒMANSE |
15 | 0x000E | USI_OVF | USI debòde |
Si pwogram nan pa janm pèmèt yon sous entèwonp, yo pa itilize vektè entèwonp yo, epi yo ka mete kòd pwogram regilye nan kote sa yo.
Yon konfigirasyon tipik ak jeneral pou adrès vektè entèwonp nan ATtiny25/45/85 yo montre nan pwogram ansyen an.ample anba a.
Kòd Asanble Egzample | ||
.org 0x0000 | ;Mete adrès pwochen | deklarasyon |
rjmp RESET | ; Adrès 0x0000 | |
rjmp INT0_ISR | ; Adrès 0x0001 | |
rjmp PCINT0_ISR | ; Adrès 0x0002 | |
rjmp TIM1_COMPA_ISR | ; Adrès 0x0003 | |
rjmp TIM1_OVF_ISR | ; Adrès 0x0004 | |
rjmp TIM0_OVF_ISR | ; Adrès 0x0005 | |
rjmp EE_RDY_ISR | ; Adrès 0x0006 | |
rjmp ANA_COMP_ISR | ; Adrès 0x0007 | |
rjmp ADC_ISR | ; Adrès 0x0008 | |
rjmp TIM1_COMPB_ISR | ; Adrès 0x0009 | |
rjmp TIM0_COMPA_ISR | ; Adrès 0x000A | |
rjmp TIM0_COMPB_ISR | ; Adrès 0x000B | |
rjmp WDT_ISR | ; Adrès 0x000C | |
rjmp USI_START_ISR | ; Adrès 0x000D | |
rjmp USI_OVF_ISR | ; Adrès 0x000E | |
Reyajiste: | ; Pwogram prensipal kòmanse | |
; Adrès 0x000F | ||
… |
Remak: Gade "Kòd Egzamples” nan paj 6.
Entèwonp ekstèn
Entèwonp Ekstèn yo deklanche pa PIN INT0 oswa nenpòt nan PIN PCINT[5:0] yo. Obsève ke, si yo pèmèt, entèwonp yo pral deklanche menm si INT0 oswa PCINT[5:0] broch yo configuré kòm rezilta. Karakteristik sa a bay yon fason pou jenere yon entèwonp lojisyèl. Chanjman Pin entèwonp PCI pral deklanche si nenpòt ki pèmèt PCINT[5:0] PIN baskile. Rejis PCMSK kontwole ki broch kontribye nan entèwonp chanjman pin. Entèwonp chanjman PIN sou PCINT[5:0] yo detekte asynchrone. Sa vle di ke entèwonp sa yo ka itilize pou reveye pati a tou nan mòd dòmi lòt pase mòd Idle.
Entewonp INT0 yo ka deklanche pa yon kwen k ap tonbe oswa k ap monte oswa yon nivo ki ba. Sa a se mete kanpe jan sa endike nan spesifikasyon pou Rejis Kontwòl MCU - MCUCR. Lè entèwonp INT0 la aktive epi li configuré kòm nivo deklanche, entèwonp la pral deklanche osi lontan ke PIN la kenbe ba. Remake byen ke rekonesans nan entèwonp k ap tonbe oswa k ap monte sou INT0 mande pou prezans yon revèy I/O, ki dekri nan "Sistèm revèy ak distribisyon yo" sou paj 23.
Entèwonp nivo ki ba
Yon entèwonp nivo ki ba sou INT0 detekte asynchrone. Sa vle di ke entèwonp sa a ka itilize pou reveye pati a tou nan mòd dòmi lòt pase mòd Idle. Revèy I/O sispann nan tout mòd dòmi eksepte mòd Idle.
Remake byen ke si yon nivo deklanche entèwonp yo itilize pou reveye soti nan pouvwa-desann, nivo ki nesesè yo dwe kenbe ase lontan pou MCU a fini reveye a deklanche entèwonp nan nivo. Si nivo a disparèt anvan fen tan an kòmanse, MCU a ap toujou reveye, men pa gen okenn entèwonp ki pral pwodwi. Tan demaraj defini pa SUT ak CKSEL Fusibles jan sa dekri nan “Opsyon Revèy ak Revèy Sistèm” nan paj 23.
Si yo retire nivo ki ba sou pin entèwonp la anvan aparèy la reveye, lè sa a, ekzekisyon pwogram lan p ap detounen nan woutin sèvis entèwonp la, men kontinye soti nan enstriksyon ki swiv lòd SLEEP la.
Pin Chanjman Entèwonp Distribisyon
Yon ansyenampmontre nan distribisyon yon entèwonp chanjman PIN Figi 9-1.
Enskri Deskripsyon
MCUCR la vle di Enskri kontwòl MCU
Rejis Kontwòl Entèwonp Ekstèn A genyen bits kontwòl pou kontwòl sans entèwonp.
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
Li/Ekri | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 1:0 – ISC0[1:0]: Interrupt Sense Control 0 Bit 1 and Bit 0
Entèwonp Ekstèn 0 a aktive pa PIN ekstèn INT0 la si yo mete drapo SREG I ak mask entèwonp ki koresponn lan. Nivo a ak bor sou peny INT0 ekstèn ki aktive entèwonp la defini nan Tablo 9-2. Valè sou peny INT0 a se sampdirije anvan detekte bor. Si yo chwazi entèwonp kwen oswa baskile, pulsasyon ki dire plis pase yon peryòd revèy ap jenere yon entèwonp. Batman ki pi kout yo pa garanti pou jenere yon entèwonp. Si yo chwazi entèripsyon nivo ba, nivo ba a dwe kenbe jiskaske enstriksyon k ap egzekite kounye a fini pou jenere yon entèwonp.
Tablo 9-2. Entèwonp 0 Sans Kontwòl
ISC01 | ISC00 | Deskripsyon |
0 | 0 | Nivo ki ba nan INT0 jenere yon demann entèwonp. |
0 | 1 | Nenpòt chanjman ki lojik sou INT0 jenere yon demann entèwonp. |
1 | 0 | Kwen an tonbe nan INT0 jenere yon demann entèwonp. |
1 | 1 | Kwen k ap monte nan INT0 jenere yon demann entèwonp. |
GIMSK – Rejis Mask Entewonp Jeneral
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3B | – | INT0 | PCIe | – | – | – | – | – | GIMSK |
Li/Ekri | R | R/W | R/W | R | R | R | R | R | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 7, 4:0 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bit 6 - INT0: Demann entèwonp ekstèn 0 Pèmèt
Lè yo mete INT0 bit la (yon sèl) ak I-bit la nan Rejis Estati (SREG) yo mete (yon sèl), entèwonp ekstèn PIN la pèmèt. Entèwonp Sense Control0 Bits 1/0 (ISC01 ak ISC00) nan Rejis Kontwòl MCU (MCUCR) defini si entèwonp ekstèn lan aktive sou k ap monte ak/oswa desann kwen nan PIN INT0 oswa nivo detekte. Aktivite sou peny la pral lakòz yon demann entèwonp menm si INT0 configuré kòm yon pwodiksyon. Entèwonp ki koresponn nan demann entèwonp ekstèn 0 egzekite nan vektè entèwonp INT0 la.
Bit 5 - PCIE: Pin Change Interrupt Enable
Lè yo mete PCIE bit la (yon sèl) epi I-bit la nan Rejis Estati a (SREG) mete (yon sèl), entèwonp chanjman PIN yo pèmèt. Nenpòt chanjman ki fèt sou nenpòt PIN ki pèmèt PCINT[5:0] pral lakòz yon entèwonp. Se entèwonp ki koresponn nan Pin Change Interrupt Request egzekite soti nan vektè a entèwonp PCI. PCINT[5:0] pin yo pèmèt endividyèlman pa Rejis PCMSK0 la.
GIFR la vle di Rejis drapo jeneral entèwonp
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3A | – | INTF0 | PCIF | – | – | – | – | – | GIFR |
Li/Ekri | R | R/W | R/W | R | R | R | R | R | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 7, 4:0 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bit 6 - INTF0: Drapo entèwonp ekstèn 0
Lè yon kwen oswa chanjman lojik sou PIN INT0 la deklanche yon demann entèwonp, INTF0 vin mete (yon sèl). Si I-bit la nan SREG ak ti jan INT0 nan GIMSK yo mete (yon sèl), MCU a pral sote nan vektè entèwonp ki koresponn lan. Drapo a netwaye lè woutin entèwonp lan egzekite. Altènativman, drapo a ka otorize pa ekri yon lojik nan li. Drapo sa a toujou efase lè INT0 configuré kòm yon entèwonp nivo.
Bit 5 - PCIF: Pin Chanje drapo entèwonp
Lè yon chanjman lojik sou nenpòt PIN PCINT[5:0] deklanche yon demann entèwonp, PCIF vin mete (yon sèl). Si I-bit nan SREG ak PCIE bit nan GIMSK yo mete (yon sèl), MCU a pral sote nan vektè entèwonp ki koresponn lan. Drapo a netwaye lè woutin entèwonp lan egzekite. Altènativman, drapo a ka otorize pa ekri yon lojik nan li.
PCMSK – Pin Chanje Mask Enskri
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x15 | – | – | PCINT5 | PCINT4 | PCINT3 | PCINT2 | PCINT1 | PCINT0 | PCMSK |
Li/Ekri | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 7:6 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bits 5:0 - PCINT[5:0]: Pin Chanjman Pèmèt Mask 5:0
Chak bit PCINT[5:0] chwazi si wi ou non entèwonp chanjman PIN yo aktive sou PIN I/O ki koresponn lan. Si yo mete PCINT[5:0] epi yo mete PCIE bit nan GIMSK, entèwonp chanjman PIN yo aktive sou peny I/O ki koresponn lan. Si PCINT[5:0] efase, entèwonp chanjman PIN sou PIN I/O korespondan an enfim.
Pò I/O
Entwodiksyon
Tout pò AVR yo gen tout bon fonksyon Lekti-Modifye-Ekri lè yo itilize kòm pò jeneral I/O dijital. Sa vle di ke direksyon yon sèl peny pò ka chanje san yo pa chanje direksyon nenpòt lòt peny ak enstriksyon SBI ak CBI. Menm bagay la tou aplike lè chanje valè kondwi (si configuré kòm pwodiksyon) oswa pèmèt / enfim nan rezistans rale-up (si configuré kòm opinyon). Chak tanpon pwodiksyon gen karakteristik kondwi simetrik ak tou de gwo koule ak kapasite sous. Chofè a PIN se fò ase yo kondwi ekspozisyon dirije dirèkteman. Tout broch pò yo gen endividyèlman chwazi rezistans pull-up ak yon rezèv-voltage invariant rezistans. Tout broch I/O gen dyod pwoteksyon tou de VCC ak Ground jan sa endike nan Figi 10-1. Gade “Carakteristik elektrik” nan paj 161 pou yon lis konplè paramèt.
Figi 10-1. I/O Pin ekivalan Schematic
Tout rejis ak referans bit nan seksyon sa a ekri nan fòm jeneral. Yon miniskil “x” reprezante lèt nimero pou pò a, epi yon miniskil “n” reprezante nimewo bit la. Sepandan, lè w ap itilize rejis la oswa bit defini nan yon pwogram, yo dwe itilize fòm egzak la. Pou egzanpample, PORTB3 pou ti jan non. 3 nan Port B, isit la dokimante jeneralman kòm PORTxn. Rejis I/O fizik yo ak kote bit yo ki nan lis "Enskri deskripsyon" sou paj 64.
Yo bay twa adrès memwa I/O pou chak pò, youn chak pou Rejis Done yo - PORTx, Rejis Direksyon Done yo - DDRx, ak Pins Antre Port yo - PINx. Kote I/O Port Input Pins li sèlman, pandan y ap li/ekri Rejis Done a ak Rejis Direksyon Done yo. Sepandan, ekri yon lojik yon sèl nan yon ti jan nan Rejis PINx la, sa pral lakòz yon baskile nan ti korespondan an nan Rejis Done a. Anplis de sa, Pull-up Disable - PUD bit nan MCUCR enfim fonksyon rale-up pou tout broch nan tout pò lè yo mete.
Sèvi ak pò I/O kòm Jeneral Digital I/O yo dekri nan “Pò kòm I/O dijital jeneral” nan paj 53. Pifò broch pò yo multiplexed ak fonksyon altène pou karakteristik periferik yo sou aparèy la. Ki jan chak fonksyon altènatif entèfere ak pin pò a dekri nan “Fonksyon pò altènatif” nan paj 57. Ale nan seksyon modil endividyèl yo pou yon deskripsyon konplè sou lòt fonksyon yo.
Remake byen ke pèmèt fonksyon an altène nan kèk nan broch pò yo pa afekte itilizasyon lòt broch yo nan pò a kòm jeneral I / O dijital.
Pò kòm jeneral I/O dijital
Pò yo se pò I/O bi-direksyon ak rale entèn opsyonèl. Figi 10-2 montre yon deskripsyon fonksyonèl yon PIN I/O-pò, isit la rele jenerikman Pxn.
Figi 10-2. Jeneral Digital I/O(1)
Konfigirasyon PIN la
Chak peny pò konsiste de twa bit enskri: DDxn, PORTxn, ak PINxn. Jan yo montre nan "Enskri deskripsyon" sou paj 64, Bits DDxn yo jwenn aksè nan adrès I/O DDRx, bits PORTxn nan adrès I/O PORTx, ak bits PINxn nan adrès I/O PINx.
Bit DDxn nan Rejis DDRx la chwazi direksyon pin sa a. Si DDxn ekri yon sèl lojik, Pxn se configuré kòm yon PIN pwodiksyon. Si DDxn ekri zewo lojik, Pxn se configuré kòm yon PIN D '.
Si PORTxn ekri lojik yon sèl lè PIN la configuré kòm yon PIN D ', rezistans rale-up la aktive. Pou chanje rezistans rale-up la, PORTxn dwe ekri zewo lojik oswa peny la dwe configuré kòm yon PIN pwodiksyon. Broch pò yo tri-declare lè kondisyon reset vin aktif, menm si pa gen okenn revèy ap kouri.
Si PORTxn ekri lojik yon sèl lè peny la configuré kòm yon peny pwodiksyon, peny pò a kondwi wo (yon sèl). Si PORTxn ekri zewo lojik lè peny la configuré kòm yon peny pwodiksyon, peny pò a kondwi ba (zewo).
Aktivite PIN la
Ekri yon lojik nan PINxn chanje valè PORTxn, endepandan sou valè DDRxn. Remake byen ke enstriksyon SBI a ka itilize pou chanje yon sèl bit nan yon pò.
Chanje ant Antre ak Sòti
Lè w chanje ant tri-eta ({DDxn, PORTxn} = 0b00) ak pwodiksyon segondè ({DDxn, PORTxn} = 0b11), yon eta entèmedyè ak swa rale-up pèmèt {DDxn, PORTxn} = 0b01) oswa pwodiksyon ba. ({DDxn, PORTxn} = 0b10) dwe rive. Nòmalman, eta a pèmèt rale-up konplètman akseptab, kòm yon anviwònman ki wo-enpedan pa pral remake diferans ki genyen ant yon chofè fò segondè ak yon rale-up. Si sa a se pa ka a, ti jan PUD nan Rejis MCUCR a ka mete enfim tout pull-ups nan tout pò.
Chanje ant opinyon ak rale-up ak pwodiksyon ba jenere menm pwoblèm nan. Itilizatè a dwe itilize swa tri-eta ({DDxn, PORTxn} = 0b00) oswa pwodiksyon segondè ({DDxn, PORTxn} = 0b10) kòm yon etap entèmedyè.
Tablo 10-1 rezime siyal kontwòl yo pou valè PIN la.
Tablo 10-1. Konfigirasyon Port PIN
DDxn | PORTxn | PUD
(nan MCUCR) |
I/O | Rale-up | Kòmantè |
0 | 0 | X | Antre | Non | Tri-eta (Hi-Z) |
0 | 1 | 0 | Antre | Wi | Pxn pral sous kouran si ext. rale ba. |
0 | 1 | 1 | Antre | Non | Tri-eta (Hi-Z) |
1 | 0 | X | Sòti | Non | Sòti ki ba (koule) |
1 | 1 | X | Sòti | Non | Sòti segondè (Sous) |
Lekti Valè PIN la
Endepandan de anviwònman an nan Direksyon Done ti jan DDxn, peny pò a ka li nan ti jan an Enskri PINxn. Jan yo montre nan Figi 10-2, PINxn Register bit la ak latch anvan an konstitye yon senkronize. Sa a nesesè pou fè pou evite metastabilite si peny fizik la chanje valè tou pre kwen nan revèy entèn la, men li tou entwodui yon reta. Figi 10-3 montre yon dyagram distribisyon nan senkronizasyon an lè li yon valè PIN aplike deyò. Reta pwopagasyon maksimòm ak minimòm yo endike tpd,max ak tpd,min respektivman.
Konsidere peryòd revèy la kòmanse yon ti tan apre premye kwen revèy sistèm lan. Latch la fèmen lè revèy la ba, epi li ale transparan lè revèy la wo, jan sa endike nan rejyon an lonbraj nan siyal "SYNC LATCH" la. Valè siyal la fèmen lè revèy sistèm lan ap ba. Li mete l nan Rejis PINxn nan kwen revèy pozitif ki vin apre a. Jan de flèch yo endike nan tpd,max ak tpd,min, yon sèl tranzisyon siyal sou peny lan pral retade ant ½ ak 1½ peryòd revèy sistèm depann de lè afimasyon an.
Lè w ap li yon valè PIN ki bay lojisyèl, yo dwe mete yon enstriksyon nop jan sa endike nan Figi 10-4. Enstriksyon soti nan mete siyal "SYNC LATCH" nan kwen pozitif nan revèy la. Nan ka sa a, reta tpd nan senkronize a se yon peryòd revèy sistèm.
Kòd sa a ansyenample montre ki jan yo mete pò B zepeng 0 ak 1 segondè, 2 ak 3 ba, epi defini broch yo pò soti nan 4 a 5 kòm opinyon ak yon rale-up asiyen nan pò PIN 4. Valè yo ki kapab lakòz yo li tounen ankò, men jan yo te diskite deja, yon enstriksyon nop enkli pou kapab li tounen valè a dènyèman asiyen nan kèk nan broch yo.
Kòd Asanble Egzample(1) |
…
; Defini pull-ups epi mete rezilta yo wo ; Defini direksyon pou broch pò ldi r16,(1<<PB4)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) soti PORTB,r16 soti DDRB,r17 ; Mete nop pou senkronizasyon non ; Li broch pò nan r16, PINB … |
Remak: Pou pwogram asanble a, yo itilize de rejis tanporè pou minimize tan ki soti nan pull-ups yo mete sou broch 0, 1 ak 4, jiskaske bit yo direksyon yo kòrèkteman mete, defini bit 2 ak 3 kòm ba ak redefini bit 0 ak 1 kòm fò chofè segondè.
C Kòd Egzample |
unsigned char i;
… /* Defini pull-ups epi mete rezilta yo wo */ /* Defini direksyon pou broch pò */ PORTB = (1< DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* Mete nop pou senkronizasyon */ _NOP(); /* Li broch pò */ i = PINB; … |
Antre dijital pèmèt ak mòd dòmi
Jan yo montre nan Figi 10-2, siyal opinyon dijital la ka clamped a tè nan opinyon schmitt-trigger la. Siyal ki endike DÒMI nan figi a, se MCU Dòmi Kontwolè a mete nan mòd pouvwa-desann pou fè pou evite gwo konsomasyon pouvwa si kèk siyal opinyon yo kite k ap flote, oswa gen yon nivo siyal analòg tou pre VCC/2.
SLEEP anile pou broch pò pèmèt kòm broch entèwonp ekstèn. Si demann entèwonp ekstèn lan pa pèmèt, SLEEP aktif tou pou broch sa yo. SLEEP tou pase sou lòt pa plizyè lòt fonksyon jan sa dekri nan “Fonksyon pò altènatif” nan paj 57.
Si yon lojik wo nivo ("yonn") prezan sou yon peny entèwonp ekstèn asynchrone configuré kòm "Entèwonp sou k ap monte, k ap tonbe, oswa nenpòt chanjman lojik sou PIN" pandan entèwonp ekstèn lan pa aktive, Drapo entèwonp ekstèn ki koresponn lan pral dwe mete lè rekòmanse soti nan mòd nan dòmi pi wo a mansyone, kòm cl laamping nan mòd dòmi sa yo pwodui chanjman lojik yo mande a.
Broch ki pa konekte
Si gen kèk broch ki pa itilize, li rekòmande pou asire ke broch sa yo gen yon nivo defini. Menm si pi fò nan entrain dijital yo enfim nan mòd dòmi byen fon yo jan sa dekri pi wo a, entrain k ap flote yo ta dwe evite pou diminye konsomasyon aktyèl la nan tout lòt mòd kote antre dijital yo aktive (Reset, mòd aktif ak mòd san fè anyen konsa).
Metòd ki pi senp pou asire yon nivo defini nan yon peny ki pa itilize, se pou pèmèt entèn pull-up la. Nan ka sa a, rale-up la pral enfim pandan reset. Si konsomasyon pouvwa ki ba pandan reset enpòtan, li rekòmande pou itilize yon ekstèn pull-up oswa pulldown. Konekte broch ki pa itilize dirèkteman nan VCC oswa GND pa rekòmande, paske sa ka lakòz kouran twòp si PIN la aksidantèlman configuré kòm yon pwodiksyon.
Fonksyon pò altènatif
Pifò broch pò gen fonksyon altène anplis ke yo te jeneral I/Os dijital. Figi 10-5 montre kouman kontwòl PIN pò a siyal soti nan senplifye a Figi 10-2 ka ranplase pa lòt fonksyon. Siyal prensipal yo ka pa prezan nan tout broch pò, men figi a sèvi kòm yon deskripsyon jenerik ki aplikab a tout broch pò nan fanmi mikrokontroleur AVR.
Tablo 10-2. Deskripsyon jenerik siyal ki depase pou fonksyon altènatif
Non siyal | Non konplè | Deskripsyon |
PUOE | Pull-up Override Pèmèt | Si yo tabli siyal sa a, siyal PUOV a kontwole pèmèt rale-up la. Si siyal sa a otorize, rale-up la pèmèt lè
{DDxn, PORTxn, PUD} = 0b010. |
PUOV | Pull-up Override Valè | Si yo mete PUOE, rale-up la aktive/enfim lè PUOV yo mete/cleassé, kèlkeswa anviwònman DDxn, PORTxn, ak PUD Register Bits yo. |
DDOE | Done Direksyon Override Pèmèt | Si yo tabli siyal sa a, siyal DDOV a kontwole pèsistans yap ogmante jiska chofè a. Si siyal sa a otorize, chofè Sòti a pèmèt pa ti jan an DDxn Register. |
DDOV | Done Direksyon Override Valè | Si DDOE tabli, Pilote Sòti a aktive/enfim lè DDOV tabli/efase, kèlkeswa paramèt Bit Rejis DDxn la. |
PVOE | Port Valè Override Pèmèt | Si siyal sa a tabli epi chofè pèsistans yap ogmante jiska pèmèt, valè pò a kontwole pa siyal PVOV la. Si PVOE otorize, epi Pilotè Sòti a aktive, Valè pò a kontwole pa bit la PORTxn Register. |
PVOV | Valè pò pase valè | Si yo mete PVOE, valè pò a mete sou PVOV, kèlkeswa anviwònman PORTxn Register bit la. |
PTOE | Port baskile Override Pèmèt | Si yo mete PTOE, bit PORTxn Register la envèse. |
DIEOE | Antre dijital pèmèt Override Pèmèt | Si yo mete ti jan sa a, Pèmèt Antre dijital la kontwole pa siyal DIEOV la. Si siyal sa a otorize, Pèmèt Antre dijital la detèmine pa eta MCU (mòd nòmal, mòd dòmi). |
DIEOV | Antre dijital Pèmèt Valè Override | Si yo tabli DIEOE, Antre dijital la aktive/enfim lè DIEOV tabli/efase, kèlkeswa eta MCU a (mòd nòmal, mòd dòmi). |
DI | Antre dijital | Sa a se Antre dijital la pou lòt fonksyon. Nan figi a, siyal la konekte ak pwodiksyon schmitt-trigger la men anvan senkronize a. Sòf si yo itilize Antre dijital la kòm yon sous revèy, modil la ak fonksyon altène a pral sèvi ak pwòp senkronize li yo. |
AIO | Analòg Antre / Sòti | Sa a se Antre / Sòti analòg pou / soti nan fonksyon altène. Se siyal la ki konekte dirèkteman nan pad la, epi li ka itilize bi-direksyon. |
Sou-seksyon sa yo yon ti tan dekri fonksyon altènatif yo pou chak pò, epi gen rapò siyal prensipal yo ak fonksyon altènatif la. Gade deskripsyon fonksyon altène a pou plis detay.
Fonksyon altènatif nan pò B
Broch Port B yo ak fonksyon altène yo montre nan Tablo 10-3.
Tablo 10-3. Pò B Pins Fonksyon Altènatif
Port PIN | Fonksyon Altène |
PB5 | ![]() RESET: Reyajiste PIN dW: debugWIRE I/O ADC0: ADC Antre Chèn 0 PCINT5: Pin Change Interrupt, Sous 5 |
PB4 | XTAL2: Crystal Oscillator Sòti CLKO: Sistèm Revèy Sòti ADC2: ADC Antre Chèn 2
OC1B: Timer/Counter1 Konpare Match B Sòti PCINT4: Pin Chanjman Interrupt 0, Sous 4 |
PB3 | XTAL1: Crystal Oscillator Antre CLKI: Ekstèn Revèy Antre ADC3: ADC Antre Chèn 3
OC1B: Konplemantè Timer/Counter1 Konpare Match B Sòti PCINT3: Pin Change Interrupt 0, Sous 3 |
PB2 | SCK: Serial Clock Antre ADC1: ADC Antre Chèn 1
T0: Timer/Counter0 Clock Source USCK: USI Clock (Twa Fil Mode) SCL : USI Clock (De Wire Mode) INT0: External Interrupt 0 Antre PCINT2: PIN Chanjman Interrupt 0, Sous 2 |
PB1 | MISO: SPI Mèt Done Antre / Esklav Done Sòti AIN1: Konparatè Analòg, Antre Negatif OC0B: Revèy/Counter0 Konpare Koresponn ak Sòti B OC1A: Revèy / Counter1 Konpare Koresponn ak Sòti A DO: USI Sòti Done (Twa Fil Mode) PCINT1:Pin Chanjman Interrupt 0, Sous 1 |
PB0 | MOSI:: SPI Mèt Done Sòti / Done Esklav Antre AIN0: Konparatè Analòg, Antre Pozitif
OC0A: Timer/Counter0 Konpare Koresponn ak A pwodiksyon OC1A: Revèy konplemantè/Counter1 Konpare Koresponn ak Sòti A DI: Antre Done USI (Mòd twa fil) SDA: Antre done USI (de fil mòd) AREF: Referans analòg ekstèn PCINT0: Entèwonp chanjman PIN 0, Sous 0 |
Port B, Bit 5 - RESET/dW/ADC0/PCINT5
RÉINITIALISATION: Antre Reset ekstèn yo aktif ki ba epi li pèmèt yo pa pwograme (“1”) RSTDISBL Fuse la. Pullup aktive epi chofè pwodiksyon ak opinyon dijital yo dezaktive lè yo itilize PIN la kòm PIN RESET la.
dW: Lè debugWIRE Enable (DWEN) Fuse pwograme epi Lock Bits yo pa pwograme, sistèm debugWIRE nan aparèy sib la aktive. PIN pò RESET la configuré kòm yon peny I/O bi-direksyon fil-AK (louvri-drenaj) ak rale-up pèmèt epi li vin pòtay kominikasyon ant sib ak Emulation.
ADC0: Konvètè Analòg ak Digital, Chèn 0.
PCINT5: Pin Change Interrupt sous 5.
Pò B, Bit 4 - XTAL2/CLKO/ADC2/OC1B/PCINT4
XTAL2: Chip Clock Oscillator PIN 2. Itilize kòm PIN revèy pou tout sous revèy chip eksepte entèn calibrateble RC Osilator ak revèy ekstèn. Lè yo itilize kòm yon peny revèy, peny la pa ka itilize kòm yon peny I / O. Lè w ap itilize entèn kalibrab RC Osilator oswa revèy ekstèn kòm yon sous revèy Chip, PB4 sèvi kòm yon peny I / O òdinè.
CLKO: Revèy sistèm divize an ka pwodiksyon sou peny PB4 la. Revèy sistèm divize an ap soti si CKOUT Fuse pwograme, kèlkeswa paramèt PORTB4 ak DDB4 yo. Li pral tou pwodiksyon pandan reset.
ADC2: Konvètè Analòg ak Digital, Chèn 2.
OC1B: Sòti Konpare Koresponn ak pwodiksyon: PIN PB4 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter1 Konpare Match B a lè yo configuré kòm yon pwodiksyon (DDB4 seri). PIN OC1B la se tou PIN pwodiksyon pou fonksyon revèy mòd PWM.
PCINT4: Pin Change Interrupt sous 4.
Pò B, Bit 3 - XTAL1/CLKI/ADC3/OC1B/PCINT3
XTAL1: Chip Clock Oscillator PIN 1. Itilize pou tout sous revèy chip eksepte entèn osilator RC calibrateble. Lè yo itilize kòm yon peny revèy, peny la pa ka itilize kòm yon peny I / O.
CLKI: Antre revèy ki soti nan yon sous revèy ekstèn, gade “Revèy Ekstèn” nan paj 26.
ADC3: Konvètè Analòg ak Digital, Chèn 3.
OC1B: Envèse Sorti Konpare Koresponn ak pwodiksyon: PIN PB3 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter1 Konpare Match B lè configuré kòm yon pwodiksyon (DDB3 seri). PIN OC1B la se tou PIN pwodiksyon Envèse pou fonksyon revèy mòd PWM.
PCINT3: Pin Change Interrupt sous 3.
Pò B, Bit 2 - SCK/ADC1/T0/USCK/SCL/INT0/PCINT2
SCK: Mèt revèy pwodiksyon, esklav revèy opinyon pin pou chanèl SPI. Lè SPI a pèmèt kòm yon esklav, PIN sa a se configuré kòm yon opinyon kèlkeswa anviwònman an nan DDB2. Lè SPI a pèmèt kòm yon Mèt, direksyon done pin sa a kontwole pa DDPB2. Lè PIN la fòse pa SPI a yo dwe yon opinyon, rale-up la ka toujou kontwole pa ti jan PORTB2 la.
ADC1: Konvètè Analòg ak Digital, Chèn 1.
T0: Timer/Counter0 sous kontwa.
USCK: Twa-fil mòd Universal Serial Interface Clock.
SCL: De-fil mòd Serial Clock pou USI De-fil mòd.
INT0: Sous entèwonp ekstèn 0.
PCINT2: Pin Change Interrupt sous 2.
Port B, Bit 1 - MISO/AIN1/OC0B/OC1A/DO/PCINT1
MISO: Mèt Done D ', esklav Done pwodiksyon PIN pou kanal SPI. Lè SPI a pèmèt kòm yon Mèt, PIN sa a se configuré kòm yon opinyon kèlkeswa anviwònman an nan DDB1. Lè SPI a pèmèt kòm yon esklav, direksyon done sa a PIN kontwole pa DDB1. Lè PIN la fòse pa SPI a yo dwe yon opinyon, rale-up la ka toujou kontwole pa ti jan PORTB1 la.
AIN1: Analog Comparator Negatif Antre. Konfigirasyon peny pò a kòm opinyon ak entèn rale-up la etenn pou evite fonksyon pò dijital la entèfere ak fonksyon Konparatè Analòg la.
OC0B: Sòti Konpare Koresponn ak pwodiksyon. PIN PB1 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter0 Compare Match B. PIN PB1 la dwe configuré kòm yon pwodiksyon (DDB1 mete (yon sèl)) pou sèvi fonksyon sa a. PIN OC0B a se tou PIN pwodiksyon pou fonksyon revèy mòd PWM.
OC1A: Sòti Konpare Koresponn ak pwodiksyon: PIN PB1 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter1 Konpare Match B a lè configuré kòm yon pwodiksyon (DDB1 mete). PIN OC1A a se tou PIN pwodiksyon an pou fonksyon revèy mòd PWM.
DO: Twa-fil mòd Inivèsèl Serial Interface Done pwodiksyon. Mòd twa fil pwodiksyon Done pase sou valè PORTB1 epi li kondwi nan pò a lè done direksyon ti bit DDB1 mete (yon sèl). PORTB1 toujou pèmèt pull-up la, si direksyon an se opinyon epi PORTB1 mete (yon sèl).
PCINT1: Pin Change Interrupt sous 1.
Pò B, Bit 0 - MOSI/AIN0/OC0A/OC1A/DI/SDA/AREF/PCINT0
MOSI: SPI Mèt Done pwodiksyon, Done esklav D 'pou chanèl SPI. Lè SPI a pèmèt kòm yon esklav, PIN sa a se configuré kòm yon opinyon kèlkeswa anviwònman an nan DDB0. Lè SPI a pèmèt kòm yon Mèt, direksyon done sa a PIN kontwole pa DDB0. Lè PIN la fòse pa SPI a yo dwe yon opinyon, rale-up la ka toujou kontwole pa ti jan PORTB0 la.
AIN0: Analog Konparatè Antre Pozitif. Konfigirasyon peny pò a kòm opinyon ak entèn rale-up la etenn pou evite fonksyon pò dijital la entèfere ak fonksyon Konparatè Analòg la.
OC0A: Sòti Konpare Koresponn ak pwodiksyon. PIN PB0 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter0 Compare Match A lè configuré kòm yon pwodiksyon (DDB0 mete (yon sèl)). PIN OC0A a se tou PIN pwodiksyon an pou fonksyon revèy mòd PWM.
OC1A: Envèse Sorti Konpare Koresponn ak pwodiksyon: PIN PB0 a ka sèvi kòm yon pwodiksyon ekstèn pou Timer/Counter1 Konpare Match B a lè configuré kòm yon pwodiksyon (DDB0 mete). PIN OC1A a se tou PIN pwodiksyon Envèse pou fonksyon revèy mòd PWM.
SDA: De-fil mòd Serial Entèfas Done.
AREF: Referans analòg ekstèn pou ADC. Pullup ak chofè pwodiksyon yo enfim sou PB0 lè yo itilize PIN la kòm yon referans ekstèn oswa Vol Entèn.tage Referans ak kondansateur ekstèn nan PIN AREF la.
DI: Done Antre nan USI mòd twa fil. USI mòd twa fil pa pase sou fonksyon pò nòmal yo, kidonk PIN dwe konfigirasyon kòm yon opinyon pou fonksyon DI.
PCINT0: Pin Change Interrupt sous 0.
Tablo 10-4 epi Tablo 10-5 relye fonksyon altènatif Pò B yo ak siyal prensipal yo montre nan Figi 10-5 sou paj 58.
Tablo 10-4. Ranpli siyal pou fonksyon altènatif nan PB[5:3]
Non siyal | PB5/RESET/ADC0/PCINT5 | PB4/ADC2/XTAL2/ OC1B/PCINT4 | PB3/ADC3/XTAL1/ OC1B/PCINT3 |
PUOE | ![]() |
0 | 0 |
PUOV | 1 | 0 | 0 |
DDOE | RSTDISBL(1) • DWEN(1) | 0 | 0 |
DDOV | debugWire Transmèt | 0 | 0 |
PVOE | 0 | OC1B Pèmèt | ![]() OC1B Pèmèt |
PVOV | 0 | OC1B | OC1B |
PTOE | 0 | 0 | 0 |
DIEOE | ![]() RSTDISBL(1) + (PCINT5 • PCIE + ADC0D) |
PCINT4 • PCIE + ADC2D | PCINT3 • PCIE + ADC3D |
DIEOV | ADC0D | ADC2D | ADC3D |
DI | PCINT5 Antre | PCINT4 Antre | PCINT3 Antre |
AIO | RESET Antre, ADC0 Antre | ADC2 Antre | ADC3 Antre |
Remak: lè Fuse a se "0" (pwograme).
Tablo 10-5. Ranpli siyal pou fonksyon altènatif nan PB[2:0]
Non siyal | PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 | PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 | PB0/MOSI/DI/SDA/AIN0/AR EF/OC1A/OC0A/
PCINT0 |
PUOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
PUOV | 0 | 0 | 0 |
DDOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
DDOV | (USI_SCL_HOLD + PORTB2) • DDB2 | 0 | ![]() ![]() (SDA + PORTB0) • DDB0 |
PVOE | USI_TWO_WIRE • DDB2 | OC0B Pèmèt + OC1A Pèmèt + USI_THREE_WIRE | ![]() OC0A Pèmèt + OC1A Pèmèt + (USI_TWO_WIRE DDB0) |
PVOV | 0 | OC0B + OC1A + DO | ![]() OC0A + OC1A |
PTOE | USITC | 0 | 0 |
DIEOE | PCINT2 • PCIE + ADC1D + USISIE | PCINT1 • PCIE + AIN1D | PCINT0 • PCIE + AIN0D + USISIE |
DIEOV | ADC1D | AIN1D | AIN0D |
DI | T0/USCK/SCL/INT0/
PCINT2 Antre |
PCINT1 Antre | DI/SDA/PCINT0 Antre |
AIO | ADC1 Antre | Analog Konparatè Antre Negatif | Analog Konparatè Antre Pozitif |
Enskri Deskripsyon
MCUCR la vle di Enskri kontwòl MCU
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x35 | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
Li/Ekri | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 6 - PUD: Pull-up Enfim
Lè ti sa a ekri nan yon sèl, pull-ups yo nan pò I/O yo enfim menm si DDxn ak PORTxn Rejis yo configuré pou pèmèt pull-ups yo ({DDxn, PORTxn} = 0b01). Gade “Konfigirasyon PIN la” nan paj 54 pou plis detay sou karakteristik sa a.
PORTB – Rejis Done Port B
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x18 | – | – | PORTB5 | PORTB4 | PORTB3 | PORTB2 | PORTB1 | PORTB0 | PORTB |
Li/Ekri | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DDRB – Port B Done Direksyon Rejis
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x17 | – | – | DDB5 | DDB4 | DDB3 | DDB2 | DDB1 | DDB0 | DDRB |
Li/Ekri | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
PINB – Pò B Antre Pins Adrès
ti jan | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x16 | – | – | PINB5 | PINB4 | PINB3 | PINB2 | PINB1 | PINB0 | PINB |
Li/Ekri | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
Valè inisyal | 0 | 0 | N/A | N/A | N/A | N/A | N/A | N/A |
8-bit Timer/Counter0 ak PWM
Karakteristik
De pwodiksyon endepandan konpare inite yo
Double Buffered Sòti Konpare Enskri
Klè revèy sou match konpare (Rechaje otomatik)
Glitch gratis, faz kòrèk pulsasyon lajè modulator (PWM)
Peryòd PWM Varyab
Frekans dèlko
Twa sous entèwonp endepandan (TOV0, OCF0A, ak OCF0B)
Plis paseview
Timer/Counter0 se yon bi jeneral 8-bit Timer/Counter modil, ak de endepandan Sòti Konpare Inite, ak ak sipò PWM. Li pèmèt egzekisyon pwogram egzat (jesyon evènman) ak jenerasyon vag.
Yo montre yon dyagram blòk senplifye nan 8-bit Timer/Counter la Figi 11-1. Pou plasman aktyèl la nan broch I/O, al gade nan “Pinout ATtiny25/45/85” nan paj 2. Rejis I/O aksesib pou CPU, ki gen ladan Bits I/O ak broch I/O, yo montre an fonse. Rejis I/O espesifik pou aparèy la ak kote ti bit yo ki nan lis la “Deskripsyon Enskri” nan paj 77.
Timer/Counter (TCNT0) ak Rejis Konpare Sòti (OCR0A ak OCR0B) se rejis 8-bit. Entèwonp demann (abreje Int.Req. nan figi a) siyal yo tout vizib nan Timer Interrupt Flag Register (TIFR). Tout entèwonp yo maske endividyèlman ak Rejis Mask Interrupt Timer (TIMSK). TIFR ak TIMSK pa montre nan figi a.
Revèy / Counter la ka revèy anndan, atravè prescaler la, oswa pa yon sous revèy ekstèn sou PIN T0 la. Blòk lojik Clock Select la kontwole ki sous revèy ak kwen revèy/kontan an itilize pou ogmante (oswa diminye) valè li. Timer/Counter a inaktif lè yo pa chwazi okenn sous revèy. Pwodiksyon ki soti nan lojik Clock Select yo refere yo kòm revèy revèy la (clkT0).
Yo konpare Rejis Konpare pwodiksyon an doub tanpon (OCR0A ak OCR0B) ak valè Timer/Counter la tout tan. Waveform Generator ka itilize rezilta konpare a pou jenere yon PWM oswa yon pwodiksyon frekans varyab sou broch Konpare Sorti (OC0A ak OC0B). Gade "Inite Konpare Sòti" nan paj 69. pou detay. Evènman Konpare Match la pral tou mete drapo Konpare (OCF0A oswa OCF0B) ki ka itilize pou jenere yon demann entèwonp Konpare pwodiksyon an.
Definisyon
Anpil referans enskri ak bit nan seksyon sa a ekri nan fòm jeneral. Yon miniskil "n" ranplase nimewo Timer/Counter, nan ka sa a 0. Yon miniskil "x" ranplase Inite Konpare Sòti a, nan ka sa a Konpare Inite A oswa Konpare Inite B. Sepandan, lè w ap itilize rejis la oswa bit defini. nan yon pwogram, fòm egzak la dwe itilize, sa vle di, TCNT0 pou jwenn aksè nan Timer/Counter0 kontwa valè ak sou sa.
Definisyon yo nan Tablo 11-1 yo itilize anpil tou nan tout dokiman an.
Tablo 11-1. Definisyon
Konstan | Deskripsyon |
ANBA | Kontwa a rive nan BOTTOM lè li vin 0x00 |
MAX | Kontwa a rive nan MAXimum li lè li vin 0xFF (dezimal 255) |
TOP | Kontwa a rive nan TOP lè li vin egal a valè ki pi wo nan sekans konte a. Valè TOP yo ka plase kòm valè fiks 0xFF (MAX) oswa valè ki estoke nan Rejis OCR0A. Plasman an depann de mòd operasyon an |
Timer/Counter Prescaler ak sous revèy
Revèy / Counter a ka revèy pa yon sous revèy entèn oswa ekstèn. Sous revèy la chwazi pa lojik Clock Select ki kontwole pa Clock Select (c) Bits ki sitiye nan Timer/Counter0 Control Register (TCCR0B).
Sous Revèy Entèn ak Prescaler
Timer/Counter0 ka revèy dirèkteman pa revèy sistèm lan (pa mete CS0 [2:0] = 1). Sa a bay operasyon ki pi rapid, ak yon maksimòm revèy / kontwa frekans revèy egal a frekans revèy sistèm (fCLK_I/O). Altènativman, youn nan kat tiyo ki soti nan prescaler la ka itilize kòm yon sous revèy. Revèy preskaled la gen yon frekans swa
Prescaler Reyajiste
Prescaler la se gratis kouri, sa vle di li opere poukont li nan lojik Clock Select nan Timer/Counter0. Piske prescaler la pa afekte pa seleksyon revèy revèy/kontwatè a, eta prescaler la pral gen enplikasyon pou sitiyasyon kote yo itilize yon revèy prescaled. Youn ansyenampLe nan yon zafè prescaling se lè revèy/kontan an pèmèt ak revèy pa prescaler la (6> CS0[2:0]> 1). Kantite sik revèy sistèm nan depi lè revèy la aktive rive nan premye konte a ka soti nan 1 a N+1 sik revèy sistèm, kote N egal divizè preskalè a (8, 64, 256, oswa 1024).
Li posib pou itilize Prescaler Reset la pou senkronize revèy/kontan an nan ekzekisyon pwogram lan.
Sous revèy ekstèn
Yon sous revèy ekstèn aplike nan PIN T0 a ka itilize kòm revèy / kontwa revèy (clkT0). PIN T0 a se sampdirije yon fwa chak sik revèy sistèm pa lojik la senkronizasyon PIN. Senkronize a (sampled) siyal lè sa a pase
atravè detektè kwen an. Figi 11-2 montre yon dyagram blòk ekivalan fonksyonèl nan senkronizasyon T0 ak lojik detektè kwen. Rejis yo revèy nan kwen pozitif nan revèy sistèm entèn la (clkI/O). Latch la transparan nan peryòd segondè nan revèy sistèm entèn la.
Detektè kwen an jenere yon batman clkT0 pou chak kwen pozitif (CS0[2:0] = 7) oswa negatif (CS0[2:0] = 6) li detekte.
Rejis OCR0x yo doub tanpon lè w ap itilize nenpòt nan mòd Puls lajè (PWM). Pou mòd operasyon nòmal ak Clear Timer on Compare (CTC), tanpon doub la enfim. Doub tanpon an senkronize aktyalizasyon OCR0x Compare Registers nan swa anwo oswa anba sekans konte a. Senkronizasyon an anpeche ensidan an nan enpè-longè, ki pa simetrik pulsasyon PWM, kidonk fè pwodiksyon an san pwoblèm.
Aksè nan Rejis OCR0x ka sanble konplèks, men sa a se pa ka. Lè doub tanpon an aktive, CPU a gen aksè a OCR0x Tanpon Rejis la, epi si doub tanpon an enfim CPU a pral jwenn aksè nan OCR0x la dirèkteman.
Fòs Sòti Konpare
Nan mòd jenerasyon fòm ond ki pa PWM, yo ka fòse pwodiksyon matche ak konparezon a lè w ekri yon ti jan nan Force Output Compare (FOC0x). Fòse Konpare Match la pa pral mete drapo OCF0x la oswa rechaje / netwaye revèy la, men peny OC0x la pral mete ajou kòm si yon Match Konpare reyèl te fèt (anviwònman Bits COM0x[1:0] yo defini si PIN OC0x la tabli, netwaye. oswa baskil).
Konpare Match Blocking pa TCNT0 Write
Tout operasyon ekri CPU nan Rejis TCNT0 a pral bloke nenpòt Match Konpare ki rive nan pwochen sik revèy revèy la, menm lè revèy la sispann. Karakteristik sa a pèmèt OCR0x yo dwe inisyalize nan menm valè ak TCNT0 san yo pa deklanche yon entèwonp lè revèy la revèy / Counter aktive.
Sèvi ak Inite Konpare Sòti a
Depi ekri TCNT0 nan nenpòt ki mòd operasyon pral bloke tout Konpare alimèt pou yon sik revèy revèy, gen risk ki enplike lè w ap chanje TCNT0 lè w ap itilize Inite Konpare Sòti a, poukont si Timer/Counter la ap kouri oswa ou pa. Si valè ki ekri nan TCNT0 egal valè OCR0x, yo pral rate Konpare Match la, sa ki lakòz jenerasyon ond ki pa kòrèk. Menm jan an tou, pa ekri valè TCNT0 ki egal a BOTTOM lè kontwa an ap konte desann.
Yo ta dwe fè konfigirasyon OC0x la anvan ou tabli Rejis Direksyon Done pou peny pò a pou pwodiksyon an. Fason ki pi fasil pou mete valè OC0x la se itilize Bits Strobe Force Output Compare (FOC0x) nan mòd nòmal. Rejis OC0x yo kenbe valè yo menm lè yo chanje ant mòd Waveform Generation.
Ou dwe konnen ke bit yo COM0x[1:0] yo pa doub tanpon ansanm ak valè konpare a. Chanje COM0x[1:0] bits yo pral pran efè imedyatman.
Konpare Inite Sorti Match
Mòd Konpare Sòti (COM0x[1:0]) Bits gen de fonksyon. Waveform Generator la sèvi ak COM0x[1:0] Bits pou defini eta Output Compare (OC0x) nan pwochen Konpare Match la. Epitou, COM0x[1:0] bit yo kontwole sous pwodiksyon PIN OC0x la. Figi 11-6 montre yon chema senplifye nan lojik ki afekte nan anviwònman bit COM0x[1:0]. Rejis I/O, I/O Bits, ak I/O broch nan figi a yo montre an fonse. Se sèlman pati yo nan Rejis Kontwòl Pò I/O jeneral yo (DDR ak PORT) ki afekte nan COM0x[1:0] Bits yo montre. Lè w ap refere a eta OC0x, referans a se pou Rejis OC0x entèn la, pa pin OC0x la. Si yon reset sistèm rive, Rejis OC0x la reset a "0".
Lè OC0A/OC0B konekte ak peny I/O, fonksyon bit COM0A[1:0]/COM0B[1:0] depann de anviwònman WGM0[2:0]. Tablo 11-2 montre fonksyonalite bit COM0x[1:0] lè WGM0[2:0] bit yo mete nan yon mòd nòmal oswa CTC (ki pa PWM).
Tablo 11-2. Konpare mòd Sòti, mòd ki pa PWM
COM0A1 COM0B1 | COM0A0 COM0B0 | Deskripsyon |
0 | 0 | Operasyon pò nòmal, OC0A/OC0B dekonekte. |
0 | 1 | Aktive OC0A/OC0B sou Konpare Match |
1 | 0 | Klè OC0A/OC0B sou Konpare Match |
1 | 1 | Mete OC0A/OC0B sou Konpare Match |
Tablo 11-3 montre fonksyonalite bit COM0x[1:0] lè WGM0[2:0] bit yo mete nan mòd PWM rapid.
Tablo 11-3. Konpare Sòti Mode, Fast PWM Mode(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | Deskripsyon |
0 | 0 | Operasyon pò nòmal, OC0A/OC0B dekonekte. |
0 | 1 | Rezève |
1 | 0 | Efase OC0A/OC0B sou Konpare Match, mete OC0A/OC0B nan BÒ (mòd ki pa envèse) |
1 | 1 | Mete OC0A/OC0B sou Konpare Match, efase OC0A/OC0B nan BOTTOM (mod envèsti) |
Remak: Yon ka espesyal rive lè OCR0A oswa OCR0B egal TOP ak COM0A1/COM0B1 mete. Nan ka sa a, matche ak konparezon an inyore, men mete oswa klè yo fè nan BOTTOM. Gade “Mòd PWM rapid” nan paj 73 pou plis detay.
Tablo 11-4 montre fonksyonalite COM0x[1:0] bit lè WGM0[2:0] bit yo mete nan faz kòrèk mòd PWM.
Tablo 11-4. Konpare mòd Sòti, Faz kòrèk PWM Mode(1)
COM0A1 COM0B1 | COM0A0 COM0B0 | Deskripsyon |
0 | 0 | Operasyon pò nòmal, OC0A/OC0B dekonekte. |
0 | 1 | Rezève |
1 | 0 | Klè OC0A/OC0B sou Konpare Match lè w ap konte. Mete OC0A/OC0B sou Konpare Match lè konte desann. |
1 | 1 | Mete OC0A/OC0B sou Konpare Match lè w ap konte. Klè OC0A/OC0B sou Konpare Match lè konte desann. |
Remak: 1. Yon ka espesyal rive lè OCR0A oswa OCR0B egal TOP ak COM0A1/COM0B1 mete. Nan ka sa a, Konpare Match la inyore, men mete oswa klè yo fè nan TOP. Gade “Phase Correct PWM Mode” nan paj 74 pou plis detay.
Bits 3:2 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bits 1:0 - WGM0[1:0]: Mòd jenerasyon Waveform
Konbine avèk WGM02 ti jan yo te jwenn nan Rejis TCCR0B a, Bits sa yo kontwole sekans konte kontwa a, sous pou valè maksimòm (TOP) kontwa, ak ki kalite jenerasyon ond yo dwe itilize, gade. Tablo 11-5. Mòd operasyon yo sipòte pa inite revèy/kontan an se: mòd nòmal (kontan), mòd klè revèy sou konpare matche (CTC), ak de kalite mòd batman lajè (PWM) (gade "Mòd operasyon" nan paj 71).
Tablo 11-5. Waveform Generation Mode Bit Description
Mode | WGM 02 | WGM 01 | WGM 00 | Revèy / Counter Mode nan operasyon | TOP | Mizajou OCRx nan | TOV Flag Mete sou |
0 | 0 | 0 | 0 | Nòmal | 0xFF | Imedyatman | MAX(1) |
1 | 0 | 0 | 1 | PWM, Faz kòrèk | 0xFF | TOP | ANBA(2) |
2 | 0 | 1 | 0 | CTC | OCRA | Imedyatman | MAX(1) |
3 | 0 | 1 | 1 | PWM rapid | 0xFF | ANBA(2) | MAX(1) |
4 | 1 | 0 | 0 | Rezève | – | – | – |
5 | 1 | 0 | 1 | PWM, Faz kòrèk | OCRA | TOP | ANBA(2) |
6 | 1 | 1 | 0 | Rezève | – | – | – |
7 | 1 | 1 | 1 | PWM rapid | OCRA | ANBA(2) | TOP |
Bit 7 - FOC0A: Fòs Sòti Konpare A
Bit FOC0A a sèlman aktif lè WGM yo espesifye yon mòd ki pa PWM.
Sepandan, pou asire konpatibilite ak aparèy nan lavni, ti jan sa a dwe mete a zewo lè TCCR0B ekri lè opere nan mòd PWM. Lè w ap ekri yon lojik nan ti FOC0A a, yo fòse yon Match Konpare imedya sou inite Waveform Generation la. Pwodiksyon OC0A a chanje selon anviwònman bits COM0A[1:0] li yo. Remake byen ke ti jan FOC0A a aplike kòm yon strobe. Se poutèt sa se valè prezan nan COM0A[1:0] Bits ki detèmine efè konparezon fòse a.
Yon strobe FOC0A pa pral jenere okenn entèwonp, ni li pral klè revèy la nan mòd CTC lè l sèvi avèk OCR0A kòm TOP. FOC0A ti jan an toujou li kòm zewo.
Bit 6 - FOC0B: Fòs Sòti Konpare B
FOC0B a se sèlman aktif lè WGM yo espesifye yon mòd ki pa PWM.
Sepandan, pou asire konpatibilite ak aparèy nan lavni, ti jan sa a dwe mete a zewo lè TCCR0B ekri lè opere nan mòd PWM. Lè w ap ekri yon lojik nan ti jan FOC0B la, yon Match Konpare imedya fòse sou inite Waveform Generation la. Pwodiksyon OC0B la chanje dapre anviwònman bits COM0B[1:0] li yo. Remake byen ke ti jan FOC0B la aplike kòm yon strobe. Se poutèt sa se valè prezan nan COM0B[1:0] Bits ki detèmine efè konparezon fòse a.
Yon Strobe FOC0B pa pral jenere okenn entèwonp, ni li pral klè revèy la nan mòd CTC lè l sèvi avèk OCR0B kòm TOP.
FOC0B ti jan an toujou li kòm zewo.
Bits 5:4 - Res: Bits rezève
Bits sa yo se bit rezève nan ATtiny25/45/85 la epi yo pral toujou li kòm zewo.
Bit 3 - WGM02: Mòd jenerasyon Waveform
Gade deskripsyon an nan “TCCR0A – Rejis A ki gen kontwòl revèy/kontwòl” nan paj 77.
Bits 2:0 - CS0[2:0]: Chwazi revèy
Twa Bits Clock Select yo chwazi sous la revèy yo dwe itilize pa revèy la / Counter.
Tablo 11-6. Revèy Chwazi Bit Deskripsyon
CS02 | CS01 | CS00 | Deskripsyon |
0 | 0 | 0 | Pa gen sous revèy (Timer/Counter sispann) |
0 | 0 | 1 | clkI/O/(Pa gen pre-echèl) |
0 | 1 | 0 | clkI/O/8 (Soti nan prescaler) |
0 | 1 | 1 | clkI/O/64 (Soti nan prescaler) |
1 | 0 | 0 | clkI/O/256 (Soti nan prescaler) |
1 | 0 | 1 | clkI/O/1024 (Soti nan prescaler) |
1 | 1 | 0 | Sous revèy ekstèn sou PIN T0. Revèy sou kwen tonbe. |
1 | 1 | 1 | Sous revèy ekstèn sou PIN T0. Revèy sou kwen k ap monte. |
Si mòd pin ekstèn yo itilize pou Timer/Counter0 a, tranzisyon sou PIN T0 a pral revèy kontwa a menm si PIN la configuré kòm yon pwodiksyon. Karakteristik sa a pèmèt lojisyèl kontwòl konte a.
Counter ak Konpare Inite yo
Yo dekri operasyon an jeneral Timer/Counter1 nan mòd asynchrone a epi yo mansyone operasyon an nan mòd synchrone sèlman si gen diferans ant de mòd sa yo. Figi 12-2 montre dyagram blòk rejis senkronizasyon Timer/Counter 1 ak reta senkronizasyon ant rejis yo. Remake byen ke tout detay revèy gating yo pa montre nan figi a. Valè rejis Timer/Counter1 yo ale nan rejis senkronizasyon entèn yo, ki lakòz reta nan senkronizasyon opinyon, anvan yo afekte operasyon kontwa an. Ou ka li rejis TCCR1, GTCCR, OCR1A, OCR1B, ak OCR1C imedyatman apre w fin ekri rejis la. Valè lekti yo an reta pou rejis Timer/Counter1 (TCNT1) ak drapo (OCF1A, OCF1B, ak TOV1), akòz senkronizasyon opinyon ak pwodiksyon an.
Timer/Counter1 a gen yon rezolisyon segondè ak yon itilizasyon presizyon segondè ak opòtinite ki pi ba preskalaj. Li kapab tou sipòte de egzat, gwo vitès, 8-bit Pulse Width Modulators lè l sèvi avèk vitès revèy jiska 64 MHz (oswa 32 MHz nan mòd vitès ki ba). Nan mòd sa a, Timer/Counter1 ak rejis konpare pwodiksyon yo sèvi kòm doub PWM otonòm ak pwodiksyon ki pa envèse ak envèse ki pa sipèpoze. Gade paj 86 pou yon deskripsyon detaye sou fonksyon sa a. Menm jan an tou, gwo opòtinite preskalaj fè inite sa a itil pou fonksyon pi ba vitès oswa fonksyon distribisyon egzak ak aksyon ki pa souvan.
Figi 12-2. Revèy / Counter 1 Synchronization Enskri Blòk Dyagram.
Timer/Counter1 ak prescaler la pèmèt kouri CPU a soti nan nenpòt sous revèy pandan y ap prescaler la ap opere sou revèy PCK rapid 64 MHz (oswa 32 MHz nan mòd vitès ba) nan mòd asynchrone.
Remake byen ke frekans revèy sistèm lan dwe pi ba pase yon tyè nan frekans PCK la. Mekanis senkronizasyon Timer/Counter1 asynchrone a bezwen omwen de bor nan PCK lè revèy sistèm lan wo. Si frekans revèy sistèm lan twò wo, li se yon risk ke done oswa valè kontwòl yo pèdi.
Sa ki annapre yo Figi 12-3 montre dyagram an blòk pou Timer/Counter1.
Tablo 12-1. Konpare Mode Chwazi nan Mode PWM
COM1x1 | COM1x0 | Efè sou Sòti Konpare Pins |
0 | 0 | OC1x pa konekte. OC1x pa konekte. |
0 | 1 | OC1x otorize sou konpare match. Mete lèTCNT1 = $00. OC1x mete sou konpare match. Otorize lè TCNT1 = $00. |
1 | 0 | OC1x otorize sou konpare match. Mete lè TCNT1 = $00. OC1x pa konekte. |
1 | 1 | OC1x Mete sou konpare match. Otorize lè TCNT1 = $00. OC1x pa konekte. |
Karakteristik ADC
Tablo 21-8. Karakteristik ADC, Single Ended Channels. TA = -40 ° C a + 85 ° C
Senbòl | Paramèt | Kondisyon | Min | Typ | Max | Inite yo |
Rezolisyon | 10 | Bits | ||||
Presizyon absoli (ki gen ladan erè INL, DNL, ak Quantization, Gain ak Offset) | VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz |
2 | LSB | |||
VREF = 4V, VCC = 4V,
ADC revèy = 1 MHz |
3 | LSB | ||||
VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz Mode rediksyon bri |
1.5 | LSB | ||||
VREF = 4V, VCC = 4V,
ADC revèy = 1 MHz Mode rediksyon bri |
2.5 | LSB | ||||
Entegral ki pa lineyè (INL) (Presizyon apre konpanse ak jwenn kalibrasyon) | VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz |
1 | LSB | |||
Diferans ki pa lineyè (DNL) | VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz |
0.5 | LSB | |||
Akeri Erè | VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz |
2.5 | LSB | |||
Offset Erè | VREF = 4V, VCC = 4V,
ADC revèy = 200 kHz |
1.5 | LSB | |||
Tan Konvèsyon | Gratis Kouri Konvèsyon | 14 | 280 | µs | ||
Frekans revèy | 50 | 1000 | ke | |||
VIN | Antre Voltage | GND | VREF | V | ||
Antre Bandwidth | 38.4 | ke | ||||
AREF | Referans ekstèn Voltage | 2.0 | VCC | V | ||
VINT | Entèn Voltage Referans | 1.0 | 1.1 | 1.2 | V | |
Entèn 2.56V Referans (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | 32 | kΩ | ||||
LAPLWI | Rezistans Antre analòg | 100 | MΩ | |||
Sòti ADC | 0 | 1023 | LSB |
Remak: 1. Valè yo se direktiv sèlman.
Tablo 21-9. Karakteristik ADC, chanèl diferans (Unipolar Mode). TA = -40 ° C a + 85 ° C
Senbòl | Paramèt | Kondisyon | Min | Typ | Max | Inite yo |
Rezolisyon | Pwofi = 1x | 10 | Bits | |||
Pwofi = 20x | 10 | Bits | ||||
Presizyon absoli (ki gen ladan INL, DNL, ak
Quantization, Gain and Offset Erè) |
Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
10.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
20.0 | LSB | ||||
Entegral ki pa Linearite (INL) (Presizyon apre konpanse ak kalibrasyon akeri) | Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
4.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
10.0 | LSB | ||||
Akeri Erè | Pwofi = 1x | 10.0 | LSB | |||
Pwofi = 20x | 15.0 | LSB | ||||
Offset Erè | Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
3.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
4.0 | LSB | ||||
Tan Konvèsyon | Gratis Kouri Konvèsyon | 70 | 280 | µs | ||
Frekans revèy | 50 | 200 | ke | |||
VIN | Antre Voltage | GND | VCC | V | ||
VDIFF | Antre Diferans Voltage | VREF/Gain | V | |||
Antre Bandwidth | 4 | ke | ||||
AREF | Referans ekstèn Voltage | 2.0 | VCC - 1.0 | V | ||
VINT | Entèn Voltage Referans | 1.0 | 1.1 | 1.2 | V | |
Entèn 2.56V Referans (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | Referans Antre Rezistans | 32 | kΩ | |||
LAPLWI | Rezistans Antre analòg | 100 | MΩ | |||
Sòti konvèsyon ADC | 0 | 1023 | LSB |
Remak: Valè yo se direktiv sèlman.
Tablo 21-10. Karakteristik ADC, chanèl diferans (bipolè mòd). TA = -40 ° C a + 85 ° C
Senbòl | Paramèt | Kondisyon | Min | Typ | Max | Inite yo |
Rezolisyon | Pwofi = 1x | 10 | Bits | |||
Pwofi = 20x | 10 | Bits | ||||
Presizyon absoli (ki gen ladan INL, DNL, ak
Quantization, Gain and Offset Erè) |
Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
8.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
8.0 | LSB | ||||
Entegral ki pa Linearite (INL) (Presizyon apre konpanse ak kalibrasyon akeri) | Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
4.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
5.0 | LSB | ||||
Akeri Erè | Pwofi = 1x | 4.0 | LSB | |||
Pwofi = 20x | 5.0 | LSB | ||||
Offset Erè | Pwofi = 1x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
3.0 | LSB | |||
Pwofi = 20x
VREF = 4V, VCC = 5V ADC revèy = 50 - 200 kHz |
4.0 | LSB | ||||
Tan Konvèsyon | Gratis Kouri Konvèsyon | 70 | 280 | µs | ||
Frekans revèy | 50 | 200 | ke | |||
VIN | Antre Voltage | GND | VCC | V | ||
VDIFF | Antre Diferans Voltage | VREF/Gain | V | |||
Antre Bandwidth | 4 | ke | ||||
AREF | Referans ekstèn Voltage | 2.0 | VCC - 1.0 | V | ||
VINT | Entèn Voltage Referans | 1.0 | 1.1 | 1.2 | V | |
Entèn 2.56V Referans (1) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | Referans Antre Rezistans | 32 | kΩ | |||
LAPLWI | Rezistans Antre analòg | 100 | MΩ | |||
Sòti konvèsyon ADC | -512 | 511 | LSB |
Enstriksyon Mete Rezime
Mnemonik | Operand | Deskripsyon | Operasyon | Drapo | # Revèy |
ENSTRIKSYON ARITMETIK AK LOGIK | |||||
ADD | Rd, Rr | Ajoute de rejis | Rd ← Rd + Rr | Z, C, N, V, H | 1 |
ADC | Rd, Rr | Ajoute ak pote de rejis | Rd ← Rd + Rr + C | Z, C, N, V, H | 1 |
ADIW | Rdl, K | Ajoute Imedyat nan Pawòl | Rdh:Rdl ← Rdh:Rdl + K | Z,C,N,V,S | 2 |
SUB | Rd, Rr | Fè soustraksyon de rejis | Rd ← Rd – Rr | Z, C, N, V, H | 1 |
MWEN MONTE | Rd, K. | Fè soustraksyon konstan nan enskri | Rd ← Rd – K | Z, C, N, V, H | 1 |
SBC | Rd, Rr | Fè soustraksyon ak pote de rejis | Rd ← Rd – Rr – C | Z, C, N, V, H | 1 |
SBCI | Rd, K. | Fè soustraksyon ak pote konstan nan Reg. | Rd ← Rd – K – C | Z, C, N, V, H | 1 |
SBIW | Rdl, K | Soustraksyon Imedyat nan Pawòl | Rdh:Rdl ← Rdh:Rdl – K | Z,C,N,V,S | 2 |
AK | Rd, Rr | Lojik AK anrejistre | Rd ← Rd ∙ Rr | Z, N, V | 1 |
ANDI | Rd, K. | Lojik AK Enskri ak konstan | Rd ← Rd ∙ K | Z, N, V | 1 |
OR | Rd, Rr | Lojik OSWA anrejistre | Rd ← Rd v Rr | Z, N, V | 1 |
ORI | Rd, K. | Lojik OSWA Enskri ak konstan | Rd ← Rd v K | Z, N, V | 1 |
EOR | Rd, Rr | Eksklizif OSWA Rejis | Rd ← Rd ⊕ Rr | Z, N, V | 1 |
COM | Rd | Konpleman Youn nan | Rd ← 0xFF − Rd | Z, C, N, V | 1 |
NEG | Rd | Konpleman De a | Rd ← 0x00 − Rd | Z, C, N, V, H | 1 |
SBR | Rd, K. | Mete Bit (s) nan Enskri | Rd ← Rd v K | Z, N, V | 1 |
CBR | Rd, K. | Klè Bit (yo) nan Enskri | Rd ← Rd ∙ (0xFF – K) | Z, N, V | 1 |
INC | Rd | Ogmante | Rd ← Rd + 1 | Z, N, V | 1 |
DEC | Rd | Diminye | Rd ← Rd − 1 | Z, N, V | 1 |
TST | Rd | Tès pou zewo oswa mwens | Rd ← Rd ∙ Rd | Z, N, V | 1 |
CLR | Rd | Klè Enskri | Rd ← Rd ⊕ Rd | Z, N, V | 1 |
SER | Rd | Mete Enskri | Rd ← 0xFF | Okenn | 1 |
ENSTRIKSYON BRANCH | |||||
RJMP | k | Relative Ale | PC ← PC + k + 1 | Okenn | 2 |
IJMP | Ale endirèk sou (Z) | PC ← Z | Okenn | 2 | |
RCALL | k | Relatif Subroutine Rele | PC ← PC + k + 1 | Okenn | 3 |
ICALL | Rele endirèk nan (Z) | PC ← Z | Okenn | 3 | |
RET | Retounen Subroutine | PC ← STACK | Okenn | 4 | |
RETI | Retounen entèwonp | PC ← STACK | I | 4 | |
CPSE | Rd, Rr | Konpare, sote si egal | si (Rd = Rr) PC ← PC + 2 oswa 3 | Okenn | 1/2/3 |
CP | Rd, Rr | Konpare | Rd - Rr | Z, N, V, C, H | 1 |
CPC | Rd, Rr | Konpare ak Pote | Rd − Rr − C | Z, N, V, C, H | 1 |
CPI | Rd, K. | Konpare Enskri ak Imedyat | Rd - K | Z, N, V, C, H | 1 |
SBRC | R, b | Sote si ti jan nan enskri otorize | si (Rr(b)=0) PC ← PC + 2 oswa 3 | Okenn | 1/2/3 |
SBRS | R, b | Sote si se Bit nan Rejis Mete | si (Rr(b)=1) PC ← PC + 2 oswa 3 | Okenn | 1/2/3 |
SBIC | P, b | Sote si Bit nan I / O Enskri otorize | si (P(b)=0) PC ← PC + 2 oswa 3 | Okenn | 1/2/3 |
SBIS | P, b | Sote si se Bit nan I / O Enskri Mete | si (P(b)=1) PC ← PC + 2 oswa 3 | Okenn | 1/2/3 |
BRBS | s, k | Branch si Mete drapo Estati | si (SREG(s) = 1) Lè sa a, PC←PC+k + 1 | Okenn | 1/2 |
BRBC | s, k | Branch si Estati Drapo otorize | si (SREG(s) = 0) Lè sa a, PC←PC+k + 1 | Okenn | 1/2 |
BREQ | k | Branch si Egal | si (Z = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRNE | k | Branch si pa egal | si (Z = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRCS | k | Branch si Pote Mete | si (C = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRCC | k | Branch si Pote otorize | si (C = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRSH | k | Branch si menm oswa pi wo | si (C = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRLO | k | Branch si pi ba | si (C = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRMI | k | Branch si mwens | si (N = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRPL | k | Branch si Plus | si (N = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRGE | k | Branch si pi gwo oswa egal, siyen | si (N ⊕ V= 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRLT | k | Branch si mwens pase zewo, siyen | si (N ⊕ V= 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRHS | k | Branch si mwatye pote drapo Mete | si (H = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRHC | k | Branch si mwatye pote drapo otorize | si (H = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRTS | k | Branch si T Drapo Mete | si (T = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRTC | k | Branch si drapo T otorize | si (T = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRVS | k | Branch si se Drapo debòde Mete | si (V = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRVC | k | Branch si Drapo debòde otorize | si (V = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRIE | k | Branch si entèwonp pèmèt | si (I = 1) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
BRID | k | Branch si entèwonp enfim | si (I = 0) Lè sa a, PC ← PC + k + 1 | Okenn | 1/2 |
ENSTRIKSYON BIT AK BIT-TEST | |||||
SBI | P, b | Mete Bit nan I / O Enskri | I/O(P,b) ← 1 | Okenn | 2 |
CBI | P, b | Klè Bit nan I / O Enskri | I/O(P,b) ← 0 | Okenn | 2 |
LSL | Rd | Chanjman Lojik Goch | Rd(n+1) ← Rd(n), Rd(0) ← 0 | Z, C, N, V | 1 |
LSR | Rd | Chanjman lojik dwa | Rd(n) ← Rd(n+1), Rd(7) ← 0 | Z, C, N, V | 1 |
WLEL | Rd | Thorne agoch nan pote | Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) | Z, C, N, V | 1 |
ROR | Rd | Thorne Dwa Atravè Pote | Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) | Z, C, N, V | 1 |
ASR | Rd | Aritmetik Shift Dwa | Rd(n) ← Rd(n+1), n=0..6 | Z, C, N, V | 1 |
Mnemonik | Operand | Deskripsyon | Operasyon | Drapo | # Revèy |
SWAP | Rd | Boukantay Nibbles | Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) | Okenn | 1 |
BSET | s | Mete drapo | SREG(yo) ← 1 | SREG (yo) | 1 |
BCLR | s | Drapo Klè | SREG(yo) ← 0 | SREG (yo) | 1 |
BST | R, b | Boutik Bit soti nan Enskri T. | T ← Rr(b) | T | 1 |
BLD | Rd, b | Bit chaj soti nan T enskri | Rd(b) ← T | Okenn | 1 |
SEC | Mete Pote | C ← 1 | C | 1 | |
CLC | Klè Pote | C ← 0 | C | 1 | |
SEN | Mete negatif drapo | N ← 1 | N | 1 | |
CLN | Klè Drapo negatif | N ← 0 | N | 1 | |
SEZ | Mete Zewo Drapo | Z ← 1 | Z | 1 | |
CLZ | Klè Drapo Zewo | Z ← 0 | Z | 1 | |
SEI | Pèmèt entèwonp mondyal | mwen ← 1 | I | 1 | |
CLI | Global entèwonp enfim | mwen ← 0 | I | 1 | |
SES | Mete siyen drapo tès la | S ← 1 | S | 1 | |
CLS | Klè siyen drapo tès la | S ← 0 | S | 1 | |
SEV | Mete Twos Konpleman Debòde. | V ← 1 | V | 1 | |
CLV | Klè Twos Konpleman debòde | V ← 0 | V | 1 | |
SET | Mete T nan SREG | T ← 1 | T | 1 | |
CLT | Klè T nan SREG | T ← 0 | T | 1 | |
SEH | Mete mwatye pote drapo nan SREG | H ← 1 | H | 1 | |
CLH | Klè Mwatye Pote Drapo nan SREG | H ← 0 | H | 1 | |
ENSTRIKSYON TRANSFÈ DONE | |||||
MOV | Rd, Rr | Deplase ant rejis | Rd ← Rr | Okenn | 1 |
MOVW | Rd, Rr | Kopi Enskri Pawòl | Rd+1:Rd ← Rr+1:Rr | Okenn | 1 |
LDI | Rd, K. | Chaj Imedyat | Rd ← K | Okenn | 1 |
LD | Rd, X | Chaje endirèk | Rd ← (X) | Okenn | 2 |
LD | Rd, X+ | Chaje endirèk ak Post-Inc. | Rd ← (X), X ← X + 1 | Okenn | 2 |
LD | Rd, - X | Chaje Endirèk ak Pre-Desanm. | X ← X – 1, Rd ← (X) | Okenn | 2 |
LD | Rd, Y | Chaje endirèk | Rd ← (Y) | Okenn | 2 |
LD | Rd, Y+ | Chaje endirèk ak Post-Inc. | Rd ← (Y), Y ← Y + 1 | Okenn | 2 |
LD | Rd, - Y | Chaje Endirèk ak Pre-Desanm. | Y ← Y – 1, Rd ← (Y) | Okenn | 2 |
LDD | Rd,Y+q | Chaj Endirèk ak Deplasman | Rd ← (Y + q) | Okenn | 2 |
LD | Rd, Z | Chaje endirèk | Rd ← (Z) | Okenn | 2 |
LD | Rd, Z+ | Chaje endirèk ak Post-Inc. | Rd ← (Z), Z ← Z+1 | Okenn | 2 |
LD | Rd, -Z | Chaje Endirèk ak Pre-Desanm. | Z ← Z – 1, Rd ← (Z) | Okenn | 2 |
LDD | Rd, Z+q | Chaj Endirèk ak Deplasman | Rd ← (Z + q) | Okenn | 2 |
LDS | Rd, k | Chaje dirèk nan SRAM | Rd ← (k) | Okenn | 2 |
ST | X, Rr | Sere endirèk | (X) ← Rr | Okenn | 2 |
ST | X+, Rr | Magazen Endirèk ak Post-Inc. | (X) ← Rr, X ← X + 1 | Okenn | 2 |
ST | – X, Rr | Sere Endirèk ak Pre-Desanm. | X ← X – 1, (X) ← Rr | Okenn | 2 |
ST | Y, Rr | Sere endirèk | (Y) ← Rr | Okenn | 2 |
ST | Y+, Rr | Magazen Endirèk ak Post-Inc. | (Y) ← Rr, Y ← Y + 1 | Okenn | 2 |
ST | – Y, Rr | Sere Endirèk ak Pre-Desanm. | Y ← Y – 1, (Y) ← Rr | Okenn | 2 |
STD | Y+q,Rr | Sere Endirèk ak Deplasman | (Y + q) ← Rr | Okenn | 2 |
ST | Z, Rr | Sere endirèk | (Z) ← Rr | Okenn | 2 |
ST | Z+, Rr | Magazen Endirèk ak Post-Inc. | (Z) ← Rr, Z ← Z + 1 | Okenn | 2 |
ST | -Z, Rr | Sere Endirèk ak Pre-Desanm. | Z ← Z – 1, (Z) ← Rr | Okenn | 2 |
STD | Z+q,Rr | Sere Endirèk ak Deplasman | (Z + q) ← Rr | Okenn | 2 |
STS | k, Rr | Sere dirèk nan SRAM | (k) ← Rr | Okenn | 2 |
LPM | Chaje Pwogram memwa | R0 ← (Z) | Okenn | 3 | |
LPM | Rd, Z | Chaje Pwogram memwa | Rd ← (Z) | Okenn | 3 |
LPM | Rd, Z+ | Chaje memwa pwogram ak Post-Inc | Rd ← (Z), Z ← Z+1 | Okenn | 3 |
SPM | Sere pwogram memwa | (z) ← R1:R0 | Okenn | ||
IN | Rd, P | Nan pò | Rd ← P | Okenn | 1 |
SOTI | P, Rr | Soti nan Port | P ← Rr | Okenn | 1 |
POUSE | Rr | Pouse Enskri sou Stack | STACK ← Rr | Okenn | 2 |
POP | Rd | Pop Enskri soti nan Stack | Rd ← STACK | Okenn | 2 |
ENSTRIKSYON KONTWÒL MCU | |||||
NOP | Pa gen operasyon | Okenn | 1 | ||
DOMÒM | Dòmi | (gade deskripsyon espesifik pou fonksyon dòmi) | Okenn | 1 | |
WDR | Watchdog Reyajiste | (gade deskripsyon espesifik pou WDR/Timer) | Okenn | 1 | |
KAZ | Kraze |
Vitès (MHz) (1) | Pwovizyon pou Voltage (V) | Ranje Tanperati | Pake (2) | Kòd pou kòmande (3) |
10 | 1.8 – 5.5 | Endistriyèl
(-40 ° C a + 85 ° C) (4) |
8P3 | ATtiny45V-10PU |
8S2 | ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR | |||
8X | ATtiny45V-10XU ATtiny45V-10XUR | |||
20M1 | ATtiny45V-10MU ATtiny45V-10MUR | |||
20 | 2.7 – 5.5 | Endistriyèl
(-40 ° C a + 85 ° C) (4) |
8P3 | ATtiny45-20PU |
8S2 | ATtiny45-20SU ATtiny45-20SUR
ATtiny45-20SH ATtiny45-20SHR |
|||
8X | ATtiny45-20XU ATtiny45-20XUR | |||
20M1 | ATtiny45-20MU ATtiny45-20MUR |
Nòt: 1. Pou vitès vs ekipman pou voltage, gade seksyon 21.3 "Vitès" nan paj 163.
Tout pakè yo san Pb, san halogen e konplètman vèt epi yo konfòme yo ak direktiv Ewopeyen an pou Restriksyon sou Sibstans Danjere (RoHS).
Endikatè Kòd
H: NiPdAu plon fini
U: fèblan ma
R: tep & bobine
Aparèy sa yo kapab tou apwovizyone nan fòm wafer. Tanpri kontakte biwo lavant Atmel lokal ou a pou enfòmasyon detaye sou lòd ak kantite minimòm.
Erata
Erè ATtiny25
Lèt revizyon nan seksyon sa a refere a revizyon aparèy ATtiny25 la.
Rev D - F
Pa gen errata li te ye.
Rev B - C
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Eseye li EEPROM nan frekans revèy ki ba ak/oswa rezèv ba voltage ka lakòz done envalid.
Ranje pwoblèm / solisyon
Pa sèvi ak EEPROM a lè frekans revèy la pi ba pase 1MHz ak ekipman pou voltage se anba a 2V. Si frekans fonksyònman pa ka ogmante pi wo pase 1MHz Lè sa a, bay voltage ta dwe plis pase 2V. Menm jan an tou, si ekipman pou voltage pa ka leve pi wo pase 2V Lè sa a, frekans opere yo ta dwe plis pase 1MHz.
Karakteristik sa a li te ye pou depann tanperati a men li pa te karakterize. Gid yo bay pou tanperati chanm, sèlman.
Rev A
Pa sampdirije.
Erè ATtiny45
Lèt revizyon nan seksyon sa a refere a revizyon aparèy ATtiny45 la.
Rev F - G
Pa gen errata li te ye
Rev D - E
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Eseye li EEPROM nan frekans revèy ki ba ak/oswa rezèv ba voltage ka lakòz done envalid.
Ranje pwoblèm / solisyon
Pa sèvi ak EEPROM a lè frekans revèy la pi ba pase 1MHz ak ekipman pou voltage se anba a 2V. Si frekans fonksyònman pa ka ogmante pi wo pase 1MHz Lè sa a, bay voltage ta dwe plis pase 2V. Menm jan an tou, si ekipman pou voltage pa ka leve pi wo pase 2V Lè sa a, frekans opere yo ta dwe plis pase 1MHz.
Karakteristik sa a se konnen yo dwe tanperati depann men li pa te karakterize. Gid yo bay pou tanperati chanm, sèlman.
Rev B - C
PLL pa bloke
EEPROM li nan kòd aplikasyon an pa travay nan Lock Bit Mode 3
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Timer Counter 1 PWM pwodiksyon jenerasyon sou OC1B- XOC1B pa travay kòrèkteman
PLL pa bloke
Lè nan frekans ki anba a 6.0 MHz, PLL a pa pral fèmen
Pwoblèm ranje / solisyon
Lè w ap itilize PLL a, kouri nan 6.0 MHz oswa pi wo.
EEPROM li nan kòd aplikasyon an pa travay nan Lock Bit Mode 3
Lè Bits Lock memwa LB2 ak LB1 yo pwograme nan mòd 3, EEPROM lekti pa travay nan kòd aplikasyon an.
Ranje pwoblèm/Travay alantou
Pa mete Lock Bit Pwoteksyon Mode 3 lè kòd aplikasyon an bezwen li nan EEPROM.
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Eseye li EEPROM nan frekans revèy ki ba ak/oswa rezèv ba voltage ka lakòz done envalid.
Ranje pwoblèm / solisyon
Pa sèvi ak EEPROM a lè frekans revèy la pi ba pase 1MHz ak ekipman pou voltage se anba a 2V. Si frekans fonksyònman pa ka ogmante pi wo pase 1MHz Lè sa a, bay voltage ta dwe plis pase 2V. Menm jan an tou, si ekipman pou voltage pa ka leve pi wo pase 2V Lè sa a, frekans opere yo ta dwe plis pase 1MHz.
Karakteristik sa a li te ye pou depann tanperati a men li pa te karakterize. Gid yo bay pou tanperati chanm, sèlman.
Timer Counter 1 PWM pwodiksyon jenerasyon sou OC1B - XOC1B pa travay kòrèkteman
Timer Counter1 PWM pwodiksyon OC1B-XOC1B pa travay kòrèkteman. Sèlman nan ka a lè bit kontwòl yo, COM1B1 ak COM1B0 yo nan menm mòd kòm COM1A1 ak COM1A0, respektivman, pwodiksyon an OC1B-XOC1B travay kòrèkteman.
Ranje pwoblèm/Travay alantou
Sèl solisyon an se sèvi ak menm anviwònman kontwòl sou COM1A[1:0] ak COM1B[1:0] bit kontwòl, gade tablo 14-4 nan fèy done a. Pwoblèm nan te fikse pou Tiny45 rev D.
Rev A
Twò gwo pouvwa desann konsomasyon pouvwa
DebugWIRE pèdi kominikasyon lè yon sèl antre nan entèwonp
PLL pa bloke
EEPROM li nan kòd aplikasyon an pa travay nan Lock Bit Mode 3
Lekti EEPROM ka febli nan rezèv ba voltage / ba frekans revèy
Twò gwo pouvwa desann konsomasyon pouvwa
Twa sitiyasyon ap mennen nan yon pouvwa twò wo desann konsomasyon pouvwa. Sa yo se:
Yo chwazi yon revèy ekstèn pa fuse, men I/O PORT la toujou pèmèt kòm yon pwodiksyon.
EEPROM a li anvan ou antre nan pouvwa desann.
VCC se 4.5 vòlt oswa pi wo.
Limit responsabilite nou: Yo bay enfòmasyon ki nan dokiman sa a an koneksyon avèk pwodwi Atmel. Pa gen okenn lisans, eksprime oswa implicite, pa estoppel oswa otreman, nan nenpòt dwa pwopriyete entelektyèl yo akòde pa dokiman sa a oswa an koneksyon avèk vant la nan pwodwi Atmel. SÒF JAN KI TA PRETE NAN TÈM AK KONDISYON VANT ATMEL KI KI SOU ATMEL LA WEBSITE, ATMEL ASime Okenn RESPONSABILITE KELWA EPI REJTE NENPÒT GARANTI EXPRESS, IMPLICITE OSWA LEGAL KI GENYEN AK PWODWI LI YO KI GENYEN, MEN SE PA LIMITE A, GARANTI ENPLIKITE MARCHANDABILITE, APTITE POU YON OBJEKTIF KI PA PARTIKILÈ, INFINISYON. NAN OKENN KA ATMEL PAP RESPONSYON POU NENPÒT DOmaj DIRÈK, ENDRÈK, KONSEKANS, PINITIF, ESPESYAL OSWA ENSIDENT (KANK, SAN LIMITATION, DOmaj POU PÈT AK PROFIT, ENTÈRIPYON BIZNIS, OSWA PÈT ENFÒMASYON) DOKIMAN SA A, MENM SI ATMEL YO TE AVÈTI DE POSIBILITE POU DOmaj sa yo.
Atmel pa fè okenn reprezantasyon oswa garanti konsènan presizyon oswa konplè sa ki nan dokiman sa a epi li rezève dwa pou fè chanjman nan espesifikasyon ak deskripsyon pwodwi yo nenpòt ki lè san avètisman. Atmel pa pran okenn angajman pou mete ajou enfòmasyon ki nan la a. Sòf si espesifikman bay otreman, pwodwi Atmel yo pa apwopriye pou, epi yo pa dwe itilize nan, aplikasyon otomobil. Pwodwi Atmel yo pa gen entansyon, otorize, oswa garanti pou itilize kòm konpozan nan aplikasyon ki gen entansyon sipòte oswa kenbe lavi.