Atmel

Atmel 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Flash Programmableberdan

 

Features

  • Performansa Bilind, Mîkrokontrolkera Hêza Kêm AVR® 8-Bit
  • Mîmariya RISC ya pêşkeftî
  • 120 Telîmatên Hêzdar - Herî Yekane Pêkhatina Demjimêrê
  • 32 x 8 Qeydên Xebatê yên Armanca Giştî
  • Operasyona bi tevahî statîk
  • Bername û Bîranînên Daneyên ne-veger
  • 2/4/8K Bytes ji Bîra Bernameya Bernamekirî ya Di Pergalê de Flash
  • Berdewamî: 10,000 Çêrokên Nivîsîn / Jêbirin
  • 128/256/512 Bytes In-System Programmable EEPROM
  • Berdewamî: 100,000 Çêrokên Nivîsîn / Jêbirin
  • 128/256/512 Bytes SRAM Navxweyî
  • Ji bo Bernameya Xwe-Bernameya Flash û Ewlekariya Daneyên EEPROM Qefleta Bernamekirinê

Taybetmendiyên Peripheral

  • 8-bit Timer / Counter bi Prescaler û Du Kanalên PWM
  • 8-bit Demjimêra Leza Bilind / Berhevkar bi Pêşkêşkera Veqetandî
  • 2 Derhênanên PWM-ê yên Frekansa Bilind bi Tomarên Berhevberkirina Veqetandî
  • Bernamebar Dead Generator
  • USI - Navbera Rêzeya Gerdûnî ya bi Detektora Rewşa Destpêkê
  • 10-bit ADC

4 Kanalên Yekane Dawî

2 Cotên Kanalên ADC yên Cûda bi Qezenckirina Bernamekirî (1x, 20x)

Pîvana Germahiya

Demjimêra Watchdog-ê ya bernamekirî bi Oscillatorê Veqetandî li ser-çîpê

Li ser-çîpê Berhevkarê Analog

Taybetmendiyên Mîkrokontroller ên Taybet

debugWIRE Pergala Debugkirinê ya li ser-çîpê

Di Pergalê de Bi Porta SPI-ê ve Bernamekirin

Çavkaniyên Navxweyî û Navxweyî yên Navxweyî

Bêkara Hêza Kêm, Kêmkirina Dengê ADC, û Modên Daxistina Hêzê

Enhanced Power-on Reset Circuit

Circuit Detection Brown-out Programmable

Oscillator Kalibrated Navxweyî

I / O û Pakêtan

Şeş Rêzên I/O yên Bernamekirî

8-pin PDIP, 8-pin SOIC, 20-pad QFN/MLF, û 8-pin TSSOP (tenê ATtiny45/V)

Operating Voltage
- 1.8 - 5.5V ji bo ATtiny25V / 45V / 85V
- 2.7 - 5.5V ji bo ATtiny25/45/85

Speed ​​Grade
– 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

Rêzeya Germahiya Pîşesazî

Vexwarina Hêza Kêm

Moda Çalak:

1 MHz, 1.8V: 300 μA

Moda Daxistinê:

Configurations Pin

Pinout ATtiny25/45/85 Veavakirin

Danasîna Pin

VCC: Pêşkêşkirina voltage.
GND: Erd.
Porta B (PB5:PB0): Porta B portek I/O ya du-alî ya 6-bit e ku bi berxwedêrên hilkêşana hundurîn (ji bo her bitekê hatî hilbijartin) ye. Tamponên derketinê yên Port B xwedan taybetmendiyên ajokera sîmetrîk in ku hem bi kapasîteya sinc û hem jî çavkaniyê bilind e. Wekî têketin, pêlên Port B yên ku ji derve kêm têne kişandin heke berxwedêrên vekişînê werin aktîf kirin dê heyîn peyda bikin. Pînên Port B sê-serok têne diyar kirin dema ku rewşek vesazkirinê çalak dibe, her çend demjimêr nexebite.

Port B di heman demê de fonksiyonên cûrbecûr taybetmendiyên taybetî yên ATtiny25/45/85 wekî ku hatî destnîşan kirin jî xizmet dike.
Li ser ATtiny25, portên I/O yên bernamekirî PB3 û PB4 (pêlên 2 û 3) di Moda Lihevhatina ATtiny15 de ji bo piştgirîkirina lihevhatina paşverû ya bi ATtiny15 re têne guheztin.

RESET: Têketinê vegerîne. Asta nizm a li ser vê pînê ji dirêjahiya herî kêm nebza dirêjtir dê vesazkirinê çêbike, her çend demjimêr nexebite û bi şertê ku pina vesazkirinê nehatibe neçalak kirin. Dirêjahiya nebza herî kêm tê dayîn Tabloya 21-4 li ser rûpela 165. Pîlanên kurttir ne garantî ne ku ji nû ve vesazkirinê çêbikin.

Pîneya vesazkirinê dikare wekî pinek I/O (qels) jî were bikar anîn.

Serview

ATtiny25/45/85 mîkrokontrolkerek 8-bit CMOS-ê ya kêm-hêza ku li ser bingeha mîmariya RISC ya pêşkeftî ya AVR-ê ye. Bi cîbicîkirina rêwerzên hêzdar di yek çerxa demjimêrê de, ATtiny25/45/85 rêgezên ku nêzikî 1 MIPS per MHz dibin digihîje ku sêwiranerê pergalê dihêle ku xerckirina hêzê li hember leza pêvajoyê xweşbîn bike.

Bloka Diagram Diyagrama blokê

AVR core komek rêwerzek dewlemend bi 32 tomarên xebatê yên gelemperî re hev dike. Hemî 32 tomar rasterast bi Yekîneya Mantiqa Arîtmetîk (ALU) ve girêdayî ne, ku dihêle ku du qeydên serbixwe di yek fermanek yekane de ku di yek çerxa demjimêrê de têne darve kirin de werin gihîştin. Mîmariya ku di encamê de çêdibe ji mîkrokontrolkerên CISC yên kevneşopî dema ku bigihîje deh carî zûtir kodê bikêrtir e.

ATtiny25/45/85 van taybetmendiyan peyda dike: 2/4/8K byte Flash Programmable In-System, 128/256/512 bytes EEPROM, 128/256/256 bytes SRAM, 6 xetên I/O yên giştî, 32 giştî Tomarên xebatê yên mebest, yek Timer/Hejmarek 8-bit bi modên berhevdanê, yek Timer/Hejmarek bilez a 8-bit, Navbera Rêzeya Gerdûnî, Astengkirinên Navxweyî û Derve, ADCek 4-kanal, 10-bit, Demjimêrek Watchdog-ê ya bernamekirî ya bi hundurîn. Oscillator, û sê awayên hilbijartî yên nermalavê yên hilbijartî. Moda bêkar CPU disekine dema ku destûrê dide SRAM, Timer/Counter, ADC, Comparator Analog, û Pergala Astengkirinê ku xebata xwe bidomîne. Moda dakêşanê naverokên qeydê hildibijêre, hemî fonksiyonên çîpê neçalak dike heta ku di navberê de an jî Vesazkirina Hardware-yê ya paşîn. Moda Kêmkirina Dengê ADC CPU û hemî modulên I/O ji bilî ADC-ê radiwestîne, da ku di dema veguheztina ADC de dengê veguheztinê kêm bike.

Amûr bi karanîna teknolojiya bîranîna ne-hilweşîn a bi dendika bilind a Atmel ve hatî çêkirin. ISP Flash-a-çîp dihêle ku bîranîna Bernameyê bi navgîniya rêzefîlm a SPI-yê, ji hêla bernamesazek ​​bîranîna ne-hilweşîner a kevneşopî an jî bi kodek bootê ya On-chip-ê ku li ser bingeha AVR-ê dixebite ji nû ve were bernamekirin Di Pergalê de.

ATtiny25/45/85 AVR bi komek amûrên pêşkeftina bername û pergalê ve tê piştgirî kirin, di nav de: C Berhevkar, Makro Assemblers, Bername Debugger/Simulator û kîtên Nirxandinê.

Derbarê Çavkaniyan

Komek berfireh a amûrên pêşkeftinê, notên serîlêdanê û pelên daneyê ji bo dakêşanê hene http://www.atmel.com/avr.

Code Examples

Di vê belgeyê de kodek hêsan heye exampLezên ku bi kurtî destnîşan dikin ka meriv çawa beşên cihêreng ên cîhazê bikar tîne. Ev kod examples texmîn dikin ku sernavê beşa taybetî ye file berî berhevkirinê tê de ye. Hay ji xwe hebin ku ne hemî firoşkarên berhevkarê C di serî de pênaseyên bit hene files û birêvebirina navbirê di C de bi berhevkerê ve girêdayî ye. Ji kerema xwe ji bo bêtir agahdarî bi belgeya berhevkarê C re piştrast bikin.

Ji bo qeydên I/O yên ku di nexşeya I/O ya dirêjkirî de cih digirin, divê rêwerzên "IN", "OUT", "SBIS", "SBIC", "CBI", û "SBI" bi rêwerzên ku destûrê dide gihîştina I-ya dirêjkirî were guheztin. /O. Bi gelemperî, ev tê wateya "LDS" û "STS" bi "SBRS", "SBRC", "SBR", û "CBR" re hevgirtî. Bala xwe bidinê ku ne hemî amûrên AVR nexşeyek I/O ya dirêjkirî vedihewînin.

Sensing Touch Capacitive

Pirtûkxaneya Atmel QTouch çareseriyek hêsan a karanîna ji bo navbeynkariya hestiyar a li ser mîkrokontrolerên Atmel AVR peyda dike. Pirtûkxaneya QTouch ji bo rêbazên wergirtina QTouch® û QMatrix® piştgirî dike.

Bi girêdana Pirtûkxaneya QTouch û bi karanîna Navbera Bernameya Bernameya Serlêdanê (API) ya pirtûkxaneyê ve ji bo destnîşankirina kanal û senzoran, bi hêsanî li her serlêdanê tê zêdekirin. Dûv re serîlêdan gazî API-yê dike da ku agahdariya kanalê bigire û rewşa senzorê destnîşan bike.

Pirtûkxaneya QTouch belaş e û dikare ji Atmel were daxistin website. Ji bo bêtir agahdarî û hûrguliyên pêkanînê, serî li Rêbernameya Bikarhêner Pirtûkxaneya QTouch bidin - ji Atmel jî heye website.

Parastina Daneyên

Encamên Qalîteya pêbaweriyê destnîşan dikin ku rêjeya têkçûna ragirtina daneya pêşbînkirî di 1 salan de li 20 °C an 85 salan di 100 °C de ji 25 PPM kêmtir e.

AVR CPU Core

Pêşkêş

Ev beş bi gelemperî mîmariya bingehîn a AVR-ê nîqaş dike. Fonksiyona sereke ya bingehîn a CPU ew e ku bicîhkirina rast a bernameyê misoger bike. Ji ber vê yekê divê CPU bikaribe xwe bigihîne bîranînan, hesaban bike, amûrên dorhêlê kontrol bike, û qutbûnê bi dest bixe.

Architectural Overview Avakarî

Ji bo ku performans û paralelîzmê zêde bike, AVR mîmariya Harvardê bikar tîne - bi bîranîn û otobusên cihêreng ên ji bo bername û daneyan. Talîmatên di bîra Bernameyê de bi pîvazek yek astê têne darve kirin. Dema ku talîmatek tê îcrakirin, talîmata din ji bîra Bernameyê ji berê ve tê derxistin. Ev têgeh dihêle ku talîmatan di her çerxa demjimêrê de bêne bicîh kirin. Bîra bernameyê bîranîna Flash-ê ya ji nû ve bernamekirî ya di pergalê de ye.

Qeyda gihîştina bilez File 32 x 8-bit tomarên xebatê yên gelemperî yên ku bi dema gihîştina demjimêrek yekane ve girêdayî ye. Ev destûrê dide operasyona Yekîneya Mantiqê ya Arîtmetîk (ALU) ya yek-cycle. Di operasyonek ALU ya tîpîk de, du operand ji Tomarê derdikevin File, operasyon tê kirin, û encam dîsa di Tomarê de tê hilanîn File- di yek çerxa saetê de.

Ji 32 qeydan şeş şeş dikarin wekî sê nîşangirên navnîşana navnîşana nerasterast 16-bit ji bo navnîşana Daneya Cihê bikar bînin - ku hesabên navnîşanên bikêrhatî dike. Yek ji van nîşankerên navnîşan jî dikare wekî nîşankerek navnîşan ji bo lêgerîna tabloyên di bîra Bernameya Flash de were bikar anîn. Van qeydên fonksiyonê yên lêzêdekirî qeyda 16-bit X-, Y- û Z-yê ne, ku paşê di vê beşê de têne vegotin.

ALU di navbera qeydan de an jî di navbera domdar û tomarekê de operasyonên jimareyî û mantiqî piştgirî dike. Operasyonên qeydkirina yekane jî dikarin di ALU de bêne darve kirin. Piştî operasyonek hejmarî, Tomara Rewşê tê nûve kirin da ku agahdariya li ser encama operasyonê nîşan bide.

Herikîna bernameyê bi rêwerzên bazdan û bangê yên şert û mercî ve tê peyda kirin, ku dikare rasterast cîhê navnîşana tevahî navnîşan bike. Piraniya rêwerzên AVR xwedan formatek peyva yek 16-bit in, lê rêwerzên 32-bit jî hene.

Di dema qutbûn û bangên binavberê de, navnîşana vegerê Bername Counter (PC) li ser Stackê tê hilanîn. Stack di daneyên giştî yên SRAM-ê de bi bandor tê veqetandin, û ji ber vê yekê mezinahiya Stack tenê ji hêla tevahî mezinahiya SRAM û karanîna SRAM-ê ve tête sînor kirin. Pêdivî ye ku hemî bernameyên bikarhêner SP-ê di rûtîniya Vegerandinê de bidin destpêkirin (berî ku binerûtîn an qutkirin werin darve kirin). Stack Pointer (SP) di cîhê I/O de tê xwendin/nivîsandin. Daneyên SRAM-ê bi hêsanî dikare bi navgîniya pênc awayên navnîşanên cihêreng ên ku di mîmariya AVR-ê de têne piştgirî kirin ve were gihîştin.

Cihên bîranînê yên di mîmariya AVR de hemî nexşeyên bîranînê yên rêzik û birêkûpêk in.

Modulek qutbûnê ya maqûl qeydên xwe yên kontrolê di cîhê I/O de bi bitek din a Çalakkirina Navbera Gerdûnî di Tomara Rewşê de heye. Di tabloya Vektora Navberê de vektorek Veqetandinê ya veqetandî heye. Navberan li gorî pozîsyona Vektora Navberdanê xwedî pêşîn in. Navnîşana Vektora Interrupt kêmtir, ew qas pêşanî bilind dibe.

Cihê bîra I/O 64 navnîşanan ji bo fonksiyonên dorhêl ên CPU-yê wekî Tomarên Kontrolê, SPI, û fonksiyonên din ên I/O vedihewîne. Bîra I/O dikare rasterast were gihîştin, an jî wekî cîhên Daneyên Daneyên li dû yên Qeydkirinê File, 0x20 - 0x5F.

ALU - Yekîneya Mantiqa Arîtmetîk

AVR ALU-a performansa bilind bi girêdana rasterast bi hemî 32 tomarên xebatê yên gelemperî re dixebite. Di nav çerxa yek demjimêrê de, operasyonên jimartinê yên di navbera tomarên mebesta gelemperî de an di navbera tomar û tavilê de têne kirin. Operasyonên ALU li sê kategoriyên sereke têne dabeş kirin - fonksiyonên hejmarî, mentiqî û bit. Hin pêkanînên mîmariyê di heman demê de pirjimarek hêzdar peyda dikin ku hem pirkirina îmzekirî/nenîşankirî û hem jî formata perçeyî piştgirî dike. Ji bo ravek berfireh li beşa "Set Instruction" binêre.

Status Register

Qeyda statûyê di derheqê encama talîmata jimartinê ya herî dawî de hatî darve kirin de agahdarî dihewîne. Ev agahdarî dikare ji bo guheztina herikîna bernameyê ji bo pêkanîna operasyonên şertî were bikar anîn. Bala xwe bidinê ku Tomara Statusê piştî hemî operasyonên ALU-yê, wekî ku di Referana Sazkirina Rêvekirinê de hatî destnîşan kirin, tê nûve kirin. Ev ê di pir rewşan de hewcedariya karanîna rêwerzên berhevokê yên diyarkirî ji holê rake, di encamê de kodek zûtir û tevlihevtir çêdibe.

Qeyda statûyê dema ku têkevin rûtînek qutbûnê bixweber nayê hilanîn û dema ku ji navberdanê vedigere nayê hilanîn. Divê ev ji hêla nermalavê ve were rêve kirin.

SREG - Qeyda Rewşa AVR

Tomara Rewşa AVR - SREG - wekî tê destnîşankirin:

Gem 7 6 5 4 3 2 1 0
0x3F I T H S V N Z C SREG
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7 - I: Navbera Gerdûnî Çalak bike

Ji bo ku navber bên çalakkirin divê bit-ya Çalakkirina Navbera Gerdûnî were danîn. Dûv re kontrola çalakkirina qutkirina kesane di tomarên kontrolê yên cihêreng de tête kirin. Ger Tomara Çalakkirina Navbera Gerdûnî were paqij kirin, yek ji navberan ji mîhengên çalakkirina qutkirina kesane nayê çalak kirin. I-bit piştî qutbûnek ji hêla hardware ve tê paqij kirin, û ji hêla talîmata RETI ve tê destnîşan kirin ku qutkirinên paşîn çalak bike. I-bit di heman demê de dikare ji hêla serîlêdanê ve bi rêwerzên SEI û CLI ve were saz kirin û paqij kirin, wekî ku di referansa koma rêwerzan de hatî destnîşan kirin.

Bit 6 - T: Bit Copy Storage

Talîmatên Kopî Bit BLD (Bit LoaD) û BST (Bit Store) T-bitê wekî çavkanî an cîhek ji bo bitê xebitandin bikar tînin. Piçek ji qeydek di Tomarê de File dikare bi talîmata BST-ê li T-yê were kopî kirin, û bitek di T-yê de dikare di nav tomarek di Tomarê de di bitekê de were kopî kirin. File bi fermana BLD.

Bit 5 - H: Nîv Hilgirtina Ala

Ala Half Carry H di hin operasyonên jimartinê de Nîv Hilgirtinê nîşan dide. Half Carry di arîtmetîka BCD de bikêr e. Ji bo agahdariya berfireh li "Daneya Rêvekirina Rêvekirinê" binêre.

Bit 4 – S: Bit nîşan, S = N ⊕ V

S-bit her gav taybetmendiyek e an jî di navbera Ala N-ya Neyînî û Ala V ya Pêkvekirî ya Duyan de ye. Ji bo agahdariya berfireh li "Pêşnivîsa Set Talîmatê" binêre.

Bit 3 – V: Alaya Tevgera Duyan

The Two's Complement Overflow Flag V jimareya temamkera duyan piştgirî dike. Ji bo agahdariya berfireh li "Daneya Rêvekirina Rêvekirinê" binêre.

Bit 2 - N: Ala Neyînî

Ala Neyînî N di operasyoneke jimareyî an mentiqî de encameke neyînî nîşan dide. Ji bo agahdariya berfireh li "Daneya Rêvekirina Rêvekirinê" binêre.

Bit 1 – Z: Zero Ala

Zero Flag Z di operasyonek hejmarî an mentiqî de encamek sifir nîşan dide. Ji bo agahdariya berfireh li "Daneya Rêvekirina Rêvekirinê" binêre.

Bit 0 – C: Ala hilgirin

Carry Flag C di karekî jimareyî an mentiqî de hilgirtinê nîşan dide. Ji bo agahdariya berfireh li "Daneya Rêvekirina Rêvekirinê" binêre.

Qeyda Armanca Giştî File

The Register File ji bo koma rêwerzê ya AVR Enhanced RISC xweşbîn e. Ji bo ku bigihîje performans û nermbûna hewce, nexşeyên ketin/derketinê yên jêrîn ji hêla Tomarê ve têne piştgirî kirin. File:

Yek operandek encamek 8-bit û yek têketina encamek 8-bit

Du operandên derketinê yên 8-bit û têketina encamek 8-bit

Du operandên derketinê yên 8-bit û têketina encamek 16-bit

Yek operandek encamek 16-bit û yek têketina encamek 16-bit

jimar 4-2 strukturên 32 tomarên xebatê yên gelemperî yên di CPU de nîşan dide. Armanca giştî

Wekî ku tê nîşandan jimar 4-2, her qeydek navnîşek bîranîna Daneyê jî tê veqetandin, wan rasterast di 32 cihên yekem ên Daneyên Daneyên bikarhêner de nexşe dike. Her çend bi fizîkî wekî cîhên SRAM nayên bicîh kirin jî, ev rêxistina bîranînê di gihîştina tomaran de nermbûnek mezin peyda dike, ji ber ku tomarên X-, Y- û Z-pointer dikarin bêne saz kirin da ku her tomarek di nav de tomar bike. file.Piraniya talîmatên ku li ser Tomarê dixebitin File rasterast gihîştina hemî tomaran heye, û piraniya wan talîmatên çerxa yekane ne.

X-qeyda, Y-qeyda, û Z-qeyda

Tomarên R26..R31 hin fonksiyonên lêzêdekirî ji karanîna armanca wan a gelemperî re hene. Ev qeyd ji bo navnîşana neyekser a cîhê daneyê nîşankerên navnîşana 16-bit in. Sê qeydên navnîşana nerasterast X, Y, û Z wekî ku di nav de hatî destnîşan kirin têne destnîşan kirin jimar 4-3.

Fêhrist

Di modên navnîşanên cihê yên navnîşan de fonksiyonên van qeydên navnîşan ên wekî veguheztina sabît, zêdekirina otomatîk û kêmkirina otomatîkî hene (ji bo hûrgulî li referansa koma rêwerzan binêre).

Stack Pointer

Stack bi giranî ji bo hilanîna daneyên demkî, ji bo hilanîna guhêrbarên herêmî û ji bo hilanîna navnîşanên vegerê piştî navber û bangên binavûdeng tê bikar anîn. The Stack Pointer Register her gav serê Stackê nîşan dide. Bala xwe bidinê ku Stack wekî ku ji cîhên bîranîna bilindtir berbi cîhên bîranîna nizm mezin dibe tête bicîh kirin. Ev tê vê wateyê ku fermanek PUSH Stack Pointer kêm dike.

Stack Pointer îşaret bi qada SRAM Stackê ya daneyê dike ku li wir Stakên Subroutine û Interrupt Stack lê ne. Divê ev cîhê Stackê ya di SRAM-a daneyê de ji hêla bernameyê ve were destnîşankirin berî ku bangên binavûdeng werin darve kirin an jî navber werin çalak kirin. Divê Stack Pointer li jor 0x60 were danîn. Dema ku dane bi talîmata PUSH li ser Stackê tê kişandin, Pointera Stack yek bi yek kêm dibe, û dema ku navnîşana vegerê bi bangek an qutkirina binavûdengê li Stackê tê kişandin ew bi duyan kêm dibe. Dema ku daneya bi talîmata POP-ê ji Stackê tê derxistin, Pointera Stack yek bi yek zêde dibe, û dema ku dane ji Stackê bi vegerê ji binavbera RET an vedigere ji qutkirina RETI ve bi duyan zêde dibe.

AVR Stack Pointer wekî du qeydên 8-bit di cîhê I/O de tête bicîh kirin. Hejmara bitsên ku bi rastî têne bikar anîn bi pêkanînê ve girêdayî ye. Têbînî ku cîhê daneyê di hin pêkanînên mîmariya AVR de ew qas piçûk e ku tenê SPL hewce ye. Di vê rewşê de, Tomara SPH dê nebe.

SPH û SPL - Stack Pointer Register

Gem 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
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND
Nirxa Destpêkê RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND

Demjimêra Pêkanîna Telîmatê

Ev beş têgehên dema gihîştina giştî ya ji bo pêkanîna talîmatê vedibêje. CPU AVR ji hêla demjimêra CPU clkCPU ve tê rêve kirin, ku rasterast ji çavkaniya demjimêra hilbijartî ya ji bo çîpê hatî hilberandin. Dabeşkirina demjimêra hundurîn nayê bikar anîn.

Fig4.4

jimar 4-4 girtina rêwerzên paralel û înfazên talîmatê yên ku ji hêla mîmariya Harvard û qeyda gihîştina bilez ve hatine çalak kirin nîşan dide. File reşik. Ev konsepta boriyê ya bingehîn e ku ji bo her MHz 1 MIPS bi encamên yekta yên têkildar re ji bo fonksiyonên per lêçûn, fonksiyonên demjimêr, û fonksiyonên her yekîneyek hêzê digire.

jimar 4-5. Operasyona ALU Single Cycle

Fig4.5

Desthilatdariya Vegerandin û Navberdanê

AVR gelek çavkaniyên qutbûnê yên cihêreng peyda dike. Van navberan û Vektora Vegerandina veqetandî her yek di cîhê bîranîna Bernameyê de Vektorek Bernameyê ya cihê heye. Hemî navberan biteyên çalak ên takekesî têne destnîşan kirin, ku divê bi mentiqê yek li gel bit Çalakkirina Navbera Gloverî ya di Tomara Rewşê de bêne nivîsandin da ku qutbûnê çalak bikin.

Navnîşanên herî nizm ên di cîhê bîranîna Bernameyê de ji hêla xwerû ve wekî Vektorên Vegerandin û Veqetandinê têne destnîşan kirin. Navnîşa tevahî ya vektoran tê xuyang kirin Di rûpela 48-an de “Destpêkirin”.. Navnîşan di heman demê de astên pêşîn ên navberên cihêreng diyar dike. Navnîşan çiqas kêmtir be asta pêşîn bilind e. RESET xwedan pêşîniya herî bilind e, û ya din jî INT0 ye - Daxwaza Navbera Derveyî 0.

Dema ku qutbûnek çêbibe, I-bita Çalakkirina Navbera Gloverî tê paqij kirin û hemî qutbûn têne neçalak kirin. Nermalava bikarhêner dikare yek mantiqê li I-bitê binivîsîne da ku navberên hêlîn çalak bike. Dûv re hemî qutkirinên çalak dikarin rûtîniya qutbûnê ya heyî qut bikin. Dema ku rêwerzek Vegera ji navbirê - RETI - were darvekirin, I-bit bixweber tê danîn.

Di bingeh de du celeb astengî hene. Tîpa yekem ji hêla bûyerek ku Alaya Navbirê destnîşan dike ve tê rêve kirin. Ji bo van navberan, Hejmarkera Bernameyê ji Vektora Navberê ya rastîn re vektorî ye da ku rûtîn hilgirtina navberê pêk bîne, û hardware ala Astengkirinê ya têkildar paqij dike. Alên navberê jî dikarin bi nivîsandina yek mantiqî li cîh(ên) bit-a ala ku bêne paqij kirin bêne paqij kirin. Ger rewşek qutbûnê çêbibe dema ku bit-a çalakkirina navberê ya têkildar were paqij kirin, dê Alaya Navbirê were danîn û bibîranîn heya ku navber were çalak kirin, an jî al ji hêla nermalavê ve were paqij kirin. Bi heman awayî, ger yek an çend şertên qutbûnê çêbibin dema ku bit Çalakkirina Navbera Gloverî tê paqijkirin, dê ala(ên) Navbirê ya têkildar were danîn û bibîranîn heya ku bit Çalakkirina Navbera Gerdûnî were danîn, û dûv re dê li gorî rêza pêşîn were darve kirin.

Cûreya duyemîn a qutbûnê dê biqewime heya ku rewşa qutbûnê hebe. Di van navberan de ne hewce ye ku alayên qutkirinê hene. Ger berî ku navber were çalak kirin şerta qutbûnê ji holê rabe, dê qut nebe.

Dema ku AVR ji navberekê derdikeve, ew ê her gav vegere bernameya sereke û berî ku qutbûnek li bendê were serve kirin yek rêwerzek din bicîh bîne.

Bala xwe bidinê ku Tomara Rewşê dema ku têkevin rûtînek qutbûnê bixwe nayê hilanîn, ne jî dema ku ji rûtînek qutbûnê vedigere nayê vegerandin. Divê ev ji hêla nermalavê ve were rêve kirin.

Dema ku fermana CLI-ê ji bo neçalakkirina astengiyan bikar bînin, dê tavilê qut bibin. Piştî talîmata CLI, her çend bi talîmata CLI re di heman demê de çêbibe jî, ti navber dê neyête kirin. Berê jêrînampLe nîşan dide ka ev çawa dikare were bikar anîn da ku di dema rêza nivîsandina EEPROM-ê ya demdar de ji navberan dûr nekevin.

Koda Meclîsa Example
di r16, SREG; nirxa SREG tomar bike

cli ; di dema rêza demkî de navberan neçalak bike

sbi EECR, EEMPE ; dest bi nivîsandina EEPROM bikin

sbi EECR, EEPE

der SREG, r16; nirxa SREG vegerîne (I-bit)

C Code Example
char cSREG;

cSREG = SREG; /* nirxa SREG hilîne */

/* di dema rêza demkî de astengiyan neçalak bike */

_CLI();

EECR |= (1<

EECR |= (1<

SREG = cSREG; /* nirxa SREG (I-bit) sererast bike */

Dema ku fermana SEI-ê ji bo çalakkirina navberan bikar tîne, talîmata li dû SEI-yê dê berî her qutbûnên li bendê were darve kirin, wekî ku di vê berê de tê xuyang kirin.ample.

Koda Meclîsa Example
sei ; Glover Interrupt Enable saz bike

xew; bikeve xewê, li benda qutbûnê ye

; Têbînî: dê berî her bendewariyê bikeve xewê

; qutkirin(ên)

C Code Example
_SEI(); /* Sepana Navbera Gerdûnî Çalak bike */

_XEW(); /* bikeve xewê, li benda sekinandinê */

/* Nîşe: dê berî her qutbûn(yên) li bendê bikeve xewê */

Demjimêra Bersivê Bişkîne

Bersiva cîbecîkirina qutbûnê ji bo hemî qutkirinên AVR-ê yên çalakkirî herî kêm çar çerxên demjimêrê ye. Piştî çar çerxên demjimêrê navnîşana Vektora Bernameyê ya ji bo rûtîn hilanîna navberê ya rastîn tê darve kirin. Di vê heyama çar çerxa saetê de, Hejmarkera Bernameyê li ser Stackê tê kişandin. Vektor bi gelemperî bazdanek berbi rûtîniya navberê ye, û ev hilkişîn sê çerxên demjimêrê digire. Ger di dema pêkanîna talîmatek pir-sîkilê de qutbûnek çêbibe, ev talîmat berî ku navber were pêşkêş kirin tê qedandin. Ger dema ku MCU di moda xewê de ye qutbûnek çêbibe, dema bersivdana darvekirina qutbûnê bi çar çerxên demjimêrê zêde dibe. Ev zêdebûn ji bilî dema destpêkirinê ji moda xewê ya hilbijartî tê.

Vegerek ji rûtînek xebitandina navberê çar çerxên demjimêr digire. Di van çar çerxên saetê de, Hejmarkera Bernameyê (du bit) ji Stackê vedigere, Nîşaneya Stackê bi duyan zêde dibe, û I-bit di SREG de tê danîn.

Bîranînên AVR

Ev beş bîranînên cihêreng ên di ATtiny25/45/85 de vedibêje. Mîmariya AVR du cîhên bîranîna sereke hene, bîra Daneyên û cîhê bîranîna Bernameyê. Wekî din, ATtiny25/45/85 ji bo hilanîna daneyê bîranînek EEPROM vedigire. Her sê cîhên bîrê jî rêzik û rêkûpêk in.

Di Pergalê de Bîra Bernameya Flash-ê ji nû ve-bernamekirin

ATtiny25/45/85 ji bo hilanîna bernameyê 2/4/8K byte di nav-çîpê de bîranîna Flash-a Reprogrammable In-System dihewîne. Ji ber ku hemî rêwerzên AVR 16 an 32 bit fireh in, Flash wekî 1024/2048/4096 x 16 tê organîze kirin.

Bîra Flash bi kêmî ve 10,000 çerxên nivîsandinê / jêbirinê heye. Hejmarê Bernameyê ATtiny25/45/85 (PC) 10/11/12 bit fireh e, bi vî rengî cîhên bîranîna Bernameyê 1024/2048/4096 navnîşan dike. "Bernameya Bîrnebûnê- ming” di rûpela 147 de li ser dakêşana rêzefîlmên daneya Flash-ê bi karanîna pinên SPI-ê raveyek hûrgulî vedihewîne.

Tabloyên domdar dikarin di nav tevahiya cîhê navnîşana bîranîna Bernameyê de werin veqetandin (binihêrin li LPM - Danasîna fermana bîranîna Bernameya Barkirinê).

jimar 5-1. Nexşeya Bîra Bernameyê Nexşeya bîranînê

Bîra Daneyên SRAM

jimar 5-2 nîşan dide ka Bîra ATtiny25/45/85 SRAM çawa tê organîze kirin.

224/352/607 Cihên bîranîna daneya jêrîn her du Tomarê navnîşan dikin File, bîra I/O û daneyên navxweyî SRAM. 32 cihên yekem navnîşana Tomarê dikin File, 64 cihên din bîra standard I/O, û cîhên 128/256/512 yên paşîn navnîşana daneya hundurîn SRAM.

Pênc awayên navnîşanên cihêreng ên ji bo bîranîna daneyan vedigirin: Rasterast, Nerasterast bi Displacement, Nerasterast, Nerasterast bi Pêş-kêmkirin, û Nerasterast bi Paş-zêdekirin. Di qeydê de File, qeydên R26 heta R31 qeydên nîşankerê navnîşana nerasterast vedihewîne.

Navnîşana rasterast digihîje tevahiya cîhê daneyê.

Moda Nerasterast bi Displacement ji navnîşana bingehîn a ku ji hêla qeyda Y- an Z- ve hatî dayîn digihîje 63 cîhên navnîşan.

Dema ku modên navnîşana neyekser a qeydkirinê bi pêş-kêmkirin û paş-zêdekirina otomatîkî re bikar tînin, navnîşên navnîşanên X, Y û Z têne kêmkirin an zêdekirin.

32 tomarên xebatê yên gelemperî, 64 Tomarên I/O, û 128/256/512 baytên daneyên navxweyî yên SRAM di ATtiny25/45/85 de hemî bi van hemî awayên navnîşan têne gihîştin. The Register File tê şirove kirin "Gen- Qeyda Armancê eral FileDi rûpela 10 de.

jimar 5-2. Nexşeya Bîra Daneyên Nexşeya bîrê 2

Gihîştina Bîra Daneyê Times

Ev beş têgehên dema gihîştina gelemperî ji bo gihîştina bîranîna navxweyî vedibêje. Gihîştina daneya navxweyî ya SRAM di du çerxên clkCPU de wekî ku di nav de hatî destnîşan kirin de tête kirin jimar 5-3.

jimar 5-3. Ser-çîp Daneyên SRAM Gihîştinê Li ser daneyên çîpê Bîra Daneyên EEPROM

Di ATtiny25/45/85 de 128/256/512 baytên bîra EEPROM-ê heye. Ew wekî cîhek daneya veqetandî hatî organîze kirin, ku tê de yek byte dikare were xwendin û nivîsandin. EEPROM bi kêmî ve 100,000 çerxên nivîsandin / jêbirinê xwedan berxwedanek e. Gihîştina di navbera EEPROM û CPU de li jêr tê şirove kirin, ku Tomarên Navnîşanên EEPROM, Tomara Daneyên EEPROM, û Tomara Kontrolê ya EEPROM diyar dike. Ji bo hûragahiyan bibînin "Daxistina Serî" li ser rûpela 151.

Gihîştina Xwendin / Nivîsandina EEPROM

Tomarên Gihîştina EEPROM-ê di cîhê I/O de têne gihîştin.

Demên gihîştina nivîsandinê ji bo EEPROM têne dayîn Tabloya 5-1 li ser rûpela 21. Lêbelê fonksiyonek xwe-demjimêr, dihêle ku nermalava bikarhêner kengê dikare byteya din were nivîsandin destnîşan bike. Ger koda bikarhêner rêwerzên ku EEPROM dinivîsin hene, divê hin tedbîr werin girtin. Di dabînkirina hêzê ya bi giranî fîltrekirî de, dibe ku VCC hêdî hêdî rabe an dakeve

Power-up/down. Ev dibe sedem ku amûrek ji bo demekê li voltage kêmtir ji ya ku ji bo frekansa demjimêrê hatî bikar anîn kêmtirîn hatî destnîşan kirin. Dîtin "Pêşîlêgirtina Gendeliya EEPROM" li ser rûpela 19 ji bo hûrguliyên li ser ka meriv çawa di van rewşan de ji pirsgirêkan dûr dikeve.

Ji bo ku pêşî li nivîsandinên EEPROM-ê yên bêbext were girtin, pêdivî ye ku pêvajoyek nivîsandinê ya taybetî were şopandin. Binêre "Atomî Programming Byte” li ser rûpela 17 û "Bernamekirina Bîtan Parçekirin" li ser rûpela 17 ji bo hûragahiyan li vê.

Dema ku EEPROM tê xwendin, CPU ji bo çar çerxên demjimêrê tê sekinandin berî ku fermana din were darve kirin. Dema ku EEPROM tê nivîsandin, CPU ji bo du çerxên demjimêrê tê sekinandin berî ku fermana paşîn were darve kirin.

Programming Byte Atomî

Bikaranîna Bernamekirina Atomic Byte moda herî hêsan e. Dema ku baytek ji EEPROM-ê re dinivîse, pêdivî ye ku bikarhêner navnîşan li Tomara EEAR-ê û daneyan di Tomara EEDR-ê de binivîsîne. Ger bitsên EEPMn sifir bin, nivîsandina EEPE (di nav çar qonaxan de piştî nivîsandina EEMPE) dê operasyona jêbirin/nivîsandinê bide destpêkirin. Hem çerxa jêbirin û nivîsandinê di yek operasyonê de têne kirin û tevahiya dema bernamekirinê tê dayîn Tabloya 5-1 li ser rûpela 21. Bit EEPE sazkirî dimîne heya ku operasyonên jêbirin û nivîsandinê biqede. Dema ku amûr bi bernamekirinê re mijûl e, ne gengaz e ku meriv karên din ên EEPROM bike.

Split Byte Programming

Mimkûn e ku meriv çerxa jêbirin û nivîsandinê di du operasyonên cûda de parçe bike. Ev dibe ku kêrhatî be ger pergal ji bo demek tixûbdar demek kurt hewce bike (bi gelemperî ger dabînkirina hêzê voltage dikeve). Ji bo ku pêşde- tage ji vê rêbazê, pêdivî ye ku cîhên ku bêne nivîsandin berî operasyona nivîsandinê werin jêbirin. Lê ji ber ku operasyonên jêbirin û nivîsandinê têne dabeş kirin, dema ku pergal destûrê dide kirina operasyonên krîtîk (bi gelemperî piştî Power-up-ê) gengaz e ku meriv operasyonên jêbirinê bike.

Vemirandin

Ji bo jêbirina byteyekê, divê navnîşan ji EEAR re were nivîsandin. Ger bitsên EEPMn 0b01 bin, nivîsandina EEPE (di nav çar çerxên piştî nivîsandina EEMPE de) dê tenê operasyona jêbirinê bide destpêkirin (dema bernamekirinê tê dayîn. Tabloya 5-1 li ser rûpel 21). Bit EEPE heta ku operasyona jêbirinê biqede sazkirî dimîne. Dema ku cîhaz bi bernamekirinê mijûl e, ne mimkun e ku hûn karên din ên EEPROM bikin.

Nivîsîn

Ji bo nivîsandina cîhek, bikarhêner divê navnîşan li EEAR û daneyan li EEDR binivîse. Ger bitsên EEPMn 0b10 bin, nivîsandina EEPE (di nav çar çerxên piştî nivîsandina EEMPE de) dê tenê operasyona nivîsandinê bide destpêkirin (dema bernamekirinê tê dayîn. Tabloya 5-1 li ser rûpela 21). Bit EEPE heta ku operasyona nivîsandinê biqede sazkirî dimîne. Ger cîhê ku tê nivîsandin berî nivîsandinê nehatibe jêbirin, divê daneyên ku têne hilanîn wekî winda bêne hesibandin. Dema ku amûr bi bernamekirinê re mijûl e, ne gengaz e ku meriv karên din ên EEPROM bike.

Oscillatora kalibrkirî ji bo dema gihîştina EEPROM-ê tê bikar anîn. Piştrast bikin ku frekansa Oscillator di nav daxwazên ku di nav de têne diyar kirin de ye "OSCCAL - Qeyda Kalibrasyona Oscilatorê" li ser rûpela 31.

Koda jêrîn exampLes ji bo jêbirin, nivîsandin, an nivîsandina atomî ya EEPROM yek kombûn û yek fonksiyonek C nîşan dide. The examples texmîn dikin ku qutbûn têne kontrol kirin (mînak, bi neçalakkirina navberan li seranserê cîhanê) da ku di dema pêkanîna van fonksiyonan de ti navber çênebe.

Koda Meclîsa Example
EEPROM_write:

; Li benda qedandina nivîsandina berê bisekinin

sbic EECR,EEPE

rjmp EEPROM_write

; Set mode Programming

ldi        r16, (0<<EEPM1)|(0<<EEPM0)

derve EECR, r16

; Navnîşan (r18: r17) di navnîşana navnîşan de saz bikin

derve EEARH, r18

der EEARL, r17

; Daneyên (r19) ji bo qeydkirina daneyan binivîsin

derve EEDR, r19

; Yek mantiqî ji EEMPE re binivîsin

sbi EECR,EEMPE

; Bi danîna EEPE dest bi nivîsandina eeprom bikin

sbi EECR,EEPE

ret

C Code Example
betal EEPROM_write (Navnîşana ucê ya bêîmze, ucData îşareteke bê îmze)

{

/* Li benda temamkirina nivîsandina berê */ dema(EECR & (1<

;

/* Moda Bernamekirinê saz bike */

EECR = (0<

/* Navnîşan û qeydên daneyan saz bikin */ EEAR = ucAddress;

EEDR = ucData;

/* Ji EEMPE re yek mantiqî binivîse */

EECR |= (1<

/* Bi danîna EEPE dest bi nivîsandina eeprom bikin */

EECR |= (1<

}

Koda din examples ji bo xwendina EEPROM fonksiyonên civîn û C nîşan dide. The examples texmîn dikin ku navber têne kontrol kirin da ku di dema pêkanîna van fonksiyonan de ti navber çênebe.

Koda Meclîsa Example
EEPROM_read:

; Li benda qedandina nivîsandina berê bisekinin

sbic EECR,EEPE

rjmp EEPROM_read

; Navnîşan (r18: r17) di navnîşana navnîşan de saz bikin

derve EEARH, r18

der EEARL, r17

; Bi nivîsandina EERE dest bi xwendina eeprom bikin

sbi EECR,EERE

; Daneyên ji qeyda daneyê bixwînin

di r16, EEDR

ret

C Code Example
tîpa bê îmze EEPROM_read(nivîsa ucNavnîşana bê îmze)

{

/* Li benda temamkirina nivîsandina berê bin */

dema (EECR & (1<

;

/* Qeyda navnîşan saz bike */ EEAR = ucAddress;

/* Eeprom bi nivîsandina EERE dest bi xwendinê bikin */

EECR |= (1<

/* Daneyên ji qeyda daneyan vegerîne */

vegere EEDR;

}

Pêşîlêgirtina gendeliya EEPROM

Di serdemên kêmbûna VCC de, daneyên EEPROM dikare xera bibe ji ber ku voltage ji bo ku CPU û EEPROM bi rêkûpêk bixebitin pir kêm e. Van pirsgirêkan wekî pergalên asta panelê yên ku EEPROM bikar tînin yek in, û divê heman çareseriyên sêwiranê werin sepandin.

Xerabiya daneya EEPROM dikare ji hêla du rewşan ve çêbibe dema ku voltage pir kêm e. Pêşîn, rêzek nivîsandinê ya birêkûpêk ji EEPROM-ê re hêjmarek herî kêm hewce diketage ku rast tevbigerin. Ya duyemîn, CPU bixwe dikare talîmatan bi xeletî bimeşîne, heke voltage pir kêm e.

Bi şopandina vê pêşnîyara sêwiranê re gendeliya daneya EEPROM bi hêsanî dikare were dûr kirin:

AVR RESET çalak (kêm) bihêlin di serdemên kêmbûna voltaja hêzê detage. Ev dikare bi çalakkirina Detektora Navxweyî ya Brown-out (BOD) ve were kirin. Ger asta tespîtkirina BOD-ya navxweyî bi hev re nebe

asta vedîtina pêwîst, çerxeke parastinê ya ji nû ve veavakirina VCC ya kêm a derveyî dikare were bikar anîn. Ger vesazkirinek çêbibe dema ku xebatek nivîsandinê di pêş de ye, operasyona nivîsandinê dê biqede bi şertê ku dabînkirina hêzê voltage bes e.

Bîra I/O

Pênaseya cîhê I/O ya ATtiny25/45/85 tê de tê destnîşan kirin "Kurteya Qeydkirinê" li ser rûpela 200.

Hemî ATtiny25/45/85 I/O û alavên dorhêlê di cîhê I/O de têne danîn. Hemî cihên I/O dikarin ji hêla rêwerzên LD/LDS/LDD û ST/STS/STD ve werin gihîştin, ku daneyan di navbera 32 tomarên xebatê yên gelemperî û cîhê I/O de veguhezînin. Qeydên I/O yên di nav rêza navnîşanên 0x00 - 0x1F de rasterast bi karanîna rêwerzên SBI û CBI têne bit-gihaştinê ne. Di van qeydan de, bi karanîna rêwerzên SBIS û SBIC-ê nirxa yek bit dikare were kontrol kirin. Ji bo bêtir agahdarî serî li beşa koma rêwerzan bidin. Dema ku emrên taybetî yên I/O IN û OUT bikar tînin, divê navnîşanên I/O 0x00 - 0x3F werin bikar anîn. Dema ku navnîşên qeydên I/O wekî cîhê daneyê bi rêwerzên LD û ST ve têne navnîşan kirin, divê 0x20 li van navnîşanan were zêdekirin.

Ji bo lihevhatina bi cîhazên paşerojê re, heke bigihîjin bitsên veqetandî divê sifir werin nivîsandin. Navnîşanên bîra I/O yên rezervkirî divê qet neyên nivîsandin.

Hin Alên Statuyê bi nivîsandina yek mantiqî ji wan re têne paqij kirin. Bala xwe bidinê ku rêwerzên CBI û SBI dê tenê li ser bit-a diyarkirî bixebitin, û ji ber vê yekê dikarin li ser tomarên ku Alayên Rewşa weha hene werin bikar anîn. Talîmatên CBI û SBI tenê bi qeydên 0x00 heta 0x1F re dixebitin.

Tomarên Kontrolkirina I/O û Peripherals di beşên paşîn de têne rave kirin.

Register Description

EEARH - Qeyda Navnîşana EEPROM

Gem 7 6 5 4 3 2 1 0
0x1F EEAR8 EEARH
Xwendin/Nivîsandin R R R R R R R R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 X/0

Bit 7:1 - Bers: Bitikên Parastî

Van bit ji bo karanîna pêşerojê têne veqetandin û dê her gav wekî sifir bixwînin.

Bit 0 - EEAR8: Navnîşana EEPROM

Ev bit navnîşana EEPROM ya ATtiny85 ya herî girîng e. Di cîhazên bi EEPROM kêmtir, ango ATtiny25/ATtiny45 de, ev bit parastî ye û dê her gav sifir bixwîne. Nirxa destpêkê ya Tomara Navnîşana EEPROM (EEAR) ne diyar e û ji ber vê yekê divê nirxek rast were nivîsandin berî ku EEPROM bigihîje.

EEARL - Qeyda Navnîşana EEPROM

Gem

0x1E EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 EEARL
Paş / Binivîsin R/W R/W R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê X X X X X X X X

Bit 7 - EEAR7: Navnîşana EEPROM

Ev bit navnîşana EEPROM ya herî girîng a ATtiny45 e. Di cîhazên bi EEPROM kêmtir, ango ATtiny25 de, ev bit parastî ye û dê her gav sifir bixwîne. Nirxa destpêkê ya Tomara Navnîşana EEPROM (EEAR) ne diyar e û ji ber vê yekê divê nirxek rast were nivîsandin berî ku EEPROM bigihîje.

Bit 6:0 - EEAR[6:0]: Navnîşana EEPROM

Ev bitikên (kêm) yên Tomara Navnîşana EEPROM-ê ne. Bîteyên daneya EEPROM-ê di rêza 0…(128/256/512-1) de bi xêzikî têne navnîş kirin. Nirxa destpêkê ya EEAR ne diyar e û ji ber vê yekê divê nirxek rast were nivîsandin berî ku EEPROM were gihîştin.

EEDR - Tomara Daneyên EEPROM

Gem 7 6 5 4 3 2 1 0
0x1D EEDR7 EEDR6 EEDR5 EEDR4 EEDR3 EEDR2 EEDR1 EEDR0 EEDR
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Ji bo operasyona nivîsandinê ya EEPROM qeyda EEDR daneyên ku ji EEPROM-ê re di navnîşana ku ji hêla Tomara EEAR ve hatî dayîn de têne nivîsandin vedihewîne. Ji bo operasyona xwendina EEPROM, EEDR daneyên ku ji xwendinê têne xwendin vedihewîne

EEPROM li navnîşana ku ji hêla EEAR ve hatî dayîn.

 

5.5.4 EECR - Tomara Kontrola EEPROM

Bit 7 6 5 4 3 2 1 0
0x1C        – EEPM1 EEPM0 EERIE EEMPE EEPE EERE EECR
R R R/W bixwînin/binivîsin R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 X X 0 0 X 0

Bit 7 - Res: Bit Reserved

Ev bit ji bo karanîna pêşerojê ve hatî veqetandin û dê di ATtiny0/25/45 de her gav wekî 85 were xwendin. Ji bo lihevhatina bi cîhazên AVR yên pêşerojê re, her gav vê bit sifir binivîsin. Piştî xwendinê, vê bîskekê mask bikin.

Bit 6 - Res: Bit Reserved

Ev bit di ATtiny25/45/85 de hatiye veqetandin û dê her gav wekî sifir were xwendin.

Bit 5:4 - EEPM[1:0]: Bitkên Moda Bernamekirinê ya EEPROM

Mîhenga bitsên moda Bernamekirinê ya EEPROM diyar dike ka kîjan çalakiya bernamekirinê dê dema ku EEPE were nivîsandin were destpêkirin. Mimkun e ku meriv daneyan di yek operasyonek atomê de bername bike (nirxa kevn jê bibe û nirxa nû bername bike) an jî operasyonên Erase û Nivîsandinê di du operasyonên cûda de parçe bikin. Demjimêrên bernamekirinê yên ji bo modên cihêreng tê de têne destnîşan kirin Tabloya 5-1. Dema ku EEPE hatî danîn, her nivîsandina EEPMn dê were paşguh kirin. Di dema vesazkirinê de, heta ku EEPROM bi bernamekirinê mijûl nebe, bitên EEPMn dê li 0b00 vegere.

Tabloya 5-1. EEPROM Mode Bits

EEPM1 EEPM0 Dema Bernamekirinê Emelî
0 0 3.4 ms Di yek operasyonê de jêbirin û binivîsin (Operasyona Atomî)
0 1 1.8 ms Tenê jêbirin
1 0 1.8 ms Tenê binivîse
1 1 Ji bo karanîna pêşerojê parastî ye

Bit 3 - EERIE: EEPROM Amade Bûyer Çalak bike

Heke I-bit di SREG-ê de were danîn, nivîsandina EERIE ji yekê re EEPROM Ready Interrupt çalak dike. Nivîsandina EERIE heta sifirê qutbûnê asteng dike. Dema ku bîranîna ne-volatile ji bo bernamekirinê amade be, EEPROM Ready Interrupt qutbûnek domdar çêdike.

Bit 2 - EEMPE: Bernameya Mastera EEPROM Çalak bike

Bit EEMPE diyar dike ka nivîsandina EEPE ji yekê re dê bandorek hebe an na.

Dema ku EEMPE were danîn, sazkirina EEPE di nav çar çerxên demjimêrê de dê EEPROM li navnîşana hilbijartî bername bike. Ger EEMPE sifir be, danîna EEPE dê bandorek nebe. Dema ku EEMPE ji yekî re ji hêla nermalavê ve hatî nivîsandin, hardware piştî çar çerxên demjimêrê bit sifir dike.

Bit 1 - EEPE: Bernameya EEPROM Çalak bike

Bernameya EEPROM Nîşana Çalakkirinê EEPE sînyala çalakkirina bernamekirinê ya EEPROM e. Dema ku EEPE were nivîsandin, EEPROM dê li gorî mîhenga bitsên EEPMn were bernamekirin. Berî ku biteke mentiqî ji EEPE re bê nivîsandin divê bit EEMPE ji yekê re were nivîsandin, wekî din nivîsandina EEPROM pêk nayê. Dema ku dema gihîştina nivîsandinê derbas bû, bit EEPE ji hêla hardware ve tê paqij kirin. Dema ku EEPE hate saz kirin, CPU ji bo du qonaxan tê rawestandin berî ku fermana paşîn were darve kirin.

Bit 0 - EERE: EEPROM Xwendin Çalak bike

Nîşana Çalakkirina Xwendina EEPROM - EERE - strobeya xwendinê ya EEPROM-ê ye. Dema ku navnîşana rast di Tomara EEAR de were saz kirin, divê bit EERE ji yekê re were nivîsandin da ku xwendina EEPROM-ê bide destpêkirin. Gihîştina xwendina EEPROM yek rêwerzan digire, û daneyên daxwazkirî tavilê peyda dibin. Dema ku EEPROM tê xwendin, berî ku fermana paşîn were darve kirin, CPU ji bo çar qonaxan tê sekinandin. Bikarhêner berî destpêkirina xebata xwendinê divê bit EEPE bipirse. Ger xebatek nivîsandinê di pêş de be, ne gengaz e ku meriv EEPROM-ê bixwîne, ne jî qeyda EEAR-ê biguhezîne.

Sîstema Saetê û Vebijêrkên Saetê

Pergalên Saetê û Belavkirina wan

Dabeşkirina demjimêrê

Saeta CPU

Saeta CPU berbi beşên pergalê ve tê rêve kirin ku bi xebata bingehîn AVR re têkildar e. ExampJi van modulan Tomara Armanca Giştî ne File, Qeyda Rewşê û bîranîna Daneyên ku Stack Pointer digire. Rawestandina demjimêra CPU-ê ji pêkanîna operasyonên giştî û hesabên bingehîn asteng dike.

Saeta I/O - clkI/O

Saeta I/O ji hêla piraniya modulên I/O ve, mîna Timer / Counter, tê bikar anîn. Saeta I/O di heman demê de ji hêla modula Navbera Derveyî ve tê bikar anîn, lê bala xwe bidin ku hin qutkirinên derveyî ji hêla mentiqê asynkron ve têne tespît kirin, ku dihêle ku dema demjimêra I/O rawestîne jî astengiyên weha bêne tespît kirin.

Clock Flash - clkFLASH

Demjimêra Flash operasyona navbera Flash-ê kontrol dike. Saeta Flash bi gelemperî bi demjimêra CPU re hevdem çalak e.

Saeta ADC - clkADC

ADC bi domenek demjimêrê veqetandî tê peyda kirin. Ev dihêle ku demjimêrên CPU û I/O rawestîne da ku dengê ku ji hêla çerxa dîjîtal ve hatî hilberandin kêm bike. Ev encamên veguherîna ADC-ê rasttir dide.

PLL Navxweyî ji bo Nifşa Saeta Perîferî ya Lez - clkPCK

PLL-ya hundurîn a di ATtiny25/45/85 de frekansek demjimêrek ku 8x ji têketina çavkaniyek pirjimar çêdike. Ji hêla xwerû, PLL derana oscilatora hundurîn, 8.0 MHz RC wekî çavkanî bikar tîne. Wekî din, heke bit LSM ya PLLCSR were saz kirin, PLL dê derketina oscilatora RC bi du dabeşkirî bikar bîne. Bi vî rengî derketina PLL, demjimêra dorhêla bilez 64 MHz e. Saeta dorhêl a bilez, an demjimêrek ku ji wê pêşdibistan, dikare wekî çavkaniya demjimêrê ji bo Timer/Counter1 an jî wekî demjimêrek pergalê were hilbijartin. Dîtin jimar 6-2. Dema ku LSM ya PLLCSR were danîn, frekansa demjimêra bilez a dorhêl bi du dabeş dibe, di encamê de frekansa demjimêrê 32 MHz dibe. Têbînî, ku ger PLLCLK wekî demjimêra pergalê were bikar anîn LSM nikare were saz kirin.

jimar 6-2. PCK Clocking System. PCK demjimêr

PLL li ser oscilatora RC girtî ye û verastkirina oscilatora RC bi navgîniya qeyda OSCCAL-ê dê di heman demê de demjimêra dorhêla bilez eyar bike. Lêbelê, her çend oscilatora RC berbi frekansek ji 8 MHz bilindtir be jî, frekansa demjimêra periferîkî ya bilez di 85 MHz de têr dibe (rewşa herî xirab) û di frekansa herî zêde de ossilator dimîne. Pêdivî ye ku were zanîn ku PLL di vê rewşê de êdî bi demjimêra oscilatorê RC re nayê girtin. Ji ber vê yekê, tê pêşniyar kirin ku verastkirinên OSCCAL ji 8 MHz zêdetir negirin da ku PLL di rêza xebitandinê ya rast de bimîne.

PLL-ya navxweyî dema ku:

Bit PLLE di qeyda PLLCSR de hatî danîn.

Sîgorteya CKSEL li '0001' hatiye bernamekirin.

Sîgorteya CKSEL li '0011' hatiye bernamekirin.

PLLCSR bit PLOCK dema ku PLL girtî ye tê danîn. Hem oscillatorê RC-ya hundurîn û hem jî PLL di modên xewê yên kêmbûn û stand-by de têne qut kirin.

PLL Navxweyî di Moda Lihevhatina ATtiny15 de

Ji ber ku ATtiny25/45/85 ji bo bikarhênerên ATtiny15 amûrek koçberiyê ye, ji bo lihevhatina paşverû moda lihevhatina ATtiny15 heye. Moda lihevhatina ATtiny15 bi bernamekirina sîgorteyên CKSEL li '0011' tê hilbijartin.

Di moda lihevhatina ATtiny15 de, frekansa oscilatora RC ya hundurîn heya 6.4 MHz tê pîvandin û faktora pirjimariya PLL li 4x tête danîn. Dîtin jimar 6-3. Bi van verastkirinan re pergala katjimêrê ATtiny15-lihevhatî ye û demjimêra dorhêlê ya bilez a encamgir xwedî frekansa 25.6 MHz e (eynî wekî ATtiny15).

jimar 6-3. Pergala Demjimêra PCK-ê di Moda Lihevhatina ATtiny15 de. Sîstema demjimêrê

Çavkaniyên Saetê

Amûr xwedan vebijarkên çavkaniya demjimêra jêrîn e, ku wekî ku li jêr tê xuyang kirin ji hêla bitsên Flash Fuse ve têne hilbijartin. Saet ji çavkaniya hilbijartî tê têkevin jeneratorê demjimêra AVR, û berbi modulên guncan ve tê rêve kirin.

Tabloya 6-1. Vebijêrkên Demjimêra Device Hilbijêre

Vebijêrk Clocking Device CKSEL[3:0](1)
Saeta Derveyî (dîtin rûpel 26) 0000
Saeta PLL ya Frekansa Bilind (dîtin rûpel 26) 0001
Oscillator Navxweyî ya Kalibrated (dîtin rûpel 27) 0010(2)
Oscillator Navxweyî ya Kalibrated (dîtin rûpel 27) 0011(3)
Navxweyî 128 kHz Oscillator (dîtin rûpel 28) 0100
Oscillatorê Kêm-Kêm (dîtin rûpel 29) 0110
Oscilatorê Krîstal / Resonatorê Seramîk (dîtin rûpel 29) 1000 - 1111
Reserved 0101, 0111

Ji bo hemî sîgorteyan "1" tê wateya nebernamekirî lê "0" tê wateya bernamekirî.

Amûr bi vê vebijarkê hilbijartî tê şandin.

Ev dê ATtiny15 Mode Compatibility Hilbijêre, ku demjimêra pergalê bi çaran ve tê dabeş kirin, û di encamê de frekansa demjimêra 1.6 MHz peyda dibe. Ji bo bêtir agahdarî, binêre "Oscilatora Navxweyî ya Kalibrkirî" li ser rûpela 27.

Vebijarkên cihêreng ên ji bo her vebijarka demjimêrê di beşên jêrîn de têne dayîn. Dema ku CPU ji Power-down şiyar dibe, çavkaniya demjimêra hilbijartî ji bo dema destpêkirinê tê bikar anîn, berî destpêkirina înfazê operasyona Oscillatorê bi îstîqrar misoger dike. Dema ku CPU ji nûvekirinê dest pê dike, derengiyek zêde heye ku dihêle hêz bigihîje astek aram berî ku dest bi xebata normal bike. Watchdog Oscillator ji bo demjimêrkirina vê beşa rastîn a dema destpêkirinê tê bikar anîn. Hejmara çerxên WDT Oscillator ku ji bo her dem-derketinê têne bikar anîn tê destnîşan kirin Tabloya 6-2.

Tabloya 6-2. Hejmara Çavdêrên Oscillator Cycles

Time-out binivîsin Hejmara Cycles
4 ms 512
64 ms 8K (8,192)

Saeta Derveyî

Ji bo ajotina amûrê ji çavkaniyek demjimêrek derveyî, divê CLKI wekî ku tê xuyang kirin were ajotin jimar 6-4. Ji bo xebitandina amûrê li ser demjimêrek derveyî, divê sîgorteyên CKSEL di "00" de bêne bername kirin.

jimar 6-4. Veavakirina Saeta Derveyî ya Drive

Fig6.4

Dema ku ev çavkaniya demjimêrê tête hilbijartin, dema destpêkirinê ji hêla SUT Fuses ve wekî ku tê xuyang kirin têne destnîşankirin Tabloya 6-3.

Tabloya 6-3. Demên Destpêkê Ji bo Hilbijartina Saeta Derveyî

SUT[1:0] Demjimêra Destpêkirinê ji Power-down Derengiya Zêde ji Reset Bikaranîna Pêşniyar kirin
00 6 CK 14CK BOD çalak kirin
01 6 CK 14CK + 4 ms Hêza bi lez zêde dibe
10 6 CK 14CK + 64 ms Hêdî hêdî hêz bilind dibe
11 Reserved

Dema ku demjimêrek derveyî bicîh dikin, pêdivî ye ku meriv ji guherînên nişkêve di frekansa demjimêra hatî sepandin de dûr bixe da ku xebata aram a MCU-ê misoger bike. Guherînek di frekansa zêdetirî 2% de ji çerxa demjimêrê heya ya din dikare bibe sedema tevgerek nediyar. Pêdivî ye ku meriv pê ewle bibe ku MCU di dema guheztinên weha di frekansa demjimêrê de li Reset bimîne.

Bala xwe bidinê ku Pêşirokirina Saeta Pergalê dikare were bikar anîn da ku guhartinên dema xebitandinê yên frekansa demjimêra hundurîn bicîh bîne di heman demê de ku hîn jî operasyona domdar misoger dike. Binêre "System Clock Prescaler" li ser rûpela 31 ji bo hûragahiyan.

Saeta PLL ya Frekansa Bilind

PLLek hundurîn heye ku ji bo karanîna Demjimêra Peripheral/Counter64 û ji bo çavkaniya demjimêra pergalê bi navgînî rêjeya demjimêra 1 MHz peyda dike ku ji Oscillatora RC ve hatî girtin. Dema ku wekî çavkaniyek demjimêra pergalê tê hilbijartin, bi bernamekirina CKSEL sîgorteyan bi '0001' re, ew li çaran tê dabeş kirin. Tabloya 6-4.

Tabloya 6-4. Modên Xebatê yên Saeta PLL ya Frekansa Bilind

CKSEL[3:0] Frequency Navdar
0001 16 MHz

Dema ku ev çavkaniya demjimêrê tê hilbijartin, demên destpêkirinê ji hêla sîgorteyên SUT ve wekî ku tê xuyang kirin têne destnîşankirin Tabloya 6-5.

Tabloya 6-5. Demên Destpêkê ji bo Saeta PLL ya Frekansa Bilind

SUT[1:0] Dema Destpêkê ji Power Down Derengiya Zêdetir ji Vegerandina Hêzê (VCC = 5.0V) Bikaranîna pêşniyar kirin
00 14CK + 1K (1024) CK + 4 ms 4 ms BOD çalak kirin

Tabloya 6-5. Demên Destpêkê ji bo Saeta PLL ya Frekansa Bilind

SUT[1:0] Dema Destpêkê ji Power Down Derengiya Zêdetir ji Vegerandina Hêzê (VCC = 5.0V) Bikaranîna pêşniyar kirin
01 14CK + 16K (16384) CK + 4 ms 4 ms Hêza bi lez zêde dibe
10 14CK + 1K (1024) CK + 64 ms 4 ms Hêdî hêdî hêz bilind dibe
11 14CK + 16K (16384) CK + 64 ms 4 ms Hêdî hêdî hêz bilind dibe

Oscillator Navxweyî ya Kalibrated

Bi xwerû, RC Oscillatora Navxweyî demjimêrek nêzîkê 8.0 MHz peyda dike. Her çend voltage û bi germahiyê ve girêdayî ye, ev demjimêr dikare ji hêla bikarhêner ve pir rast were pîvandin. Dîtin "Hasibkarê RC Oscilatora Navxweyî ya Kalibrated- racy” di rûpela 164 de û "Leza Oscilatora Navxweyî" li ser rûpela 192 ji bo bêtir agahdarî. Amûr bi sîgorteya CKDIV8 ya bernamekirî tê şandin. Dîtin "System Clock Prescaler" li ser rûpela 31 ji bo bêtir agahdarî.

Dibe ku ev demjimêr wekî demjimêra pergalê bi bernamekirina sîgorteyên CKSEL wekî ku tê xuyang kirin were hilbijartin Tabloya 6-6 li ser rûpelê

27. Ger were hilbijartin, ew ê bêyî pêkhateyên derveyî bixebite. Di dema vesazkirinê de, hardware nirxa kalibrasyonê ya pêş-bernamekirî li Tomara OSCCAL bar dike û bi vî rengî bixweber RC Oscillatorê kalibr dike. Rastiya vê kalibrasyonê wekî kalibrasyona Fabrîkî tê nîşandan Tabloya 21-2 li ser rûpela 164.

Bi guhertina qeyda OSCCAL ji SW, binêre "OSCCAL - Qeyda Kalibrasyona Oscilatorê" li ser rûpela 31, gengaz e ku meriv rastiyek kalibrasyonek bilindtir ji karanîna kalibrasyona fabrîkî bistîne. Rastiya vê kalibrasyonê wekî kalibrasyona bikarhêner tê nîşandan Tabloya 21-2 li ser rûpela 164.

Dema ku ev Oscillator wekî demjimêra çîpê tê bikar anîn, dê Watchdog Oscillator hîn jî ji bo Demjimêra Watchdog û ji bo Vesazkirina Demjimêr were bikar anîn. Ji bo bêtir agahdarî li ser nirxa kalibrasyona pêş-bernamekirî, li beşê binêre "Cali- bration Bytes” di rûpela 150 de.

Di heman demê de oscilatora hundurîn dikare were saz kirin ku demjimêrek 6.4 MHz peyda bike bi nivîsandina sîgorteyên CKSEL li "0011", wekî ku di navnîşan de tê xuyang kirin. Tabloya 6-6 jêrîn. Vê mîhengê wekî Moda Lihevhatina ATtiny15 tête binav kirin û armanc ew e ku çavkaniyek demjimêrek kalibrated li 6.4 MHz peyda bike, wekî ATtiny15. Di Moda Lihevhatina ATtiny15 de PLL oscilatora navxweyî ya ku li 6.4 MHz dixebite bikar tîne da ku ji bo Timer/Counter25.6 sînyalek demjimêra dorhêl a 1 MHz çêbike (binêre "8-bit Timer / Counter1 in ATtiny15 Mode” li ser rûpela 95). Bala xwe bidinê ku di vê moda xebitandinê de sînyala demjimêra 6.4 MHz her gav bi çaran tê dabeş kirin, demjimêrek pergalê ya 1.6 MHz peyda dike.

Tabloya 6-6. Modên Xebatê yên Oscillatorê yên Navxweyî yên Kalibrated

CKSEL[3:0] Frequency Navdar
0010(1) 8.0 MHz
0011(2) 6.4 MHz

Amûr bi vê vebijarkê hilbijartî tê şandin.

Ev mîheng dê ATtiny15 Mode Compatibility Hilbijêre, ku demjimêra pergalê bi çaran tê dabeş kirin, û di encamê de frekansa demjimêra 1.6 MHz peyda dibe.

Dema ku oscilatora hundurîn a 8 MHz a kalibrated wekî çavkaniya demjimêrê tê hilbijartin, demên destpêkê ji hêla SUT-ên sîgorteyê ve têne destnîşankirin ku di Tabloya 6-7 jêrîn.

Tabloya 6-7. Demên Destpêkê ji bo Demjimêra RC Oscillatorê Kalibrkirî ya Navxweyî

SUT[1:0] Demjimêra Destpêkirinê ji Power-down Derengiya Zêde ji Vegerandinê (VCC = 5.0V) Bikaranîna Pêşniyar kirin
00 6 CK 14CK(1) BOD çalak kirin
01 6 CK 14CK + 4 ms Hêza bi lez zêde dibe
10(2) 6 CK 14CK + 64 ms Hêdî hêdî hêz bilind dibe
11 Reserved

1. Ger sîgorteya RSTDISBL bernamekirî be, ev dema destpêkirinê dê heya 14CK + 4 ms were zêdekirin da ku moda bernamekirinê dikare bikeve.
2. Amûrê bi vê vebijêrkê hilbijartî şandin.

Di ATtiny15 Moda Lihevhatinê de demên destpêkirinê ji hêla sîgorteyên SUT ve têne destnîşankirin ku di nav de têne xuyang kirin Tabloya 6-8 jêrîn.

Tabloya 6-8. Demên Destpêkê ji bo Demjimêra Oscilatora RC ya Kalibrkirî ya Navxweyî (di Moda ATtiny15 de)

SUT[1:0] Demjimêra Destpêkirinê ji Power-down Derengiya Zêde ji Vegerandinê (VCC = 5.0V) Bikaranîna Pêşniyar kirin
00 6 CK 14CK + 64 ms
01 6 CK 14CK + 64 ms
10 6 CK 14CK + 4 ms
11 1 CK 14CK(1)

Nîşe: Ger sîgorteya RSTDISBL bernamekirî be, ev dema destpêkirinê dê heya 14CK + 4 ms were zêdekirin da ku moda bernamekirinê dikare bikeve.

Bi kurtahî, bêtir agahdarî li ser Moda Lihevhatina ATtiny15 dikare di beşan de were dîtin "Port B (PB5: PB0)" li ser rûpel 2"PLL Navxweyî di Moda Lihevhatina ATtiny15 de" li ser rûpela 24"8-bit Timer / Counter1 di moda ATtiny15 de" li ser rûpel 95"Sînordariyên debugWIRE" li ser rûpela 140"Bîtên Kalibrasyonê" li ser rûpela 150 û di tabloyê de "Clock Prescaler Hilbijêre" li ser rûpela 33.

Navxweyî 128 kHz Oscillator

Oscilatora navxweyî ya 128 kHz, Oscilatorek kêm hêz e ku demjimêrek 128 kHz peyda dike. Frekans di 3V û 25°C de binavkirî ye. Bi bernamekirina sîgorteyên CKSEL li ser "0100" dibe ku ev demjimêr wekî demjimêra pergalê were hilbijartin.

Dema ku ev çavkaniya demjimêrê tête hilbijartin, dema destpêkirinê ji hêla SUT Fuses ve wekî ku tê xuyang kirin têne destnîşankirin Tabloya 6-9.

Tabloya 6-9. Demên Destpêkê ji bo Oscilatora Navxweyî ya 128 kHz

SUT[1:0] Demjimêra Destpêkirinê ji Power-down Derengiya Zêde ji Reset Bikaranîna Pêşniyar kirin
00 6 CK 14CK(1) BOD çalak kirin
01 6 CK 14CK + 4 ms Hêza bi lez zêde dibe
10 6 CK 14CK + 64 ms Hêdî hêdî hêz bilind dibe
11 Reserved

Nîşe: Ger sîgorteya RSTDISBL bernamekirî be, ev dema destpêkirinê dê heya 14CK + 4 ms were zêdekirin da ku moda bernamekirinê dikare bikeve.

Oscillatorê Kêm-Kêm

Ji bo ku krîstalek demjimêrê ya 32.768 kHz wekî çavkaniya demjimêrê ya cîhazê bikar bînin, divê Oscilatora Krîstalê ya Kêm-frekansa bi danîna sîgorteyên CKSEL li ser '0110' were hilbijartin. Divê krîstal wekî ku tê xuyang kirin were girêdan jimar 6-5. Ji bo dîtina kapasîteya barkirinê ya guncaw ji bo krîsalek 32.768 kHz, ji kerema xwe li ser datasheya çêker bişopînin.

Dema ku ev oscilator tê hilbijartin, demên destpêkirinê ji hêla sîgorteyên SUT ve têne diyar kirin ku di nav de têne xuyang kirin Tabloya 6-10.

Tabloya 6-10. Demên Destpêkê Ji bo Hilbijartina Demjimêrê Oscillatorê Krîstala Kêm Frekansa Kêm

SUT[1:0] Dema Destpêkê ji Power Down Derengiya Zêde ji Vegerandinê (VCC = 5.0V) Bikaranîna pêşniyar kirin
00 1K (1024) CK(1) 4 ms Hêza bilez an BOD çalak kirin
01 1K (1024) CK(1) 64 ms Hêdî hêdî hêz bilind dibe
10 32K (32768) CK 64 ms Frekansa stabîl di destpêkê de
11 Reserved

Nîşe: Divê ev vebijark tenê werin bikar anîn heke îstîqrara frekansê di destpêkê de ne girîng be.

Oscillatora Krîstalê ya Kêm-frekansa kapasîteya barkirina hundurîn peyda dike, binêre Tabloya 6-11 li her pin TOSC.

Tabloya 6-11. Capacitance of Low-Frequency Crystal Oscillator

Sazî 32 kHz Osc. Awa Cap (Xtal1/Tosc1) Cap (Xtal2/Tosc2)
ATtiny25/45/85 System Osc. 16 pF 6 pF

Oscilatorê Krîstal / Resonatorê Seramîk

XTAL1 û XTAL2 bi rêzê, ketin û derketinek inverger in amplifier ku dikare ji bo karanîna wekî Oscillatorek On-chip were mîheng kirin, wekî ku tê xuyang kirin jimar 6-5. Dibe ku krîstalek quartz an resonatorek seramîk were bikar anîn.

C1 û C2 divê her dem hem ji bo krîstal û hem jî ji bo resonatoran wekhev bin. Nirxa optîmal a kondensatoran bi krîstal an resonatora ku tê bikar anîn, hêjeya kapasîteya bêserûber, û dengê elektromagnetîk a hawîrdorê ve girêdayî ye. Hin rêwerzên destpêkê yên ji bo hilbijartina kondensatorên ji bo karanîna bi krîstalan têne dayîn Tabloya 6-12 jêrîn. Ji bo resonatorên seramîk, divê nirxên kondensatorê ku ji hêla çêker ve hatî dayîn werin bikar anîn.

Tabloya 6-12. Modes Operating Oscillator Crystal

CKSEL[3:1] Rêzeya Frekansê (MHz) Rêjeya Pêşniyarkirî ya ji bo Kapasîtorên C1 û C2 ji bo Bikaranîna Bi Krîstalan (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îşe: Divê ev vebijark bi krîstalan re neyê bikar anîn, tenê bi resonatorên seramîk re.

Oscillator dikare di sê awayên cihêreng de bixebite, ku her yek ji bo rêzek frekansa taybetî xweşbîn e. Moda xebitandinê ji hêla sîgorteyan CKSEL[3:1] ve wekî ku tê xuyang kirin tê hilbijartin Tabloya 6-12.

Sîgorteya CKSEL0 ligel SUT[1:0] sîgorteyan demên destpêkirinê hilbijêrin wekî ku di Tabloya 6-13.

Tabloya 6-13. Demên Destpêkê Ji bo Hilbijartina Saeta Oscillatora Crystal

CKSEL0 SUT[1:0] Demjimêra Destpêkirinê ji Power-down Derengiya Zêde ji Reset Bikaranîna Pêşniyar kirin
0 00 258 CK(1) 14CK + 4 ms Resonatorê seramîk, hêza bi lez bilind dibe
0 01 258 CK(1) 14CK + 64 ms Resonatorê seramîk, hêdî hêdî hêz bilind dibe
0 10 1K (1024) CK(2) 14CK Resonatorê seramîk, BOD-ê çalak e
0 11 1K (1024)CK(2) 14CK + 4 ms Resonatorê seramîk, hêza bi lez bilind dibe
1 00 1K (1024)CK(2) 14CK + 64 ms Resonatorê seramîk, hêdî hêdî hêz bilind dibe
1 01 16K (16384) CK 14CK Crystal Oscillator, BOD çalak kirin
1 10 16K (16384) CK 14CK + 4 ms Oscillatorê Crystal, hêza ku bi lez zêde dibe
1 11 16K (16384) CK 14CK + 64 ms Crystal Oscillator, hêdî hêdî hêza xwe bilind dike

Têbînî

Pêdivî ye ku ev vebijark tenê dema ku nêzî frekansa herî zêde ya cîhazê nexebitin werin bikar anîn, û tenê heke îstîqrara frekansê di destpêkê de ji bo serîlêdanê ne girîng be. Van vebijarkan ji bo krîstalan ne guncan in.

Van vebijarkan ji bo karanîna bi resonatorên seramîk re têne armanc kirin û dê di destpêkê de aramiya frekansê misoger bikin. Di heman demê de ew dikarin bi krîstalan re werin bikar anîn dema ku nêzî frekansa herî zêde ya amûrê nexebitin, û heke îstîqrara frekansê di destpêkê de ji bo sepanê ne girîng be.

Çavkaniya Saetê ya Bingehîn

Amûr bi CKSEL = "0010", SUT = "10", û CKDIV8 bernamekirî tê şandin. Ji ber vê yekê mîhenga çavkaniya demjimêra xwerû ew e ku Oscilatora RC ya Navxweyî bi 8 MHz bi dema destpêkirina herî dirêj ve dixebite û demjimêra pergalê ya destpêkê 8 ye, ku di encamê de demjimêra pergalê 1.0 MHz pêk tê. Vê mîhenga xwerû piştrast dike ku hemî bikarhêner dikarin mîhenga çavkaniya demjimêra xweya xwestinê bi karanîna In-System an Vol-vola bilind bikin.tage Programmer.

System Clock Prescaler

Saeta pergalê ATtiny25/45/85 dikare bi sazkirinê ve were dabeş kirin "CLKPR - Qeydkirina Pêşkêşiya Saetê" li ser rûpela 32. Ev taybetmendî dikare ji bo kêmkirina xerckirina hêzê dema ku hewcedariya hêza pêvajoyê kêm be were bikar anîn. Ev dikare bi hemî vebijarkên çavkaniya demjimêrê re were bikar anîn, û ew ê bandorê li frekansa demjimêra CPU û hemî dorhêlên hevdem bike. clkI/O, clkADC, clkCPU û clkFLASH ji hêla faktorek ve têne dabeş kirin ku di Tabloya 6-15 li ser rûpela 33.

Demê guherandinê

Dema ku di navbera mîhengên prescaler de diguhere, System Clock Prescaler piştrast dike ku di pergala demjimêrê de ti xeletiyek çênebe û ne ji frekansa demjimêrê ya ku bi mîhenga berê re têkildar e, ne jî ji frekansa demjimêrê ya ku bi mîhenga nû re têkildar e ne bilindtir be.

Berhevkarê ripple yê ku pêşekkalerê bicîh tîne li frekansa demjimêra nedabeş dimeşe, ku dibe ku ji frekansa demjimêra CPU zûtir be. Ji ber vê yekê, ne mimkun e ku meriv rewşa pêşaqilkerê diyar bike - her çend ew were xwendin jî, û dema rast a ku ji yek dabeşek demjimêrê bo yekî din veguhezîne bi rastî nayê pêşbînîkirin.

Ji dema ku nirxên CLKPS têne nivîsandin, ew di navbera T1 + T2 û T1 + 2*T2 de digire berî ku frekansa demjimêra nû çalak bibe. Di vê navberê de, 2 keviyên demjimêra çalak têne hilberandin. Li vir, T1 serdema demjimêra berê ye, û T2 heyama ku bi mîhenga nû ya pêşaqil re têkildar e.

Clock Output Tampon

Amûr dikare demjimêra pergalê li ser pina CLKO (gava ku wekî pin XTAL2 neyê bikar anîn) derxe. Ji bo çalakkirina derketinê, pêdivî ye ku CKOUT Fuse were bernamekirin. Dema ku demjimêra çîpê ji bo ajotina çerxên din ên li ser pergalê tê bikar anîn ev mod maqûl e. Bala xwe bidinê ku demjimêr dê di dema vesazkirinê de dernekeve û dema ku sîgorte were bernamekirin dê xebata normal ya pînê I/O were paşguh kirin. Dema ku demjimêr li ser CLKO-yê derdikeve, RC Oscillator, WDT Oscillator, PLL, û demjimêra derveyî (CLKI) dikare were hilbijartin. Oscillatorên krîstal (XTAL1, XTAL2) ji bo derketina demjimêrê li ser CLKO nayê bikar anîn. Ger Pergala Saeta Prescaler were bikar anîn, ew demjimêra pergalê ya dabeşkirî ye ku derdikeve.

Register Description

OSCCAL - Qeyda Kalibrasyona Oscillatorê

Gem 7 6 5 4 3 2 1 0
0x31 CAL7 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 OSCCAL
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W

Bit 7:0 - CAL[7:0]: Nirxa Kalibrasyona Oscilatorê

Tomara Kalibrasyonê ya Oscillatorê tê bikar anîn da ku Oscillatora RC-ya Navxweyî ya Kalibrkirî bibire da ku guheztinên pêvajoyê ji frekansa oscilatorê rake. Di dema vesazkirina çîpê de nirxek kalibrasyonê ya pêş-bernamekirî bixweber li vê qeydê tê nivîsandin, û frekansa kalibredkirî ya Fabrîkî ya ku di nav de hatî destnîşan kirin dide. Tabloya 21-2 li ser rûpela 164. Nermalava serîlêdanê dikare vê qeydê binivîse ku frekansa oscilatorê biguhezîne. Oscilator dikare li gorî frekansên ku di nav de hatine destnîşan kirin de were pîvandin Tabloya 21-2 li ser rûpela 164. Kalibrasyona li derveyî wê rêzê ne garantî ye.

Bala xwe bidinê ku ev oscillator ji bo dema gihîştina nivîsandina EEPROM û Flash tê bikar anîn, û ev demên nivîsandinê dê li gorî vê yekê bandor bibin. Ger EEPROM an Flash hatine nivîsandin, ji 8.8 MHz zêdetir kalîbr nekin. Wekî din, dibe ku nivîsandina EEPROM an Flash têk nebe.

Bit CAL7 ji bo oscilatorê rêza xebatê diyar dike. Danasîna vê bitê li ser 0-ê rêjeya frekansa herî nizm dide, danîna vê bîtê li ser 1-ê rêza frekansa herî bilind dide. Du rêzikên frekansê li hev dikevin, bi gotineke din mîhengek OSCCAL = 0x7F ji OSCCAL = 0x80 frekansek bilindtir dide.

Bitên CAL[6:0] têne bikar anîn da ku frekansa di nav rêza hilbijartî de bihejînin. Mîhengek 0x00 frekansa herî nizm di wê rêzê de dide, û mîhengek 0x7F frekansa herî bilind di rêzê de dide.

Ji bo misogerkirina xebata stabîl a MCU, divê nirxa kalibrasyonê di piçûkan de were guheztin. Guherînek di frekansê de ji% 2-ê zêdetir ji çerxek berbi ya din dikare bibe sedema tevgerek nepêşbar. Guhertinên di OSCCAL de divê ji bo her kalibrasyonê 0x20 derbas neke. Pêdivî ye ku meriv pê ewle bibe ku MCU di dema guheztinên weha di frekansa demjimêrê de li Reset bimîne

Tabloya 6-14. Navxweyî RC Oscillator Frequency Range

Nirx OSCCAL Kêmtirîn Frekansa Tîpîkî Bi Rêzgirtina Frekansa Navdar Tîpîk Tîpîkî ya Herî Bilind Bi Rêzgirtina Frekansa Navdar
0x00 50% 100%
0x3F 75% 150%
0x7F 100% 200%

CLKPR - Qeyda Pêşkêşiya Saetê

Gem 7 6 5 4 3 2 1 0
0x26 CLKPCE CLKPS3 CLKPS2 CLKPS1 CLKPS0 CLKPR
Xwendin/Nivîsandin R/W R R R R/W R/W R/W R/W

Nirxa Destpêkê 0 0 0 0 Binêre Danasîna Bit

Bit 7 - CLKPCE: Guhertina Pêşkêşkera Saetê Çalak bike

Pêdivî ye ku bit CLKPCE li yek mantiqê were nivîsandin da ku guhartina bitsên CLKPS çalak bike. Bit CLKPCE tenê dema ku bitên din ên di CLKPR de bi hevdemî bi sifirê têne nivîsandin tê nûve kirin. CLKPCE piştî ku tê nivîsandin an dema ku biteyên CLKPS têne nivîsandin, ji hêla hardware ve çar dor tê paqij kirin. Ji nû ve nivîsandina bit-a CLKPCE di vê heyama dema-derketinê de ne dema bidawîbûnê dirêj dike, ne jî bit-a CLKPCE paqij dike.

Bit 6:4 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bits 3:0 - CLKPS[3:0]: Pêşkêşkera demjimêrê Bit 3 - 0 Hilbijêre

Van bit faktora dabeşkirinê di navbera çavkaniya demjimêra hilbijartî û demjimêra pergala hundurîn de diyar dikin. Van bit dikarin dema xebitandinê bêne nivîsandin da ku frekansa demjimêrê biguhezîne ku li gorî hewcedariyên serîlêdanê be. Gava ku dabeşker têketina demjimêra sereke li MCU dabeş dike, dema ku faktorek dabeşkirinê tê bikar anîn leza hemî dorhêlên hevdem kêm dibe. Faktorên dabeşkirinê têne destnîşan kirin Tabloya 6-15.

Ji bo ku hûn ji guhertinên ne mebest ên frekansa demjimêrê dûr nekevin, pêdivî ye ku pêvajoyek nivîsandinê ya taybetî were şopandin da ku bitsên CLKPS biguhezînin:

Clock Prescaler Change Enable (CLKPCE) bit bi yek û hemî bitên din ên di CLKPR de binivîsin sifir.

Di nav çar qonaxan de, dema ku sifirek ji CLKPCE re dinivîsin, nirxa xwestinê li CLKPS binivîsin.

Dema ku mîhengê pêşaqilkerê diguhezîne divê pêdaçûn neçalak bibin da ku pê ewle bin ku prosedûra nivîsandinê nayê qut kirin.

Sîgorteya CKDIV8 nirxa destpêkê ya bitsên CLKPS destnîşan dike. Ger CKDIV8 bêbername be, bitsên CLKPS dê li "0000" werin vegerandin. Ger CKDIV8 bernamekirî be, bitsên CLKPS li "0011" têne vegerandin, di destpêkê de faktora dabeşkirinê ya heştan dide. Ger çavkaniya demjimêra hilbijartî di şert û mercên xebatê yên heyî de ji frekansa herî zêde ya amûrê frekansek bilindtir be divê ev taybetmendî were bikar anîn. Bala xwe bidinê ku her nirx dikare li bitsên CLKPS bê nivîsandin bêyî mîhenga sîgorteya CKDIV8. Pêdivî ye ku nermalava Serlêdanê piştrast bike ku faktorek dabeşkirinê têr e

bijartî heke çavkaniya demjimêra hilbijartî di şert û mercên xebatê yên heyî de frekansek ji frekansa herî zêde ya cîhazê bilindtir be. Amûr bi sîgorteya CKDIV8 ya bernamekirî tê şandin.

Tabloya 6-15. Clock Prescaler Hilbijêre

CLKPS3 CLKPS2 CLKPS1 CLKPS0 Faktora Dabeşkirina Saetê
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 Reserved
1 0 1 0 Reserved
1 0 1 1 Reserved
1 1 0 0 Reserved
1 1 0 1 Reserved
1 1 1 0 Reserved
1 1 1 1 Reserved

Nîşe: Pêşkêşker di moda lihevhatina ATtiny15 de neçalak e û ne nivîsandina li CLKPR, ne jî bernamekirina sîgorta CKDIV8 bandorek li ser demjimêra pergalê (ku dê her gav 1.6 MHz be) nake.

Rêvebiriya Hêzê û Modên Xewê

Performansa bilind û karbidestiya kodê ya pêşeng a pîşesaziyê mîkrokontrolkerên AVR ji bo serîlêdanên hêza kêm bijarek îdeal dike. Digel vê yekê, modên xewê dihêlin ku serîlêdanê modulên ku nayên bikar anîn di MCU de biqewirîne, bi vî rengî hêzê xilas bike. AVR cûrbecûr awayên xewê peyda dike ku destûrê dide bikarhêner ku xerckirina hêzê li gorî daxwazên serîlêdanê biguncîne.

Modes Sleep

Wêne 6-1 di rûpela 23 de pergalên demjimêrên cihêreng û belavkirina wan di ATtiny25/45/85 de pêşkêşî dike. Jimar di hilbijartina moda xewê ya guncan de arîkar e. Tabloya 7-1 şêwazên xewê yên cihêreng û çavkaniyên şiyarbûna wan nîşan dide.

Tabloya 7-1. Domên Saeta Çalak û Çavkaniyên Şiyarbûnê di Modên Xewên Cûda de

Domên Saetê Çalak Oscillators Çavkaniyên şiyarbûnê
Sleep Mode clkCPU clkFLASH clkIO clkADC clkPCK Çavkaniya Saetê ya Sereke Çalak e INT0 û Guhertina Pin SPM / EEPROM

Amade

 

Rewşa Destpêkê ya USI

ADC I/O din Watchdog Devjêberdan
Bêçalak X X X X X X X X X X
Kêmkirina Dengê ADC X X X(1) X X X X
Power-down X(1) X X

Nîşe: Ji bo INT0, tenê astengkirina astê.

Ji bo ku têkevin yek ji sê awayên xewê, divê bit SE-yê di MCUCR de li yek mantiqê were nivîsandin û divê rêwerzek SLEEP were darve kirin. Bitên SM[1:0] yên di qeyda MCUCR-ê de hildibijêrin ka kîjan moda xewê (Bêkar, Kêmkirina Dengê ADC an Daxistin Hêzdar) dê ji hêla talîmata SLEEP ve were çalak kirin. Dîtin Tabloya 7-2 ji bo kurteyek.

Ger dema ku MCU di moda xewê de ye qutbûnek çalak çêbibe, MCU şiyar dibe. Dûv re MCU ji bilî dema destpêkirinê ji bo çar qonaxan tê sekinandin, rûtîniya qutbûnê dimeşîne, û ji fermana li dû SLEEP-ê ji nû ve darvekirinê dest pê dike. Naveroka Tomarê File û SRAM dema ku amûr ji xewê şiyar dibe nayê guhertin. Ger resetek di moda xewê de çêbibe, MCU şiyar dibe û ji Vektora Vegerandinê pêk tê.

Nîşe: ku heke ji bo hişyarbûnê qutbûnek bi astekê were bikar anîn, pêdivî ye ku asta guheztinê ji bo demek dirêj were girtin da ku MCU hişyar bibe (û ji bo ku MCU têkeve rûtîniya karûbarê qutbûnê). Dîtin "Birtavên Derveyî" li ser rûpela 49 ji bo hûragahiyan.

Modeya Bêkar

Dema ku bitên SM[1:0] li 00-ê têne nivîsandin, talîmata SLEEP dihêle ku MCU bikeve moda Bêkar, CPU disekine lê dihêle ku Analog Comparator, ADC, USI, Timer/Counter, Watchdog, û pergala qutbûnê berdewam bike. xwarin. Vê moda xewê bi bingehîn clkCPU û clkFLASH rawestîne, di heman demê de dihêle ku demjimêrên din bixebitin.

Moda bêkêmasî dihêle ku MCU ji qutkirinên birêkûpêk ên derveyî û her weha yên hundurîn ên mîna Timer Overflow şiyar bibe. Ger şiyarbûna ji qutkirina Berhevkarê Analog ne hewce be, Berhevkara Analog dikare bi danîna bit ACD-ê were qut kirin. "ACSR - Kontrola Berhevkarê Analog û Tomara Rewşê" li ser rûpela 120. Ev ê di moda Idle de xerckirina hêzê kêm bike. Ger ADC çalak be, dema ku ev mod têkevin veguherînek bixweber dest pê dike.

Moda Kêmkirina Dengê ADC

Dema ku bitên SM[1:0] li 01-ê têne nivîsandin, talîmata SLEEP dihêle ku MCU bikeve moda Kêmkirina Dengê ADC, CPU disekine lê dihêle ku ADC, qutkirinên derve, û Watchdog xebatê bidomîne (heke çalak be). Vê moda xewê clkI/O, clkCPU, û clkFLASH rawestîne, dema ku dihêle demjimêrên din bixebitin.

Ev ji bo ADC-ê hawîrdora deng çêtir dike, pîvandinên çareseriya bilindtir dike. Ger ADC çalak be, dema ku ev mod têkevin veguherînek bixweber dest pê dike. Ji xeynî qutkirina Tevahiya Veguheztina ADC, tenê Veguheztinek Derveyî, Vegerandina Watchdog, Veguheztinek qehweyî, qutbûnek amade ya SPM/EEPROM, qutbûnek asta derveyî li ser INT0 an qutbûnek guhartina pin dikare MCU ji Kêmkirina Dengê ADC hişyar bike. awa.

Moda Power-down

Dema ku bits SM[1:0] ji 10-an re têne nivîsandin, talîmata SLEEP dihêle ku MCU bikeve moda Power-down. Di vê modê de, Oscillator tê rawestandin, dema ku qutkirina derveyî, tespîtkirina rewşa USI-yê dest pê dike û Watchdog xebata xwe didomîne (heke çalak be). Tenê Vesazkirinek Derveyî, Vegerandinek Watchdog, Vesazkirinek Brown-out, qutkirina rewşa destpêkê ya USI, qutbûnek asta derveyî li ser INT0 an qutbûnek guheztina pin dikare MCU hişyar bike. Vê moda xewê hemî demjimêrên hilberandî rawestîne, ku destûrê dide xebitandina modulên asynchronous tenê.

Software BOD Disable

Dema ku Detektora Brown-out (BOD) ji hêla sîgorteyên BODLEVEL ve tê çalak kirin (binêre Tabloya 20-4 li ser rûpela 148), BOD bi awayekî çalak çavdêriya peydakirina voltage di dema xewê de. Di hin amûran de bi neçalakkirina BOD-ê ji hêla nermalavê ve di moda xewê ya Power-Down de enerjiyê xilas dibe. Dê xerckirina elektrîkê ya moda xewê wê hingê di heman astê de be dema ku BOD li seranserê cîhanê ji hêla sîgorteyan ve were asteng kirin.

Ger BOD ji hêla nermalavê ve were neçalak kirin, fonksiyona BOD tavilê piştî ku bikeve moda xewê tê girtin. Piştî şiyarbûna ji xewê, BOD dîsa bixweber tê çalak kirin. Di dema ku asta VCC di dema xewê de dakeve, ev operasyona ewledar misoger dike.

Dema ku BOD hate asteng kirin, dema şiyarbûna ji moda xewê dê wekî ya ji bo şiyarbûna ji RESET be. Bikarhêner divê bi destan demên şiyarbûnê mîheng bike da ku referansa bandgapê dem hebe ku dest pê bike û BOD rast bixebite berî ku MCU pêkanîna kodê bidomîne. SUT[1:0] û CKSEL[3:0] bitsên sîgorteyê di tabloyê de bibînin "Fuse Low Byte" li ser rûpela 149

Neçalakkirina BOD ji hêla BODS (BOD Sleep) bit ya Tomara Kontrola MCU ve tê kontrol kirin, binêre "MCUCR - Kontrola MCU Qeyd bikin” li ser rûpela 37. Nivîsandina vê bit li yek BOD-ê di Power-Down-ê de qut dike, dema ku nivîsandina sifir BOD-ê çalak dihêle. Mîhenga xwerû sifir e, ango BOD çalak e.

Nivîsandina bit BODS ji hêla rêzek demkî û bitek çalak ve tê kontrol kirin, binêre "MCUCR - Tomara Kontrola MCU- ter” li ser rûpela 37.

Sînorkirin

Karbidestiya neçalakkirina BOD tenê di cîhazên jêrîn de hatî bicîh kirin:

ATtiny25, guhertoya E, û nûtir

ATtiny45, guhertoya D, û nûtir

ATtiny85, guhertoya C, û nûtir

Guhertoyên li ser pakêta cîhazê têne nîşankirin û dikarin wekî jêrîn bêne cih kirin:

Aliyê jêrîn ê pakêtên 8P3 û 8S2

Aliyê jorîn ê pakêtê 20M1

Qeyda kêmkirina hêzê

Tomara Kêmkirina Hêzê (PRR), binêre "PRR - Tomara Kêmkirina Hêzê" li ser rûpela 38, rêbazek ji bo kêmkirina xerckirina hêzê bi rawestandina demjimêrê li ser alavên ferdî peyda dike. Rewşa heyî ya periferîkê cemidî ye û qeydên I/O nayên xwendin û nivîsandin. Çavkaniyên ku ji hêla dorhêl ve têne bikar anîn dema ku demjimêrê rawestînin dê dagirkirî bimînin, ji ber vê yekê pêdivî ye ku di pir rewşan de berî rawestana demjimêrê dor were neçalak kirin. Hişyarkirina modulek, ku bi paqijkirina bitê di PRR-ê de tê kirin, modulê dixe heman rewşa berî qutbûnê.

Rakirina modulê dikare di moda Bêkar û moda Çalak de were bikar anîn da ku bi giranî xerckirina hêza giştî kêm bike. Di hemî awayên xewê yên din de, demjimêr jixwe tê sekinandin. Dîtin "Nirxa dabînkirina modulên I/O" li ser rûpela 177 ji bo examples.

Kêmkirina Vexwarina Hêzê

Dema ku hûn hewl didin ku di pergalek kontrolkirî ya AVR de mezaxtina hêzê kêm bikin gelek pirsgirêk hene. Bi gelemperî, divê modên xewê bi qasî ku gengaz were bikar anîn, û moda xewê divê were hilbijartin ku bi qasî ku pêkan fonksiyonên cîhazê bixebitin. Divê hemî fonksiyonên ku ne hewce ne bêne neçalak kirin. Bi taybetî, dema ku hewl didin ku bigihîjin mezaxtina hêzê ya herî kêm dibe ku modulên jêrîn hewceyê lênihêrîna taybetî bin.

Converter analog bo dîjîtal

Ger çalak be, ADC dê di hemî awayên xewê de were çalak kirin. Ji bo hilanîna hêzê, divê ADC berî ku bikeve moda xewê were neçalak kirin. Dema ku ADC were vemirandin û dîsa vekêşandin, veguherîna paşîn dê veguherînek dirêjkirî be. Binêre "Veguherkera analog bo dîjîtal" li ser rûpela 122 ji bo hûrguliyên li ser operasyona ADC.

Berhevkarê analog

Dema ku têkevin moda bêkêmasî, heke neyê bikar anîn divê Berhevkarê Analogê were neçalak kirin. Dema ku têkevin moda Kêmkirina Dengê ADC, divê Berhevkarê Analog bête neçalak kirin. Di modên xewê yên din de, Berhevkarê Analog bixweber tê neçalak kirin. Lêbelê, heke Berhevkarê Analogê were saz kirin ku Volê Navxweyî bikar bînetage Navnîşana wekî têketinê, Berhevkarê Analogê divê di hemî awayên xewê de were neçalak kirin. Wekî din, Voluma Navxweyîtage Referans dê çalak be, ji moda xewê serbixwe. Binêre "Berhevbera Analog" li ser rûpela 119 ji bo hûragahiyan li ser çawa mîheng bikî Comparator Analog.

Brown-out Detector

Ger Detektora Brown-out di serîlêdanê de ne hewce be, divê ev modul were girtin. Ger Detektora Brown-out ji hêla sîgorteyên BODLEVEL ve were çalak kirin, ew ê di hemî awayên xewê de were çalak kirin, û ji ber vê yekê, her gav hêzê vedixwe. Di modên xewê yên kûrtir de, ev ê bi girîngî beşdarî xerckirina heyî ya giştî bibe. Dîtin "Brown-out Detec- tion” li ser rûpela 41 û "Software BOD Disable" di rûpela 35 de ji bo hûragahiyan li ser çawa ji bo mîheng bikî Detector Brown-out.

Navxweyî Voltage Çavkanî

The Internal VoltagDema ku ji hêla Detection Brown-out, Berhevkarê Analog an ADC-ê ve hewce be dê Referans were çalak kirin. Ger ev modul wekî ku di beşên li jor de hatine destnîşan kirin neçalak bibin, voltage referans dê bête asteng kirin û ew ê hêzê nexwe. Dema ku ji nû ve vebe, divê bikarhêner destûrê bide ku referans berî ku encam were bikar anîn dest pê bike. Ger referans di moda xewê de were girtin, encam dikare tavilê were bikar anîn. Binêre "Volê hundurîntage Çavkanî” li ser rûpela 42 ji bo hûrguliyên li ser dema destpêkirinê.

Watchdog Timer

Ger Watchdog Timer di serîlêdanê de ne hewce ye, divê ev modul were girtin. Ger Watchdog Timer were çalak kirin, ew ê di hemî awayên xewê de were çalak kirin, û ji ber vê yekê, her gav hêzê vedixwe. Di modên xewê yên kûrtir de, ev ê bi girîngî beşdarî vexwarina heyî ya giştî bibe. Binêre "Watchdog Timer" di rûpela 42 de ji bo hûrguliyên li ser meriv çawa demjimêra Watchdog-ê mîheng dike.

Pînên Portê

Dema ku têkevin moda xewê, divê hemî pinên portê werin mîheng kirin da ku hêza hindiktirîn bikar bînin. Tişta herî girîng ew e ku meriv pê ewle bibe ku tu pîn barên berxwedêr nade. Di modên xewê de ku hem demjimêra I/O (clkI/O) û hem jî demjimêra ADC (clkADC) têne sekinandin, dê tamponên têketina cîhazê neçalak bibin. Ev piştrast dike ku tu hêz nayê xerc kirin

dema ku ne hewce ye ji hêla mantiqa têketinê ve. Di hin rewşan de, mantiqa têketinê ji bo tespîtkirina şert û mercên şiyarbûnê hewce ye, û

paşê ew ê çalak bibe. Binêre beşa "Çalakkirina Ketina Dîjîtal û modên razanê" li ser rûpela 57 ji bo hûrguliyên li ser kîjan pin têne çalak kirin. Ger tampona têketinê were aktîfkirin û sînyala têketinê li ser piyan bimîne an asta sînyala analogê ya nêzî VCC/2 hebe, tampona têketinê dê hêzek zêde bikar bîne.

Ji bo pîneyên têketina analogê, divê tampona têketina dîjîtal her dem were neçalak kirin. Asta sînyala analogê ya nêzî VCC/2 li ser pinek têketinê dikare di moda çalak de jî bibe sedema herikîna girîng. Tamponên têketina dîjîtal dikare bi nivîsandina li Tomara Neçalakkirina Ketina Dîjîtal (DIDR0) were neçalak kirin. Binêre "DIDR0 - Ketina dîjîtal Qeyda Neçalak bike 0" li ser rûpela 121 ji bo hûragahiyan.

Register Description

MCUCR - Tomara Kontrola MCU

Tomara Kontrola MCU-ê ji bo rêveberiya hêzê bitikên kontrolê vedihewîne.

Gem 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Xwendin/Nivîsandin R R/W R/W R/W R/W R R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7 - BODS: BOD Xew

Fonksiyona neçalakkirina BOD tenê di hin amûran de heye. Dîtin "Sînor" li ser rûpela 36.

Ji bo ku di xewê de BOD neçalak bike (binêre Tabloya 7-1 li ser rûpela 34) Divê bit BODS li yek mantiqê were nivîsandin. Ev ji hêla rêzek demkî ve û bit çalak, BODSE di MCUCR de tê kontrol kirin. Pêşîn, divê hem BODS û hem jî BODSE li yek were danîn. Ya duyemîn, di nav çar çerxên demjimêrê de, divê BODS li ser yek û BODSE li ser sifir were danîn. Bit BODS piştî ku hate danîn sê çerxên demjimêrê çalak e. Dema ku BODS çalak e divê rêwerzek xewê were darve kirin da ku BOD ji bo moda xewê ya rastîn were qut kirin. Bit BODS piştî sê çerxên demjimêrê bixweber tê paqij kirin.

Di cîhazên ku Sleeping BOD nehatine bicihanîn de ev bit nayê bikar anîn û dê her dem sifir bixwîne.

Bit 5 - SE: Xew Çalak bike

Ji bo ku MCU bikeve moda xewê dema ku talîmata SLEEP tê darve kirin divê bit SE li yek mantiqê were nivîsandin. Ji bo ku MCU nekeve moda xewê heya ku ew armanca bernameçêker be, tê pêşniyar kirin ku berî cîbicîkirina talîmata SLEEP-ê bit-a Sleep Enable (SE) li yekê binivîsin û piştî şiyarbûnê tavilê wê paqij bikin.

Bit 4:3 - SM[1:0]: Moda Xew Bit 1 û 0 Hilbijêre

Van bit di navbera sê awayên xewê yên berdest de wekî ku tê xuyang kirin hilbijêrin Tabloya 7-2.

Tabloya 7-2. Moda xewê Hilbijêre

SM1 SM0 Sleep Mode
0 0 Bêçalak
0 1 Kêmkirina Dengê ADC
1 0 Power-down
1 1 Reserved

Bit 2 - BODSE: BOD Sleep Enable

Fonksiyona neçalakkirina BOD tenê di hin amûran de heye. Dîtin "Sînor" li ser rûpela 36.

Bit BODSE mîhengkirina bîta kontrolê ya BODS çalak dike, wekî ku li ser danasîna bit BODS hatî diyar kirin. Neçalakkirina BOD ji hêla rêzek demkî ve tê kontrol kirin.

Ev bit di cîhazên ku nermalava BOD-ê neçalakkirî de nehatiye bicîh kirin de nayê bikar anîn û dê di wan cîhazan de wekî sifir were xwendin.

PRR - Qeyda kêmkirina hêzê

Tomara Kêmkirina Hêzê rêbazek ji bo kêmkirina xerckirina elektrîkê peyda dike bi rê dide ku îşaretên demjimêra dorhêl werin neçalak kirin.

Gem 7 6 5 4 3 2 1 0
0x20 PRTIM1 PRTIM0 PRUSI PRADC PRR
Xwendin/Nivîsandin R R R R R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7:4 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 3 - PRTIM1: Demjimêra Kêmkirina Hêzê/Hejmar1

Nivîsandina yek mantiqê li ser vê bîtê modula Timer/Counter1 radike. Dema ku Demjimêr/Hejmar1 çalak be, kar dê mîna berî ragirtinê bidome.

Bit 2 - PRTIM0: Demjimêra Kêmkirina Hêzê/Hejmar0

Nivîsandina yek mantiqê li ser vê bîtê modula Timer/Counter0 radike. Dema ku Demjimêr/Hejmar0 çalak be, kar dê mîna berî ragirtinê bidome.

Bit 1 - PRUSI: Kêmkirina Hêzê USI

Nivîsandina yek mantiqê li ser vê bit bi rawestandina demjimêrê li ser modulê USI-yê digire. Dema ku USI dîsa şiyar bibe, divê USI ji nû ve were destpêkirin da ku xebata rast bicîh bîne.

Bit 0 - PRADC: ADC Kêmkirina Hêzê

Nivîsandina yek mantiqê li ser vê bît ADC-ê qut dike. Berî ku were girtin divê ADC were neçalak kirin. Bala xwe bidinê ku demjimêra ADC ji hêla hin beşên berhevkara analogê ve jî tê bikar anîn, ku tê vê wateyê ku dema ku ev bit bilind be berhevkara analog nayê bikar anîn.

Kontrolkirina pergalê û vesazkirin

Vesazkirina AVR

Di dema vesazkirinê de, hemî Tomarên I/O li ser nirxên xwe yên destpêkê têne danîn, û bername ji Vektora Reset dest bi înfazê dike. Telîmata ku li Vektora Vegerandinê hatî danîn divê RJMP - Relative Jump - rêwerzek ji bo rûtîn vesazkirinê be. Ger bername tu carî çavkaniyek qutbûnê nexebitîne, Vektorên Astengkirinê nayên bikar anîn, û koda bernameyê ya birêkûpêk dikare li van deveran were danîn. Diyagrama çerxa nav jimar 8-1 mantiqa reset nîşan dide. Parametreyên elektrîkê yên çerxa vesazkirinê tê de têne destnîşan kirin "Taybetmendiyên Pergal û Vegerandin" li ser rûpela 165.

jimar 8-1 Reset Mantiqa Reset-mantiq

Dema ku çavkaniyek vesazkirinê çalak dibe portên I/O yên AVR-ê tavilê li rewşa xweya destpêkê têne vegerandin. Ev ne hewce ye ku çavkaniyek demjimêrê were xebitandin.

Piştî ku hemî çavkaniyên vesazkirinê neçalak bûn, jimareyek dereng tê gazî kirin, veavakirina hundurîn dirêj dike. Ev dihêle ku hêz berî destpêkirina xebata normal bigihîje astek aram. Demjimêra jimareya derengmayînê ji hêla bikarhêner ve bi navgîniya sîgorteyên SUT û CKSEL ve tê destnîşankirin. Hilbijartinên cihêreng ên ji bo dema derengmayînê têne pêşkêş kirin "Seet Çavkanî” li ser rûpela 25.

Çavkaniyên Vegere

ATtiny25/45/85 çar çavkaniyên vesazkirinê hene:

Power-on Reset. Dema ku voltage li jêr sînorê Vegerandina Hêzê (VPOT) ye.

Reset Derveyî. MCU ji nû ve tê vesaz kirin dema ku astek nizm li ser pina RESET ji dirêjahiya nebza herî kêm dirêjtir be.

Watchdog Reset. Dema ku serdema Watchdog Timer bi dawî bibe û Watchdog were çalak kirin MCU ji nû ve tê saz kirin.

Brown-out Reset. Dema ku voltage VCC li jêr sînorê Vegerandina Qehweyî (VBOT) ye û Detektora qehweyî ya derketinê çalak e.

Power-on Reset

Nebza Vegerandina Hêzê (POR) ji hêla çerxek tespîtkirina li ser-çîpê ve tê hilberandin. Asta tespîtkirinê di nav de tête diyar kirin "Sys- tem û Vesazkirina Taybetmendiyan” li ser rûpela 165. Dema ku VCC li jêr asta tespîtê be, POR tê çalak kirin. Rêzeya POR dikare were bikar anîn da ku Vegerandina Destpêkirinê bide destpêkirin, û hem jî ji bo tespîtkirina têkçûnek di volga dabînkirinê detage.

Qarkek Vegerandina Hêzê (POR) piştrast dike ku amûr ji Power-on vegere. Gihîştina berdêla Vegerandina Hêza-liser voltage jimareya derengmayînê vedixwîne, ku diyar dike ku piştî rabûna VCC-ê kengî cîhaz di RESET-ê de bimîne. Dema ku VCC di binê asta tespîtê de kêm dibe, sînyala RESET dîsa bê aktîfkirin, bê dereng.

jimar 8-2. Destpêka MCU, RESET Bi VCC ve girêdayî ye

INTERNAL RESET

jimar 8-3. MCU Destpêkirina, RESET Berfirehkirina Derveyî

Reset Derveyî

Vegerandina Derveyî ji hêla astek nizm ve li ser pina RESET heke were çalak kirin tê çêkirin. Pîlan ji nûtirîn firehiya nebşê dirêjtir vegerînin (binêre "Taybetmendiyên Pergal û Vegerandin" li ser rûpela 165) dê resetek çêbike, her çend demjimêr nexebite. Pîlanên kurttir ne garantî ne ku ji nû ve vesazkirinê çêbikin. Dema ku sînyala hatî sepandin digihîje Reset Threshold Voltage - VRST - li ser qiraxa wê ya erênî, jimarvana derengmayînê piştî ku heyama Demjimêr qediya MCU dest pê dike.

Wêne 8-4. Reset Derveyî Di dema Operasyonê de Fig8.4

Brown-out Detection

ATtiny25/45/85 ji bo şopandina asta VCC-ê di dema xebatê de bi berhevkirina wê bi astek tîrêjê ya sabît re qarekterek Vedîtina Brown-dervekirî ya li ser-çîpê (BOD) heye. Asta tetikê ji bo BOD dikare ji hêla BODLEVEL Fuses ve were hilbijartin. Asta tetikê hîstereziyek heye da ku Tespîtkirina Brown-out-a bê spike misoger bike. Divê hîsteresis li ser asta tespîtê wekî VBOT+ = VBOT + VHYST/2 û VBOT- = VBOT - VHYST/2 were şîrove kirin.

Dema ku BOD tê çalak kirin, û VCC dadikeve nirxek li jêr asta tetikê (VBOT-in jimar 8-5), Vesazkirina Brown-out tavilê tê çalak kirin. Dema ku VCC li jor asta tetikê zêde dibe (VBOT+ in jimar 8-5), jimarvana derengmayînê piştî ku heyama Dem-derketinê tTOUT qediya, MCU dest pê dike.

Ger voltage ji tBOD ku tê dayîn dirêjtir di binê asta tetikê de dimîne "Taybetmendiyên Pergal û Vegerandin" li ser rûpela 165. Fig8.5

Watchdog Reset

Dema ku Watchdog biqede, ew ê pêleka vesazkirina kurt a dirêjahiya yek çerxa CK-ê çêbike. Li ser keviya ketina vê pêlê, demjimêra derengmayînê dest bi jimartina heyama Dem-derketinê tTOUT dike. Binêre "Watchdog Timer" di rûpela 42 de ji bo hûrguliyên li ser xebata Watchdog Timer.

Voltage Referansa Çalakkirina Nîşan û Dema Destpêkê

The voltagE referans demek destpêkek heye ku dibe ku bandorê li awayê karanîna wê bike. Dema destpêkirinê tê dayîn "Taybetmendiyên Pergal û Vegerandin" li ser rûpela 165. Ji bo hilanîna hêzê, referans her gav nayê zivirandin. Referans di rewşên jêrîn de derbas dibe:

Dema ku BOD çalak be (bi bernamekirina BODLEVEL[2:0] Bitikên Sîgorteyê).

Dema ku referansa bandgapê bi Berhevkarê Analog ve girêdayî ye (bi danîna bit ACBG di ACSR de).

Dema ku ADC çalak e.

Ji ber vê yekê, dema ku BOD neçalak be, piştî danîna bit ACBG an çalakkirina ADC-ê, divê bikarhêner her gav destûrê bide ku referans dest pê bike berî ku encam ji Berhevkarê Analog an ADC were bikar anîn. Ji bo kêmkirina xerckirina enerjiyê di moda Power-down de, bikarhêner dikare ji sê şertên li jor dûr bikeve da ku pê ewle bibe ku referans berî ku bikeve moda Power-down-ê were vemirandin.

Watchdog Timer

Demjimêra Watchdog ji Oscillatorek On-chip ku li 128 kHz dimeşe tê demjimêr kirin. Bi kontrolkirina pêşekalakera Watchdog Timer re, navbera Watchdog Reset dikare wekî ku di tê xuyang kirin de were sererast kirin. Tabloya 8-3 li ser rûpela 46. WDR - Watchdog Reset - Rêbernameya Watchdog Timer ji nû ve vedike. Demjimêra Watchdog jî dema ku ew neçalak dibe û dema ku Chip Reset çêbibe jî tê vesaz kirin. Deh demên çerxa demjimêrê yên cihêreng dikarin werin hilbijartin da ku heyama vesazkirinê were destnîşankirin. Ger heyama vesazkirinê bêyî Resetek din a Watchdog bi dawî bibe, ATtiny25/45/85 ji Vektora Vegerandinê vedigere û dimeşîne. Ji bo hûrguliyên demjimêrê li ser Reset Watchdog, serî li Tabloya 8-3 li ser rûpela 46.

Demjimêra Watchdog di heman demê de dikare were mîheng kirin ku li şûna vesazkirinê qutiyek çêbike. Dema ku Watchdog bikar bînin ku ji Power-down şiyar bibin ev dikare pir alîkar be.

Ji bo pêşîlêgirtina neçalakkirina bê mebest ya Watchdog an guheztina bê mebest ya dema domandinê, du astên ewlehiyê yên cihêreng ji hêla sîgorteya WDTON ve têne hilbijartin wekî ku di Tabloya 8-1 Binêre "Rêzên Demkirî yên Ji bo Guhertina Peyman- fîgurasyona Watchdog Timer” li ser rûpela 43 ji bo hûragahiyan.

Tabloya 8-1. Veavakirina WDT wekî fonksiyonek mîhengên sîgorteyê ya WDTON

WDTON Asta Ewlekariyê WDT Dewleta Destpêkê Meriv çawa WDT-ê neçalak dike Meriv çawa Dem-outê Biguherîne
Bêbername 1 Bêmecel Rêzeya demkî Ne sînorkirin
Bername kirin 2 Enabled Her tim çalak Rêzeya demkî

jimar 8-7. Watchdog Timer Watchdog

Rêzên Demkirî yên Ji bo Guhertina Veavakirina Demjimêra Watchdog

Rêzeya guherîna veavakirinê di navbera her du astên ewlehiyê de hinekî cûda dibe. Ji bo her astê prosedurên cuda têne diyar kirin.

Asta Ewlekariyê 1: Di vê modê de, Demjimêra Watchdog di destpêkê de neçalak e, lê dikare bi nivîsandina bit WDE li yek bêyî ti sînordarkirinê were çalak kirin. Dema ku demjimêrek Watchdog-a çalakkirî neçalak bike rêzek demkî hewce ye. Ji bo neçalakkirina demjimêrek Watchdog-ê ya çalakkirî, pêdivî ye ku prosedûra jêrîn were şopandin:

Di heman operasyonê de, yek mantiqî ji WDCE û WDE re binivîsin. Divê mentiqek ji WDE-yê re bê nivîsandin nirxa berê ya bit-a WDE-yê.

Di nav çar çerxên saetê yên pêş de, di heman operasyonê de, bitên WDE û WDP wekî ku tê xwestin binivîsin, lê bi bîta WDCE-yê paqij kirin.

Asta Ewlekariyê 2: Di vê modê de, Watchdog Timer her gav çalak e, û bit WDE dê her gav wekî yek bixwîne. Dema ku dema dema derketina Watchdog-ê diguhezîne rêzek demkî hewce ye. Ji bo guhertina Demjimêra Watchdog-ê, pêdivî ye ku prosedûra jêrîn were şopandin:

Di heman operasyonê de, yek mantiqî ji WDCE û WDE re binivîsin. Her çend WDE her gav hatî danîn jî, divê WDE ji yekî re were nivîsandin da ku rêza demjimêr dest pê bike.

Di nav çar çerxên saetê yên pêş de, di heman operasyonê de, bitên WDP-ê wekî ku tê xwestin binivîsin, lê bi bîta WDCE-yê paqijkirî. Nirxa ku li bit WDE hatî nivîsandin ne girîng e.

Code Example

Koda jêrîn example yek meclîsê û yek fonksiyonek C ji bo qutkirina WDT nîşan dide. The exampLe dihesibîne ku qutbûn têne kontrol kirin (mînak, bi neçalakkirina astengiyan li seranserê cîhanê) da ku di dema pêkanîna van fonksiyonan de ti navber çênebe.

Koda Meclîsa Example(1)
WDT_off:

wdr

; WDRF di MCUSR de paqij bikin

ldi r16, (0<

derve MCUSR, r16

; Ji WDCE û WDE re yek mantiqî binivîsin

; Mîhenga pêş-scaler-a kevin bihêlin da ku pêşî li Veguheztina Nexwestî ya Watchdog bigirin

li r16, WDTCR

ori r16, (1<

derve WDTCR, r16

; WDT vekin

ldi r16, (0<

derve WDTCR, r16

ret

C Code Example(1)
betal WDT_off (betal)

{

_WDR();

/* WDRF di MCUSR de paqij bike */ MCUSR = 0x00

/* Ji WDCE û WDE re yek mantiqî binivîsin */ WDTCR |= (1<

/* WDT veke */ WDTCR = 0x00;

}

Nîşe: 1. Binêre "Kodê Examples” li ser rûpela 6.

Register Description

MCUSR - Qeyda Rewşa MCU

Tomara Rewşa MCU agahdarî dide ka kîjan çavkaniya vesazkirinê bûye sedema Vegerandina MCU.

Gem 7 6 5 4 3 2 1 0
0x34 WDRF BORF EXTRF PORF MCUSR
Xwendin/Nivîsandin R R R R R/W R/W R/W R/W

Nirxa Destpêkê 0 0 0 0 Binêre Danasîna Bit

Bit 7:4 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 3 - WDRF: Watchdog Reset Flag

Heke Watchdog Reset çêbibe ev bit tête danîn. Bit ji hêla Resetek Power-on ve tê vesaz kirin, an jî bi nivîsandina mentiqek sifir a li ser ala.

Bit 2 - BORF: Brown-out Reset Flag

Ger Resetek Brown-out çêbibe ev bit tête danîn. Bit ji hêla Resetek Power-on ve tê vesaz kirin, an jî bi nivîsandina mentiqek sifir a li ser ala.

Bit 1 - EXTRF: Ala Vegerandina Derveyî

Ger Resetek Derveyî çêbibe ev bit tê danîn. Bit ji hêla Resetek Power-on ve tê vesaz kirin, an jî bi nivîsandina mentiqek sifir a li ser ala.

Bit 0 - PORF: Alaya Vegerandina Hêzê

Ger Resetek Hêzdar çêbibe ev bit tê danîn. Bit tenê bi nivîsandina mentiqek sifir a li ser ala tê vesaz kirin.

Ji bo ku hûn alayên Vegerandinê bikar bînin da ku rewşek vesazkirinê nas bikin, pêdivî ye ku bikarhêner di bernameyê de zûtirîn dem MCUSR-ê bixwîne û dûv re vegere. Heke berî ku resetek din çêbibe qeyd were paqij kirin, çavkaniya vesazkirinê dikare bi vekolîna Alayên Vegerandinê were dîtin.

WDTCR - Qeyda Kontrolkirina Demjimêr a Watchdog

Gem 7 6 5 4 3 2 1 0
0x21 WDIF WDIE WDP3 WDCE WDE WDP2 WDP1 WDP0 WDTCR
Xwendin/Nivîsandin R/W R/W R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 X 0 0 0

Bit 7 - WDIF: Alaya Navbera Demjimêra Çavdêriyê

Dema ku di Watchdog Timer-ê de dem-derketin çêbibe û demjimêra Watchdog-ê ji bo qutbûnê were mîheng kirin ev bit tête danîn. WDIF ji hêla hardware ve tê paqij kirin dema ku vektora hilgirtina navberê ya têkildar tê darve kirin. Wekî din, WDIF bi nivîsandina mentiqek li ser alê tê paqij kirin. Dema ku I-bit di SREG û WDIE de têne danîn, Navbera Demjimêra Watchdog tê darve kirin.

Bit 6 - WDIE: Demjimêra Çavdêriyê Çalak bike

Dema ku ev bit ji yekê re were nivîsandin, WDE tê paqij kirin, û I-bit di Tomara Rewşê de tê danîn, Navbera Demjimêra Watchdog tê çalak kirin. Di vê modê de heke demek di Watchdog Timer de derbas bibe li şûna vesazkirinê qutbûna têkildar tê darve kirin.

Ger WDE were danîn, WDIE bixweber ji hêla hardware ve tê paqij kirin dema ku dem-derketin çêbibe. Ev ji bo parastina ewlehiya Watchdog Reset dema ku qutbûnê bikar tîne bikêr e. Piştî ku bit WDIE were paqij kirin, dema paşîn dê vesaziyek çêbike. Ji bo ku ji Nûvekirina Watchdog dûr nekevin, divê WDIE piştî her qutbûnê were saz kirin.

Tabloya 8-2. Veavakirina Timer Watchdog

WDE WDIE Watchdog Timer Dewletê Çalakî li ser Time-out
0 0 Rawestiyan Netû
0 1 Running Devjêberdan
1 0 Running Reset
1 1 Running Devjêberdan

Bit 4 - WDCE: Guhertina Watchdog Çalak bike

Dema ku bit WDE bi mantiqa sifir were nivîsandin divê ev bit were danîn. Wekî din, Watchdog nayê asteng kirin. Dema ku ji yek re were nivîsandin, hardware dê piştî çar çerxên demjimêrê vê bit paqij bike. Ji bo pêvajoyek neçalakkirina Watchdog li danasîna bit WDE binihêrin. Divê ev bit jî dema ku bitsên prescaler biguherînin were danîn. Dîtin “Rêzên Demkirî ji bo Guherîna Veavakirina Demjimêra Watchdog” li ser rûpela 43.

Bit 3 - WDE: Watchdog Enable

Dema ku WDE li ser yek mantiqê were nivîsandin, Watchdog Timer tê çalak kirin, û heke WDE li ser mentiqê sifir were nivîsandin, fonksiyona Watchdog Timer neçalak dibe. WDE tenê dikare were paqij kirin heke bit WDCE xwedî asta mentiqî yek be. Ji bo neçalakkirina demjimêrek Watchdog-ê ya çalakkirî, pêdivî ye ku prosedûra jêrîn were şopandin:

Di heman operasyonê de, yek mantiqî ji WDCE û WDE re binivîsin. Divê yek mantiqek ji WDE-ê re were nivîsandin her çend berî ku operasyona neçalak dest pê bike jî ew yek were danîn.

Di nav çar çerxên demjimêrên pêş de, mantiqek 0 ji WDE re binivîsin. Ev Watchdog asteng dike.

Di asta ewlehiyê 2 de, ne gengaz e ku demjimêra Watchdog-ê neçalak bike, tewra bi algorîtmaya ku li jor hatî destnîşan kirin. Dîtin “Rêzên Demkirî Ji Bo Guherîna Veavakirina Demjimêra Watchdog” li ser rûpela 43.

Di asta ewlehiyê 1 de, WDE di MCUSR de ji hêla WDRF ve tê hilweşandin. Dîtin "MCUSR - Qeyda Rewşa MCU" li ser rûpela 44 ji bo danasîna WDRF. Ev tê wê wateyê ku WDE her dem dema ku WDRF hatî danîn tê saz kirin. Ji bo paqijkirina WDE, divê WDRF berî ku Watchdog bi prosedûra ku li jor hatî behskirî neçalak bike were paqij kirin. Ev taybetmendî di şert û mercên ku dibin sedema têkçûnê de, û piştî têkçûnê destpêkek ewledar misoger dike.

Nîşe: Ger demjimêra çavdêriyê di serîlêdanê de neyê bikar anîn, girîng e ku hûn di destpêkirina cîhazê de pêvajoyek neçalakkirina çavdêriyê derbas bikin. Ger Watchdog bi xeletî were çalak kirin, ji bo nimûneampJi hêla nîşankerek dûr an rewşek qehweyî ve, dê cîhaz were vesaz kirin, ku di encamê de dê bibe sedema vesazkirinek nû ya çavdêriyê. Ji bo ku ji vê rewşê dûr nekevin, nermalava serîlêdanê divê her gav ala WDRF û bîta kontrolê ya WDE di rûtîniya destpêkê de paqij bike.

Bit 5, 2:0 - WDP[3:0]: Watchdog Timer Prescaler 3, 2, 1, and 0

Bitên WDP[3:0] dema ku Demjimêra Watchdog çalak be, pêşdîtina demjimêra Watchdog diyar dike. Nirxên pêşdibistanê yên cihêreng û Demjimêrên wan ên têkildar di nav de têne destnîşan kirin Tabloya 8-3.

Tabloya 8-3. Watchdog Timer Prescale Select

WDP3 WDP2 WDP1 WDP0 Hejmara WDT Oscillator Cycles Demjimêra tîpîk li VCC = 5.0V
0 0 0 0 2K (2048) çerxên 16 ms
0 0 0 1 4K (4096) çerxên 32 ms
0 0 1 0 8K (8192) çerxên 64 ms
0 0 1 1 16K (16384) çerxên 0.125 s
0 1 0 0 32K (32764) çerxên 0.25 s
0 1 0 1 64K (65536) çerxên 0.5 s
0 1 1 0 128K (131072) çerxên 1.0 s
0 1 1 1 256K (262144) çerxên 2.0 s
1 0 0 0 512K (524288) çerxên 4.0 s
1 0 0 1 1024K (1048576) çerxên 8.0 s

Tabloya 8-3. Çavdêriya Timer Prescale Hilbijartin (Dewam)

WDP3 WDP2 WDP1 WDP0 Hejmara WDT Oscillator Cycles Demjimêra tîpîk li VCC = 5.0V
1 0 1 0 Reserved(1)
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

Nîşe: 1. Ger were hilbijartin, yek ji mîhengên derbasdar ên li jêr 0b1010 dê were bikar anîn.

Dibire

Ev beş hûrguliyên birêvebirina navberê ya ku di ATtiny25/45/85 de hatî çêkirin diyar dike. Ji bo ravekek giştî ya birêvebirina qutkirina AVR-ê, serî lê bidin "Parastina Vegerandin û Veqetandinê" li ser rûpela 12.

Vektorên navberê li ATtiny25/45/85

Vektorên navberê yên ATtiny25/45/85 di nav de têne diyar kirin Tabloya 9-1jêrîn.

Tablo 9-1. Vektorên vesazkirin û qutkirin

Vektor No. Navnîşana Bernameyê Kanî Navbirî Pênase
1 0x0000 RESET Pîneya Derveyî, Vegerandina Hêzdar, Vegerandina qehweyî, Vegerandina Çavdêriyê
2 0x0001 INT0 Daxwaza qutkirina derve 0
3 0x0002 PCINT0 Daxwaza Qutkirina Guhertina Pînê 0
4 0x0003 TIMER1_COMPA Demjimêr/Hejmar1 Berawirdkirina Maça A
5 0x0004 TIMER1_OVF Timer / Counter1 Overflow
6 0x0005 TIMER0_OVF Timer / Counter0 Overflow
7 0x0006 EE_RDY EEPROM Amade ye
8 0x0007 ANA_COMP Berhevkarê analog
9 0x0008 ADC Veguherîna ADC Biqede
10 0x0009 TIMER1_COMPB Demjimêr/Hejmar1 Berawirdkirina Maça B
11 0x000A TIMER0_COMPA Demjimêr/Hejmar0 Berawirdkirina Maça A
12 0x000B TIMER0_COMPB Demjimêr/Hejmar0 Berawirdkirina Maça B
13 0x000C WDT Watchdog Time-out
14 0x000D USI_START USI DESTPÊK
15 0x000E USI_OVF USI Overflow

Ger bername tu carî çavkaniyek qutbûnê nexebitîne, Vektorên Astengkirinê nayên bikar anîn, û koda bernameyê ya birêkûpêk dikare li van deveran were danîn.

Sazkirinek tîpîk û gelemperî ji bo navnîşanên vektorê yên di ATtiny25/45/85 de di bernameyê de tê xuyang kirin.ampli jêr.

Koda Meclîsa Example
.org 0x0000 ;Navnîşana paşîn îfade
rjmp RESET ; Navnîşan 0x0000
rjmp INT0_ISR ; Navnîşan 0x0001
rjmp PCINT0_ISR ; Navnîşan 0x0002
rjmp TIM1_COMPA_ISR ; Navnîşan 0x0003
rjmp TIM1_OVF_ISR ; Navnîşan 0x0004
rjmp TIM0_OVF_ISR ; Navnîşan 0x0005
rjmp EE_RDY_ISR ; Navnîşan 0x0006
rjmp ANA_COMP_ISR ; Navnîşan 0x0007
rjmp ADC_ISR ; Navnîşan 0x0008
rjmp TIM1_COMPB_ISR ; Navnîşan 0x0009
rjmp TIM0_COMPA_ISR ; Navnîşan 0x000A
rjmp TIM0_COMPB_ISR ; Navnîşan 0x000B
rjmp WDT_ISR ; Navnîşan 0x000C
rjmp USI_START_ISR ; Navnîşan 0x000D
rjmp USI_OVF_ISR ; Navnîşan 0x000E
RESET: ; Destpêka bernameya sereke
; Navnîşan 0x000F

Nîşe: Binêre "Kodê Examples” li ser rûpela 6.

Astengiyên Derveyî

Astengiyên Derveyî ji hêla pînê INT0 an yek ji pîneyên PCINT[5:0] ve têne rêve kirin. Bala xwe bidinê ku, ger were çalak kirin, dê navber çêbibin hetta Pînên INT0 an PCINT[5:0] wekî derketinê werin mîheng kirin. Ev taybetmendî rêyek peydakirina navberek nermalavê peyda dike. Guhertina pinê qut dike PCI dê dest pê bike heke pînê PCINT[5:0] çalakkirî biguhere. PCMSK Tomar kontrol dike ka kîjan pin beşdarî qutkirina guhartina pinê dibe. Qirkirinên guherandina pin li PCINT[5:0] bi asynkronî têne tespît kirin. Ev tê vê wateyê ku ev navber dikarin ji bo şiyarkirina beşê jî ji modên xewê yên ji bilî moda Bêkar werin bikar anîn.

Têkçûnên INT0 dikarin ji hêla daketinek an bilindbûnê an astek nizm ve bêne rêve kirin. Ev wekî ku di taybetmendiyê de ji bo Tomara Kontrola MCU - MCUCR hatî destnîşan kirin. Dema ku qutkirina INT0 were çalak kirin û wekî astê vekêşandî were mîheng kirin, heya ku pin nizm bimîne dê qut bibe. Bala xwe bidinê ku ji bo naskirina qutkirinên keviya ketî an bilindbûna li ser INT0 hebûna demjimêrek I/O hewce dike, ku di "Pergalên Saetê û Belavkirina wan" li ser rûpel 23.

Asta Kêm Astê Asteqandinê

Li ser INT0 qutbûnek nizm bi asynkronî tê tespît kirin. Ev tê vê wateyê ku ev qutkirin dikare ji bo şiyarkirina beşê jî ji modên xewê ji bilî moda Bêkar were bikar anîn. Saeta I/O di hemî modên xewê de ji xeynî moda Bêkar tê sekinandin.

Bala xwe bidinê ku heke ji bo şiyarbûna ji Power-down qutbûnek bi astekê were bikar anîn, pêdivî ye ku asta hewce bi têra xwe dirêj were girtin da ku MCU şiyarbûnê temam bike da ku qutbûna astê bide destpêkirin. Ger ast beriya dawiya Dema Destpêkê winda bibe, MCU dê dîsa jî şiyar bibe, lê dê navber çênebe. Dema destpêkirinê ji hêla sîgorteyên SUT û CKSEL ve wekî ku di nav de hatî destnîşan kirin ve tête diyar kirin "Saeta Pergalê û Vebijêrkên Saetê" li ser rûpela 23.

Ger asta nizm a li ser pina qutbûnê berî ku amûr şiyar bibe were rakirin, wê hingê dê pêkanîna bernameyê ber bi rûtîniya karûbarê qutbûnê ve neyê veguheztin lê ji fermana li dû fermana SLEEP berdewam bike.

Pîne Guhertina Demjimêra Navberdanê

An exampdema qutbûna guherîna pinê tê xuyang kirin jimar 9-1.

Register Description

MCUCR - Tomara Kontrola MCU

Tomara Kontrola Navbera Derveyî A ji bo kontrolkirina hesta qutbûnê bitsên kontrolê vedihewîne.

Gem 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Xwendin/Nivîsandin R R/W R/W R/W R/W R R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 1:0 - ISC0[1:0]: Kontrola hestiyariyê 0 Bit 1 û Bit 0

Ger ala SREG I û maskeya qutbûnê ya têkildar were danîn, qutkirina Derve 0 ji hêla pina derve INT0 ve tê çalak kirin. Asta û keviyên li ser pina INT0-ya derveyî ku navberê çalak dikin di nav de têne destnîşan kirin Tabloya 9-2. Nirxa li ser pînê INT0 s eampberî tesbîtkirina keviyan rêve dibe. Heger qutkirina qerax an guheztinê were hilbijartin, pêlên ku ji yek demjimêrek dirêjtir dom dikin dê qutbûnê çêbikin. Pêlên kurttir ne garantî ne ku qutbûnek çêbikin. Ger qutkirina asta nizm were hilbijartin, divê asta nizm heya qedandina fermana ku niha tê meşandin were girtin da ku qutiyek çêbike.

Tabloya 9-2. Astengkirina 0 Sense Control

ISC01 ISC00 Terîf
0 0 Asta nizm ya INT0 daxwazek qutbûnê çêdike.
0 1 Her guhertinek mentiqî ya li ser INT0 daxwazek qutbûnê çêdike.
1 0 Kevirê têkçûyî yê INT0 daxwaznameyek qutbûnê çêdike.
1 1 Rêjeya bilindbûna INT0 daxwazek qutbûnê çêdike.

GIMSK - Qeyda Maska Navbera Giştî

Gem 7 6 5 4 3 2 1 0
0x3B INT0 PCIe GIMSK
Xwendin/Nivîsandin R R/W R/W R R R R R
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7, 4:0 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 6 - INT0: Daxwaza qutkirina derve 0 Çalak bike

Dema ku bit INT0 were danîn (yek) û I-bit di Tomara Rewşê (SREG) de were danîn (yek), qutkirina pinê ya derve tê çalak kirin. Bitkên Kontrola Sense ya Navberê0 1/0 (ISC01 û ISC00) di Tomara Kontrolê ya MCU (MCUCR) de diyar dikin ka qutbûna derve li ser bilindbûn û/an daketina kenarê INT0 an asta têgihîştî tê çalak kirin. Çalakiya li ser pînê dê bibe sedema daxwazek qutbûnê jî heke INT0 wekî encamek were mîheng kirin. Navbera têkildar a Daxwaza Qedexeya Derveyî 0 ji Vektora Navberê ya INT0 tête bicîh kirin.

Bit 5 - PCIE: Çalakkirina Guhertina Pîneyê

Dema ku bit PCIE were danîn (yek) û I-bit di Tomara Rewşê (SREG) de were danîn (yek), qutkirina guheztina pin tê çalak kirin. Guhertinek li ser pinek PCINT[5:0] ya çalakkirî dê bibe sedema qutbûnê. Navbera têkildar a Daxwaza Navbera Guhertina Pin-ê ji Vektora Navberê ya PCI-ê tê darve kirin. Pînên PCINT[5:0] ji hêla Tomara PCMSK0 ve yekane têne çalak kirin.

GIFR - Qeyda Alaya Navbera Giştî

Gem 7 6 5 4 3 2 1 0
0x3A INTF0 PCIF GIFR
Xwendin/Nivîsandin R R/W R/W R R R R R
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7, 4:0 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 6 - INTF0: Alaya qutkirina derve 0

Gava ku guheztinek an mentiqek li ser pina INT0 daxwazek qutbûnê çêdike, INTF0 dibe (yek). Ger I-bit di SREG de û bit INT0 di GIMSK de (yek) bêne danîn, MCU dê biçe Vektora Navberê ya têkildar. Dema ku rutina navberê tê meşandin al tê paqij kirin. Alternatîf, al dikare bi nivîsandina yek mentiqî jê re were paqij kirin. Dema ku INT0 wekî qutkirina astê tê mîheng kirin ev ala her gav tê paqij kirin.

Bit 5 - PCIF: Pin Guhertina Pevçûn Ala

Dema ku guherînek mentiqî li ser her pinek PCINT[5:0] daxwazek qutbûnê çêdike, PCIF dibe (yek). Ger I-bit di SREG de û bit PCIE di GIMSK de (yek) bêne danîn, MCU dê biçe Vektora Navberê ya têkildar. Dema ku rutina navberê tê meşandin al tê paqij kirin. Alternatîf, al dikare bi nivîsandina yek mentiqî jê re were paqij kirin.

PCMSK - Qeyda Maskê Guhertina Pin

Gem 7 6 5 4 3 2 1 0
0x15 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 PCMSK
Xwendin/Nivîsandin R R R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 7:6 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 5:0 - PCINT[5:0]: Pin Guhertina Mask 5:0 çalak bike

Her bit PCINT[5:0] hildibijêre ka qutkirina guherîna pinê li ser pîneya I/O ya têkildar were çalak kirin. Ger PCINT[5:0] were danîn û bit PCIE di GIMSK de were danîn, qutkirina guheztina pin li ser pînê I/O ya têkildar tê çalak kirin. Ger PCINT[5:0] were paqij kirin, qutkirina guheztina pînê li ser pina I/O ya têkildar neçalak dibe.

I / O Ports

Pêşkêş

Hemî portên AVR dema ku wekî portên I/O yên dîjîtal ên gelemperî têne bikar anîn xwedan fonksiyona Xwendin-Guherandin-Nivîse ya rastîn in. Ev tê vê wateyê ku rêwerziya yek pin portê dikare bêyî ku bi rêwerzên SBI û CBI re rêwerzek pîneyek din bê guheztin were guheztin. Heman tişt dema ku nirxa ajokerê diguhezîne (heke wekî derketinê were mîheng kirin) an jî çalakkirin/neçalakkirina berxwedêrên hilkêşanê (heke wekî têketinê were mîheng kirin) derbas dibe. Her tamponek hilberanê xwedan taybetmendiyên ajokera sîmetrîk e ku hem bi kapasîteya sink û hem jî çavkaniyê bilind e. Ajokera pînê têra xwe xurt e ku rasterast dîmenên LED-ê dimeşîne. Hemî pîneyên portê xwedan berxwedêrên vekişandinê yên ku bi voltayek peydakirî ve têne hilbijartin henetage berxwedana neguherbar. Hemî pînên I/O xwedan diodên parastinê yên hem ji VCC û hem jî ji Erdê re wekî ku tê destnîşan kirin hene jimar 10-1. Binêre "Taybetmendiyên Elektrîkê" li ser rûpela 161 ji bo navnîşek tevahî ya parametreyan.

Wêne 10-1. I / O Pin Wekhev Schematic

Fig10

Di vê beşê de hemî qeyd û referansên bit bi forma gelemperî têne nivîsandin. Pîvana piçûk "x" tîpa jimarekirinê ya portê, û ya piçûk "n" jimara bit nîşan dide. Lêbelê, dema ku di bernameyê de tomar an bit diyar dike, divê forma rastîn were bikar anîn. Ji bo example, PORTB3 ji bo bit na. 3 li Port B, li vir bi gelemperî wekî PORTxn hatî belge kirin. Tomarên I/O yên laşî û cîhên bit tê de têne navnîş kirin "Rêvekirina Danasînê" li ser rûpel 64.

Sê cîhên navnîşana bîranîna I/O ji bo her portê, her yek ji bo Tomara Daneyê - PORTx, Tomara Rêvekirina Daneyê - DDRx, û Pînên Ketina Portê - PINx têne veqetandin. Cihê Pînên Ketina Portê ya I/O tenê tê xwendin, dema ku Tomara Daneyê û Tomara Rêvebiriya Daneyê têne xwendin/nivîsandin. Lêbelê, nivîsandina mantiqek yek ji bit di Tomara PINx de, dê bibe sedema veguheztina bit-a têkildar a di Tomara Daneyê de. Wekî din, Pull-up Disable - bit PUD-ê di MCUCR de dema ku were saz kirin fonksiyona vekişînê ji bo hemî pinên di hemî portan de asteng dike.

Bikaranîna porta I/O wekî I/O ya dîjîtal a Giştî di nav de tête diyar kirin "Portên wekî I/O Dîjîtal a Giştî" li ser rûpela 53. Piraniya pinên portê ji bo taybetmendiyên dorhêl ên li ser cîhazê bi fonksiyonên alternatîf têne piralî kirin. Çawa her fonksiyonek alternatîf bi pina portê re têkildar dibe di nav de tête diyar kirin "Fonksiyonên Portê Alternatîf" li ser rûpela 57. Ji bo ravekek bêkêmasî ya fonksiyonên alternatîf serî li beşên modulên kesane bidin.

Bala xwe bidinê ku çalakkirina fonksiyona alternatîf a hin pinên portê bandorê li karanîna pinên din ên di portê de wekî I/O ya dîjîtal a gelemperî nake.

Portên wekî I/O Digital Digital

Port portên I/O yên du-alî ne ku bi vekêşana hundurîn vebijarkî ne. jimar 10-2 ravekirinek fonksiyonel a yek pin I/O-port nîşan dide, ku li vir bi gelemperî jê re Pxn tê gotin.

Wêne 10-2. I/O ya dîjîtal a giştî(1)

Fig10

Veavakirina Pin

Her pinek portê ji sê bitên qeydê pêk tê: DDxn, PORTxn, û PINxn. Wekî ku tê nîşandan "Rêvekirina Danasînê" li ser rûpel 64, bitsên DDxn li navnîşana DDRx I/O, bitsên PORTxn li navnîşana PORTx I/O, û bitsên PINxn li navnîşana PINx I/O têne gihîştin.

Bit DDxn di Qeyda DDRx de rêgeza vê pînê hildibijêre. Ger DDxn yek mantiqê were nivîsandin, Pxn wekî pinek derketinê tê mîheng kirin. Ger DDxn mentiqê sifir were nivîsandin, Pxn wekî pinek têketinê tê mîheng kirin.

Ger PORTxn bi mantiqê yek were nivîsandin dema ku pîne wekî pîneya têketinê were mîheng kirin, berxwedêra vekişînê tê çalak kirin. Ji bo guheztina resistora hilkişînê ji holê rabike, divê PORTxn bi mantiqa sifir were nivîsandin an jî pînê wekî pîneya derketinê were mîheng kirin. Pînên portê sê-serok têne diyar kirin dema ku rewşa vesazkirinê çalak dibe, hetta ku demjimêr nexebitin.

Ger PORTxn bi mantiqê yek were nivîsandin dema ku pînê wekî pîneya derketinê tê mîheng kirin, pînê portê bilind dibe (yek). Ger PORTxn bi mantiqa sifir were nivîsandin dema ku pînê wekî pîneya derketinê were mîheng kirin, pînê portê kêm tê avêtin (sifir).

Guhertina Pin

Nivîsandina mantiqek ji PINxn re, nirxa PORTxn-ê, li ser nirxa DDRxn-ê serbixwe diguhezîne. Bala xwe bidinê ku talîmata SBI dikare were bikar anîn da ku yek bitek di portê de biguhezîne.

Guhestina Di Navbera Ketin û Derketinê de

Dema ku di navbera sê-dewletê de ({DDxn, PORTxn} = 0b00) û hilbera bilind ({DDxn, PORTxn} = 0b11) diguherin, rewşek navber ku an vekêşana çalakkirî {DDxn, PORTxn} = 0b01) an jî kêm derketiye. ({DDxn, PORTxn} = 0b10) divê çêbibe. Bi gelemperî, rewşa çalakkirî ya vekişînê bi tevahî tê pejirandin, ji ber ku jîngehek bi îhtîmala bilind dê cûdahiya di navbera ajokerek bilind a bihêz û hilkişînek de nabîne. Ger ev ne wusa be, bit PUD-ê ya di Tomara MCUCR de dikare were saz kirin da ku hemî kişandinên li hemî portan neçalak bike.

Veguheztina di navbera têketinê de bi hilkişîn û derketinê kêm heman pirsgirêkê çêdike. Pêdivî ye ku bikarhêner an sê-dewletê ({DDxn, PORTxn} = 0b00) an jî rewşa bilind a derketinê ({DDxn, PORTxn} = 0b10) wekî gavek navîn bikar bîne.

Tabloya 10-1 sînyalên kontrolê yên ji bo nirxa pin kurt dike.

Tablo 10-1. Configurations Port Pin

DDxn PORTxn PUD

(li MCUCR)

I/O Pull-up Agahkişî
0 0 X Beyan Na Sê-dewlet (Hi-Z)
0 1 0 Beyan Erê Heke ext be, Pxn dê çavkaniya heyî bike. nizm kişandin.
0 1 1 Beyan Na Sê-dewlet (Hi-Z)
1 0 X Karûabr Na Hilbera Kêm (Sink)
1 1 X Karûabr Na Hilbera Bilind (Çavkanî)

Xwendina Nirxa Pin

Ji mîhengê bit DDxn-a Rêvebiriya Daneyên serbixwe, pêla portê dikare bi bit PINxn Register ve were xwendin. Wekî ku tê nîşandan jimar 10-2, bit PINxn Tomar û pêla pêşîn hevdengkerek pêk tîne. Ev pêdivî ye ku ji metastablebûnê dûr bikevin ger ku pîneya laşî nirxê nêzê keviya demjimêra hundurîn biguhezîne, lê ew di heman demê de derengiyek jî destnîşan dike. jimar 10-3 Dema ku nirxek pinê ya ji derve hatî sepandin dixwîne diagramek demsaziyê ya hevdemkirinê nîşan dide. Derengiya belavbûnê ya herî zêde û hindiktirîn bi rêzdarî tpd, max û tpd, min têne destnîşan kirin.

Demjimêra demjimêrê bihesibînin ku di demek kurt de piştî ketina pêşîn a demjimêra pergalê dest pê dike. Dema ku saet nizm be çent girtî tê girtin, û dema ku demjimêr bilind e zelal dibe, wekî ku ji hêla devera şilandî ya sînyala "SYNC LATCH" ve hatî destnîşan kirin. Dema ku demjimêra pergalê kêm dibe nirxa sînyalê tê girtin. Ew li kêleka demjimêra erênî ya paşerojê di nav Tomara PINxn de tê seat kirin. Wekî ku ji hêla du tîrên tpd, max û tpd, min ve têne destnîşan kirin, veguheztina yekane nîşanek li ser pînê dê di navbera ½ û 1½ serdema demjimêra pergalê de li gorî dema pejirandinê dereng bimîne.

Dema ku nermalava ku nirxa pin-ê hatî veqetandin vedixwîne, divê rêwerzek nop wekî ku tê destnîşan kirin were danîn jimar 10-4. Talîmata derketinê sînyala "SYNC LATCH" li qiraxa erênî ya demjimêrê destnîşan dike. Di vê rewşê de, derengiya tpd ji hêla hevdengkerê ve yek heyama demjimêra pergalê ye.

Koda jêrîn example nîşan dide ka meriv çawa pêlên porta B 0 û 1 bilind, 2 û 3 nizm, û pîneyên portê ji 4 heta 5-an wekî têketinê destnîşan dike bi pêvekek ku ji bo porta 4-ê ve hatî destnîşan kirin. wekî ku berê hate behs kirin, rêwerzek nop tê de heye ku meriv bikaribe nirxa ku vê dawiyê ji hin pinan re hatî destnîşan kirin paşde bixwîne.

Koda Meclîsa Example(1)

; Hilkişînan diyar bikin û hilberan bilind bikin

; Ji bo pinên portê rêwerzan diyar bikin

ldi        r16,(1<<PB4)|(1<<PB1)|(1<<PB0)

ldi        r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)

derve PORTB,r16

derve DDRB, r17

; Nop ji bo hevdemkirinê têxe

nop

; Pînên portê bixwînin

li r16, PINB

Nîşe: Ji bo bernameya meclîsê, du qeydên demkî têne bikar anîn da ku dema kişandina li ser pînên 0, 1 û 4 kêm bikin, heya ku bitsên rênîşandanê rast werin danîn, bit 2 û 3 wekî nizm destnîşan dikin û bit 0 ji nû ve pênase dikin û 1 wekî ajokarên bilind ên bihêz.

C Code Example
char i bê îmze;

/* Vekêşanan diyar bikin û hilberan bilind bikin */

/* Ji bo pinên portê rêwerzan diyar bikin */ PORTB = (1<

DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);

/* Nop ji bo hevdemkirinê têxe*/

_NOP();

/* Pînên portê bixwînin */ i = PINB;

Têketina dîjîtal Modên Çalak û Xewê

Wekî ku tê nîşandan jimar 10-2, sînyala ketina dîjîtal dikare bibe clamped to erdê li ketina schmitt-tetikîne. Nîşana ku di wêneyê de SLEEP tê destnîşan kirin, ji hêla Kontrolkera Xewê ya MCU ve di moda Power-down de tête danîn da ku ji xerckirina hêzê ya zêde dûr bisekine heke hin îşaretên têketinê li ser piyan bimînin, an jî asta sînyala analogê ya nêzî VCC/2 hebe.

SLEEP ji bo pînên portê yên ku wekî pinên qutkirina derveyî hatine çalak kirin, tê guheztin. Ger daxwaza qutkirina derve neçalak be, SLEEP ji bo van pinan jî çalak e. SLEEP di heman demê de ji hêla fonksiyonên cihêreng ên alternatîf ên din ve wekî ku di nav de hatî destnîşan kirin ve tê hilweşandin "Fonksiyonên Portê Alternatîf" li ser rûpela 57.

Ger asteke bilind a mantiqê ("yek") li ser pina qutbûna derve ya asînkron a ku wekî "Bêdengkirina li Ser Kêviya Bilind, Kevirê Dikeve, an Her Guherîna Mantiqê ya li ser Pînê" hatî mîhengkirin hebe, dema ku qutkirina derve neçalak be, dê ala qutkirina derve ya têkildar be. dema ku ji moda xewê ya ku li jor hatî destnîşan kirin ji nû ve dest pê bike, wekî klampDi van moda xewê de guherîna mantiqê ya daxwazkirî çêdike.

Pînên negirêdayî

Ger hin pîne neyên bikar anîn, tê pêşniyar kirin ku hûn pê ewle bibin ku van pîneyan xwedan astek diyarkirî ne. Her çend piraniya têketinên dîjîtal di modên xewê yên kûr de yên ku li jor hatine destnîşan kirin de neçalak in, divê ji têketinên herikîn dûr were girtin da ku di hemî awayên din ên ku têketinên dîjîtal têne çalak kirin de xerckirina heyî kêm bikin (Reset, Moda Çalak û moda Bêkar).

Rêbaza herî hêsan ji bo misogerkirina astek diyarkirî ya pinek nekarandî ye, çalakkirina kişandina hundurîn e. Di vê rewşê de, pull-up dê di dema vesazkirinê de neçalak bibe. Heke di dema vesazkirinê de mezaxtina hêza kêm girîng e, tê pêşniyar kirin ku meriv hilkêşek an vekêşana derveyî bikar bîne. Girêdana pinên neyên bikar anîn rasterast bi VCC an GND-ê re nayê pêşniyar kirin, ji ber ku ev dibe sedema herikîna zêde heke pin bi xeletî wekî encamek were mîheng kirin.

Fonksiyonên Port Alternatîf

Piraniya pinên portê ji bilî I/O-yên dîjîtal ên gelemperî xwedî fonksiyonên alternatîf in. jimar 10-5 nîşan dide ka meriv çawa îşaretên kontrolkirina pin portê ji hêsankirî nîşan dide jimar 10-2 dikare ji hêla fonksiyonên alternatîf ve were hilweşandin. Dibe ku îşaretên serdest di hemî pînên portê de nebin, lê jimar wekî ravekek gelemperî ku ji bo hemî pinên portê yên di malbata mîkrokontrolkera AVR de tê sepandin re xizmet dike.

Tabloya 10-2. Danasîna Giştî ya Nîşaneyên Serkêş ên ji bo Fonksiyonên Alternatîf

Navê sînyala Navê tam Terîf
PUOE Vekêşana vekişînê Çalak bike Ger ev îşaret were danîn, çalakkirina vekişînê ji hêla sînyala PUOV ve tê kontrol kirin. Ger ev îşaret were paqij kirin, dema ku vekêşana wê were çalak kirin

{DDxn, PORTxn, PUD} = 0b010.

PUOV Nirxa Bişkojka Vekêşanê Ger PUOE were saz kirin, dema ku PUOV were saz kirin/paqijkirin, guheztina bitên DDxn, PORTxn, û PUD Register vekêşandin çalak/neçalak dibe.
DDOE Data Direction Override Enable Ger ev îşaret were danîn, Enable Driver Output ji hêla sînyala DDOV ve tê kontrol kirin. Ger ev îşaret were paqij kirin, ajokera Derketinê ji hêla bit qeyda DDxn ve tê çalak kirin.
DDOV Data Direction Override Nirx Ger DDOE were saz kirin, dema ku DDOV were saz kirin/paqijkirin, ajokara Derketinê çalak/neçalak dibe, bêyî ku mîhengê bit DDxn Register.
PVOE Derbaskirina Nirxa Portê Çalak bike Ger ev îşaret were danîn û ajokara Derketinê çalak be, nirxa portê ji hêla sînyala PVOV ve tê kontrol kirin. Ger PVOE were paqij kirin, û Ajokara Derketinê çalak be, Nirxa portê ji hêla bit qeyda PORTxn ve tê kontrol kirin.
PVOV Nirxa Portê Nirxa Serhildanê Ger PVOE were danîn, nirxa portê li ser PVOV tête danîn, bêyî ku mîhengê bit qeyda PORTxn.
PTOE Port Toggle Override Enable Ger PTOE were danîn, bit qeyda PORTxn tê berevajî kirin.
DIEOE Ketina dîjîtal Çalak bike Override Çalak bike Ger ev bit were danîn, Çalakkirina Ketina Dîjîtal ji hêla sînyala DIEOV ve tê kontrol kirin. Ger ev îşaret were paqij kirin, Çalakkirina Ketina Dîjîtal ji hêla rewşa MCU ve tê destnîşankirin (moda normal, moda xewê).
DIEOV Ketina dîjîtal Nirxa Serhildanê Çalak bike Ger DIEOE were saz kirin, dema ku DIEOV were saz kirin/paqijkirin, bêyî rewşa MCU (moda normal, moda xewê) Ketina Dîjîtal çalak/neçalak dibe.
DI Têketina Dîjîtal Ev Ketina Dîjîtal a fonksiyonên alternatîf e. Di jimarê de, îşaret bi derketina schmitt-tetikkêşê ve lê berî hevdengkerê ve girêdayî ye. Heya ku Ketina Dîjîtal wekî çavkaniyek demjimêrê neyê bikar anîn, modula bi fonksiyona alternatîf dê hevdengkera xwe bikar bîne.
AIO Input / Output Analog Ev Ketina/Derketina Analog ji/ji fonksiyonên alternatîf e. Sînyal rasterast bi paçikê ve girêdayî ye, û dikare bi dualî were bikar anîn.

Binbeşên jêrîn bi kurtî fonksiyonên alternatîf ji bo her portê vedibêjin, û nîşanên serdest bi fonksiyona alternatîf ve girêdidin. Ji bo hûrguliyên bêtir li danasîna fonksiyona alternatîf binihêrin.

Fonksiyonên Alternatîf ên Port B

Pînên Port B yên bi fonksiyona alternatîf tê de têne destnîşan kirin Tabloya 10-3.

Tabloya 10-3. Port B Pin Fonksiyonên Alternatîf

Port Pin Fonksiyona Alternatîf
PB5

RESET: Pîneyê vegerîne

dW: debugWIRE I/O ADC0: Kanala Ketina ADC 0

PCINT5: Navbera Guhertina Pin, Çavkanî 5

PB4 XTAL2: Derketina Oscillatorê Krîstal CLKO: Derketina Saeta Pergalê ADC2: Kanala Ketina ADC 2

OC1B: Demjimêr/Hejmar1 Berawirdkirina Maça B Derketina PCINT4: Guhertina Pîneyê 0, Çavkanî 4

PB3 XTAL1: Ketina Oscillatorê Krîstal CLKI: Ketina Saeta Derveyî ADC3: Kanala Ketina ADC 3

OC1B: Demjimêr/Hejmarek Pêvekdar1 Berawirdkirina Maça B Derketina PCINT3: Guhertina Pîneyê 0, Çavkanî 3

PB2 SCK: Ketina Saeta Rêjeyî ADC1: Kanala Ketina ADC 1

T0: Demjimêr/Hejmar 0 Çavkaniya Saetê USCK: Saeta USI (Moda Sê Têl) SCL : Saeta USI (Moda Du Têl) INT0: Qedexekirina Derve 0 Têketin PCINT2: Pîn Guhertina Navber 0, Çavkanî 2

PB1 MISO: Ketina Daneya Serwer a SPI / Derketina Daneya Xulam AIN1: Berhevkarê Analog, Ketina Neyînî OC0B: Demjimêr/Hejmar0 Berawirdkirina Maça B Derketina OC1A: Demjimêr/Hejmar1 Berawirdkirina A Hilberê DO: Derketina Daneyên USI (Moda Sê Têl) Navbirî PCINT1:Pin Guhertin 0, Çavkanî 1
PB0 MOSI:: Hilberîna Daneyên Serek SPI / Ketina Daneyên Xulam AIN0: Berhevkarê analog, Ketina erênî

OC0A: Timer / Counter0 Berhevkirina Match A encam

OC1A: Demjimêr/Hejmarek Pêvekdar1 Berawirdkirina Berhevkirina Derketinek DI: Ketina Daneyên USI (Moda Sê Têl)

SDA: Ketina Daneyên USI (Moda Du Têl) AREF: Çavkaniya Analogê ya Derve PCINT0: Guhertina Pînê 0, Çavkanî 0

Port B, Bit 5 - RESET/dW/ADC0/PCINT5

RESET: Ketina Vegerandina Derveyî kêm çalak e û bi nebernamekirina ("1") sîgorta RSTDISBL ve çalak e. Pullup tê aktîfkirin û ajokara derketinê û têketina dîjîtal dema ku pîne wekî pina RESET tê bikar anîn têne neçalak kirin.

dW: Dema ku debugWIRE Enable (DWEN) Fuse bernamekirî ye û bit Lock bêbername ne, pergala debugWIRE di nav cîhaza armanc de tê aktîf kirin. Pîneya porta RESET wekî têl-AND (vekirî-vekirî) Pînek I/O ya dualî ya ku vekêşana çalak e hatî mîheng kirin û dibe deriyê ragihandinê di navbera armanc û emulatorê de.

ADC0: Veguherkerê analog bo dîjîtal, Kanal 0.

PCINT5: Pin Guhertina Çavkaniya Navberê 5.

Port B, Bit 4 - XTAL2/CLKO/ADC2/OC1B/PCINT4

XTAL2: Chip Clock Oscillator pin 2. Ji bo hemî çavkaniyên demjimêra çîpê ji bilî RC Oscillatorê kalibrable navxweyî û demjimêra derveyî wekî pîneya demjimêrê tê bikar anîn. Dema ku wekî pîneya demjimêrê tê bikar anîn, pin nikare wekî pinek I/O were bikar anîn. Dema ku RC Oscillator-ya kalibratorî ya hundurîn an demjimêra derveyî wekî çavkaniyên demjimêra Chip-ê bikar tînin, PB4 wekî pinek I/O ya asayî kar dike.

CLKO: Saeta pergalê ya veqetandî dikare li ser pin PB4 derkeve. Ger sîgorteya CKOUT bername be, bêyî ku mîhengên PORTB4 û DDB4 hebe, demjimêra pergalê ya dabeşkirî dê derkeve. Ew ê di dema nûvekirinê de jî derkeve.

ADC2: Veguherkerê analog bo dîjîtal, Kanal 2.

OC1B: Hilbera Berhevberdana Maçê: PB4 PB1 dikare ji bo Timer/Counter4 Compare Match B wekî hilberek derveyî kar bike dema ku wekî encamek were mîheng kirin (DDB1 set). Pîneya OCXNUMXB ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ye.

PCINT4: Pin Guhertina Çavkaniya Navberê 4.

Porta B, Bit 3 - XTAL1/CLKI/ADC3/OC1B/PCINT3

XTAL1: Chip Clock Oscillator pin 1. Ji bo hemî çavkaniyên demjimêra çîpê ji bilî oscillatora RC ya kalibrable navxweyî tê bikar anîn. Dema ku wekî pîneya demjimêrê tê bikar anîn, pin nikare wekî pinek I/O were bikar anîn.

CLKI: Ketina demjimêrê ji çavkaniyek demjimêrek derveyî, binêre "Saeta Derveyî" li ser rûpela 26.

ADC3: Veguherkerê analog bo dîjîtal, Kanal 3.

OC1B: Hilbera Beraqilî Berhevberhevkirina Match: PB3 pin dikare ji bo Timer/Counter1 Compare Match B wekî encamek derveyî kar bike dema ku wekî encamek were mîheng kirin (DDB3 set). Pîneya OC1B ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ya berevajîkirî ye.

PCINT3: Pin Guhertina Çavkaniya Navberê 3.

Port B, Bit 2 - SCK/ADC1/T0/USCK/SCL/INT0/PCINT2

SCK: Derana Demjimêra Master, Pîna têketina Saetê ya Slave ji bo kanala SPI. Dema ku SPI wekî Slave tê çalak kirin, bêyî ku mîhengê DDB2-ê hebe ev pin wekî têketinek tê mîheng kirin. Dema ku SPI wekî Master tê çalak kirin, rêwerdana daneya vê pinê ji hêla DDPB2 ve tê kontrol kirin. Dema ku pin ji hêla SPI-ê ve tê neçar kirin ku bibe têketinek, vekişîn hîn jî dikare ji hêla bit PORTB2 ve were kontrol kirin.

ADC1: Veguherkerê analog bo dîjîtal, Kanal 1.

T0: Timer / Counter0 çavkaniya counter.

USCK: Moda sê-têl Saeta Navrûya Rêzeya Gerdûnî.

SCL: Ji bo moda du têl a USI Saeta Rêzefîlmê moda du-têl.

INT0: Çavkaniya qutkirina derve 0.

PCINT2: Pin Guhertina Çavkaniya Navberê 2.

Port B, Bit 1 - MISO/AIN1/OC0B/OC1A/DO/PCINT1

MISO: Ketina Daneyên Master, Pîneya derketina Daneyên xulamê ji bo kanala SPI. Dema ku SPI wekî Master were çalak kirin, ev pin bêyî ku mîhengê DDB1-ê hebe wekî têketinek tê mîheng kirin. Dema ku SPI wekî Slave tê çalak kirin, rêwerdana daneya vê pinê ji hêla DDB1 ve tê kontrol kirin. Dema ku pin ji hêla SPI-ê ve tê neçar kirin ku bibe têketinek, vekêşandin hîn jî dikare ji hêla bit PORTB1 ve were kontrol kirin.

AIN1: Ketina Neyînî ya Berhevkarê Analog. Pîneya portê wekî têketinê mîheng bikin ku bi vekişîna hundurîn ve hatî veqetandin da ku fonksiyona porta dîjîtal têkeve fonksiyona Berhevkara Analogê dûr bixe.

OC0B: Derket Compare Match encam. PB1 PB0 dikare ji bo Timer/Counter1 Compare Match B wekî encamek derveyî bixebite. Pêdivî ye ku pina PB1 wekî encamek (DDB0 set (yek)) were mîheng kirin da ku vê fonksiyonê bixebitîne. Pîneya OCXNUMXB ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ye.

OC1A: Hilbera Berhevberdana Maçê: PB1 PB1 dikare ji bo Timer/Counter1 Compare Match B wekî hilberek derveyî bixebite dema ku wekî encamek were mîheng kirin (DDB1 set). Pîneya OCXNUMXA ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ye.

DO: Moda sê-têl Hilberîna Daneyên Navbera Rêzeya Gerdûnî. Moda sê-têl Derketina daneyê ji nirxa PORTB1-ê derbas dike û dema ku bit-a arasteya daneyê DDB1 (yek) were danîn, ew ber bi portê ve tê ajotin. PORTB1 dîsa jî vekêşanê çalak dike, heke rêwerdan têkevin û PORTB1 (yek) were danîn.

PCINT1: Pin Guhertina Çavkaniya Navberê 1.

Porta B, Bit 0 - MOSI/AIN0/OC0A/OC1A/DI/SDA/AREF/PCINT0

MOSI: Derketina Daneyên Master SPI, Ketina Daneyên xulamê ji bo kanala SPI. Dema ku SPI wekî Slave tête çalak kirin, bêyî ku mîhengê DDB0-ê hebe ev pin wekî têketinek tê mîheng kirin. Dema ku SPI wekî Master tê çalak kirin, rêwerdana daneya vê pinê ji hêla DDB0 ve tê kontrol kirin. Dema ku pin ji hêla SPI-ê ve tê neçar kirin ku bibe têketinek, vekêşandin hîn jî dikare ji hêla bit PORTB0 ve were kontrol kirin.

AIN0: Têketina Erênî ya Berhevkarê Analog. Pîneya portê wekî têketinê mîheng bikin ku bi vekişîna hundurîn ve hatî veqetandin da ku fonksiyona porta dîjîtal têkeve fonksiyona Berhevkara Analogê dûr bixe.

OC0A: Derketin Compare Match encam. PB0 PB0 dikare ji bo Timer/Counter0 Compare Match A wekî derkeftinek derveyî bixebite dema ku wekî encamek were mîheng kirin (DDB0 set (yek)). Pîneya OCXNUMXA ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ye.

OC1A: Hilbera Berberî Berhevberhevkirina Maçê: PB0 PB1 dikare ji bo Timer/Counter0 Compare Match B wekî hilberek derveyî kar bike dema ku wekî encamek were mîheng kirin (DDB1 set). Pîneya OCXNUMXA ji bo fonksiyona demjimêra moda PWM di heman demê de pîneya derketinê ya berevajîkirî ye.

SDA: Moda du-wire Daneyên Navrûya Serî.

AREF: Ji bo ADC Çavkaniya Analogê ya Derveyî. Dema ku pînê wekî referansa derveyî an Volê Navxweyî tê bikar anîn li PB0-ê ajokera vekişînê û derketinê neçalak dibin.tage Referansa bi kondensatorê derve li pin AREF.

DI: Ketina daneyê di moda sê-têl de ya USI. Moda sê-têl USI fonksiyonên portê yên normal derbas nake, ji ber vê yekê pêdivî ye ku pin wekî têketinek ji bo fonksiyona DI were mîheng kirin.

PCINT0: Pin Guhertina Çavkaniya Navberê 0.

Tabloya 10-4 û Tabloya 10-5 fonksiyonên cîhêreng ên Port B bi nîşaneyên sereke yên ku tê de têne xuyang kirin ve girêbide Wêne 10-5 li ser rûpel 58.

Tablo 10-4. Ji bo fonksiyonên alternatîf di PB de îşaretên serdest [5:3]

Navê sînyala PB5 / RESET / ADC0 / PCINT5 PB4/ADC2/XTAL2/ OC1B/PCINT4 PB3/ADC3/XTAL1/ OC1B/PCINT3
PUOE

RSTDISBL(1) • DWEN(1)

0 0
PUOV 1 0 0
DDOE RSTDISBL(1) • DWEN(1) 0 0
DDOV debugWire Veguheztin 0 0
PVOE 0 OC1B Çalak bike

OC1B Çalak bike

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 Têketina PCINT5 Têketina PCINT4 Têketina PCINT3
AIO Ketina RESET, Ketina ADC0 ADC2 Input ADC3 Input

Nîşe: dema sîgorte "0" be (Bernamekirî).

Tablo 10-5. Ji bo fonksiyonên alternatîf di PB de îşaretên serdest [2:0]

Navê sînyala 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 Çalak + OC1A Çalak + USI_THREE_WIRE

OC0A Çalak + OC1A Çalak + (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/

Têketina PCINT2

Têketina PCINT1 DI / SDA / PCINT0 Input
AIO ADC1 Input Analog Comparator Input Neyînî Analog Comparator Input erênî

Register Description

MCUCR - Tomara Kontrola MCU

Gem 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 BODSE ISC01 ISC00 MCUCR
Xwendin/Nivîsandin R R/W R/W R/W R/W R R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

Bit 6 - PUD: Vekêşana Neçalak bike

Dema ku ev bit ji yekê re were nivîsandin, di benderên I/O de kêşan têne neçalak kirin tevî ku Tomarên DDxn û PORTxn ji bo çalakkirina kişandinan hatine mîheng kirin ({DDxn, PORTxn} = 0b01). Dîtin "Pinavakirina Pin" li ser rûpela 54 ji bo bêtir agahdarî li ser vê taybetmendiyê.

PORTB - Tomara Daneyên Port B

Gem 7 6 5 4 3 2 1 0
0x18 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 PORTB
Xwendin/Nivîsandin R R R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

DDRB - Port B Tomara Direction Data

Gem 7 6 5 4 3 2 1 0
0x17 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 DDRB
Xwendin/Nivîsandin R R R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 0 0 0 0 0 0

PINB - Port B Navnîşana Pînên Ketinê

Gem 7 6 5 4 3 2 1 0
0x16 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0 PINB
Xwendin/Nivîsandin R R R/W R/W R/W R/W R/W R/W
Nirxa Destpêkê 0 0 N/A N/A N/A N/A N/A N/A

8-bit Timer / Counter0 bi PWM

Features

Du Yekeyên Hilberîna Serbixwe Berhev Bikin

Qeydên Berhevberkirina Hilbera Ducarî Buffered

Demjimêr Paqij bike li ser Hevberdanê (Nûbarkirina Xweser)

Modulatora Peliya Pêla Rast a Qonaxê (PWM) ya Belaş

Serdema PWM ya Guherbar

Generator Frequency

Sê Çavkaniyên Navxweyî yên Serbixwe (TOV0, OCF0A, û OCF0B)

Serview

Demjimêr / Counter0 modulek Timer / Counter 8-bit mebesta gelemperî ye, bi du Yekeyên Berhevberdana Derketinê yên serbixwe, û bi piştgiriya PWM. Ew destûrê dide dema pêkanîna bernameyê ya rast (rêveberiya bûyerê) û hilberîna pêlê.

Diagramek blokê ya hêsankirî ya Timer/Hejmarek 8-bit tê xuyang kirin jimar 11-1. Ji bo cîhkirina rastîn a pinên I/O, serî lê bidin "Pinout ATtiny25/45/85" li ser rûpela 2. Qeydên I/O yên gihîştî CPU, tevî bitsên I/O û pinên I/O, bi qelew têne xuyang kirin. Qeyda I/O-ya-taybetî û cîhên bit di nav de têne navnîş kirin Li ser rûpela 77-ê "Tivîskirina Qeydkirinê"..

Demjimêr/Hejmar (TCNT0) û Tomarên Berhevberdana Derketinê (OCR0A û OCR0B) qeydên 8-bit in. Daxwaza navberê (di wêneyê de bi kurteya Int.Req.) îşaret hemî di Tomara Alaya Veqetandinê ya Timer (TIFR) de xuya dibin. Hemî navber bi ferdî bi Tomara Maskeya Navbirî ya Timer (TIMSK) têne mask kirin. TIFR û TIMSK di wêneyê de nayên nîşandan.

Demjimêr/Hejmar dikare di hundurê xwe de, bi riya pêşekkalerê, an ji hêla çavkaniyek demjimêrek derveyî ya li ser pina T0 ve were demjimêr kirin. Bloka mantiqê ya Hilbijartina Saetê kontrol dike ka kîjan çavkaniya demjimêrê û keviya demjimêr/hejmar bikar tîne da ku nirxa xwe zêde bike (an kêm bike). Dema ku çavkaniyek demjimêrê neyê hilbijartin, Demjimêr/Hejmar neçalak e. Derketina ji mantiqa Hilbijartina Saetê wekî demjimêra demjimêr (clkT0) tê binav kirin.

Qeydên Berhevberdana Hilberanê yên ducarkirî (OCR0A û OCR0B) her dem bi nirxa Demjimêr/Hejmarker re têne berhev kirin. Encama berhevdanê dikare ji hêla Generatora Waveformê ve were bikar anîn da ku li ser pinên Berhevberdana Derketî (OC0A û OC0B) PWM an hilberek frekansa guhêrbar çêbike. Binêre "Yekîneya Berhevdana Derketinê" li ser rûpela 69. ji bo hûragahiyan. Bûyera Compare Match dê di heman demê de Ala Berhevberdanê (OCF0A an OCF0B) destnîşan bike ku dikare were bikar anîn da ku daxwazek qutbûnê ya Berhevberdana Derketinê çêbike.

Definitions

Di vê beşê de gelek qeyd û referansên bit bi forma gelemperî têne nivîsandin. Pîvana piçûk "n" dikeve şûna jimareya Demjimêr/Hejmarker, di vê rewşê de 0. Pîvana piçûk "x" şûna Yekîneya Berhevberdana Derketinê digire, di vê rewşê de Yekîneya A berhev bike an Yekîneya B bide ber hev. Lêbelê dema ku tomar an bit bikar tîne diyar dike. di bernameyekê de, divê forma rast were bikar anîn, ango, TCNT0 ji bo gihîştina nirxa dijî Timer/Counter0 û hwd.

Pênaseyên di Tabloya 11-1 di heman demê de li seranserê belgeyê bi berfirehî têne bikar anîn.

Tabloya 11-1. Definitions

Çikyayî Terîf
ERD Dema ku dibe 0x00 jimarvan digihîje BOTTOM
MAX Dema ku dibe 0xFF (dehanî 255) jimarvan digihîje herî zêde ya xwe.
KOP Dema ku di rêza hejmartinê de bi nirxa herî bilind re bibe wekhev digihîje TOP. Nirxa TOP dikare wekî nirxa sabît 0xFF (MAX) an nirxa ku di Tomara OCR0A de hatî hilanîn were destnîşan kirin. Vebijêrk bi awayê xebatê ve girêdayî ye

Timer / Counter Prescaler û Çavkaniyên Saetê

Demjimêr/Hejmar dikare ji hêla çavkaniyek demjimêrê ya hundurîn an derveyî ve were demjimêr kirin. Çavkaniya demjimêrê ji hêla mantiqa Hilbijartina Saetê ve tê hilbijartin ku ji hêla Bitikên Hilbijartina Saetê (c) ve tê kontrol kirin ku di Tomara Kontrolê ya Timer/Counter0 (TCCR0B) de ne.

Çavkaniya Saeta Navxweyî bi Prescaler

Demjimêr / Counter0 dikare rasterast ji hêla demjimêra pergalê ve were demjimêr kirin (bi danîna CS0[2:0] = 1). Ev operasyona herî bilez peyda dike, bi frekansa demjimêra herî zêde ya demjimêr / jimarvan ku bi frekansa demjimêra pergalê (fCLK_I/O) re wekhev e. Wekî din, yek ji çar tapên ji prescaler dikare wekî çavkaniyek demjimêrê were bikar anîn. Saeta pêşwextkirî frekansa her duyan heye

Prescaler Reset

Prescaler belaş dimeşe, ango ew ji mantiqa Hilbijartina Saetê ya Timer/Counter0 serbixwe dixebite. Ji ber ku pîvana pêşîn ji hêla hilbijartina demjimêr/hejmaran ve nayê bandor kirin, rewşa pêşpîvanker dê bandorek li rewşên ku demjimêrek pêşwextkirî tê bikar anîn hebe. Yek berêampDema ku demjimar/hejmar ji hêla pêşkêşkerê ve tê çalak kirin û demjimêrkek pêşdibistanê ye (6 > CS0[2:0] > 1). Hejmara çerxên demjimêra pergalê ji dema ku demjimêr tê çalak kirin heya hejmartina yekem pêk tê dikare ji 1 heya N+1 çerxên demjimêra pergalê be, ku N bi dabeşkera pêşaqilker (8, 64, 256, an 1024) wekhev e.

Mimkun e ku meriv Prescaler Reset ji bo hevdengkirina Demjimêr/Hejmar ji bo pêkanîna bernameyê bikar bîne.

Çavkaniya Saetê Derveyî

Çavkaniyek demjimêrek derveyî ya ku li ser pina T0-ê hatî sepandin dikare wekî demjimêra demjimêr / jimarvan (clkT0) were bikar anîn. Pîneya T0 s eampher çerxa demjimêra pergalê carekê ji hêla mantiqa hevdengkirina pin ve tê rêve kirin. Hevdemkirî (sampled) sînyala paşê derbas dibe

bi rêya detektora qiraxa. jimar 11-2 Diagramek blokê ya fonksîyonel a hevdengkirina T0 û mantiqa detektora qiraxê nîşan dide. Qeyd li kêleka erênî ya demjimêra pergala hundurîn (clkI/O) têne demjimêr kirin. Kevir di heyama bilind a demjimêra pergala hundurîn de zelal e.

Dedektora qeraxê ji bo her kêlekek erênî (CS0[0:2] = 0) an neyînî (CS7[0:2] = 0) ku ew tespît dike, pêlek clkT6 çêdike.

Tomarên OCR0x dema ku yek ji awayên Modulasyona Berfirehiya Pulsê (PWM) bikar tînin ducar têne tampon kirin. Ji bo modên xebatê yên normal û Paqijkirina Demjimêr li ser Hevberdanê (CTC), tamponkirina ducarî neçalak e. Tamponkirina ducarî nûvekirina Tomarên Hevberdanê yên OCR0x li ser rêza hejmartinê ya jorîn an jî binî hevdem dike. Hevdemkirin rê li ber rûdana pêlên PWM-ê yên bi dirêjiya cewherî, ne-simetrîk digire, bi vî rengî derketinê bê şikestin dike.

Dibe ku gihîştina Tomara OCR0x tevlihev xuya bike, lê ev ne wusa ye. Dema ku tamponkirina ducarî çalak be, CPU bigihîje Tomara Tamponê ya OCR0x, û heke tamponkirina ducarî neçalak bibe CPU dê rasterast bigihîje OCR0x.

Derketina Hêza Berawirdî

Di modên hilberîna pêlên ne-PWM de, derketina hevberdanê ya berhevkarê dikare bi nivîsandina yek li ser bit Berhevkirina Derketina Hêzê (FOC0x) were zor kirin. Bi zorêkirina Hevberdanê dê Ala OCF0x saz neke an demjimêrê ji nû ve bar bike/paqij bike, lê pîneya OC0x dê were nûve kirin mîna ku Maçek Berawirdî ya rastîn çêbibe (mîhengên bitsên COM0x[1:0] diyar dikin ka pina OC0x hatî danîn, paqij kirin an veqetandî).

Astengkirina Maçê ya ji hêla TCNT0 Write ve berhev bikin

Hemî operasyonên nivîsandina CPU-yê yên li Tomara TCNT0-ê dê her Maçkirina Berawirdî ya ku di çerxa demjimêra demjimêra din de çêdibe asteng bike, tewra dema ku demjimêr raweste jî. Ev taybetmendî dihêle ku OCR0x bi heman nirxê wekî TCNT0 were destpêkirin bêyî ku gava demjimêra Demjimêr/Hejmar were çalak kirin qutiyek çêbike.

Bikaranîna Unit Compare Output

Ji ber ku nivîsandina TCNT0 di her awayê xebitandinê de dê hemî Maçên Berawirdî ji bo yek çerxa demjimêra demjimêrê asteng bike, dema ku TCNT0 bi kar tînin dema Yekîneya Berhevberdana Derketinê bi kar tînin, xeternak hene, bêyî ku demjimêr/Hejmar dimeşe an na. Ger nirxa ku ji TCNT0 re hatî nivîsandin bi nirxa OCR0x re be, dê Hevberdana Hevberî winda bibe, û di encamê de çêkirina pêlê çewt çêbibe. Bi heman awayî, dema ku jimarvan kêm-hejmar e, nirxa TCNT0 bi BOTTOM re wekhev nenivîsin.

Pêdivî ye ku sazkirina OC0x berî sazkirina Tomara Rêvebiriya Daneyê ji bo deranîna pina portê were kirin. Rêya herî hêsan a danîna nirxa OC0x ev e ku meriv di moda Normal de bitkên strobeyê yên Berhevberdana Hêzê (FOC0x) bikar bîne. Qeydên OC0x nirxên xwe diparêzin tewra dema ku di navbera modên Hilberîna Waveform de diguhezin.

Hay ji xwe hebin ku bitsên COM0x[1:0] bi nirxa berhevdanê re ducarî ne tampon in. Guhertina COM0x[1:0] bit dê tavilê bikeve meriyetê.

Compare Match Output Unit

Bitên moda Hilbera Berawirdî (COM0x[1:0]) du fonksiyon hene. Generatora Waveform bitsên COM0x[1:0] bikar tîne ji bo diyarkirina rewşa Berhevberdana Derketinê (OC0x) di Maça Berhevkirinê ya paşîn de. Di heman demê de, bitsên COM0x [1: 0] çavkaniya derketina pin OC0x kontrol dikin. jimar 11-6 şematokek hêsankirî ya mantiqa ku ji hêla mîhenga bit COM0x[1:0] ve hatî bandor kirin nîşan dide. Qeydên I/O, bitên I/O, û Pînên I/O yên di wêneyê de bi qelew têne xuyang kirin. Tenê beşên Tomarên Kontrola Portê ya I/O ya giştî (DDR û PORT) yên ku ji hêla bitsên COM0x[1:0] ve têne bandor kirin têne xuyang kirin. Dema ku behsa dewleta OC0x tê kirin, referans ji bo Tomara OC0x ya hundurîn e, ne ji pina OC0x re. Ger vesazkirina pergalê çêbibe, Tomara OC0x li "0" tê vegerandin.

Dema ku OC0A/OC0B bi pîneya I/O ve girêdayî ye, fonksiyona bitsên COM0A[1:0]/COM0B[1:0] bi mîhenga bitê ya WGM0[2:0] ve girêdayî ye. Tabloya 11-2 dema ku bitsên WGM0 [1:0] li ser moda normal an CTC (ne-PWM) têne danîn, fonksiyona bit COM0x[2:0] nîşan dide.

Tablo 11-2. Moda Derketinê, Moda ne-PWM bidin hev

COM0A1 COM0B1 COM0A0 COM0B0 Terîf
0 0 Operasyona porta normal, OC0A/OC0B veqetandî.
0 1 OC0A/OC0B li ser Hevberdana Maçê biguherînin
1 0 OC0A/OC0B li ser Hevberdana Maçê paqij bikin
1 1 OC0A/OC0B li ser Hevberdana Maçê bicîh bikin

Tabloya 11-3 Dema ku bitsên WGM0 [1:0] li ser moda PWM ya bilez têne danîn, fonksiyona bit COM0x[2:0] nîşan dide.

Tablo 11-3. Moda Derketinê, Moda PWM ya Zûtir bidin ber hev(1)

COM0A1 COM0B1 COM0A0 COM0B0 Terîf
0 0 Operasyona porta normal, OC0A/OC0B veqetandî.
0 1 Reserved
1 0 OC0A/OC0B li ser berhevdana berhevkirinê paqij bikin, OC0A/OC0B li JÊRÊ bicîh bikin (moda nebervegere)
1 1 OC0A/OC0B li ser Hevberdana Hevberdanê bicîh bikin, OC0A/OC0B li JÊRÊ paqij bikin (moda berevajîkirinê)

Nîşe: Dema ku OCR0A an OCR0B wekî TOP û COM0A1/COM0B1 tê danîn, rewşek taybetî çêdibe. Di vê rewşê de, hevberdana berhevkirî tê paşguh kirin, lê danasîn an zelal li BOTTOM tê kirin. Dîtin "Moda PWM ya Zû" li ser rûpela 73 ji bo bêtir agahdarî.

Tabloya 11-4 Dema ku bitsên WGM0[1:0] di moda PWM ya rast de têne danîn, fonksiyona bit COM0x[2:0] nîşan dide.

Tablo 11-4. Moda Derketinê, Moda PWM ya Rast a Qonaxê bidin ber hev(1)

COM0A1 COM0B1 COM0A0 COM0B0 Terîf
0 0 Operasyona porta normal, OC0A/OC0B veqetandî.
0 1 Reserved
1 0 Dema ku têne hejmartin, OC0A/OC0B li ser Hevberdana Maçê paqij bikin. OC0A/OC0B li ser Compare Match dema ku dakêşin-jimartin saz bikin.
1 1 Dema ku têne hejmartin OC0A/OC0B li ser Hevberdana Matchê bicîh bikin. OC0A/OC0B li ser Compare Match dema dakêşanê paqij bikin.

Nîşe: 1. Dema ku OCR0A an OCR0B wekî TOP û COM0A1/COM0B1 were danîn, rewşek taybetî çêdibe. Di vê rewşê de, Maça Hevberdanê tê paşguh kirin, lê set an zelal li TOP tê kirin. Dîtin "Moda PWM ya Rastiya Qonaxê" li ser rûpela 74 ji bo bêtir agahdarî.

Bit 3:2 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 1:0 - WGM0[1:0]: Moda Nifşa Pêl

Bi bit WGM02 ya ku di Tomara TCCR0B de tê dîtin re, ev bit rêza hejmartina hejmartinê, çavkaniya nirxa hejmarê ya herî zêde (TOP) kontrol dikin, û çi celeb hilberîna pêlê ku were bikar anîn, binêre. Tabloya 11-5. Modên xebatê yên ku ji hêla yekîneya Demjimêr/Hejmar ve têne piştgirî kirin ev in: Moda normal (hejmar), Demjimêra Paqij li ser moda Hevberdanê (CTC) û du celeb modên Modulasyona Berfirehiya Pulsê (PWM) (binêre "Rewşên operasyonê" li ser rûpela 71).

Tablo 11-5. Daxuyaniya Bit Mode Generation Waveform

Awa WGM 02 WGM 01 WGM 00 Timer / Counter Mode of Operation KOP Nûvekirina OCRx li TOV Flag Set li ser
0 0 0 0 Normal 0xFF Derhal MAX(1)
1 0 0 1 PWM, Qonaxa Rast 0xFF KOP ERD(2)
2 0 1 0 CTC OCRA Derhal MAX(1)
3 0 1 1 Fast PWM 0xFF ERD(2) MAX(1)
4 1 0 0 Reserved
5 1 0 1 PWM, Qonaxa Rast OCRA KOP ERD(2)
6 1 1 0 Reserved
7 1 1 1 Fast PWM OCRA ERD(2) KOP

Bit 7 - FOC0A: Derketina Hêz Berhev A

Bit FOC0A tenê dema ku bitsên WGM moda ne-PWM diyar dikin çalak e.

Lêbelê, ji bo misogerkirina lihevhatina bi cîhazên paşerojê re, dema ku TCCR0B di moda PWM de dixebite divê ev bit li sifir were danîn. Dema ku yek mentiqî li bit FOC0A dinivîsin, hevberhevkirinek tavilê li ser yekîneya Nifşê Pêl tê ferz kirin. Derketina OC0A li gorî mîhenga bitsên wê COM0A[1:0] tê guhertin. Têbînî ku bit FOC0A wekî strobe tête bicîh kirin. Ji ber vê yekê ew nirxa ku di bitsên COM0A[1:0] de heye ye ku bandora berhevdana zorê diyar dike.

Strobek FOC0A dê tu navberê çê neke, ne jî dê demjimêr di moda CTC de bi karanîna OCR0A wekî TOP paqij bike. Bit FOC0A her tim wekî sifir tê xwendin.

Bit 6 - FOC0B: Derketina Hêza Berawirdî B

Bit FOC0B tenê dema ku bitsên WGM moda ne-PWM diyar dikin çalak e.

Lêbelê, ji bo misogerkirina lihevhatina bi cîhazên paşerojê re, dema ku TCCR0B di moda PWM de dixebite divê ev bit li sifir were danîn. Dema ku yek mentiqî li bit FOC0B dinivîsin, hevberhevkirinek tavilê li ser yekîneya Nifşê Pêl tê ferz kirin. Derketina OC0B li gorî mîhenga bitsên wê COM0B[1:0] tê guhertin. Têbînî ku bit FOC0B wekî strobe tête bicîh kirin. Ji ber vê yekê ew nirxa ku di bitsên COM0B[1:0] de heye ye ku bandora berhevdana zorê diyar dike.

Strobek FOC0B dê ti qutbûnê çê neke, ne jî dê demjimêr di moda CTC de bi karanîna OCR0B wekî TOP paqij bike.

Bit FOC0B her tim wekî sifir tê xwendin.

Bit 5:4 - Bers: Bitikên Parastî

Van bit di ATtiny25/45/85 de bit parastî ne û dê her gav wekî sifir bixwînin.

Bit 3 - WGM02: Moda Nifşa Pêl

Danasîn di nav de bibînin "TCCR0A - Tomara Kontrola Demjimêr/Konter A" di rûpela 77 de.

Bit 2:0 - CS0[2:0]: Saet Hilbijêre

Sê bitên Hilbijartina Saetê çavkaniya demjimêrê hilbijêrin ku ji hêla Demjimêr/Hejmarker ve were bikar anîn.

Tabloya 11-6. Saet Hilbijêre Bit Description

CS02 CS01 CS00 Terîf
0 0 0 Çavkaniya saetê tune (Timer/Hejmar rawestiyaye)
0 0 1 clkI/O/(Pêşkêşkirin tune)
0 1 0 clkI/O/8 (Ji prescaler)
0 1 1 clkI/O/64 (Ji prescaler)
1 0 0 clkI/O/256 (Ji prescaler)
1 0 1 clkI/O/1024 (Ji prescaler)
1 1 0 Çavkaniya demjimêra derveyî li ser T0 pin. Saet li qiraxa dikeve.
1 1 1 Çavkaniya demjimêra derveyî li ser T0 pin. Saet li qiraxa bilindbûnê.

Ger modên pînê yên derve ji bo Timer/Counter0 werin bikar anîn, veguheztinên li ser pina T0 dê jimarvan biqewirîne jî heke pîne wekî encamek were mîheng kirin. Ev taybetmendî destûrê dide kontrolkirina nermalavê ya hejmartinê.

Yekîneyên Counter û Compare

Operasyona giştî ya Timer/Counter1 di moda asynchronous de tê şirove kirin û operasyona di moda hevdem de tenê heke di navbera van her du awayan de cûdahî hebin tê behs kirin. jimar 12-2 Demjimêr/Hejmar 1 diagrama bloka qeyda hevdemkirinê û derengbûna hevdemkirinê di navbera qeydan de nîşan dide. Bala xwe bidinê ku hemî hûrguliyên deriyê demjimêrê di wêneyê de nayên xuyang kirin. Nirxên qeyda Timer/Counter1 di nav qeydên hevdemkirinê yên hundurîn re derbas dibin, ku dibe sedema derengiya hevdengkirina têketinê, berî ku bandorê li operasyona jimarvan bike. Tomarên TCCR1, GTCCR, OCR1A, OCR1B, û OCR1C dikarin piştî nivîsandina qeydê rast paşde werin xwendin. Nirxên paşdexwendinê ji bo tomar û alayên Timer/Counter1 (TCNT1) (OCF1A, OCF1B, û TOV1) dereng dimînin, ji ber hevdemkirina ketin û derketinê.

Demjimêr / Counter1 bi derfetên kêmkirina pêşdîtinê re çareseriyek bilind û karanîna rastbûna bilind vedihewîne. Di heman demê de ew dikare du Modulatorên Berfirehiya Pulsê yên 8-bit ên rast, bilez piştgirî bike ku bi leza demjimêrê heya 64 MHz (an 32 MHz di Moda Leza Kêm de) bikar tînin. Di vê modê de, Demjimêr/Hejmar1 û tomarên berhevdanê yên derketinê wekî PWM-yên dualî yên serbixwe bi derketinên ne-veger û berovajîkirî yên ku li hev nayên hevdu dikin. Binêre rûpel 86 ji bo danasîna berfireh li ser vê fonksiyonê. Bi heman rengî, fersendên pêşdibistanên bilind vê yekîneyê ji bo fonksiyonên leza kêmtir an fonksiyonên demsaziya rastîn ên bi çalakiyên kêm caran bikêr dikin.

jimar 12-2. Demjimêr / Counter 1 Hevdemkirinê Tomar Block Diagram.

Demjimêr/Hejmar1 û pêskaler rê didin ku CPU ji her çavkaniyek demjimêrê were xebitandin dema ku pêşkêşker li ser demjimêra bilez a 64 MHz (an 32 MHz di Moda Leza Kêm de) demjimêra PCK-ê di moda asynkron de dixebite.

Bala xwe bidinê ku frekansa demjimêra pergalê divê ji sêyeka frekansa PCK kêmtir be. Dema ku demjimêra pergalê bilind be, mekanîzmaya hevdemkirinê ya Timer/Counter1 ya asînkron bi kêmî ve du keviyên PCK-ê hewce dike. Ger frekansa demjimêra pergalê pir zêde be, xeterek e ku dane an nirxên kontrolê winda bibin.

Jêrîn jimar 12-3 diyagrama blokê ya Timer/Counter1 nîşan dide.

Tablo 12-1. Moda Berawirdî Di Moda PWM de Hilbijêre

COM1x1 COM1x0 Bandora li ser Pînên Berhevkirina Hilberê
0 0 OC1x ne girêdayî ye. OC1x ne girêdayî ye.
0 1 OC1x li ser berhevoka berhevdanê hate paqij kirin. Dema kuTCNT1 = 00 $ destnîşan bike. OC1x li ser hevberdana berhevkirî hatî danîn. Dema ku TCNT1 = $00 hate paqij kirin.
1 0 OC1x li ser berhevoka berhevdanê hate paqij kirin. Dema ku TCNT1 = $00 destnîşan bike. OC1x ne girêdayî ye.
1 1 OC1x Set li ser berhevdana match. Dema ku TCNT1 = $00 hate paqij kirin. OC1x ne girêdayî ye.

Taybetmendiyên ADC

Tabloya 21-8. Taybetmendiyên ADC, Kanalên Yekgirtî. TA = -40°C heta +85°C

Nîşan Parametre Rewş Min Tîp Max Units
Resolution 10 Bits
Rastiya bêkêmasî (Di nav de INL, DNL, ​​û xeletiyên Quantîzasyon, Qezenc û Offset) VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

2 LSB
VREF = 4V, VCC = 4V,

demjimêra ADC = 1 MHz

3 LSB
VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

Moda Kêmkirina Deng

1.5 LSB
VREF = 4V, VCC = 4V,

demjimêra ADC = 1 MHz

Moda Kêmkirina Deng

2.5 LSB
Ne-xêziya entegre (INL) (Rastbûna piştî kalibrasyonê û qezenckirinê) VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

1 LSB
Cûdahiya ne-xêzikî (DNL) VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

0.5 LSB
Gain Error VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

2.5 LSB
Çewtiya Offset VREF = 4V, VCC = 4V,

Saeta ADC = 200 kHz

1.5 LSB
Dema veguherînê Veguherîna Rêvekirina Belaş 14 280 μs
Clock Frequency 50 1000 kHz
VIN Volta Inputtage GND VREF V
Bandwidth Input 38.4 kHz
AREF Çavkaniya Derveyî Voltage 2.0 VCC V
VINT Navxweyî Voltage Çavkanî 1.0 1.1 1.2 V
Navxweyî 2.56V Çavkanî (1) VCC > 3.0V 2.3 2.56 2.8 V
RREF 32
BARAN Berxwedana Input Analog 100
Derketina ADC 0 1023 LSB

Nîşe: 1. Nirx tenê rêbername ne.

Tablo 21-9. Taybetmendiyên ADC, Kanalên Cûdahî (Moda Yekpolar). TA = -40°C heta +85°C

Nîşan Parametre Rewş Min Tîp Max Units
Resolution Qezenc = 1x 10 Bits
Qezenc = 20x 10 Bits
Rastiya bêkêmasî (Tevlî INL, DNL, ​​û

Çewtiyên Quantîzasyon, Qezenc û Tevlihevkirinê)

Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

10.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

20.0 LSB
Nexetiya întegral (INL) (Rastbûna piştî Kalibrasyona Offset û Qezencê) Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

4.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

10.0 LSB
Gain Error Qezenc = 1x 10.0 LSB
Qezenc = 20x 15.0 LSB
Çewtiya Offset Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

3.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

4.0 LSB
Dema veguherînê Veguherîna Rêvekirina Belaş 70 280 μs
Clock Frequency 50 200 kHz
VIN Volta Inputtage GND VCC V
VDIFF Input Differential Voltage VREF / Qezenc V
Bandwidth Input 4 kHz
AREF Çavkaniya Derveyî Voltage 2.0 VCC - 1.0 V
VINT Navxweyî Voltage Çavkanî 1.0 1.1 1.2 V
Navxweyî 2.56V Çavkanî (1) VCC > 3.0V 2.3 2.56 2.8 V
RREF Reference Input Berxwedana 32
BARAN Berxwedana Input Analog 100
ADC Veguheztina Output 0 1023 LSB

Nîşe: Nirx tenê rêbername ne.

Tablo 21-10. Taybetmendiyên ADC, Kanalên Cûda (Moda Bipolar). TA = -40°C heta +85°C

Nîşan Parametre Rewş Min Tîp Max Units
Resolution Qezenc = 1x 10 Bits
Qezenc = 20x 10 Bits
Rastiya bêkêmasî (Tevlî INL, DNL, ​​û

Çewtiyên Quantîzasyon, Qezenc û Tevlihevkirinê)

Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

8.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

8.0 LSB
Nexetiya întegral (INL) (Rastbûna piştî Kalibrasyona Offset û Qezencê) Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

4.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

5.0 LSB
Gain Error Qezenc = 1x 4.0 LSB
Qezenc = 20x 5.0 LSB
Çewtiya Offset Qezenc = 1x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

3.0 LSB
Qezenc = 20x

VREF = 4V, VCC = 5V

Saeta ADC = 50 - 200 kHz

4.0 LSB
Dema veguherînê Veguherîna Rêvekirina Belaş 70 280 μs
Clock Frequency 50 200 kHz
VIN Volta Inputtage GND VCC V
VDIFF Input Differential Voltage VREF / Qezenc V
Bandwidth Input 4 kHz
AREF Çavkaniya Derveyî Voltage 2.0 VCC - 1.0 V
VINT Navxweyî Voltage Çavkanî 1.0 1.1 1.2 V
Navxweyî 2.56V Çavkanî (1) VCC > 3.0V 2.3 2.56 2.8 V
RREF Reference Input Berxwedana 32
BARAN Berxwedana Input Analog 100
ADC Veguheztina Output -512 511 LSB

Instruction Set Summary

Mnemonics Operands Terîf Emelî Flags #Clocks
RÊBAZÊN HESIM Û MANTIQÎ
LÊZÊDEKIRIN Rd, Rr Du tomar zêde bikin Rd ← Rd + Rr Z,C,N,V,H 1
ADC Rd, Rr Bi Hilgirtina du Tomaran re zêde bikin Rd ← Rd + Rr + C Z,C,N,V,H 1
ADIW Rdl, K Yekser li Wordê zêde bikin Rdh:Rdl ← Rdh:Rdl + K Z,C,N,V,S 2
SUB Rd, Rr Du qeydan jê bikin Rd ← Rd – Rr Z,C,N,V,H 1
SUBI Rd, K Berdewamî ji Qeydê derxînin Rd ← Rd – K Z,C,N,V,H 1
SBC Rd, Rr Bi Hilgirtina du Tomaran kêm bikin Rd ← Rd – Rr – C Z,C,N,V,H 1
SBCI Rd, K Bi Carry Constant ji Reg. Rd ← Rd – K – C Z,C,N,V,H 1
SBIW Rdl, K Yekser ji Peyv derxin Rdh:Rdl ← Rdh:Rdl – K Z,C,N,V,S 2
Û Rd, Rr Logical Û Tomar Rd ← Rd ∙ Rr Z,N,V 1
Û EZ Rd, K Logical AND Register û Constant Rd ← Rd ∙ K Z,N,V 1
OR Rd, Rr Logical OR Registers Rd ← Rd v Rr Z,N,V 1
ORI Rd, K Logical OR Register û Constant Rd ← Rd v K Z,N,V 1
EOR Rd, Rr Exclusive OR Registers Rd ← Rd ⊕ Rr Z,N,V 1
COM Rd Pêvek yek Rd ← 0xFF − Rd Z,C,N,V 1
NEG Rd Pêkhatina Du Rd ← 0x00 − Rd Z,C,N,V,H 1
SBR Rd, K Bit(ên) di qeydê de bicîh bikin Rd ← Rd v K Z,N,V 1
CBR Rd, K Di Qeydê de Bit(ên) paqij bike Rd ← Rd ∙ (0xFF – K) Z,N,V 1
INC Rd Zêdebûn Rd ← Rd + 1 Z,N,V 1
DEC Rd Kêmkirin Rd ← Rd − 1 Z,N,V 1
TST Rd Test ji bo Zero an Minus Rd ← Rd ∙ Rd Z,N,V 1
CLR Rd Tomarê paqij bike Rd ← Rd ⊕ Rd Z,N,V 1
SER Rd Set Register Rd ← 0xFF Netû 1
BRANCH INSTRUCTIONS
RJMP k Jump nisbî PC ← PC + k + 1 Netû 2
IJMP Biçe nerasterast ber bi (Z) PC ← Z Netû 2
RCALL k Banga Subroutine têkildar PC ← PC + k + 1 Netû 3
ICALL Banga nerasterast bo (Z) PC ← Z Netû 3
RET Vegera Subroutine PC ← STACK Netû 4
RETI Biqede Vegere PC ← STACK I 4
CPSE Rd, Rr Berawird bikin, Ger Wekhev bihêlin heke (Rd = Rr) PC ← PC + 2 an 3 Netû 1
CP Rd, Rr Mûqayesekirin Rd - Rr Z, N,V,C,H 1
CPC Rd, Rr Bi Carry re berhev bikin Rd - Rr - C Z, N,V,C,H 1
CPI Rd, K Qeydkirina bi Yekser re berhev bikin Rd - K Z, N,V,C,H 1
SBRC Rr, b Ger Bit di Tomarê de Paqij bibe biavêje heke (Rr(b)=0) PC ← PC + 2 an 3 Netû 1
SBRS Rr, b Ger Bit di Qeydê de Set be derbas bibe heke (Rr(b)=1) PC ← PC + 2 an 3 Netû 1
SBIC P, b Ger Bit di qeyda I/O-yê de Paqij be biavêje heke (P(b)=0) PC ← PC + 2 an 3 Netû 1
SBIS P, b Ger Bit di Qeyda I/O de were Sazkirin derbas bibe heke (P(b)=1) PC ← PC + 2 an 3 Netû 1
BRBS s, k Şaxa eger Status Flag Set heke (SREG(s) = 1) wê demê PC←PC+k + 1 Netû 1/2
BRBC s, k Şaxa eger Status Flag Paqijkirin heke (SREG(s) = 0) wê demê PC←PC+k + 1 Netû 1/2
BREQ k Şaxa eger Wekhev heke (Z = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRNE k Şax eger Ne Wekhev heke (Z = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRCS k Şaxa eger Hilgirtina Set heke (C = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRCC k Şaxa eger Hilgirtin Cleared heke (C = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRSH k Şax heke Heman an Bilindtir be heke (C = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRLO k Şaxa eger Jêrîn heke (C = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRMI k Şaxa eger Minus heke (N = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRPL k Şaxa eger Plus heke (N = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRGE k Şax eger Mezin an Wekhev, Îmze kirin eger (N ⊕ V= 0) wê demê PC ← PC + k + 1 Netû 1/2
BRLT k Şaxa eger Ji Sifir Kêmtir, Îmze kirin eger (N ⊕ V= 1) wê demê PC ← PC + k + 1 Netû 1/2
BRHS k Şaxa eger Half Carry Flag Set heke (H = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRHC k Şaxa eger Half Carry Flag Cleared heke (H = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRTS k Şaxa eger T Flag Set heke (T = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRTC k Şaxa eger T Flag Paqijkirin heke (T = 0) wê demê PC ← PC + k + 1 Netû 1/2
BRVS k Şax eger Overflow Flag Set heke (V = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRVC k Ger Ala Overflow Paqij be şax heke (V = 0) wê demê PC ← PC + k + 1 Netû 1/2
BIRE k Şax eger Interrupt Enabled heke (I = 1) wê demê PC ← PC + k + 1 Netû 1/2
BRID k Şaxa eger Interrupt Disabled heke (I = 0) wê demê PC ← PC + k + 1 Netû 1/2
BÎT Û BÎT-TEST TÊRÎNÊN
SBI P,b Set Bit di qeyda I/O de I/O(P,b) ← 1 Netû 2
CBI P,b Clear Bit di qeyda I/O de I/O(P,b) ← 0 Netû 2
LSL Rd Logical Shift Çep Rd(n+1) ← Rd(n), Rd(0) ← 0 Z,C,N,V 1
LSR Rd Logical Shift Right Rd(n) ← Rd(n+1), Rd(7) ← 0 Z,C,N,V 1
ROLE Rd Bi Hilgirtina Çepê Bizivire Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) Z,C,N,V 1
ROR Rd Rast Bi Hilgirtinê Bizivire Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) Z,C,N,V 1
ASR Rd Aritmetic Shift Rast Rd(n) ← Rd(n+1), n=0..6 Z,C,N,V 1
Mnemonics Operands Terîf Emelî Flags #Clocks
SWAP Rd Nibbles biguherînin Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) Netû 1
BSET s Flag Set SREG(s) ← 1 SREG(s) 1
BCLR s Flag Clear SREG(s) ← 0 SREG(s) 1
BST Rr, b Bit Store ji Tomar heta T T ← Rr(b) T 1
BLD Rd, b Bit load ji T to Register Rd(b) ← T Netû 1
SEC Set Hilgirtin C ← 1 C 1
CLC Clear Carry C ← 0 C 1
SEN Set Negative Flag N ← 1 N 1
CLN Ala Neyînî zelal N ← 0 N 1
SEZ Set Zero Flag Z ← 1 Z 1
CLZ Zero Flag Paqij bike Z ← 0 Z 1
SEI Navbera Gerdûnî Çalak bike ez ← 1 I 1
CLI Navbera Gerdûnî Neçalak bike ez ← 0 I 1
SES Set Signed Test Flag S ← 1 S 1
CLS Ala Testa Îmzekirî Paqij S ← 0 S 1
SEV Set Twos Complement Overflow. V ← 1 V 1
CLV Clear Twos Complement Overflow V ← 0 V 1
DANÎN T di SREG de bicîh bikin T ← 1 T 1
CLT T zelal li SREG T ← 0 T 1
Seh Di SREG-ê de Ala Half Carry Set H ← 1 H 1
CLH Di SREG de Ala Half Hilgirtina Paqij H ← 0 H 1
DATA TRANSFER INSTRUCTIONS
MOV Rd, Rr Di navbera Tomaran de Bigerin Rd ← Rr Netû 1
MOVW Rd, Rr Peyva qeydkirî kopî bikin Rd+1:Rd ← Rr+1:Rr Netû 1
LDI Rd, K Load Immediate Rd ← K Netû 1
LD Rd, X Barkirina nerasterast Rd ← (X) Netû 2
LD Rd, X+ Barkirina nerasterast û Post-Inc. Rd ← (X), X ← X + 1 Netû 2
LD Rd, - X Load Indirect and Pre-Dec. X ← X – 1, Rd ← (X) Netû 2
LD Rd, Y Barkirina nerasterast Rd ← (Y) Netû 2
LD Rd, Y+ Barkirina nerasterast û Post-Inc. Rd ← (Y), Y ← Y + 1 Netû 2
LD Rd, – Y Load Indirect and Pre-Dec. Y ← Y – 1, Rd ← (Y) Netû 2
LDD Rd,Y+q Barkirina nerasterast bi Displacement Rd ← (Y + q) Netû 2
LD Rd, Z Barkirina nerasterast Rd ← (Z) Netû 2
LD Rd, Z+ Barkirina nerasterast û Post-Inc. Rd ← (Z), Z ← Z+1 Netû 2
LD Rd, -Z Load Indirect and Pre-Dec. Z ← Z – 1, Rd ← (Z) Netû 2
LDD Rd, Z+q Barkirina nerasterast bi Displacement Rd ← (Z + q) Netû 2
LDS Rd, k Barkirina rasterast ji SRAM Rd ← (k) Netû 2
ST X, Rr Store Indirect (X) ← Rr Netû 2
ST X+, Rr Store Indirect and Post-Inc. (X) ← Rr, X ← X + 1 Netû 2
ST - X, Rr Store Indirect and Pre-Dec. X ← X – 1, (X) ← Rr Netû 2
ST Y, Rr Store Indirect (Y) ← Rr Netû 2
ST Y+, Rr Store Indirect and Post-Inc. (Y) ← Rr, Y ← Y + 1 Netû 2
ST -Y, Rr Store Indirect and Pre-Dec. Y ← Y – 1, (Y) ← Rr Netû 2
STD Y+q,Rr Store Indirect bi Displacement (Y + q) ← Rr Netû 2
ST Z, Rr Store Indirect (Z) ← Rr Netû 2
ST Z+, Rr Store Indirect and Post-Inc. (Z) ← Rr, Z ← Z + 1 Netû 2
ST -Z, Rr Store Indirect and Pre-Dec. Z ← Z – 1, (Z) ← Rr Netû 2
STD Z+q,Rr Store Indirect bi Displacement (Z + q) ← Rr Netû 2
STS k, Rr Rasterast li SRAM-ê hilînin (k) ← Rr Netû 2
LPM Barkirina Bîra Bernameyê R0 ← (Z) Netû 3
LPM Rd, Z Barkirina Bîra Bernameyê Rd ← (Z) Netû 3
LPM Rd, Z+ Barkirina Bîra Bernameyê û Post-Inc Rd ← (Z), Z ← Z+1 Netû 3
SPM Bîra Bernameya Store (z) ← R1:R0 Netû
IN Rd, P Li Port Rd ← P Netû 1
DERVE P, Rr Out Port P ← Rr Netû 1
LÊQELLIBÎN Rr Qeydkirina li ser Stackê bikin STACK ← Rr Netû 2
POP Rd Pop Register ji Stack Rd ← STACK Netû 2
KONTROLÊN MCU
NOP No Operasyon Netû 1
XEW Xew (Ji bo fonksiyona xewê li danişîna taybetî binêre) Netû 1
WDR Watchdog Reset (Ji bo WDR/Timer li danişîna taybetî binêre) Netû 1
RAWESTA Rawesta
Lez (MHz) (1) Supply Voltage (V) Range Germahiya Pakêt (2) Ordering Code (3)
10 1.8 - 5.5 Sinaî

(-40 ° C heya + 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 Sinaî

(-40 ° C heya + 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îşe: 1. Ji bo leza vstage, beşa binêre 21.3 "Lez" li ser rûpela 163.

Hemî pakêt bê Pb, bê halide û bi tevahî kesk in û ew li gorî rêwerzên Ewropî yên ji bo Sînordarkirina Madeyên Xeterdar (RoHS) tevdigerin.

Nîşaneyên kodê

H: NiPdAu qedandina rêber

U: tenûrê mat

R: kaset & tel

Ev amûr dikarin di forma wafer de jî bêne peyda kirin. Ji kerema xwe ji bo agahdariya berfireh a fermanê û mîqdarên hindiktirîn bi nivîsgeha xweya firotanê ya Atmel ya herêmî re têkilî daynin.

Erratum

Errata ATtiny25

Nameya revîzyonê ya di vê beşê de behsa guhertoya cîhaza ATtiny25 dike.

Rev D – F

Ne xeletiyek naskirî ye.

Rev B – C

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Hewl didin ku EEPROM-ê li frekansên demjimêra nizm û/an voltaja kêm peyda bikintage dibe ku daneyên nederbasdar encam bide.

Çareserkirina Pirsgirêkê / Çareserkirin

Dema ku frekansa demjimêrê di bin 1MHz de ye û voltaja dabînkirinê ye EEPROM-ê bikar neynintage li jêr 2V ye. Ger frekansa xebitandinê nekare ji 1 MHz re were bilind kirin wê hingê voltage divê ji 2V zêdetir be. Bi heman awayî, heke peydakirina voltage nikare li jor 2V were bilind kirin wê hingê divê frekansa xebitandinê ji 1MHz zêdetir be.

Tê zanîn ku ev taybetmendî bi germahiyê ve girêdayî ye lê ew nehatiye destnîşan kirin. Rêbernameyên tenê ji bo germahiya odeyê têne dayîn.

Rev A

Ne sampbirin.

Errata ATtiny45

Nameya revîzyonê ya di vê beşê de behsa guhertoya cîhaza ATtiny45 dike.

Rev F – G

Ne xeletiyek naskirî ye

Rev D – E

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Hewl didin ku EEPROM-ê li frekansên demjimêra nizm û/an voltaja kêm peyda bikintage dibe ku daneyên nederbasdar encam bide.

Çareserkirina Pirsgirêkê / Çareserkirin

Dema ku frekansa demjimêrê di bin 1MHz de ye û voltaja dabînkirinê ye EEPROM-ê bikar neynintage li jêr 2V ye. Ger frekansa xebitandinê nekare ji 1 MHz re were bilind kirin wê hingê voltage divê ji 2V zêdetir be. Bi heman awayî, heke peydakirina voltage nikare li jor 2V were bilind kirin wê hingê divê frekansa xebitandinê ji 1MHz zêdetir be.

Tê zanîn ku ev taybetmendî bi germahiyê ve girêdayî ye lê ew nehatiye diyar kirin. Rêbernameyên tenê ji bo germahiya odeyê têne dayîn.

Rev B – C

PLL nayê girtin

EEPROM ji koda serîlêdanê hatî xwendin di Moda Lock Bit 3 de naxebite

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Timer Counter 1 Hilberîna hilberîna PWM li ser OC1B- XOC1B rast naxebite

PLL nayê girtin

Dema ku li frekansên li jêr 6.0 MHz be, PLL nayê girtin

Çareserkirina pirsgirêkê / Çareserkirin

Dema ku PLL bikar bînin, li 6.0 MHz an jî bilindtir bixebitin.

EEPROM ji koda serîlêdanê hatî xwendin di Moda Lock Bit 3 de naxebite

Dema ku Bîtên Girtina Bîrê LB2 û LB1 di moda 3 de têne bernamekirin, xwendina EEPROM ji koda serîlêdanê naxebite.

Çareserkirina Pirsgirêkan / Li dora xwe bixebitin

Dema ku pêdivî ye ku koda serîlêdanê ji EEPROM-ê bixwîne, Moda Parastina Lock Bit 3 saz nekin.

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Hewl didin ku EEPROM-ê li frekansên demjimêra nizm û/an voltaja kêm peyda bikintage dibe ku daneyên nederbasdar encam bide.

Çareserkirina Pirsgirêkê / Çareserkirin

Dema ku frekansa demjimêrê di bin 1MHz de ye û voltaja dabînkirinê ye EEPROM-ê bikar neynintage li jêr 2V ye. Ger frekansa xebitandinê nekare ji 1 MHz re were bilind kirin wê hingê voltage divê ji 2V zêdetir be. Bi heman awayî, heke peydakirina voltage nikare li jor 2V were bilind kirin wê hingê divê frekansa xebitandinê ji 1MHz zêdetir be.

Tê zanîn ku ev taybetmendî bi germahiyê ve girêdayî ye lê ew nehatiye destnîşan kirin. Rêbernameyên tenê ji bo germahiya odeyê têne dayîn.

Timer Counter 1 Hilberîna hilberîna PWM li ser OC1B - XOC1B rast naxebite

Timer Counter1 Derketina PWM OC1B-XOC1B rast naxebite. Tenê di rewşa ku bitsên kontrolê, COM1B1 û COM1B0 bi rêzê ve di heman moda COM1A1 û COM1A0 de bin, derketina OC1B-XOC1B rast dixebite.

Çareserkirina Pirsgirêkan / Li dora xwe bixebitin

Yekane çareserî ev e ku meriv heman mîhengê kontrolê li ser bitsên kontrolê yên COM1A[1:0] û COM1B[1:0] bikar bîne, li tabloya 14- 4-ê di pelika daneyê de binêre. Pirsgirêk ji bo Tiny45 rev D hate çareser kirin.

Rev A

Mezaxtina hêzê ya pir zêde

DebugWIRE dema ku yek gav di nav qutbûnê de ye pêwendiyê winda dike

PLL nayê girtin

EEPROM ji koda serîlêdanê hatî xwendin di Moda Lock Bit 3 de naxebite

Xwendina EEPROM dibe ku di voltaya dabînkirina kêm de têk biçetage / frekansa demjimêra kêm

Mezaxtina hêzê ya pir zêde

Sê rewş dê bibe sedema xerckirina hêzê ya pir zêde. Ev in:

Saetek derveyî ji hêla sîgorteyan ve tê hilbijartin, lê I/O PORT hîn jî wekî encamek çalak e.

EEPROM berî ku bikeve hêzê tê xwendin.

VCC 4.5 volt an mezintir e.

Daxuyanî: Agahdariya di vê belgeyê de têkildarî hilberên Atmel têne peyda kirin. Ji hêla vê belgeyê ve an bi girêdana bi firotina hilberên Atmel re ti destûrek, eşkere an jî têgihîştî, ji hêla estoppel an bi rengek din ve, ji tu mafên xwedaniya rewşenbîrî re nayê dayîn. JI LI LI SER ATMELÊ DI ŞERT Û ŞERTÊN FIROŞÎNÊN LI SER ATMELÊ DE HATIN DAYÎN WEBMALPER, ATMEL TU BERPIRSYARÎ TUNE DIKE Û GARANTIYÊN DESTPÊKÎ AN YA ZANÛNÎ LI SER BERHEMÊN XWE TÊKILIYE, LÊ BI SÎNOR NAKE, GARANTIYA NETEWÎNÎ, GARANTIYA NETEWÎ, -BINPÊKIRIN. BI TU BÛYERÊ DÊ ATMEL JI BO HER DESTPÊR, NERAWEST, ENCAMÎ, CIZÎ, TAYBET AN JI LI BERXWEDANÊ BIKE (BÊ SÎNOR, ZERARÊN JI BO WINDARIYÊ Û XWEZANÎNÊ, BERXWEDANÊ) BİXWÎNE BİXWÎNE AN ​​BİXWÎNE BİXWÎNE BİXWÎNE EV BELGEYÊ HEQA ATMEL JI ÎHMETA XERARIYÊN WIŞA HATÊ HIŞYAR BÛ.

Atmel di derbarê rastbûn an temambûna naveroka vê belgeyê de ti nûnerî an garantî nake û mafê guheztina taybetmendî û danasînên hilberan di her kêliyê de bêyî agahdarkirinê parastî ye. Atmel ti sozê nade ku agahdariya ku li vir heye nûve bike. Heya ku bi taybetî wekî din neyê peyda kirin, hilberên Atmel ji bo sepanên otomotîvê ne guncan in û nayên bikar anîn. Berhemên Atmel ji bo karanîna wekî pêkhateyên di serîlêdanên ku ji bo piştgirî an domandina jiyanê têne armanc kirin, destûr ne an jî garantî ne.

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *