Atmel

Atmel 8-bit AVR Microcontroller nga adunay 2/4/8K Bytes In-System Programmable Flashchip

 

Mga bahin

  • Taas nga Pagganap, Ubos nga Gahum AVR® 8-Bit Microcontroller
  • Advanced nga Arkitektura sa RISC
  • 120 Kusug nga Panudlo - Kadaghanan sa Mag-usa nga Pagpatuman sa Cycle Clock
  • 32 x 8 Mga Kinatibuk-ang Tuyo nga Mga Rehistro sa Pagtrabaho
  • Hingpit nga Static Operation
  • Dili mabulukon nga Program ug mga Panumduman sa Data
  • 2/4 / 8K Bytes sa In-System Programmable Program Memory Flash
  • Paglahutay: 10,000 Pagsulat/Pagpapas Siklo
  • 128/256/512 Bytes In-System Programmable EEPROM
  • Paglahutay: 100,000 Pagsulat/Pagpapas Siklo
  • 128/256/512 Bytes Internal SRAM
  • Lock sa Programming alang sa Self-Programming Flash Program ug EEPROM Data Security

Mga Dagway sa Peripheral

  • 8-bit Timer / Counter nga adunay Prescaler ug Duha nga PWM Channels
  • 8-bit nga High Speed ​​Timer / Counter nga adunay Separate Prescaler
  • 2 Taas nga Frequency PWM Output nga adunay bulag nga Output Pagtandi sa Mga Rehistro
  • Programmable Patay nga Taghimo sa Oras
  • USI - Universal Serial Interface nga adunay Start Condition Detector
  • 10-bit nga ADC

4 nga Wala’y Katapusan nga Mga Channel

2 Nagkalainlain nga Mga Pares sa ADC Channel nga adunay Programmable Gain (1x, 20x)

Pagsukod sa Temperatura

Programmable Watchdog Timer nga adunay bulag nga On-chip Oscillator

On-chip Analog Comparator

Espesyal nga Mga Kalainan sa Microcontroller

debugWIRE On-chip Debug System

In-System Programmable pinaagi sa SPI Port

Mga Gawas sa Pangawas ug Panloob nga Makaguba

Ubos nga Power Idle, ADC Noise Reduction, ug Mga Power-down Mode

Gipadako nga Power-on Reset Circuit

Programmable nga Brown-out Detection Circuit

Internal nga Calibrated Oscillator

I / O ug Mga Pakete

Unom nga Programmable I / O Mga Linya

8-pin PDIP, 8-pin SOIC, 20-pad QFN / MLF, ug 8-pin TSSOP (ATtiny45 / V ra)

Ang Operating Voltage
- 1.8 - 5.5V alang sa ATtiny25V / 45V / 85V
- 2.7 - 5.5V alang sa ATtiny25 / 45/85

Kusog nga Grado
- 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

Saklaw sa temperatura sa industriya

Ubos nga Konsumo sa Gahum

Aktibo nga Mode:

1 MHz, 1.8V: 300 µA

Power-down Mode:

Mga Konpigurasyon sa Pin

Pinout ATtiny25 / 45/85 Pag-configure

Mga Deskripsyon sa Pin

VCC: Supply voltage.
GND: Yuta.
Port B (PB5:PB0): Ang Port B usa ka 6-bit bi-directional I/O port nga adunay internal pull-up resistors (gipili alang sa matag bit). Ang mga buffer sa output sa Port B adunay simetriko nga mga kinaiya sa pagmaneho nga adunay parehas nga taas nga lababo ug katakus sa gigikanan. Ingon nga mga input, ang mga pin sa Port B nga gibira sa gawas nga ubos maggikan sa kasamtangan kung ang mga pull-up nga resistor gi-aktibo. Ang mga pin sa Port B gipahayag nga tulo kung ang usa ka kahimtang sa pag-reset mahimong aktibo, bisan kung ang orasan wala magdagan.

Nag-alagad usab ang Port B sa mga gimbuhaton sa lainlaing mga espesyal nga bahin sa ATtiny25 / 45/85 sama sa nalista
Sa ATtiny25, ang maprograma nga I / O ports PB3 ug PB4 (pins 2 ug 3) baylohan sa ATtiny15 Compatibility Mode alang sa pagsuporta sa paatras nga pagkaangay sa ATtiny15.

RESET: I-reset ang input. Ang ubos nga lebel niini nga pin nga mas taas kay sa minimum nga gitas-on sa pulso makamugna og pag-reset, bisan kung ang orasan wala magdagan ug kung ang reset pin wala ma-disabled. Ang minimum nga gitas-on sa pulso gihatag sa Talaan 21-4 sa panid 165. Ang mga labi ka gagmay nga pulso dili gigarantiyahan nga makamugna usa ka pag-reset.

Ang pag-reset pin mahimo usab magamit ingon usa ka (mahuyang) I / O pin.

Tapos naview

Ang ATtiny25 / 45/85 usa ka low-power CMOS 8-bit microcontroller pinauyon sa AVR nga gipaayo nga arkitektura sa RISC. Pinaagi sa pagpatuman sa kusganon nga mga panudlo sa usa ka siklo sa orasan, nakab-ot sa ATtiny25 / 45/85 ang mga throughput nga nagkaduol sa 1 MIPS matag MHz nga gitugotan ang tiglaraw sa sistema nga ma-optimize ang pagkonsumo sa kuryente kumpara sa katulin sa pagproseso.

I-block ang Diagram Block diagram

Ang kinauyokan sa AVR naghiusa usa ka daghang datos nga panudlo nga adunay 32 nga kinatibuk-ang katuyoan nga mga rehistro sa pagtrabaho. Ang tanan nga 32 nga rehistro direkta nga konektado sa Arithmetic Logic Unit (ALU), nga nagtugot sa duha nga independente nga rehistro nga ma-access sa usa ka instruksyon nga gipatuman sa usa ka siklo sa orasan. Ang sangputanan nga arkitektura labi ka epektibo sa code samtang ang pagkab-ot sa mga throughput hangtod sa napulo ka beses nga mas paspas kaysa sa naandan nga CISC microcontrollers.

Naghatag ang ATtiny25 / 45/85 sa mga musunud nga dagway: 2/4 / 8K bytes sa In-System Programmable Flash, 128/256/512 bytes EEPROM, 128/256/256 bytes SRAM, 6 nga kinatibuk-ang katuyoan nga I / O nga mga linya, 32 nga kadaghanan katuyoan nga mga rehistro sa pagtrabaho, usa ka 8-bit Timer / Counter nga adunay mga mode sa pagtandi, us aka 8-bit nga kusog nga Timer / Counter, Universal Serial Interface, Internal ug External Interrupts, usa ka 4-channel, 10-bit ADC, usa ka programmable nga Watchdog Timer nga adunay sulud Oscillator, ug tulo nga mapili nga software mode nga makatipig sa kuryente. Gipahunong sa mode nga idle ang CPU samtang gitugotan ang SRAM, Timer / Counter, ADC, Analog Comparator, ug Interrupt system nga magpadayon nga ninglihok. Gitipig sa mode nga power-down ang mga rehistro sa rehistro, gipahunong ang tanan nga pagpaandar sa chip hangtod sa sunod nga Interrupt o Hardware Reset. Ang mode sa ADC Noise Reduction mao ang paghunong sa CPU ug tanan nga mga modyul nga I / O gawas sa ADC, aron maminusan ang pagbalhin sa kasaba sa mga pagbag-o sa ADC.

Ang aparato gihimo pinaagi sa paggamit sa taas nga kakusgon sa teknolohiya nga pan-os nga memorya sa Atmel. Gitugotan sa On-chip ISP Flash ang memorya sa Program nga ma-program na usab nga In-System pinaagi sa usa ka serial interface nga SPI, pinaagi sa usa ka naandan nga dili-dali-dali nga memory programmer o usa ka On-chip boot code nga nagdagan sa kinauyokan sa AVR.

Ang ATtiny25 / 45/85 AVR gisuportahan sa usa ka tibuuk nga suite sa mga himan sa pagpalambo sa programa ug sistema lakip ang: C Com- pilers, Macro Assemblers, Program Debugger / Simulator ug Evaluation kit.

Mahitungod sa mga Kapanguhaan

Ang usa ka komprehensibo nga hugpong sa mga gamit sa pag-uswag, mga nota sa aplikasyon ug datasheet magamit alang sa pag-download sa http://www.atmel.com/avr.

Ang Code Examples

Adunay kini nga dokumentasyon yano nga code examples nga mubu nga gipakita kung unsaon paggamit ang lainlaing mga bahin sa aparato. Kini nga mga code examples hunahunaon nga ang bahin nga piho nga ulohan file gilakip sa wala pa pagtipon. Hibal-i nga dili tanan nga mga tigpamaligya sa tag-C ang adunay gamay nga kahulugan sa header files ug makababag nga pagdumala sa C mao ang pagsalig sa tagtipon. Palihug pagkumpirma sa dokumentasyon sa C compiler alang sa dugang nga mga detalye.

Alang sa mga Rehistro sa I / O nga nakit-an sa gipadako nga mapa nga I / O, "IN", "OUT", "SBIS", "SBIC", "CBI", ug "SBI" nga mga panudlo kinahanglan mapulihan mga panudlo nga nagtugot sa pag-access sa gipalapdan nga I / O. Kasagaran, kini gipasabut nga "LDS" ug "STS" nga gihiusa sa "SBRS", "SBRC", "SBR", ug "CBR". Hinumdomi nga dili tanan nga mga aparato sa AVR adunay kauban nga mapa nga I / O.

Capacitive Touch Sensing

Naghatag ang Atmel QTouch Library og yano nga gamiton nga solusyon alang sa sensitibo nga paghikap nga mga interface sa Atmel AVR microcontrollers. Ang QTouch Library naglakip sa suporta alang sa QTouch® ug QMatrix® nga mga pamaagi sa pagkuha.

Ang touch sensing dali nga madugang sa bisan unsang aplikasyon pinaagi sa pag-link sa QTouch Library ug paggamit sa Application Program- ming Interface (API) sa librarya aron mahibal-an ang mga touch channel ug sensor. Gitawag dayon sa aplikasyon ang API aron makuha ang kasayuran sa channel ug mahibal-an ang estado sa touch sensor.

Ang QTouch Library libre ug mahimong i-download gikan sa Atmel website. Alang sa dugang nga kasayuran ug mga detalye sa pagpatuman, tan-awa ang QTouch Library User Guide - magamit usab gikan sa Atmel website.

Pagtipig sa Data

Ang mga sangputanan sa Kwalipikasyon sa Kasaligan gipakita nga ang gipaabot nga rate sa kapakyasan sa pagpabilin sa datos labi ka moubus sa 1 PPM sa 20 ka tuig sa 85 ° C o 100 ka tuig sa 25 ° C.

Core nga AVR CPU

Pasiuna

Kini nga seksyon naghisgot sa arkitektura nga kinauyokan sa AVR sa kasagaran. Ang nag-unang gimbuhaton sa kinauyokan sa CPU mao ang pagsiguro nga husto ang pagpatuman sa programa. Kinahanglan nga ma-access sa CPU ang mga panumduman, paghimo og mga kalkulasyon, pagkontrol sa mga peripheral, ug pagdumala sa mga nakababag.

Labaw sa Arkitekturaview Arkitektura

Aron mapataas ang kahimoan ug pagkaparehas, ang AVR naggamit usa ka arkitektura sa Harvard - nga adunay managlahi nga mga panumduman ug mga bus alang sa programa ug datos. Ang mga panudlo sa memorya sa Program gipatuman sa us aka lebel nga pipelining. Samtang ang usa ka panudlo gipatuman, ang sunod nga panudlo giuna nga pagkuha gikan sa memorya sa Program. Ang kini nga konsepto makahimo sa mga panudlo nga ipatuman sa matag siklo sa orasan. Ang panumduman sa Program mao ang memorya sa In-System Reprogrammable Flash.

Ang rehistro nga dali mo-access File Naglangkob sa 32 x 8-bit nga kinatibuk-ang katuyoan sa pagtrabaho nga mga rehistro nga adunay usa ka oras sa pag-access sa siklo sa orasan. Gitugotan niini ang usa ka siklo nga Arithmetic Logic Unit (ALU) nga operasyon. Sa usa ka tipikal nga operasyon sa ALU, duha ka operand ang output gikan sa Register File, ang operasyon gipatuman, ug ang sangputanan gitipig balik sa Pagrehistro File- sa usa ka siklo sa orasan.

Unom sa 32 ka rehistro ang mahimong magamit ingon tulo nga 16-bit nga dili direkta nga mga rehistro sa rehistro alang sa pag-address sa Data Space - nga makahimo sa maayong pagkwenta sa address. Ang usa sa mga panudlo sa adres mahimo usab gamiton ingon usa ka address pointer alang sa pagpangita sa mga lamesa sa memorya sa Flash Program. Ang mga gidugang nga rehistro sa pag-andar mao ang 16-bit X-, Y-, ug Z-register, nga gihulagway sa ulahi sa kini nga seksyon.

Gisuportahan sa ALU ang operasyon sa arithmetic ug lohika taliwala sa mga rehistro o taliwala sa usa ka kanunay ug usa ka rehistro. Ang operasyon sa solong rehistro mahimo usab nga ipatuman sa ALU. Pagkahuman sa usa ka operasyon sa arithmetic, ang Pagrehistro sa Kahimtang gi-update aron ipakita ang kasayuran bahin sa sangputanan sa operasyon.

Ang pagdagayday sa programa gihatag pinaagi sa kondisyonal ug dili kondisyon nga paglukso ug mga panudlo sa pagtawag, nga direkta nga matubag ang tibuuk nga wanang sa address. Kadaghanan sa mga panudlo sa AVR adunay us aka 16-bit nga pormat sa pulong, apan adunay usab mga panudlo nga 32-bit.

Sa mga pagbabag ug tawag sa subroutine, ang address sa pagbalik nga Program Counter (PC) gitipig sa Stack. Epektibo nga gitagana ang Stack sa kinatibuk-ang datos nga SRAM, ug tungod niini ang gidak-on sa Stack gikutuban ra sa kinatibuk-ang gidak-on sa SRAM ug gigamit ang SRAM. Ang tanan nga mga programa sa tiggamit kinahanglan nga magpasugod sa SP sa naandan nga Pag-reset (sa wala pa ipatuman ang mga sub-rutina o pagkagambala). Ang Stack Pointer (SP) mabasa / masulat nga maablihan sa wanang nga I / O. Ang datos nga SRAM dali nga ma-access pinaagi sa lima nga lainlaing mga mode sa pagsulti nga gisuportahan sa arkitektura sa AVR.

Ang mga luna sa memorya sa arkitektura nga AVR tanan nga linya ug regular nga memorya sa memorya.

Ang usa ka nabag-o nga module sa makabalda adunay mga rehistro sa pagkontrol sa wanang sa I / O nga adunay dugang nga Global Interrupt Enable nga gamay sa Status Register. Ang tanan nga mga nakabalda adunay usa ka bulag nga Interrupt Vector sa lamesa nga Interrupt Vector. Ang mga nakabalda adunay prayoridad pinauyon sa ilang posisyon sa Interrupt Vector. Kung mas mubu ang address sa Interrupt Vector, labi ka taas ang prayoridad.

Ang wanang sa I / O nga panumduman adunay sulud nga 64 nga mga adres alang sa mga gimbuhaton sa peripheral sa CPU ingon mga Control Registro, SPI, ug uban pang mga pag-andar sa I / O. Ang memorya sa I / O mahimong direkta nga ma-access, o ingon mga lokasyon sa Data Space nga nagsunod sa mga sa Regista File, 0x20 - 0x5F.

ALU - Arithmetic Logic Unit

Ang high-performance AVR ALU naglihok sa direkta nga koneksyon sa tanan nga 32 nga kinatibuk-ang katuyoan nga mga rehistro sa pagtrabaho. Sulod sa usa ka siklo sa orasan, ang mga operasyon sa aritmetika taliwala sa mga rehistro sa kinatibuk-ang katuyoan o taliwala sa usa ka rehistro ug usa ka gilayon gipatuman. Ang operasyon sa ALU gibahin sa tulo ka punoan nga kategorya - aritmetika, lohikal, ug bit-function. Ang pila ka pagpatuman sa arkitektura naghatag usab usa ka kusug nga multiplier nga nagsuporta sa parehas nga pirma / wala pirmahan nga pagdaghan ug pormat nga pormat. Tan-awa ang seksyon nga "Panudlo sa Pagtudlo" alang sa usa ka detalyado nga paghulagway.

Pagrehistro sa Kahimtang

Ang Pagrehistro sa Kahimtang adunay sulud nga kasayuran bahin sa sangputanan sa labing bag-o nga gipatuman nga panudlo sa arithmetic. Mahimo kini nga kasayuran alang sa pagbag-o sa pagdagayday sa programa aron mahimo ang kondisyunal nga operasyon. Hinumdomi nga ang Pagrehistro sa Kahimtang gi-update pagkahuman sa tanan nga operasyon sa ALU, ingon gipiho sa Panudlo sa Pagtudlo sa Pagtudlo. Kini sa daghang mga kaso kuhaon ang panginahanglan alang sa paggamit sa gipahinungod nga mga panudlo sa pagtandi, nga miresulta sa mas dali ug labi ka compact code.

Ang Pagrehistro sa Katayuan dili awtomatiko nga gitipigan kung nagsulud sa usa ka makabalda nga rutina ug gipahiuli kung mibalik gikan sa usa ka makababag. Kinahanglan kini pagdumala sa software.

SREG - Rehistro sa Kahimtang AVR

Ang Rehistro sa Kahimtang AVR - SREG - gihubit ingon:

gamay 7 6 5 4 3 2 1 0
0x3F I T H S V N Z C SREG
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Bit 7 - I: Global Interrupt Enable

Ang Global Interrupt Enable bit kinahanglan nga itakda aron mapagana ang mga makabalda. Ang indibidwal nga makabalda sa pagpugong sa kontrol mahimo dayon sa managlahing mga rehistro sa kontrol. Kung ang Global Interrupt Enable Rehistro na-clear, wala sa mga nakabalda nga gipagana nga independente sa tagsatagsa nga makabalda sa paghimo sa mga setting. Ang I-bit na-clear sa hardware pagkahuman sa usa ka interrupt nga nahinabo, ug gitakda sa panudlo sa RETI aron mapadayon ang sunod nga mga interrupts. Ang I-bit mahimo usab nga itakda ug malimpyohan sa aplikasyon gamit ang mga panudlo sa SEI ug CLI, sama sa gihulagway sa pakisayran nga set sa panudlo.

Bit 6 - T: Pagtipig sa Bit Copy

Ang mga panudlo sa Bit Copy nga BLD (Bit LoaD) ug BST (Bit STore) naggamit sa T-bit ingon gigikanan o destinasyon alang sa gipaandar nga gamay. Gamay gikan sa usa ka rehistro sa Rehistro File mahimong makopya sa T pinaagi sa panudlo sa BST, ug gamay sa T mahimong makopya gamay sa usa ka rehistro sa Rehistro File pinaagi sa panudlo sa BLD.

Bit 5 - H: Half Flag nga Nagdala

Ang Half Carry Flag H nagpakita usa ka Half Carry sa pipila nga operasyon sa arithmetic. Ang Half Carry mapuslanon sa BCD arithmetic. Tan-awa ang "Paghulagway sa Pagtudlo sa Pagtudlo" alang sa detalyado nga kasayuran.

Bit 4 – S: Sign Bit, S = N ⊕ V

Ang S-bit kanunay usa ka eksklusibo o taliwala sa Negatibo nga Bandila N ug Kompleto nga Pag-overflow sa Flag V. Tan-awa ang "Paghulagway sa Tagubda sa Pagtudlo" alang sa detalyado nga kasayuran.

Bit 3 - V: Duha nga Kompleto nga Overflow Flag

Gisuportahan sa Two's Complement Overflow Flag V ang kompleto nga arithmetic sa duha. Tan-awa ang "Paghulagway sa Pagtudlo sa Pagtudlo" alang sa detalyado nga kasayuran.

Bit 2 - N: Negatibo nga Bandila

Ang Negatibo nga Bandila N nagpakita usa ka negatibo nga sangputanan sa usa ka arithmetic o operasyon sa lohika. Tan-awa ang "Paghulagway sa Pagtudlo sa Pagtudlo" alang sa detalyado nga kasayuran.

Bit 1 - Z: Zero Flag

Ang Zero Flag Z nagpakita usa ka zero nga resulta sa usa ka arithmetic o lohika nga operasyon. Tan-awa ang "Paghulagway sa Pagtudlo sa Pagtudlo" alang sa detalyado nga kasayuran.

Bit 0 - C: Pagdala sa Bandila

Ang Carry Flag C nagpakita usa ka pagdala sa usa ka arithmetic o operasyon sa lohika. Tan-awa ang "Paghulagway sa Pagtudlo sa Pagtudlo" alang sa detalyado nga kasayuran.

Pagrehistro sa Kinatibuk-ang Katuyoan File

Ang Register File gi-optimize alang sa set nga panudlo sa AVR Enhanced RISC. Aron makab-ot ang gikinahanglan nga gahum ug pagka-flexible, ang mosunud nga mga iskema sa input / output gisuportahan sa Rehistro File:

Usa ka 8-bit output operand ug usa nga 8-bit nga sangputanan nga sangputanan

Duha ka 8-bit output operand ug usa nga 8-bit nga resulta nga input

Duha ka 8-bit output operand ug usa nga 16-bit nga resulta nga input

Usa ka 16-bit output operand ug usa nga 16-bit nga sangputanan nga sangputanan

Hulagway 4-2 gipakita ang istraktura sa 32 nga kinatibuk-ang katuyoan nga nagrehistro sa CPU. Kinatibuk-ang katuyoan

Ingon sa gipakita sa Hulagway 4-2, ang matag rehistro gihatagan usab usa ka adres sa memorya sa Data, ang pagmapa sa kanila direkta sa una nga 32 nga lokasyon sa Data Space sa gumagamit. Bisan kung wala gipatuman nga pisikal ingon mga lokasyon sa SRAM, ang kini nga organisasyon sa memorya naghatag labi nga pagka-flexible sa pag-access sa mga rehistro, tungod kay ang mga rehistro sa X-, Y- ug Z-pointer mahimong itakda aron ma-indeks ang bisan unsang rehistro sa file.Kadaghanan sa mga panudlo nga naglihok sa Register File adunay direkta nga pag-access sa tanan nga mga rehistro, ug ang kadaghanan niini mga panudlo sa siklo sa sala.

Ang X-register, Y-register, ug Z-register

Ang mga rehistro sa R26..R31 adunay pipila nga gidugang nga mga gimbuhaton sa ilang kinatibuk-ang katuyoan nga paggamit. Kini nga mga rehistro 16-bit nga mga point point alang sa dili direkta nga pag-atubang sa wanang sa datos. Ang tulo nga dili direkta nga rehistro sa X, Y, ug Z gihubit sama sa gihulagway sa Hulagway 4-3.

Pagrehistro

Sa lainlaing mga paagi sa pag-atubang kini nga mga rehistro sa adres adunay mga gimbuhaton sama sa pirmi nga pagbalhin, awtomatikong pagdugang, ug awtomatikong pagkunhod (tan-awa ang pakisayran nga gitudlo sa panudlo alang sa mga detalye).

Stack Pointer

Labi nga gigamit ang Stack alang sa pagtipig og temporaryo nga datos, alang sa pagtipig mga lokal nga variable ug alang sa pagtipig sa mga pagbalik nga adres pagkahuman sa mga nakaguba ug mga tawag sa subroutine. Ang Rehistro sa Stack Pointer kanunay nga nagpunting sa taas nga Stack. Hinumdomi nga ang Stack gipatuman ingon nagkadako gikan sa labi ka taas nga mga lokasyon sa memorya ngadto sa labing ubos nga lokasyon sa memorya. Nagpasabut kini nga ang usa ka mando sa Stack PUSH nga nagpakunhod sa Stack Pointer.

Ang Stack Pointer nagpunting sa datos nga lugar nga SRAM Stack diin mahimutang ang Subroutine ug Interrupt Stacks. Ang kini nga Stack space sa datos nga SRAM kinahanglan ipasabut sa programa sa wala pa ipatuman ang bisan unsang tawag sa subroutine o paganahon ang mga interrupt. Ang Stack Pointer kinahanglan itakda nga itudlo sa ibabaw 0x60. Ang Stack Pointer nadugangan sa usa ka higayon kung ang datos giduso ngadto sa Stack nga adunay panudlo nga PUSH, ug kini nadugangan sa duha kung ang pagbalik nga address giduso ngadto sa Stack nga adunay subroutine nga tawag o nakabalda. Ang Stack Pointer nadugangan sa usa ka higayon kung ang data na-pop gikan sa Stack nga adunay panudlo sa POP, ug nadugangan kini sa duha kung ang data nga nakuha gikan sa Stack nga adunay pagbalik gikan sa subroutine RET o pagbalik gikan sa nakaguba nga RETI.

Ang AVR Stack Pointer gipatuman ingon duha nga 8-bit nga rehistro sa wanang sa I / O. Ang ihap sa mga tipik nga gigamit mao ang pagsalig sa pagpatuman. Hinumdomi nga ang wanang sa datos sa pipila nga pagpatuman sa arkitektura sa AVR gamay kaayo nga kinahanglan ra ang SPL. Sa kini nga kaso, wala ang rehistro sa SPH.

SPH ug SPL - Rehistro sa Stack Pointer

gamay 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
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Inisyal nga Bili RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND
Inisyal nga Bili RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND RAMEND

Oras sa Pagpatuman sa Panudlo

Kini nga seksyon naghulagway sa kinatibuk-ang access timing nga mga konsepto alang sa pagpatuman sa instruksiyon. Ang AVR CPU gimaneho sa CPU clock clkCPU, direkta nga namugna gikan sa pinili nga tinubdan sa orasan alang sa chip. Walay internal nga dibisyon sa orasan ang gigamit.

Fig4.4

Hulagway 4-4 gipakita ang kahanay nga pagkuha sa panudlo ug pagpatuman sa panudlo nga gipalihok sa arkitektura sa Harvard ug ang dali nga pag-access sa Rehistro File konsepto Kini ang sukaranan nga konsepto sa pipelining aron makakuha hangtod sa 1 MIPS matag MHz nga adunay katugbang nga talagsaon nga mga resulta alang sa mga gimbuhaton matag gasto, pag-andar matag orasan, ug pag-andar matag kuryente.

Hulagway 4-5. Usa ka Cycle ALU Operation

Fig4.5

Pag-usab ug Pag-undang sa Pagdumala

Naghatag ang AVR daghang lainlaing mga makuhaan nga makababag. Kini nga mga nakababag ug ang bulag nga Reset Vector matag usa adunay lain nga Program Vector sa Program memory space. Ang tanan nga mga pagkagambala gihatagan indibidwal nga makahimo sa mga bits nga kinahanglan isulat nga lohika usa kauban ang Global Interrupt Enable nga gamay sa Status Register aron mapadayon ang pagkabalda.

Ang labing kubus nga mga adres sa sulud sa memorya sa Program pinaagi sa default nga gihubit ingon ang Pag-usab ug Pag-interrupt nga Mga Vector. Ang kompleto nga lista sa mga vector gipakita sa “Nakababag” sa panid 48. Gitino usab sa lista ang mga lebel nga prayoridad sa lainlaing mga pagsamok. Ang labi ka gamay nga address labi ka taas ang lebel nga prayoridad. Ang RESET adunay labing kataas nga prayoridad, ug ang sunod mao ang INT0 - ang External Interrupt Request 0.

Kung adunay usa ka pagpugong nga nahinabo, ang Global Interrupt Enable I-bit na-clear ug ang tanan nga mga interrupts dili paganahon. Ang mogamit sa software mahimo magsulat usa nga lohika sa I-bit aron mahimo’g adunay mga pagsamok sa salag. Ang tanan nga gipaandar nga mga makabalda mahimo’g makabalda sa karon nga nakabalda nga naandan nga kalihokan. Ang I-bit awtomatiko nga gitakda kung ang usa ka Pagbalik gikan sa Nakaguba nga panudlo - RETI - gipatuman.

Adunay panagsama duha nga lahi sa mga nakababag. Ang una nga tipo gipahinabo sa usa ka kalihokan nga nagtakda sa Interrupt Flag. Alang sa kini nga mga pagsamok, ang Program Counter gi-vector sa tinuud nga Interrupt Vector aron mapatuman ang nakaguba nga rutina sa pagdumala, ug gihawan sa hardware ang katugbang nga Bandila sa Pag-abala. Ang mga Interrupt Flags mahimo usab nga malimpyohan pinaagi sa pagsulat sa usa ka lohika usa sa (mga) posisyon sa gamay nga bandila aron malimpyohan Kung adunay usa ka kahimtang nga makabalda samtang ang katugbang nga makabalda nga makahimo sa paggawas gamay, ang Makaguba nga Bandila igatakda ug mahinumduman hangtud nga mapadayon ang pagkabalda, o ang bandila malinis sa software. Sa susama, kung ang usa o daghan pa nga mga kahimtang nga makabalda samtang ang Global Interrupt Enable bit malimpyohan, ang katugbang nga (Mga) Bandila nga igabutang ug mahinumduman hangtud nga ang Global Interrupt Enable nga bit gitakda, ug unya ipatuman sa han-ay sa prayoridad.

Ang ikaduha nga tipo sa pagpugong magsugod basta adunay pagkabag-o nga kondisyon. Kini nga mga pagsamok dili kinahanglan nga adunay mga Interrupt Flags. Kung ang kahimtang nga nakabalda nawala sa wala pa mapalihok ang makabalda, dili mapalihok ang makabalda.

Kung ang AVR mogawas gikan sa usa ka makababag, kanunay kini nga mobalik sa punoan nga programa ug magpatuman usa pa nga panudlo sa wala pa mahatagan ang bisan unsang nakabutang nga pagkabalda.

Hinumdomi nga ang Pagrehistro sa Kahimtang dili awtomatikong gitipig sa pagsulud sa usa ka nakababag nga naandan, ni gipahiuli kung mibalik gikan sa usa ka nakabalda nga naandan. Kinahanglan kini pagdumala sa software.

Kung gigamit ang panudlo sa CLI aron dili pag-disable ang mga interrupts, ang mga interrupts mahimo dayon nga dili paganahon. Wala’y usa ka pagpugong nga ipatuman pagkahuman sa panudlo sa CLI, bisan kung kini mahitabo dungan sa panudlo sa CLI. Ang mosunud nga exampgipakita kung giunsa kini magamit aron malikayan ang mga makabalda sa oras nga pagkasunud sa pagsulat sa EEPROM.

Assembly Code Example
sa r16, SREG ; tindahan SREG bili

cli ; I-disable ang mga interrupt sa panahon sa pagkasunod-sunod

sbi EECR, EEMPE ; sugdi ang pagsulat sa EEPROM

sbi EECR, EEPE

gawas sa SREG, r16; ibalik ang bili sa SREG (I-bit)

C Code Example
char cSREG;

cSREG = SREG; /* tindahan sa SREG nga bili */

/* disable ang mga interrupt sa panahon sa pagkasunod-sunod */

_CLI ();

EECR |= (1<

EECR | = (1 <

SREG = cSREG; /* ibalik ang bili sa SREG (I-bit) */

Kung gigamit ang panudlo sa SEI aron makahimo mga makabalda, ang panudlo nga nagsunud sa SEI ipatuman sa wala pa ang mga pagkaguba sa pend, ingon gipakita sa kini ngaample.

Assembly Code Example
sei ; itakda ang Global Interrupt Enable

pagkatulog; pagsulod sa pagkatulog, naghulat sa paghunong

; timan-i: mosulud sa pagkatulog sa wala pa ang bisan unsang pending

; makabalda (mga)

C Code Example
_SEI(); /* set Global Interrupt Enable */

_TULOG(); /* pagsulod sa pagkatulog, naghulat sa interrupt */

/ * timan-i: mosulud sa pagkatulog sa wala pa ang bisan unsang mga pending nga nakabalda (s) * /

Pagbabag sa Oras sa Pagtubag

Ang makaguba nga tubag sa pagpatuman alang sa tanan nga gipaandar nga AVR nga makababag mao ang labing gamay nga upat nga siklo sa orasan. Pagkahuman sa upat ka siklo nga orasan ang Program Vector address alang sa tinuud nga nakabalda nga rutina sa pagdumala gipatuman. Sa panahon sa kini nga upat nga orasan sa siklo, ang Program Counter giduso sa Stack. Kasagaran ang vector usa ka paglukso sa makabalda nga rutina, ug kini nga pag-ambak mokuha tulo ka siklo sa orasan. Kung adunay usa ka pagpugong nga nahinabo sa panahon sa pagpatuman sa usa ka panudlo nga daghang siklo, kini nga panudlo nahuman na sa wala pa maalagad ang nakababag. Kung adunay usa ka pagkabalda nga mahitabo kung ang MCU naa sa mode sa pagtulog, ang oras sa pagtubag sa pagkaguba nga pagpatuman gipadako sa upat nga mga siklo sa orasan. Ang kini nga pagdugang naa sa pagdugang sa oras sa pagsugod gikan sa pinili nga mode sa pagkatulog.

Ang pagbalik gikan sa usa ka nakabalda nga rutina sa pagdumala nagkinahanglan upat ka siklo sa orasan. Sulod sa upat ka mga siklo sa orasan, ang Program Counter (duha ka mga byte) nga ibalik gikan sa Stack, ang Stack Pointer nadugangan sa duha, ug ang I-bit sa SREG gitakda.

Mga Panumduman sa AVR

Gihubit sa kini nga seksyon ang lainlaing mga panumduman sa ATtiny25 / 45/85. Ang arkitektura sa AVR adunay duha ka punoan nga mga luna sa memorya, ang memorya sa Data ug ang luna sa memorya sa Program. Ingon kadugangan, ang ATtiny25 / 45/85 adunay usa ka EEPROM Memory alang sa pagtipig sa datos. Ang tanan nga tulo nga mga luna sa memorya mga linear ug regular.

In-System Re-programmable Flash Program Memory

Ang ATtiny25 / 45/85 adunay sulud nga 2/4 / 8K bytes On-chip In-System Reprogrammable Flash memory alang sa pagtipig sa programa. Tungod kay ang tanan nga mga panudlo sa AVR adunay 16 o 32 ka buok ang gilapdon, ang Flash giorganisar ingon 1024/2048/4096 x 16.

Ang panumduman sa Flash adunay paglahutay nga dili moubus sa 10,000 nga mga siklo sa pagsulat / pagwagtang. Ang ATtiny25 / 45/85 Program Counter (PC) adunay gilapdon nga 10/11/12, sa ingon gipunting ang mga lokasyon sa memorya sa 1024/2048/4096 Program. "Programa sa Memorya- ming ”sa panid 147 naglangkob sa usa ka detalyado nga paghulagway sa Flash data serial nga pag-download gamit ang mga SPI pin.

Ang kanunay nga mga lamesa mahimong igahin sa sulud sa tibuuk nga wanang sa address sa memorya sa Program (tan-awa ang paghulagway sa panudlo sa memorya sa Load Program).

Hulagway 5-1. Mapa sa Memoryal sa Programa Mapa sa panumduman

Panumduman sa Data sa SRAM

Hulagway 5-2 gipakita kung giunsa ang pag-organisar sa ATtiny25 / 45/85 SRAM Memory.

Ang labing ubus nga 224/352/607 Mga lokasyon sa memorya sa datos nga gipuy-an sa parehas nga Pagrehistro File, ang memorya sa I / O ug ang sulud nga datos nga SRAM. Ang nahauna nga 32 nga lokasyon mahimutang sa Pagparehistro File, ang sunod nga 64 nga lokasyon ang sukaranan nga panumduman sa I / O, ug ang ulahi nga 128/256/512 nga mga lokasyon gitubag ang sulud nga datos nga SRAM.

Ang lima nga lainlaing mga paagi sa pag-atubang alang sa takup sa memorya sa Data: Direkta, Dili Direkta sa Pagbalhin, Dili Direkta, Wala’y Pag-us-us nga adunay Pre-decrement, ug Indirect nga adunay Post-increment. Sa Pagrehistro File, ang mga rehistro sa R26 hangtod sa R31 adunay bahin sa dili direkta nga pagpamulong sa mga rehistro sa pointer.

Ang direkta nga pagpamulong nakaabut sa tibuuk nga wanang sa datos.

Ang Indirect with Displacement mode nakaabot sa 63 mga lokasyon sa adres gikan sa base address nga gihatag sa Y- o Z- register.

Kung naggamit sa rehistro nga dili direkta nga pag-atubang sa mga mode nga adunay awtomatikong pre-decrement ug post-increment, ang address nga nagparehistro sa X, Y, ug Z nadugangan o nadugangan.

Ang 32 nga kinatibuk-ang katuyoan nga mga rehistro sa pagtrabaho, 64 nga Rehistro sa I / O, ug ang 128/256/512 byte sa sulud nga datos nga SRAM sa ATtiny25 / 45/85 tanan ma-access pinaagi sa tanan nga mga paagi sa pagsulti niini. Ang Pagrehistro File gihulagway sa “Gen- sayup nga Pagparehistro sa Katuyoan File”Sa panid 10.

Hulagway 5-2. Data Memory Map Memory mapa 2

Data Memory Access Mga panahon

Kini nga seksyon naghulagway sa kinatibuk-ang mga konsepto sa timing sa pag-access alang sa pag-access sa internal nga memorya. Ang internal nga data SRAM access gihimo sa duha ka clkCPU cycles sama sa gihulagway sa Hulagway 5-3.

Hulagway 5-3. On-chip Data SRAM Access cycles Sa datos sa chip Panumduman sa Data sa EEPROM

Ang ATtiny25 / 45/85 adunay sulud nga 128/256/512 bytes sa datos nga panumduman EEPROM. Giorganisar kini ingon usa ka bulag nga wanang sa datos, diin mabasa ang mga solong byte ug masulat. Ang EEPROM adunay paglahutay nga dili moubus sa 100,000 nga pagsulat / pagpapas sa mga siklo. Ang pag-access sa taliwala sa EEPROM ug sa CPU gihulagway sa mosunud, nga gipiho ang EEPROM Address Registro, ang EEPROM Data Rehistro, ug ang EEPROM Control Register. Alang sa mga detalye tan-awa “Serial Downloading” sa panid 151.

Pagbasa / Pagsulat sa EEPROM Access

Ang mga EEPROM Access Registro ma-access sa wanang nga I / O.

Ang mga oras sa pag-access sa pagsulat alang sa EEPROM gihatag sa Talaan 5-1 sa panid 21. Ang usa ka function sa self-timing, bisan pa, nagtugot sa software sa gumagamit nga makit-an kung kanus-a masulat ang sunod nga byte. Kung ang user code adunay mga instruksyon nga nagsulat sa EEPROM, kinahanglan nga buhaton ang pipila ka mga pag-amping. Sa grabe nga nasala nga mga suplay sa kuryente, ang VCC lagmit nga motaas o mahulog nga hinay

Pagtaas / paubos. Kini ang hinungdan sa aparato alang sa pipila ka yugto sa oras nga modagan sa usa ka voltage ubos sa gipiho nga minimum alang sa frequency sa orasan nga gigamit. Tan-awa "Paglikay sa Korapsyon sa EEPROM" sa panid 19 alang sa mga detalye kung giunsa malikayan ang mga problema sa kini nga mga kahimtang.

Aron mapugngan ang wala tuyoa nga pagsulat sa EEPROM, kinahanglan sundon ang usa ka piho nga pamaagi sa pagsulat. Pag-refer sa “Atomiko Byte Programming ”sa panid 17 ug “Split Byte Programming” sa panid 17 alang sa mga detalye bahin niini.

Kung mabasa ang EEPROM, ihunong ang CPU sa upat ka siklo sa orasan sa wala pa ipatuman ang sunod nga panudlo. Kung gisulat ang EEPROM, ang CPU ihunong sa duha ka siklo sa orasan sa wala pa ipatuman ang sunod nga panudlo.

Atomic Byte Programming

Ang paggamit sa Atomic Byte Programming mao ang pinakasimple nga paagi. Kung nagsulat usa ka byte sa EEPROM, kinahanglan isulat sa mogamit ang adres sa EEAR Rehistro ug datos sa EEDR Register. Kung ang mga EEPMn bits zero, ang pagsulat sa EEPE (sulud sa upat ka siklo pagkahuman gisulat ang EEMPE) makapukaw sa operasyon sa pagpapas / pagsulat. Parehas ang pagwagtang ug pagsulat nga siklo nga nahimo sa usa ka operasyon ug ang kinatibuk-ang oras sa programa gihatag sa Talaan 5-1 sa panid 21. Ang EEPE gamay nagpabilin nga gitakda hangtod nga nahuman ang operasyon ug pagsulat nahuman. Samtang ang aparato busy sa pagprograma, dili posible nga maghimo bisan unsang ubang mga operasyon sa EEPROM.

Pagbulag sa Byte Programming

Posible nga mabahin ang erase ug magsulat siklo sa duha nga managlahi nga operasyon. Mahimong magamit kini kung ang sistema nanginahanglan mubo nga oras sa pag-access alang sa pipila nga gikutuban sa oras (kasagaran kung ang suplay sa kuryente voltage nahulog). Aron makakuha advance tage sa kini nga pamaagi, kinahanglan nga ang mga lokasyon nga igsulat gipapas sa wala pa ang operasyon sa pagsulat. Apan tungod kay nabungkag ang mga operasyon sa pagpapas ug pagsulat, posible nga buhaton ang pagpapas sa mga operasyon kung gitugotan sa sistema ang paghimo og mga kritikal nga oras nga operasyon (kasagaran pagkahuman sa Power-up).

Papasa

Aron mapapas ang usa ka byte, ang address kinahanglan isulat sa EEAR. Kung ang mga EEPMn bits 0b01, ang pagsulat sa EEPE (sulud sa upat ka siklo pagkahuman gisulat ang EEMPE) makapukaw lamang sa operasyon sa erase (gihatag ang oras sa pagprograma sa Talaan 5-1 sa panid 21). Ang EEPE gamay nagpabilin nga gitakda hangtod matapos ang operasyon sa pagpapas. Samtang ang aparato busy sa pagprograma, dili posible nga maghimo bisan unsang uban pa nga operasyon sa EEPROM.

Isulat

Aron makasulat usa ka lokasyon, kinahanglan isulat sa mogamit ang adres sa EEAR ug ang datos sa EEDR. Kung ang EEPMn bits 0b10, ang pagsulat sa EEPE (sulud sa upat ka siklo pagkahuman gisulat ang EEMPE) makapukaw lamang sa operasyon sa pagsulat (gihatag ang oras sa programa Talaan 5-1 sa panid 21). Ang gamay nga EEPE nagpabilin nga gitakda hangtod mahuman ang operasyon sa pagsulat. Kung ang lokasyon nga gisulat wala pa mapapas sa wala pa isulat, ang datos nga gitipig kinahanglan isipon nga nawala. Samtang ang aparato busy sa pagprograma, dili posible nga maghimo bisan unsang ubang mga operasyon sa EEPROM.

Ang naka-calibrate nga Oscillator gigamit aron takna ang pag-access sa EEPROM. Siguruha nga ang frequency sa Oscillator naa sa sulod sa mga kinahanglanon nga gihulagway sa “OSCCAL - Oscillator Calibration Register” sa panid 31.

Ang mosunud nga code exampAng les gipakita usa ka asembliya ug usa nga pag-andar sa C alang sa pagpapas, pagsulat, o pagsulat nga atomiko sa EEPROM. Ang exampnaghunahuna ang les nga ang mga pagkagambala gikontrol (pananglitan, pinaagi sa dili pag-undang sa mga sagabal sa tibuuk kalibutan) aron wala’y mga pagsamok nga mahitabo sa pagpatuman sa kini nga mga gimbuhaton.

Assembly Code Example
EEPROM_write:

; Paghulat alang sa pagkompleto sa miaging pagsulat

sbic EECR,EEPE

rjmp EEPROM_write

; Ibutang ang Programming mode

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

gikan sa EECR, r16

; Pag-set up address (r18: r17) sa rehistro sa adres

gawas sa EEARH, r18

gawas sa EEARL, r17

; Pagsulat datos (r19) sa rehistro sa datos

gikan sa EEDR, r19

; Pagsulat lohikal nga usa sa EEMPE

sbi EECR,EEMPE

; Sugdi ang pagsulat sa eeprom pinaagi sa pagbutang EEPE

sbi EECR,EEPE

ret

C Code Example
void EEPROM_write(unsigned char ucAddress, unsigned char ucData)

{

/* Paghulat sa pagkompleto sa miaging pagsulat */ samtang(EECR & (1<

;

/* Set Programming mode */

EECR = (0 <

/ * Pag-set up sa mga rehistro sa adres ug datos * / EEAR = ucAddress;

EEDR = ucData;

/* Pagsulat ug lohikal nga usa sa EEMPE */

EECR | = (1 <

/ * Sugdi ang pagsulat sa eeprom pinaagi sa pagbutang EEPE * /

EECR | = (1 <

}

Ang sunod nga code examples show asembliya ug C gimbuhaton alang sa pagbasa sa EEPROM. Ang exampnaghunahuna les nga kontrolado ang mga pagsamok aron wala’y mga pagsamok nga mahitabo sa pagpatuman sa kini nga mga gimbuhaton.

Assembly Code Example
EEPROM_basaha:

; Paghulat alang sa pagkompleto sa miaging pagsulat

sbic EECR,EEPE

rjmp EEPROM_read

; Pag-set up address (r18: r17) sa rehistro sa adres

gawas sa EEARH, r18

gawas sa EEARL, r17

; Sugdi ang pagbasa sa eeprom pinaagi sa pagsulat EERE

sbi EECR,EERE

; Basaha ang datos gikan sa pagrehistro sa datos

sa r16,EEDR

ret

C Code Example
unsigned char EEPROM_read(unsigned char ucAddress)

{

/ * Paghulat alang sa pagkompleto sa miaging pagsulat * /

samtang (EECR & (1 <

;

/ * I-set up ang rehistro sa address * / EEAR = ucAddress;

/* Sugdi ang pagbasa sa eeprom pinaagi sa pagsulat sa EERE */

EECR | = (1 <

/ * Ibalik ang datos gikan sa rehistro sa datos * /

ibalik ang EEDR;

}

Paglikay sa Korapsyon sa EEPROM

Sa panahon sa ubos nga VCC, ang data sa EEPROM mahimong madaot tungod kay ang suplay voltagAng e kaayo ra kaayo alang sa CPU ug sa EEPROM nga makaandar og maayo. Ang kini nga mga isyu managsama alang sa mga sistema sa lebel sa board nga gigamit ang EEPROM, ug kinahanglan gamiton ang parehas nga mga solusyon sa disenyo.

Ang usa ka pagkadunot sa datos sa EEPROM mahimong hinungdan sa duha nga mga sitwasyon kung ang voltage ubos kaayo. Una, ang usa ka regular nga han-ay sa pagsulat sa EEPROM nagkinahanglan usa ka minimum nga voltage aron makaandar ang husto. Ikaduha, ang CPU mismo mahimong dili husto nga pagpatuman sa mga panudlo, kung ang suplay voltage ubos kaayo.

Ang pagkadunot sa datos sa EEPROM dali nga malikayan pinaagi sa pagsunod sa kini nga rekomendasyon sa laraw:

Padayon nga aktibo (mubu) ang AVR RESET sa mga panahon nga dili igo ang suplay sa kuryente voltage. Mahimo kini pinaagi sa pagpaarang sa sulud nga Brown-out Detector (BOD). Kung ang lebel sa pagkakita sa sulud nga BOD dili parehas sa

gikinahanglan nga lebel sa detection, usa ka external low VCC reset protection circuit mahimong magamit. Kung mahitabo ang pag-reset samtang nagpadayon ang operasyon sa pagsulat, ang operasyon sa pagsulat makompleto basta ang suplay sa kuryente voltage igo na.

I / O Panumduman

Ang kahubitan sa I / O wanang sa ATtiny25 / 45/85 gipakita sa “Sumaryo sa Rehistro” sa pahina 200.

Ang tanan nga ATtiny25 / 45/85 I / Os ug mga peripheral gibutang sa luna nga I / O. Ang tanan nga mga lokasyon sa I / O mahimong ma-access sa mga panudlo sa LD / LDS / LDD ug ST / STS / STD, pagbalhin sa datos taliwala sa 32 nga kinatibuk-ang katuyoan nga mga rehistro sa pagtrabaho ug ang lugar nga I / O. Ang mga Rehistro sa I / O sulud sa sulud sa address nga 0x00 - 0x1F direkta nga ma-access gamay gamit ang mga panudlo sa SBI ug CBI. Sa kini nga mga rehistro, ang kantidad sa mga single bit mahimong masusi pinaagi sa paggamit sa mga panudlo sa SBIS ug SBIC. Pag-refer sa seksyon nga gitudlo sa panudlo alang sa daghang mga detalye. Kung gigamit ang piho nga I / O nga mga pagsugo IN ug OUT, kinahanglan nga gamiton ang I / O nga 0x00 - 0x3F. Kung ang pag-atubang sa Mga Rehistro sa I / O ingon ang wanang sa datos gamit ang mga panudlo sa LD ug ST, kinahanglan nga idugang ang 0x20 sa kini nga mga adres.

Alang sa pagkaangay sa mga umaabot nga aparato, ang mga gigahin nga bit kinahanglan isulat sa zero kung ma-access. Ang gitugyan nga mga adres sa memorya sa I / O dili gyud kinahanglan isulat.

Ang pipila sa Mga Bandera sa Katayuan nahawan pinaagi sa pagsulat sa usa nga lohikal kanila. Hinumdomi nga ang mga panudlo sa CBI ug SBI molihok ra sa gitino nga gamay, ug busa mahimo gamiton sa mga rehistro nga adunay sulud nga mga Status Flags. Ang mga panudlo sa CBI ug SBI nagtrabaho kauban ang mga rehistro 0x00 hangtod 0x1F ra.

Ang I / O ug mga Rehistro sa Pagkontrol sa Peripheral gipatin-aw sa ulahi nga mga seksyon.

Paglaraw nga Paglaraw

KATUIGAN - Rehistro sa EEPROM Address

gamay 7 6 5 4 3 2 1 0
0x1F TUIG8 KATUIG
Pagbasa/Pagsulat R R R R R R R R/W
Inisyal nga Bili 0 0 0 0 0 0 0 X/0

Mga Bits 7: 1 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitagana alang sa umaabot nga paggamit ug kanunay basahon ingon zero.

Mga Bits 0 - EEAR8: Address sa EEPROM

Kini ang labi ka hinungdanon nga gamay nga address sa EEPROM sa ATtiny85. Sa mga aparato nga adunay dili kaayo EEPROM, ie ATtiny25 / ATtiny45, kini nga gamay gitagana ug kanunay magbasa sa zero. Ang pasiuna nga kantidad sa EEPROM Address Regis- ter (EEAR) wala matino ug kinahanglan nga isulat ang angay nga kantidad sa wala pa ma-access ang EEPROM.

EEARL - Rehistro sa EEPROM Address

gamay

0x1E TUIG7 TUIG6 TUIG5 TUIG4 TUIG3 TUIG2 TUIG1 TUIG0 TUIG
Pagsunod / Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Inisyal nga Bili X X X X X X X X

Bit 7 - TINUIG7: Address sa EEPROM

Kini ang labi ka hinungdanon nga gamay nga address sa EEPROM nga ATtiny45. Sa mga aparato nga adunay dili kaayo EEPROM, ie ATtiny25, kini nga gamay gitagana ug kanunay magbasa sa zero. Ang pasiuna nga kantidad sa EEPROM Address Register (EEAR) wala mahibal-an ug usa ka husto nga kantidad kinahanglan nga isulat sa wala pa ma-access ang EEPROM.

Mga Bits 6: 0 - TUIG [6: 0]: Address sa EEPROM

Kini ang (ubos) nga tipik sa EEPROM Address Register. Ang mga byte sa datos sa EEPROM gitudlo nga linya sa sukod nga 0… (128/256 / 512-1). Ang pasiuna nga kantidad sa EEAR wala matino ug ang husto nga kantidad kinahanglan isulat busa sa wala pa ma-access ang EEPROM.

EEDR - Rehistro sa Data sa EEPROM

gamay 7 6 5 4 3 2 1 0
0x1D EEDR7 EEDR6 EEDR5 EEDR4 EEDR3 EEDR2 EEDR1 EEDR0 EEDR
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Alang sa operasyon sa pagsulat sa EEPROM ang EEDR Register adunay sulud nga datos nga isulat sa EEPROM sa adres nga gihatag sa EEAR Register. Alang sa EEPROM nga pagbasa sa operasyon, ang EEDR adunay sulud nga gibasa nga datos gikan sa

EEPROM sa address nga gihatag sa EEAR.

 

5.5.4 EECR - Pagrehistro sa EEPROM Control

Bit 7 6 5 4 3 2 1 0
0x1C        – EEPM1 EEPM0 EERIE EEMPE EEPE DIDTO EECR
Basaha / Isulat ang R R R / W R/W R/W R/W R/W R/W
Inisyal nga Halaga 0 0 X X 0 0 X 0

Bit 7 - Res: Gireserba nga Bit

Ang kini nga gamay gitagana alang sa umaabot nga paggamit ug kanunay basahon ingon 0 sa ATtiny25 / 45/85. Alang sa pagkaangay sa mga umaabot nga AVR device, isulat kanunay kini hangtod sa zero. Pagkahuman sa pagbasa, pag-mask sa gamay nga kini.

Bit 6 - Res: Gireserba nga Bit

Kini nga gamay gitagana sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Mga Bits 5: 4 - EEPM [1: 0]: Mga EEPROM Programming Mode Bits

Ang setting sa mga mode sa EEPROM Programing bits naghubit kung unsang aksyon sa programa ang mapalihok sa pagsulat sa EEPE. Posible nga iprogram ang datos sa usa ka operasyon nga atomiko (papas ang daan nga kantidad ug iprograma ang bag-ong kantidad) o aron mabahin ang mga operasyon sa Erase ug Writing sa duha nga managlahi nga operasyon. Ang mga oras sa Programming alang sa lainlaing mga mode gipakita sa Talaan 5-1. Samtang gitakda ang EEPE, ang bisan unsang pagsulat sa EEPMn dili igsapayan. Atol sa pag-reset, ang mga EEPMn bits ma-reset sa 0b00 gawas kung ang EEPROM busy sa pag-program.

Talaan 5-1. EEPROM Mode Bits

EEPM1 EEPM0 Oras sa Programming Operasyon
0 0 3.4 ms Gipapas ug gisulat sa usa ka operasyon (Atomic Operation)
0 1 1.8 ms Pagtangtang Lang
1 0 1.8 ms Pagsulat Lamang
1 1 Gireserba para magamit sa umaabot

Bit 3 - EERIE: EEPROM Ready Interrupt Enable

Ang pagsulat sa EERIE sa usa makahimo sa EEPROM Ready Interrupt kung ang I-bit sa SREG gitakda. Ang pagsulat sa EERIE sa zero dili makapugong sa makabalda. Ang EEPROM Ready Interrupt makamugna usa ka kanunay nga makabalda kung andam na ang dili-dali magbag-o nga panumduman alang sa pagprograma.

Bit 2 - EEMPE: EEPROM Master Program Gipalihok

Gitino sa gamay nga EEMPE kung ang pagsulat sa EEPE sa usa adunay epekto o wala.

Kung gitakda ang EEMPE, ang paghimo sa EEPE sa sulud sa upat nga mga siklo sa orasan magprograma sa EEPROM sa pinili nga adres. Kung ang EEMPE wala, ang setting sa EEPE wala’y epekto. Kung ang EEMPE gisulat sa usa pinaagi sa software, mahawan sa hardware ang gamay ngadto sa zero pagkahuman sa upat ka siklo sa orasan.

Bit 1 - EEPE: EEPROM Program Enable

Ang EEPROM Program Enable Signal EEPE mao ang makahimo sa signal sa programa sa EEPROM. Kung gisulat ang EEPE, ang EEPROM iprograma sumala sa setting sa mga EEPMn bits. Ang gamay nga EEMPE kinahanglan isulat sa usa sa wala pa gisulat ang usa nga lohikal sa EEPE, kung dili wala’y pagsulat sa EEPROM nga mahitabo. Kung ang oras sa pag-access sa pagsulat nahuman na, ang EEPE gamay na-clear sa hardware. Kung gitakda ang EEPE, ang CPU mihunong sa duha nga siklo sa wala pa ipatuman ang sunod nga panudlo.

Bit 0 - EERE: EEPROM Read Enable

Ang EEPROM Read Enable Signal - EERE - mao ang nabasa nga strobo sa EEPROM. Kung ang husto nga adres giandam sa EEAR Register, ang EERE bit kinahanglan isulat sa usa aron mapukaw ang nabasa sa EEPROM. Ang pag-access sa EEPROM nga pagbasa nagkinahanglan usa ka panudlo, ug ang gihangyo nga datos magamit dayon. Kung mabasa ang EEPROM, ang CPU ihunong sa upat nga siklo sa wala pa ipatuman ang sunod nga panudlo. Kinahanglan gamiton sa gumagamit ang EEPE gamay sa wala pa magsugod ang pagbasa nga operasyon. Kung ang usa ka operasyon sa pagsulat nagpadayon, dili mahimo nga basahon ang EEPROM, ni bag-ohon ang EEAR Rehistro.

Mga kapilian sa Clock sa System ug Clock

Mga Clock System ug ang ilang Pag-apud-apod

Pag-apod-apod sa orasan

Orasan sa CPU

Ang orasan sa CPU gipaagi sa mga bahin sa sistema nga nahingawa sa pagpadagan sa kinauyokan sa AVR. Examples sa mao nga mga mode ang Pangkatibuk-an nga Rehistro sa Katuyoan File, ang Rehistro sa Kahimtang ug ang memorya sa Data nga naghupot sa Stack Pointer. Ang paghunong sa orasan sa CPU nagpugong sa kinauyokan gikan sa paghimo sa kinatibuk-ang operasyon ug pagkalkula.

I / O Clock - clkI / O

Ang orasan nga I / O gigamit sa kadaghanan sa mga modyul nga I / O, sama sa Timer / Counter. Ang orasan nga I / O gigamit usab sa External Interrupt module, apan timan-i nga ang pipila nga mga external interrupts nakit-an sa dili parehas nga lohika, nga gitugotan nga makita ang ingon nga mga pagsamok bisan kung ang I / O nga orasan nahunong.

Flash Clock - clkFLASH

Gikontrol sa orasan sa Flash ang operasyon sa interface sa Flash. Ang orasan nga Flash kanunay nga aktibo nga dungan sa orasan sa CPU.

ADC Clock - clkADC

Ang ADC gihatagan usa ka gipahinungod nga domain sa orasan. Gitugotan niini ang pagpahunong sa mga orasan sa CPU ug I / O aron maminusan ang kasaba nga nahimo sa digital circuitry. Naghatag kini labi ka tukma nga mga sangputanan sa pagkakabig sa ADC.

Sa sulud nga PLL alang sa Fast Peripheral Clock Generation - clkPCK

Ang sulud nga PLL sa ATtiny25 / 45/85 naghimo usa ka frequency nga orasan nga 8x gipadaghan gikan sa usa ka input sa gigikanan. Pinaagi sa default, gigamit sa PLL ang output sa internal, 8.0 MHz RC oscillator ingon gigikanan. Sa laing paagi, kung ang bit LSM sa PLLCSR gitakda ang PLL mogamit sa output sa RC oscillator nga gibahin sa duha. Sa ingon ang output sa PLL, ang dali nga peripheral nga orasan mao ang 64 MHz. Ang paspas nga peripheral nga orasan, o us aka orasan nga gipreserba gikan didto, mahimong mapili ingon gigikanan sa orasan alang sa Timer / Counter1 o ingon usa ka orasan sa sistema. Kitaa Hulagway 6-2. Ang frequency sa paspas nga peripheral nga orasan gibahin sa duha kung ang LSM sa PLLCSR gitakda, nga miresulta sa usa ka frequency sa orasan nga 32 MHz. Timan-i, nga ang LSM dili ma-set kung ang PLLCLK gigamit isip system clock.

Hulagway 6-2. Sistema sa Pag-orasan sa PCK. Orasan sa PCK

Ang PLL naka-lock sa oscillator sa RC ug ang pag-ayo sa RC oscillator pinaagi sa rehistro sa OSCCAL mag-ayo sa dali nga peripheral nga orasan sa dungan. Bisan pa, bisan kung ang RC oscillator gidala sa labi ka taas nga frequency kaysa 8 MHz, ang kusog nga frequency sa peripheral nga orasan mobusog sa 85 MHz (labing daotan nga kaso) ug nagpabilin nga nag-oscillate sa labing kadaghan nga frequency. Kinahanglan nga hinumdoman nga ang PLL sa kini nga kaso wala na naka-lock sa bisan unsang orasan nga RC oscillator. Tungod niini, girekomenda nga dili kuhaon ang mga pag-adjust sa OSCCAL sa mas taas nga frequency kaysa 8 MHz aron mapadayon ang PLL sa tama nga sakup sa pag-operate.

Ang internal nga PLL gipaandar kung:

Ang gamay nga PLLE sa rehistro nga PLLCSR gitakda na.

Ang piyus sa CKSEL giprograma sa '0001'.

Ang piyus sa CKSEL giprograma sa '0011'.

Ang PLLCSR bit PLOCK gitakda kung ang PLL na-lock. Parehong internal RC oscillator ug PLL gipalong sa power down ug stand-by sleep modes.

Sa sulud nga PLL sa ATtiny15 Compatibility Mode

Tungod kay ang ATtiny25 / 45/85 usa ka lalang sa paglalin alang sa mga ninggamit sa ATtiny15 adunay usa ka mode nga pagkaangay sa ATtiny15 alang sa pagkaangay sa likod. Ang ATtiny15 mode sa pagkapili gipili pinaagi sa pagprograma sa CKSEL nga fuse sa '0011'.

Sa mode nga pagkaangay sa ATtiny15 ang kasubsob sa sulud nga oscillator sa RC gipa-calibrate hangtod sa 6.4 MHz ug ang kadaghan nga hinungdan sa PLL gitakda sa 4x. Kitaa Hulagway 6-3. Uban sa kini nga mga pag-ayo ang sistema sa orasan mao ang ATtiny15-compatible ug ang sangputanan nga dali nga peripheral nga orasan adunay frequency nga 25.6 MHz (parehas sa ATtiny15).

Hulagway 6-3. PCK Clocking System sa ATtiny15 Compatibility Mode. Sistema sa relo

Mga gigikanan sa Orasan

Ang aparato adunay mga mosunud nga kapilian nga gigikanan sa orasan, mapili sa mga Flash Fuse bits sama sa gipakita sa ubus. Ang orasan gikan sa napili nga gigikanan masulod sa generator sa orasan sa AVR, ug gipaagi sa angay nga mga modyul.

Talaan 6-1. Pagpili sa Opsyon sa Pag-orasan sa Device

Opsyon sa Clocking sa Device CKSEL[3:0](1)
Pangawas nga Orasan (tan-awa panid 26) 0000
Taas nga Frequency PLL Clock (tan-awa panid 26) 0001
Kalkulado nga Internal Oscillator (tan-awa panid 27) 0010(2)
Kalkulado nga Internal Oscillator (tan-awa panid 27) 0011(3)
Sulod sa 128 kHz Oscillator (tan-awa panid 28) 0100
Ubos sa Frequency nga Crystal Oscillator (tan-awa panid 29) 0110
Crystal Oscillator / Ceramic Resonator (tan-awa panid 29) 1000 – 1111
Gireserba 0101, 0111

Alang sa tanan nga piyus nga "1" nagpasabut nga wala’y programa samtang ang "0" nagpasabot nga program.

Gipadala ang aparato sa kini nga kapilian nga gipili.

Pilion niini ang ATtiny15 Compatibility Mode, diin ang orasan sa sistema gibahin sa upat, nga miresulta sa usa ka 1.6 MHz nga orasan sa oras. Alang sa dugang nga inormation, kitaa "Calibrated Internal Oscillator" sa pahina 27.

Ang lainlaing mga kapilian alang sa matag kapilian sa orasan gihatag sa mga mosunud nga seksyon. Kung nahigmata ang CPU gikan sa Power-down, gigamit ang napili nga gigikanan sa orasan aron i-oras ang pagsugod, pagsiguro sa lig-on nga operasyon sa Oscillator sa wala pa magsugod ang pagpatuman sa panudlo. Kung nagsugod ang CPU gikan sa pag-reset, adunay usa ka dugang nga paglangan nga gitugotan ang gahum nga makaabut sa usa ka lig-on nga lebel sa wala pa magsugod ang normal nga operasyon. Ang Watchdog Oscillator gigamit alang sa pagtakda sa oras nga kini nga oras sa oras sa pagsugod. Ang gidaghanon sa mga siklo nga WDT Oscillator nga gigamit alang sa matag pag-time-out gipakita sa Talaan 6-2.

Talaan 6-2. Gidaghanon sa Watchdog Oscillator Cycle

Tipong Time-out Gidaghanon sa mga Siklo
4 ms 512
64 ms 8K (8,192)

Pangawas nga Orasan

Aron mapadagan ang aparato gikan sa gawas nga gigikanan sa orasan, ang CLKI kinahanglan gimaneho sama sa gipakita sa Hulagway 6-4. Aron mapadagan ang aparato sa usa ka eksternal nga orasan, ang CKSEL Fuse kinahanglan i-program sa "00".

Hulagway 6-4. External Clock Drive Configuration

Fig6.4

Kung gipili kini nga gigikanan sa orasan, ang mga oras sa pagsugod gitino sa mga SUT Fuse nga gipakita sa Talaan 6-3.

Talaan 6-3. Mga Oras sa Pagsugod alang sa Pagpili sa Eksternal nga Orasan

SUT[1:0] Pagsugod sa Oras gikan sa Power-down Dugang nga Paglangay gikan sa Reset Girekomenda nga Paggamit
00 6 CK 14CK Gipalihok ang BOD
01 6 CK 14CK + 4 ms Kusog nga pagtaas sa kusog
10 6 CK 14CK + 64 ms Hinay nga pagtaas sa kusog
11 Gireserba

Kung nag-apply us aka eksternal nga orasan, kinahanglan nga likayan ang kalit nga pagbag-o sa gigamit nga frequency sa orasan aron maseguro ang lig-on nga operasyon sa MCU. Ang usa ka pagbag-o sa kasubsob nga labaw pa sa 2% gikan sa usa ka siklo sa orasan hangtod sa sunod mahimong mosangput sa dili matag-an nga pamatasan. Gikinahanglan nga masiguro nga ang MCU gitago sa Pag-reset sa panahon sa mga pagbag-o sa frequency sa orasan.

Hinumdomi nga ang System Clock Presale mahimong magamit aron mapatuman ang mga pagbag-o sa run-time sa internal nga frequency sa orasan samtang gisiguro gihapon ang lig-on nga operasyon. Pag-refer sa “System Clock Prescaler” sa pahina 31 alang sa mga detalye.

Taas nga Frequency PLL Clock

Adunay usa ka sulud nga PLL nga naghatag nominally 64 MHz nga rate sa orasan nga naka-lock sa RC Oscillator alang sa paggamit sa Peripheral Timer / Counter1 ug alang sa gigikanan sa orasan sa sistema. Kung napili ingon usa ka gigikanan sa orasan sa sistema, pinaagi sa programa, gisumpay ang CKSEL sa '0001', gibahin kini sa upat nga sama sa gipakita sa Talaan 6-4.

Talaan 6-4. Taas nga Frequency PLL Clock Operating Modes

CKSEL[3:0] Kadaghanan sa Nominal
0001 16 ,XNUMX MHz

Kung gipili kini nga gigikanan sa orasan, ang mga oras sa pagsugod gitino sa mga piyus nga SUT sama sa gipakita sa Talaan 6-5.

Talaan 6-5. Mga Oras sa Pagsugod alang sa Taas nga Frequency PLL Clock

SUT[1:0] Pagsugod sa Oras gikan sa Power Down Dugang nga Paglangan gikan sa Power-On Reset (VCC = 5.0V) Girekomenda nga paggamit
00 14CK + 1K (1024) CK + 4 ms 4 ms Gipalihok ang BOD

Talaan 6-5. Mga Oras sa Pagsugod alang sa Taas nga Frequency PLL Clock

SUT[1:0] Pagsugod sa Oras gikan sa Power Down Dugang nga Paglangan gikan sa Power-On Reset (VCC = 5.0V) Girekomenda nga paggamit
01 14CK + 16K (16384) CK + 4 ms 4 ms Kusog nga pagtaas sa kusog
10 14CK + 1K (1024) CK + 64 ms 4 ms Hinay nga pagtaas sa kusog
11 14CK + 16K (16384) CK + 64 ms 4 ms Hinay nga pagtaas sa kusog

Kalkulado nga Internal Oscillator

Pinaagi sa default, ang Internal RC Oscillator naghatag usa ka gibanabana nga 8.0 MHz nga orasan. Bisan kung voltage ug pagsalig sa temperatura, kini nga orasan mahimong ensakto nga naka-calibrate sa mogamit. Kitaa "Gi-calibrate ang Internal RC Oscillator Accu- racy ”sa panid 164 ug Ang "internal Oscillator Speed" sa panid 192 alang sa dugang nga mga detalye. Ang aparato gipadala sa naka-program na nga CKDIV8 Fuse. Kitaa “System Clock Prescaler” sa pahina 31 para sa dugang detalye.

Kini nga orasan mahimong mapili ingon ang sistema sa orasan pinaagi sa pagprograma sa mga CKSEL Fuse sama sa gipakita sa Talaan 6-6 sa panid

27. Kung gipili, kini molihok nga walay panggawas nga mga sangkap. Atol sa pag-reset, gikarga sa hardware ang pre-programmed nga kantidad sa pagkakalibrate sa OSCCAL Rehistro ug tungod niini awtomatiko nga gipakalma ang RC Oscillator. Ang katukma sa kini nga pagkakalibrate gipakita sama sa pag-calibrate sa Pabrika sa Talaan 21-2 sa panid 164.

Pinaagi sa pagbag-o sa rehistro sa OSCCAL gikan sa SW, kitaa “OSCCAL - Oscillator Calibration Register” sa panid 31, posible nga makakuha usa ka labi ka taas nga katukma sa pagkakalibrate kaysa sa paggamit sa pag-calibrate sa pabrika. Ang katukma sa kini nga pagkakalibrate gipakita isip Pag-calibrate sa gumagamit sa Talaan 21-2 sa panid 164.

Kung gigamit kini nga Oscillator ingon ang chip clock, ang Watchdog Oscillator magamit gihapon alang sa Watchdog Timer ug alang sa Reset Time-out. Alang sa dugang nga kasayuran sa wala pa maprograma nga kantidad sa pagkakalibrate, tan-awa ang seksyon "Cali- bration Bytes ”sa panid 150.

Ang internal oscillator mahimo usab nga itakda aron makahatag usa ka 6.4 MHz nga orasan pinaagi sa pagsulat sa mga piyus nga CKSEL sa "0011", sama sa gipakita sa Talaan 6-6 sa ubos. Ang kini nga setting gi-reffert ingon nga ATtiny15 Compatibility Mode ug gituyo aron makahatag usa ka naka-calibrate nga gigikanan sa orasan sa 6.4 MHz, sama sa ATtiny15. Sa ATtiny15 Compatibility Mode ang PLL naggamit sa internal oscillator nga nagdagan sa 6.4 MHz aron makahimo usa ka 25.6 MHz nga peripheral nga orasan alang sa Timer / Counter1 (tan-awa “8-bit Timer / Counter1 sa ATtiny15 Mode ”sa panid 95). Hinumdomi nga sa kini nga pamaagi sa operasyon ang 6.4 MHz nga signal sa orasan kanunay gibahin sa upat, nga naghatag usa ka orasan sa 1.6 MHz nga sistema.

Talaan 6-6. Internal nga Calibrated RC Oscillator Operating Modes

CKSEL[3:0] Kadaghanan sa Nominal
0010(1) 8.0 ,XNUMX MHz
0011(2) 6.4 ,XNUMX MHz

Gipadala ang aparato sa kini nga kapilian nga gipili.

Pilion sa kini nga setting ang ATtiny15 Compatibility Mode, diin ang orasan sa sistema gibahin sa upat, nga miresulta sa usa ka frequency nga 1.6 MHz nga orasan.

Kung gipili ang calibrated nga 8 MHz internal oscillator ingon gigikanan sa orasan ang mga oras sa pagsugod gitino sa mga SUT Fuse nga gipakita sa Talaan 6-7 ubos.

Talaan 6-7. Mga Oras sa Pagsugod alang sa Internal Calibrated RC Oscillator Clock

SUT[1:0] Pagsugod sa Oras gikan sa Power-down Dugang nga Paglangan gikan sa Reset (VCC = 5.0V) Girekomenda nga Paggamit
00 6 CK 14CK(1) Gipalihok ang BOD
01 6 CK 14CK + 4 ms Kusog nga pagtaas sa kusog
10(2) 6 CK 14CK + 64 ms Hinay nga pagtaas sa kusog
11 Gireserba

1. Kung ang RSTDISBL fuse giprograma, kini nga oras sa pagsugod dugangan sa 14CK + 4 ms aron masiguro nga masulud ang mode sa programa.
2. Ang aparato gipadala sa kini nga kapilian nga gipili.

Sa mga oras sa pagsugod sa ATtiny15 Compatibility Mode gitino sa mga SUT fuse sama sa gipakita sa Talaan 6-8 ubos.

Talaan 6-8. Mga Oras sa Pagsugod alang sa Internal Calibrated RC Oscillator Clock (sa ATtiny15 Mode)

SUT[1:0] Pagsugod sa Oras gikan sa Power-down Dugang nga Paglangan gikan sa Reset (VCC = 5.0V) Girekomenda nga Paggamit
00 6 CK 14CK + 64 ms
01 6 CK 14CK + 64 ms
10 6 CK 14CK + 4 ms
11 1 CK 14CK(1)

Mubo nga sulat: Kung ang RSTDISBL fuse giprograma, kini nga oras sa pagsugod madugangan ngadto sa 14CK + 4 ms aron masiguro nga ang programming mode mahimong masulod.

Sa katingbanan, daghang kasayuran bahin sa ATtiny15 Compatibility Mode ang makit-an sa mga seksyon “Port B (PB5: PB0)” sa panid 2"Sulod nga PLL sa ATtiny15 Compatibility Mode" sa panid 24"8-bit Timer / Counter1 sa ATtiny15 Mode" sa panid 95"Mga limitasyon sa debugWIRE" sa pahina 140Ang “Calibration Bytes” sa panid 150 ug sa lamesa “Prescaler sa Orasan Pilia ”sa panid 33.

Sulod sa 128 kHz Oscillator

Ang 128 kHz internal Oscillator usa ka ubos nga power Oscillator nga naghatag ug orasan nga 128 kHz. Ang frequency kay nominal sa 3V ug 25°C. Kini nga orasan mahimong pilion ingon nga sistema nga orasan pinaagi sa pagprograma sa CKSEL Fuses sa "0100".

Kung gipili kini nga gigikanan sa orasan, ang mga oras sa pagsugod gitino sa mga SUT Fuse nga gipakita sa Talaan 6-9.

Talaan 6-9. Mga Panahon sa Pagsugod alang sa 128 kHz Internal Oscillator

SUT[1:0] Pagsugod sa Oras gikan sa Power-down Dugang nga Paglangay gikan sa Reset Girekomenda nga Paggamit
00 6 CK 14CK(1) Gipalihok ang BOD
01 6 CK 14CK + 4 ms Kusog nga pagtaas sa kusog
10 6 CK 14CK + 64 ms Hinay nga pagtaas sa kusog
11 Gireserba

Mubo nga sulat: Kung ang RSTDISBL fuse giprograma, kini nga oras sa pagsugod madugangan ngadto sa 14CK + 4 ms aron masiguro nga ang programming mode mahimong masulod.

Ubos sa Frequency nga Crystal Oscillator

Aron magamit ang usa ka 32.768 kHz nga kristal nga relo ingon gigikanan sa orasan alang sa aparato, kinahanglan nga mapili ang Low-frequency nga Crystal Oscillator pinaagi sa pagbutang sa mga piyus sa CKSEL nga '0110'. Ang kristal kinahanglan nga konektado ingon gipakita sa Hulagway 6-5. Aron makit-an ang angay nga kapasidad sa pagkarga alang sa usa ka 32.768 kHz crysal, palihug konsulta sa datasheet sa naghimo.

Kung gipili kini nga oscillator, ang mga oras sa pagsugod gitino sa mga piyus nga SUT sama sa gipakita sa Talaan 6-10.

Talaan 6-10. Mga Oras sa Pagsugod alang sa Ubos nga Frequency Crystal Oscillator nga Pagpili sa Orasan

SUT[1:0] Pagsugod sa Oras gikan sa Power Down Dugang nga Paglangan gikan sa Reset (VCC = 5.0V) Girekomenda nga paggamit
00 1K (1024) CK(1) 4 ms Paspas nga pagtaas sa kusog o gipaandar ang BOD
01 1K (1024) CK(1) 64 ms Hinay nga pagtaas sa kusog
10 32K (32768) CK 64 ms Kusug nga frequency sa pagsugod
11 Gireserba

Mubo nga sulat: Kini nga mga kapilian kinahanglan gamiton lamang kung ang kalig-on sa frequency sa pagsugod dili importante.

Ang Low-frequency Crystal Oscillator naghatag usa ka internal nga capacitance sa load, kita n'yo Talaan 6-11 sa matag pin sa TOSC.

Talaan 6-11. Kapasidad sa Ubos nga Frequency Crystal Oscillator

Device 32 kHz Osc Matang Cap (Xtal1 / Tosc1) Cap (Xtal2 / Tosc2)
ATtiny25 / 45/85 Sistema Osc. 16 pF 6 pF

Crystal Oscillator / Ceramic Resonator

Ang XTAL1 ug XTAL2 mga input ug output, matag usa, sa usa ka pagbalitok amplifier nga mahimong i-configure alang sa paggamit ingon usa ka On-chip Oscillator, ingon gipakita sa Hulagway 6-5. Ang bisan unsang quartz nga kristal o usa ka ceramic resonator mahimong magamit.

Ang C1 ug C2 kinahanglan kanunay nga managsama alang sa mga kristal ug resonator. Ang kamalaumon nga kantidad sa mga kapasitor nagdepende sa kristal o resonator nga gigamit, ang kantidad sa nahisalaag nga kapasidad, ug ang electromagnetic nga kasaba sa palibot. Ang pipila ka inisyal nga mga giya sa pagpili sa mga capacitor nga gamiton sa mga kristal gihatag sa Talaan 6-12 sa ubos. Alang sa mga ceramic resonator, kinahanglan gamiton ang mga kantidad nga capacitor nga gihatag sa naghimo.

Talaan 6-12. Mga Mode sa Operating nga Crystal Oscillator

CKSEL[3:1] Ang Frequency Range (MHz) Girekomenda nga Sakup alang sa mga Capacitor C1 ug C2 alang sa Paggamit sa Mga Kristal (pF)
100(1) 0.4 – 0.9
101 0.9 – 3.0 12 – 22
110 3.0 – 8.0 12 – 22
111 8.0 – 12 – 22

Mubo nga sulat: Kini nga opsyon dili angay gamiton sa mga kristal, sa mga ceramic resonator lamang.

Ang Oscillator mahimong makalihok sa tulo nga lainlaing mga mode, ang matag usa gi-optimize alang sa usa ka piho nga sakup sa frequency. Ang operating mode gipili sa mga piyus nga CKSEL [3: 1] sama sa gipakita sa Talaan 6-12.

Ang CKSEL0 Fuse kauban ang SUT [1: 0] Gipili sa mga piyus ang mga oras sa pagsugod sama sa gipakita sa Talaan 6-13.

Talaan 6-13. Mga Oras sa Pagsugod alang sa Pagpili sa Orasan sa Crystal Oscillator

CKSEL0 SUT[1:0] Pagsugod sa Oras gikan sa Power-down Dugang nga Paglangay gikan sa Reset Girekomenda nga Paggamit
0 00 258 CK(1) 14CK + 4 ms Ang ceramic resonator, kusog nga pagtaas sa kusog
0 01 258 CK(1) 14CK + 64 ms Ang ceramic resonator, hinay hinay nga pagtaas sa kusog
0 10 1K (1024) CK(2) 14CK Ang ceramic resonator, gipaandar ang BOD
0 11 1K (1024) CK(2) 14CK + 4 ms Ang ceramic resonator, kusog nga pagtaas sa kusog
1 00 1K (1024) CK(2) 14CK + 64 ms Ang ceramic resonator, hinay hinay nga pagtaas sa kusog
1 01 16K (16384) CK 14CK Ang Crystal Oscillator, gipaandar ang BOD
1 10 16K (16384) CK 14CK + 4 ms Ang Crystal Oscillator, kusog nga pagtaas sa kusog
1 11 16K (16384) CK 14CK + 64 ms Ang Crystal Oscillator, hinayhinay nga pagtaas sa kusog

Mga nota

Ang kini nga mga kapilian kinahanglan gamiton lamang kung dili moandar ang duul sa labing kadaghan nga aparato, ug kung ang kalig-on sa frequency sa pagsugod dili hinungdanon alang sa aplikasyon. Ang kini nga mga kapilian dili angay alang sa mga kristal.

Ang kini nga mga kapilian gituyo alang sa paggamit sa mga ceramic resonator ug masiguro ang kalig-on sa frequency sa pagsugod. Mahimo usab sila magamit sa mga kristal kung dili naglihok nga hapit sa labing kadaghan nga aparato, ug kung ang kalig-on sa frequency sa pagsugod dili hinungdanon alang sa aplikasyon.

Default nga Gigikanan sa Orasan

Ang aparato gipadala gamit ang CKSEL = "0010", SUT = "10", ug program nga CKDIV8. Ang set default nga gigikanan sa orasan mao ang Internal RC Oscillator nga nagdagan sa 8 MHz nga adunay labing taas nga oras sa pagsugod ug usa ka pasiuna nga orasan sa sistema nga gihatagan 8, nga miresulta sa 1.0 MHz nga sistema sa orasan. Ang kini nga setting sa default nagsiguro nga ang tanan nga mga mogamit makahimo sa ilang gitinguha nga setting sa gigikanan sa orasan gamit ang usa ka In-System o High-voltage Programmer.

System Clock Prescaler

Ang orasan sa sistema nga ATtiny25 / 45/85 mahimong bahinon pinaagi sa pag-set sa “CLKPR - Clock Prescale Register” sa panid 32. Kini nga bahin mahimong magamit aron makunhuran ang konsumo sa kuryente kung ang kinahanglanon alang sa gahum sa pagproseso gamay. Mahimo kining gamiton sa tanang opsyon sa tinubdan sa orasan, ug makaapekto kini sa frequency sa orasan sa CPU ug sa tanang synchronous peripheral. clkI/O, clkADC, clkCPU, ug clkFLASH gibahin sa usa ka butang sama sa gipakita sa Talaan 6-15 sa panid 33.

Panahon sa Pagbalhin

Kung nagbalhin-balhin taliwala sa mga setting sa prescaler, gisiguro sa System Clock Prescaler nga wala’y mga glitches nga mahitabo sa sistema sa orasan ug wala’y frequency sa tungatunga nga mas taas kaysa sa frequency sa orasan nga katumbas sa miaging setting, ni ang frequency sa orasan nga katugbang sa bag-ong setting.

Ang ripple counter nga nagpatuman sa prescaler modagan sa kadaghan sa wala mabahin nga relo, nga mahimong mas tulin kaysa sa frequency sa orasan sa CPU. Tungod niini, dili posible nga mahibal-an ang kahimtang sa prescaler - bisan kung mabasa kini, ug ang eksaktong oras nga kinahanglan aron magbalhin gikan sa us aka pagbahin sa orasan ngadto sa lain dili eksaktong matagna.

Gikan sa oras nga gisulat ang mga kantidad sa CLKPS, molungtad sa taliwala sa T1 + T2 ug T1 + 2 * T2 sa wala pa aktibo ang bag-ong relo nga orasan. Sa kini nga agianan, gihimo ang 2 nga aktibo nga mga ngilit sa orasan. Dinhi, ang T1 mao ang miaging yugto sa orasan, ug ang T2 mao ang panahon nga katugbang sa bag-ong setting sa prescaler.

Buffer sa Output sa Orasan

Ang aparato mahimong mogawas sa orasan sa sistema sa CLKO pin (kung dili gigamit ingon XTAL2 pin). Aron mapalihok ang output, ang CKOUT Fuse kinahanglan ma-program. Ang kini nga mode angay kung gigamit ang chip relo aron magdala ubang mga sirkito sa sistema. Hinumdomi nga ang orasan dili maibutang sa oras nga pag-reset ug nga ang normal nga operasyon sa I / O pin mapalabi kung ang fuse na-program. Ang internal RC Oscillator, WDT Oscillator, PLL, ug external relo (CLKI) mahimong mapili kung ang orasan mogawas sa CLKO. Ang mga Crystal oscillator (XTAL1, XTAL2) dili magamit alang sa output sa orasan sa CLKO. Kung gigamit ang System Clock Prescaler, kini ang nabahin nga orasan sa sistema nga mogawas.

Paglaraw nga Paglaraw

OSCCAL - Pagrehistro sa Oscillator Calibration

gamay 7 6 5 4 3 2 1 0
0x31 CAL7 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 OSCCAL
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W

Mga Bits 7: 0 - CAL [7: 0]: Oscillator Calibration Value

Ang rehistro sa Oscillator Calibration gigamit aron maputlan ang Calibrated Internal RC Oscillator aron matangtang ang mga panakot sa proseso gikan sa frequency sa oscillator. Ang usa ka pre-program nga kantidad sa pagkakalibrate awtomatiko nga gisulat sa kini nga rehistro sa panahon sa pag-reset sa chip, nga naghatag sa Pabrika nga gihatagan kalibrate nga frequency sama sa giingon sa Talaan 21-2 sa panid 164. Mahimo isulat sa aplikasyon nga software ang kini nga rehistro aron mabag-o ang frequency sa oscillator. Ang oscillator mahimong i-calibrate sa mga frequency sama sa giingon sa Talaan 21-2 sa panid 164. Ang pagkakalibrate sa gawas sa sakup dili garantiya.

Hinumdomi nga ang kini nga oscillator gigamit aron sa oras nga pag-access sa EEPROM ug Flash pagsulat, ug kini nga mga oras sa pagsulat maapektohan sumala niana. Kung ang EEPROM o Flash gisulat, ayaw pag-calibrate sa labaw sa 8.8 MHz. Kung dili, ang EEPROM o Flash nga pagsulat mahimong mapakyas.

Gitino sa CAL7 nga gamay ang han-ay sa operasyon alang sa oscillator. Ang pagtakda sa kini nga gamay sa 0 naghatag sa labing ubus nga sakup sa frequency, ang pagbutang niini nga gamay sa 1 naghatag sa labing kataas nga sakup sa frequency. Ang duha nga mga sakup sa frequency ang nagsapaw, sa lain nga pagkasulti ang usa ka setting sa OSCCAL = 0x7F naghatag usa ka labi ka taas nga frequency kaysa OSCCAL = 0x80.

Gigamit ang mga CAL [6: 0] nga mga tipik aron maisa ang kadaghan sa sulud sa napili nga sakup. Ang usa ka setting nga 0x00 nagahatag labing mubu nga frequency sa kana nga sakup, ug ang setting nga 0x7F naghatag sa labing kataas nga kadaghan sa sakup.

Aron maseguro ang lig-on nga operasyon sa MCU ang kantidad sa pagkakalibrate kinahanglan ibag-o gamay. Ang usa ka pagbag-o sa kasubsob nga labaw pa sa 2% gikan sa usa ka siklo hangtod sa sunod mahimong mosangput sa dili pamahayag nga pamatasan. Ang mga pagbag-o sa OSCCAL kinahanglan dili molapas sa 0x20 alang sa matag pagkakalibrate. Gikinahanglan nga masiguro nga ang MCU gitago sa Pag-reset sa panahon sa mga pagbag-o sa frequency sa orasan

Talaan 6-14. Internal nga RC Oscillator Frequency Range

Bili sa OSCCAL Kasagaran nga Labing ubus nga Frequency nga adunay Pagtahud sa Nominal Frequency Kasagaran nga Labing Taas nga Frequency nga adunay Pagtahud sa Nominal Frequency
0x00 50% 100%
0x3F 75% 150%
0x7F 100% 200%

CLKPR - Clock Prescale Register

gamay 7 6 5 4 3 2 1 0
0x26 CLKPCE CLKPS3 CLKPS2 CLKPS1 CLKPS0 CLKPR
Pagbasa/Pagsulat R/W R R R R/W R/W R/W R/W

Inisyal nga Halaga 0 0 0 0 Kitaa ang Bit Nga Paglaraw

Bit 7 - CLKPCE: Pag-usab sa C Prescaler sa Clock

Ang gamay nga CLKPCE kinahanglan isulat sa lohika nga usa aron mahimo ang pagbag-o sa mga tipik sa CLKPS. Ang gamay nga CLKPCE gi-update ra kung ang uban pang mga tipik sa CLKPR gisulat sama sa zero. Ang CLKPCE gilimpyohan sa hardware upat ka siklo pagkahuman kini gisulat o kung gisulat ang mga piraso sa CLKPS. Ang pagsulat usab sa gamay nga CLKPCE sa sulud sa kini nga time-out nga yugto dili magpalugway sa yugto sa paggawas sa oras, ni maklaro ang gamay nga CLKPCE

Mga Bits 6: 4 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Mga Bits 3: 0 - CLKPS [3: 0]: Clock Prescaler Select Bits 3 - 0

Gihubit sa kini nga mga tipik ang hinungdan sa pagkabahin taliwala sa gipili nga gigikanan sa orasan ug sa sulud nga orasan sa sulud. Ang kini nga mga tipik mahimo’g isulat nga run-time aron magkalainlain ang kadaghan sa orasan nga nahiangay sa mga kinahanglanon sa aplikasyon. Samtang gibahinbahin sa tigbulag ang input sa master relo sa MCU, ang katulin sa tanan nga managsamang mga peripheral maminusan kung gigamit ang usa ka hinungdan sa pagkabahin. Ang mga hinungdan sa pagkabahin gihatag sa Talaan 6-15.

Aron malikayan ang wala tuyoa nga mga pagbag-o sa frequency sa orasan, kinahanglan sundon ang usa ka espesyal nga pamaagi sa pagsulat aron mabag-o ang mga tipik sa CLKPS:

Isulat ang Clock Prescaler Change Enable (CLKPCE) gamay sa usa ug tanan nga uban pa nga tipik sa CLKPR hangtod sa zero.

Sulod sa upat ka siklo, isulat ang gusto nga kantidad sa CLKPS samtang nagsulat usa ka zero ngadto sa CLKPCE.

Ang mga pagkagambala kinahanglan nga dili paganahon kung gibag-o ang setting sa prescaler aron masiguro nga ang pamaagi sa pagsulat dili makabalda.

Ang CKDIV8 Fuse nagtino sa inisyal nga bili sa CLKPS bits. Kung ang CKDIV8 wala maprograma, ang CLKPS bits i-reset sa "0000". Kung ang CKDIV8 giprograma, ang CLKPS bits i-reset sa "0011", nga maghatag usa ka division factor nga walo sa pagsugod. Kini nga bahin kinahanglan gamiton kung ang gipili nga gigikanan sa orasan adunay mas taas nga frequency kaysa sa labing kadaghan nga frequency sa aparato sa karon nga mga kondisyon sa pag-operate. Timan-i nga ang bisan unsang kantidad mahimong isulat sa CLKPS bits bisan unsa pa ang setting sa CKDIV8 Fuse. Ang Application software kinahanglan nga mosiguro nga ang usa ka igo nga division factor mao ang

gipili kung ang napili nga gigikanan sa orasan adunay labi ka taas nga frequency kaysa sa labing kadaghan nga aparato sa karon nga kondisyon sa pag-operate. Ang aparato gipadala sa naka-program na nga CKDIV8 Fuse.

Talaan 6-15. Pagpili sa Prescaler sa Orasan

CLKPS3 CLKPS2 CLKPS1 CLKPS0 Hinungdan sa Clock Division
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 Gireserba
1 0 1 0 Gireserba
1 0 1 1 Gireserba
1 1 0 0 Gireserba
1 1 0 1 Gireserba
1 1 1 0 Gireserba
1 1 1 1 Gireserba

Mubo nga sulat: Ang prescaler gi-disable sa ATtiny15 compatibility mode ug walay pagsulat sa CLKPR, o pagprograma sa CKDIV8 fuse nga adunay epekto sa system clock (nga kanunay nga 1.6 MHz).

Pagdumala sa Kuryente ug Mga Mode sa Pagkatulog

Ang taas nga kahimoan ug nanguna nga kaepektibo sa code naghimo sa AVR microcontrollers usa ka sulundon nga kapilian alang sa ubos nga aplikasyon sa kuryente. Ingon kadugangan, ang mga mode sa pagtulog nakapaandar sa aplikasyon aron masira ang wala magamit nga mga modyul sa MCU, nga tungod niana makatipig ang kuryente. Naghatag ang AVR sa lainlaing mga mode sa pagtulog nga gitugotan ang mogamit sa pagpaangay sa konsumo sa kuryente sa mga kinahanglanon sa aplikasyon.

Mga Mode sa Pagkatulog

Hulagway 6-1 sa panid 23 gipresentar ang lainlaing mga sistema sa orasan ug ang ilang pagpanagtag sa ATtiny25 / 45/85. Ang numero makatabang sa pagpili sa usa ka angay nga mode sa pagtulog. Talaan 7-1 gipakita ang lainlaing mga mode sa pagkatulog ug ang ilang gigikanan nga gigikanan.

Talaan 7-1. Mga Aktibo nga Orasan nga Domain ug Mga Tinubdan sa Pagmata sa Lainlaing Mode sa Pagkatulog

Mga aktibo nga Clock Domains Mga oscillator Mga gigikanan sa Pagmata
Mode sa Pagkatulog clkCPU clkFLASH clkIO clkADC clkPCK Gipagana ang Panguna nga Clock Source Ang INT0 ug Pin Change SPM / EEPROM

Andam

 

USI Start Kondisyon

ADC Uban pang I/O Tigbantay nga iro Pagbalda
walay pulos X X X X X X X X X X
Pagkunhod sa Kasaba sa ADC X X X(1) X X X X
Pag-power down X(1) X X

Nota: Para sa INT0, level interrupt lang.

Aron makasulod sa bisan hain sa tulo nga mga mode sa pagtulog, ang SE gamay sa MCUCR kinahanglan isulat sa lohika usa ug usa nga panudlo nga TULOG kinahanglan ipatuman. Ang SM [1: 0] nga mga tipik sa Pagpili sa MCUCR pilia kung unsang mode sa pagkatulog (Idle, ADC Noise Reduction o Power-down) nga gipaandar sa panudlo sa SLEEP. Kitaa Talaan 7-2 alang sa usa ka katingbanan.

Kung ang usa ka gipaandar nga pagpugong nahitabo samtang ang MCU naa sa usa ka mode sa pagtulog, pagmata sa MCU. Pagkahuman gihunong ang MCU sa upat ka siklo nga dugang sa oras sa pagsugod, gipadayon ang nakabalda nga rutina, ug gipadayon ang pagpatuman gikan sa panudlo nga nagsunod sa SLEEP. Ang sulud sa Rehistro File ug ang SRAM dili nabag-o sa pagmata sa aparato gikan sa pagkatulog. Kung ang usa ka pag-reset mahitabo sa panahon sa mode sa pagtulog, ang MCU pagmata ug pagpatuman gikan sa Reset Vector.

Timan-i: nga kung ang usa ka lebel nga na-trigger nga interrupt gigamit alang sa pagmata ang nabag-o nga lebel kinahanglan nga ipahigayon sa pipila ka panahon aron pukawon ang MCU (ug aron ang MCU makasulod sa interrupt service routine). Tan-awa “Mga Panlimbasug sa Gawas” sa pahina 49 alang sa mga detalye.

Idle Mode

Sa diha nga ang SM[1:0] bits gisulat ngadto sa 00, ang SLEEP nga instruksyon maghimo sa MCU nga mosulod sa Idle mode, mohunong sa CPU apan motugot sa Analog Comparator, ADC, USI, Timer/Counter, Watchdog, ug ang interrupt system nga magpadayon sa operasyon. pag. Kini nga mode sa pagkatulog sa panguna nagpahunong sa clkCPU ug clkFLASH, samtang gitugotan ang ubang mga orasan nga modagan.

Ang idle mode nakapahimo sa MCU nga makamata gikan sa panggawas nga na-triggered interrupts maingon man mga sulud sama sa Timer Overflow. Kung ang pagtukaw gikan sa Analog Comparator makababag dili kinahanglan, ang Analog Comparator mahimong mapadagan pinaagi sa pag-set sa ACD gamay sa "ACSR - Pagpugong sa Analog Comparator ug Pagrehistro sa Kahimtang" sa panid 120. Bawasan niini ang konsumo sa kuryente sa Idle mode. Kung gipaandar ang ADC, awtomatikong magsugod ang usa ka pagkakabig kung kini nga mode gisulud.

ADC Noise Reduction Mode

Sa diha nga ang SM[1:0] bits gisulat ngadto sa 01, ang SLEEP nga instruksyon maghimo sa MCU nga mosulod sa ADC Noise Reduction mode, mohunong sa CPU apan tugotan ang ADC, ang external interrupts, ug ang Watchdog nga magpadayon sa pag-operate (kon mahimo). Kini nga mode sa pagkatulog nagpahunong sa clkI/O, clkCPU, ug clkFLASH, samtang gitugotan ang ubang mga orasan nga modagan.

Gipalambo niini ang palibot sa kasaba alang sa ADC, nga nakapahimo sa mas taas nga pagsukod sa resolusyon. Kung gipaandar ang ADC, awtomatikong magsugod ang usa ka pagkakabig kung kini nga mode gisulud. Gawas nga nakaguba ang ADC Conversion complete interrupt, usa ra ka External Reset, usa ka Watchdog Reset, usa ka Brown-out Reset, usa ka andam nga SPM / EEPROM nga makabalda, usa ka external level nga makabalda sa INT0 o usa nga makabag-o nga pagbag-o sa pin mahimong makamata sa MCU gikan sa ADC Noise Reduction mode

Power-down nga Mode

Kung ang SM [1: 0] nga mga piraso gisulat sa 10, ang panudlo nga TULOG naghimo sa MCU nga mosulud sa Power-down mode. Sa kini nga mode, ang Oscillator gihunong, samtang ang panggawas nga nakabalda, nagsugod ang USI sa pagkakita sa kondisyon ug ang Watchdog nagpadayon sa pag-operate (kung mahimo). Usa ra ang External Reset, usa ka Watchdog Reset, usa ka Brown-out Reset, USI nga magsugod ang kondisyon nga makababag, usa ka eksternal nga lebel nga makabalda sa INT0 o usa ka pagbag-o sa pin nga makabalda nga makapamata sa MCU. Kini nga mode sa pagtulog nagpahunong sa tanan nga nahimo nga mga orasan, nga nagtugot sa pag-operate sa mga dili pareho nga mga module.

Disable ang BOD sa Software

Kung ang Brown-out Detector (BOD) gipaandar sa mga piyus sa BODLEVEL (kitaa Talaan 20-4 sa panid 148), ang BOD aktibo nga nagbantay sa supply voltage sa panahon sa pagkatulog. Sa pipila nga mga aparato posible nga makatipig sa kuryente pinaagi sa dili pag-disable sa BOD pinaagi sa software sa Power-Down mode sa pagkatulog. Ang pagkonsumo sa kuryente sa mode sa pagtulog unya naa sa parehas nga lebel sama sa kung kanus-a nga ang BOD global nga wala’y kapuslanan sa mga piyus.

Kung ang BOD gi-disable sa software, ang function sa BOD gipalong dayon pagkahuman sa pagsulod sa sleep mode. Sa pagmata gikan sa pagkatulog, ang BOD awtomatik nga magamit pag-usab. Gisiguro niini ang luwas nga operasyon kung ang lebel sa VCC nahulog sa panahon sa pagkatulog.

Kung wala’y kapansanan ang BOD, ang oras sa pagmata gikan sa mode sa pagkatulog mahimong parehas sa alang sa pagmata gikan sa RESET. Kinahanglan nga manu-manong i-configure sa mogamit ang mga oras sa pagmata nga ang reperensya sa bandgap adunay oras nga magsugod ug ang BOD nagtrabaho nga tama sa wala pa magpadayon ang MCU sa pagpatuman sa code. Kitaa ang SUT [1: 0] ug CKSEL [3: 0] nga mga piyus sa lamesa “Fuse Low Byte” sa pahina 149

Ang pag-disable sa BOD gikontrol sa BODS (BOD Sleep) nga gamay sa MCU Control Rehistro, kitaa “MCUCR - Pagkontrol sa MCU Pagrehistro ”sa panid 37. Ang pagsulat sa kini nga gamay sa usa nagpalong sa BOD sa Power-Down, samtang ang pagsulat sa usa ka zero nagpadayon nga aktibo ang BOD. Ang setting sa default zero, ie aktibo ang BOD.

Ang pagsulat sa gamay nga BODS gikontrol sa us aka orasan nga pagkasunud ug usa nga nakapaarang sa gamay, kita n'yo “MCUCR - MCU Control Regis- ter ”sa panid 37.

Mga limitasyon

Ang pag-andar sa disable sa BOD gipatuman sa mga musunud nga aparato, ra:

ATtiny25, rebisyon E, ug labi ka bag-o

ATtiny45, rebisyon D, ug labi ka bag-o

ATtiny85, rebisyon C, ug labi ka bag-o

Ang mga pagbag-o gimarkahan sa pakete sa aparato ug mahimong makita sama sa mosunud:

Sa ilawom nga bahin sa mga pakete 8P3 ug 8S2

Panguna nga bahin sa pakete 20M1

Pagrehistro sa Power Reduction

Ang Pagrehistro sa Power Reduction (PRR), kitaa “PRR - Pagrehistro sa Power Reduction” sa panid 38, naghatag usa ka pamaagi aron maibanan ang konsumo sa kuryente pinaagi sa paghunong sa orasan sa tagsatagsa nga mga peripheral. Ang karon nga kahimtang sa peripheral na-freeze ug ang mga rehistro sa I / O dili mabasa o masulat. Ang mga gigikanan nga gigamit sa peripheral kung ang pagpahunong sa orasan magpadayon nga okupado, busa ang peripheral kinahanglan sa kadaghanan nga mga kaso dili paganahon sa wala pa ihunong ang orasan. Pagmata sa usa ka module, nga gihimo pinaagi sa paghawan sa gamay sa PRR, gibutang ang module sa parehas nga estado sama sa wala pa pag-shutdown.

Ang pagsira sa module mahimong magamit sa Idle mode ug Active mode aron maminusan ang kinatibuk-ang konsumo sa kuryente. Sa tanan nga uban pang mga mode sa pagkatulog, nahunong na ang orasan. Kitaa Ang "Supply Current of I / O modules" sa panid 177 kay examples.

Pagminus sa Pagkonsumo sa Kusog

Daghang mga isyu ang gikonsiderar kung gisulayan nga maminusan ang pagkonsumo sa kuryente sa usa ka kinontrol nga sistema sa AVR. Sa kinatibuk-an, ang mga mode sa pagtulog kinahanglan gamiton kutob sa mahimo, ug ang mode sa pagkatulog kinahanglan pilion aron nga pipila ka posible nga mga pag-andar sa aparato ang ninglihok. Ang tanan nga mga gimbuhaton nga dili kinahanglan kinahanglan dili paganahon. Sa partikular, ang mga mosunud nga modyul mahimong magkinahanglan espesyal nga konsiderasyon sa diha nga pagsulay sa pagkab-ot sa labing ubos nga mahimo nga konsumo sa kuryente.

Analog sa Digital Converter

Kung gipaandar, ang ADC mahimo’g makahimo sa tanan nga mga mode sa pagtulog. Aron makatipig sa kuryente, kinahanglan nga dili paganahon ang ADC sa wala pa mosulod sa bisan unsang mode sa pagkatulog. Kung ang ADC gipalong ug gipadayon usab, ang sunod nga pagkakabig usa ka gipadako nga pagkakabig. Pag-refer sa “Analog to Digital Converter” sa pahina 122 alang sa mga detalye sa operasyon sa ADC.

Pagtandi sa Analog

Sa pagsulud sa Idle mode, ang Analog Comparator kinahanglan nga dili paganahon kung dili gigamit. Sa pagsulud sa mode sa ADC Noise Reduction, ang Analog Comparator kinahanglan dili paganahon. Sa uban pang mga mode sa pagkatulog, ang Analog Comparator awtomatiko nga wala’y kapansanan. Bisan pa, kung ang Analog Comparator giandam aron magamit ang Internal Voltage Reference ingon input, ang Analog Comparator kinahanglan ma-disable sa tanan nga mga mode sa pagtulog. Kung dili, ang Internal Voltage Ang reperensiya mapagan, dili independente sa mode sa pagtulog. Pag-refer sa “Magtandi sa Analog” sa pahina 119 alang sa mga detalye kung giunsa ang pag-configure ang Analog Comparator.

Brown-out Detector

Kung ang Brown-out Detector dili kinahanglan sa aplikasyon, kini nga module kinahanglan patyon. Kung ang Brown-out Detector gipaandar sa mga BODLEVEL Fuse, mapagan kini sa tanan nga mga mode sa pagtulog, ug busa, kanunay gikaon ang kuryente. Sa labi ka lawom nga mga mode sa pagtulog, dako kini nga ikatampo sa kinatibuk-ang karon nga konsumo. Kitaa "Brown-out Detec- tion ”sa panid 41 ug Ang “Software BOD Disable” sa pahina 35 alang sa mga detalye kung unsaon pag-configure ang Brown-out Detector.

Internal nga Voltage Pakisayran

Ang Internal Voltage Ang reperensiya mapagan kung kinahanglan sa Brown-out Detection, ang Analog Comparator o ang ADC. Kung kini nga mga modyul dili na kaputlan sama sa gihulagway sa mga seksyon sa taas, ang sulud nga voltagAng reperensya dili paga-disable ug dili kini mag-usik og gahum. Kung gibalik pag-usab, kinahanglan tugutan sa mogamit ang pagsugod sa pakisayran sa wala pa gamiton ang output. Kung ang pakisayran nagpadayon sa mode sa pagkatulog, ang output mahimong magamit dayon. Pag-refer sa “Sulod sa Voltage Reference ”sa panid 42 alang sa mga detalye sa oras sa pagsugod.

Timer sa Tigbantay

Kung ang Watchdog Timer dili kinahanglan sa aplikasyon, kini nga modyul kinahanglan mapalong. Kung ang Watchdog Timer gipaandar, mapagan kini sa tanan nga mga mode sa pagtulog, ug busa, kanunay gikaon ang kuryente. Sa labi ka lawom nga mga mode sa pagkatulog, makaamot kini og dako sa kinatibuk-ang karon nga konsumo. Pag-refer sa “Tigbantay sa Timor” sa panid 42 alang sa mga detalye kung unsaon pag-configure ang Watchdog Timer.

Mga Pin sa Port

Kung mosulod sa mode sa pagkatulog, ang tanan nga mga port pin kinahanglan nga ma-configure aron magamit ang labing gamay nga gahum. Ang labing hinungdanon nga butang mao ang pagsiguro nga wala’y mga lagdok nga nagmaneho sa resistive load. Sa mga mode sa pagkatulog diin ang I/O clock (clkI/O) ug ang ADC clock (clkADC) gipahunong, ang input buffers sa device ma-disable. Kini nagsiguro nga walay kuryente nga mahurot

pinaagi sa input lohika kung dili kinahanglan. Sa pipila nga mga kaso, kinahanglan ang lohika sa pag-input alang sa pagkakita sa mga kondisyon sa pagmata, ug

mapadagan unya kini. Pag-refer sa seksyon Ang "Digital Enput Enable ug Sleep Mode" sa pahina 57 para sa mga detalye kung asa nga mga pin ang gipagana. Kung ang input buffer gipagana ug ang input signal gipasagdan nga naglutaw o adunay analog nga lebel sa signal nga duol sa VCC/2, ang input buffer mogamit ug sobra nga gahum.

Para sa analog input pins, ang digital input buffer kinahanglang i-disable sa tanang panahon. Ang lebel sa analog signal nga duol sa VCC/2 sa usa ka input pin mahimong hinungdan sa mahinungdanong kasamtangan bisan sa aktibo nga mode. Ang mga digital input buffer mahimong ma-disable pinaagi sa pagsulat sa Digital Input Disable Register (DIDR0). Refer sa “DIDR0 - Digital Input Disable Rehistro 0” sa panid 121 alang sa mga detalye.

Paglaraw nga Paglaraw

MCUCR - Pagrehistro sa MCU Control

Ang Rehistro sa MCU Control adunay sulud nga mga control bit alang sa pagdumala sa kuryente.

gamay 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 LAWAS ISC01 ISC00 MCUCR
Pagbasa/Pagsulat R R/W R/W R/W R/W R R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Bit 7 - BODS: BOD Sleep

Ang pag-andar sa BOD disable magamit magamit sa pipila nga mga aparato, ra. Kitaa “Mga Limitasyon” sa panid 36.

Aron ma-disable ang BOD sa panahon sa pagkatulog (kitaa Talaan 7-1 sa panid 34) ang bit nga BODS kinahanglan isulat sa lohika usa. Kini kontrolado sa usa ka oras nga pagkasunodsunod ug ang makahimo sa gamay, BODSE sa MCUCR. Una, ang parehas nga BODS ug BODSE kinahanglan ibutang sa usa. Ikaduha, sulud sa upat ka siklo sa orasan, ang BODS kinahanglan itakda sa usa ug ang BODSE kinahanglan itakda sa zero. Ang gamay nga BODS aktibo sa tulo nga mga siklo sa orasan pagkahuman nga kini gitakda. Ang usa ka panudlo sa pagtulog kinahanglan ipatuman samtang ang BODS aktibo aron mapalong ang BOD alang sa tinuud nga mode sa pagkatulog. Ang BODS bit awtomatikong natangtang pagkahuman sa tulo ka siklo sa orasan.

Sa mga aparato diin ang Sleeping BOD wala ipatuman kini nga gamay wala gigamit ug kanunay magbasa sa zero.

Bit 5 - SE: Makapahimo sa Pagkatulog

Ang SE bit kinahanglan nga isulat sa logic nga usa aron ang MCU mosulod sa sleep mode kung ang SLEEP nga instruksiyon gipatuman. Aron malikayan ang MCU nga mosulod sa sleep mode gawas kung kini ang katuyoan sa programmer, girekomendar nga isulat ang Sleep Enable (SE) bit ngadto sa usa sa dili pa ipatuman ang SLEEP instruction ug i-clear kini dayon human sa pagmata.

Mga Bits 4: 3 - SM [1: 0]: Mode sa Pagkatulog Pagpili Mga Bits 1 ug 0

Gipili kini nga mga tipik taliwala sa tulo nga magamit nga mga mode sa pagtulog sama sa gipakita sa Talaan 7-2.

Talaan 7-2. Pagpili sa Mode sa Pagkatulog

SM1 SM0 Mode sa Pagkatulog
0 0 walay pulos
0 1 Pagkunhod sa Kasaba sa ADC
1 0 Pag-power down
1 1 Gireserba

Bit 2 - BODSE: Ang BOD Enable Sleep

Ang pag-andar sa BOD disable magamit magamit sa pipila nga mga aparato, ra. Kitaa “Mga Limitasyon” sa panid 36.

Ang BODSE bit makahimo sa setting sa BODS control bit, ingon gipatin-aw sa paghubit sa BODS bit. Ang pag-disable sa BOD gikontrol sa us aka oras nga han-ay.

Ang kini nga gamay wala gigamit sa mga aparato diin ang pag-disable sa software BOD wala ipatuman ug mabasa ingon zero sa mga aparato.

PRR - Pagrehistro sa Power Reduction

Naghatag ang rehistro sa Power Reduction usa ka pamaagi aron maibanan ang pagkonsumo sa kuryente pinaagi sa pagtugot nga ma-disable ang mga peripheral alarm.

gamay 7 6 5 4 3 2 1 0
0x20 PRTIM1 PRTIM0 PRUSI PRADC PRR
Pagbasa/Pagsulat R R R R R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Mga Bits 7: 4 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Bit 3 - PRTIM1: Timer / Counter sa Pagkunhod sa Kuryente1

Ang pagsulat sa usa ka lohika usa niini nga gamay nagsira sa module sa Timer / Counter1. Kung ang Timer / Counter1 gipaandar, ang operasyon magpadayon sama sa wala pa ang pagsira.

Bit 2 - PRTIM0: Timer / Counter sa Pagkunhod sa Kuryente0

Ang pagsulat sa usa ka lohika usa niini nga gamay nagsira sa module sa Timer / Counter0. Kung ang Timer / Counter0 gipaandar, ang operasyon magpadayon sama sa wala pa ang pagsira.

Bit 1 - PRUSI: Pagminus sa Kuryente USI

Ang pagsulat sa usa ka lohika usa sa niini nga gamay nagsira sa USI pinaagi sa paghunong sa orasan sa modyul. Sa pagpukaw pag-usab sa USI, ang USI kinahanglan nga himuon nga una aron masiguro ang husto nga operasyon.

Bit 0 - PRADC: Power Reduction ADC

Ang pagsulat sa usa ka lohika usa sa kini nga gamay nagsira sa ADC. Kinahanglan nga dili paganahon ang ADC sa wala pa pasirad-an. Hinumdomi nga ang orasan sa ADC gigamit usab sa pipila nga mga bahin sa analog comparator, nga nagpasabut nga ang analogue comparator dili magamit kung taas kini nga gamay.

Pagpugong ug Pag-reset sa Sistema

Pag-usab sa AVR

Sa pag-reset, ang tanan nga I / O Rehistro gitakda sa una nga mga kantidad, ug ang programa nagsugod sa pagpatuman gikan sa Reset Vector. Ang panudlo nga gibutang sa Reset Vector kinahanglan usa ka RJMP - Relative Jump - panudlo sa naandan nga pagdumala sa rutina. Kung ang programa dili gyud makahimo usa ka makababag nga gigikanan, ang mga Interrupt Vector dili gigamit, ug ang regular nga code sa programa mahimong ibutang sa kini nga mga lokasyon. Ang diagram sa sirkito sa Hulagway 8-1 nagpakita sa pag-usab nga lohika. Ang mga elektrikal nga parapo sa pag-reset sa circuitry gihatag sa "Sistema ug I-reset ang Mga Kinaiya" sa panid 165.

Figure 8-1 Reset Logic Pag-usab sa lohika

Ang mga port sa I / O sa AVR gilayon nga na-reset sa ilang inisyal nga kahimtang kung ang usa ka pag-reset nga gigikanan mahimong aktibo. Wala kini kinahanglana nga magdagan ang bisan unsang gigikanan sa orasan.

Pagkahuman sa tanan nga mga gigikanan sa pag-reset dili na aktibo, usa ka counter sa paglangan ang gisangpit, nga gibuklad ang sulud nga pag-reset. Gitugotan niini ang gahum nga makaabut sa usa ka lig-on nga lebel sa wala pa magsugod ang normal nga operasyon. Ang panahon nga time-out sa delay counter gihubit sa ninggamit pinaagi sa SUT ug CKSEL Fuse. Ang lainlaing mga kapilian alang sa panahon sa paglangan gipakita sa “Orasan Mga gigikanan ”sa panid 25.

I-reset ang Mga Gigikanan

Ang ATtiny25 / 45/85 adunay upat nga gigikanan sa pag-reset:

Pag-reset sa Power-on. Ang MCU gi-reset kung ang suplay voltage ubos sa Power-on Reset threshold (VPOT).

External Reset. Ang MCU ma-reset kung ang usa ka mubu nga lebel naa sa RESET pin alang sa mas taas kaysa sa minimum nga gitas-on sa pulso.

Watchdog Reset. Gi-reset ang MCU kung matapos na ang yugto sa Watchdog Timer ug gipaandar ang Watchdog.

Pag-usab sa Brown-out. Ang MCU gi-reset kung ang suplay voltage Ang VCC ubos sa Brown-out Reset threshold (VBOT) ug ang Brown-out Detector gi-enable.

Pag-reset sa Power-on

Ang usa ka pulso nga Power-on Reset (POR) gihimo pinaagi sa usa ka On-chip detection circuit. Ang lebel sa pagkakita gihubit sa "Sys- tem ug I-reset ang Mga Kinaiya ”sa panid 165. Ang POR gi-aktibo kung ang VCC ubos sa lebel sa detection. Ang POR circuit mahimong gamiton sa pag-trigger sa Start-up Reset, ingon man sa pag-detect sa kapakyasan sa supply voltage.

Ang usa ka Power-on Reset (POR) circuit nagsiguro nga ang aparato ma-reset gikan sa Power-on. Pag-abut sa Power-on Reset threshold voltage nagtawag sa delay counter, nga nagtino kung unsa kadugay ang aparato gitago sa RESET pagkahuman sa pagtaas sa VCC. Ang RESET nga signal gi-aktibo pag-usab, nga wala’y paglangan, kung ang VCC mikunhod ubos sa lebel sa detection.

Hulagway 8-2. MCU Start-up, RESET Gihigot sa VCC

INTERNAL RESET

Hulagway 8-3. MCU Start-up, RESET Extended Externally

External Reset

Ang usa ka External Reset gihimo sa usa ka mubu nga ang-ang sa RESET pin kung gipaandar. I-reset ang mga pulso nga mas taas kaysa sa minimum nga pulso nga gilapdon (kitaa "Sistema ug I-reset ang Mga Kinaiya" sa panid 165) makamugna usa ka pag-reset, bisan kung ang orasan wala modagan. Ang mga labi ka gagmay nga pulso dili gigarantiyahan nga makamugna usa ka pag-reset. Kung ang naabut nga signal nakaabut sa Reset Threshold Voltage – VRST – sa positibong bahin niini, ang delay counter magsugod sa MCU human matapos ang Time-out period.

Hulagway 8-4. External Reset Panahon sa Operasyon Fig8.4

Brown-out Detection

Ang ATtiny25/45/85 adunay On-chip Brown-out Detection (BOD) nga sirkito para sa pagmonitor sa lebel sa VCC atol sa operasyon pinaagi sa pagtandi niini sa usa ka fixed trigger level. Ang trigger level para sa BOD mahimong mapili sa BODLEVEL Fuses. Ang lebel sa pag-trigger adunay hysteresis aron masiguro nga wala’y spike nga Brown-out Detection. Ang hysteresis sa lebel sa detection kinahanglang hubaron nga VBOT+ = VBOT + VHYST/2 ug VBOT- = VBOT – VHYST/2.

Sa diha nga ang BOD gipagana, ug ang VCC mikunhod ngadto sa usa ka bili ubos sa trigger level (VBOT-in Hulagway 8-5), ang Brown-out Reset gipalihok dayon. Kung ang VCC motaas sa lebel sa pag-trigger (VBOT+ in Hulagway 8-5), ang delay counter magsugod sa MCU human ang Time-out period tTOUT matapos na.

Ang BOD circuit makamatikod lamang sa usa ka pag-ubos sa VCC kung ang voltage nagpabilin ubos sa trigger level sa mas taas nga tBOD nga gihatag "Sistema ug I-reset ang Mga Kinaiya" sa panid 165. Fig8.5

Pag-reset sa Watchdog

Kung ang Watchdog mag-time out, kini makamugna og usa ka mubo nga reset pulse sa usa ka CK cycle nga gidugayon. Sa nahulog nga ngilit niini nga pulso, ang delay timer magsugod sa pag-ihap sa Time-out period tTOUT. Refer sa “Tigbantay sa Timor” sa panid 42 alang sa mga detalye sa pagpadagan sa Watchdog Timer.

Voltage Reference Enable Signals ug Oras sa Pagsugod

Ang voltagAng reperensiya adunay oras nga pagsugod nga mahimong makaimpluwensya sa paagi nga kinahanglan gamiton. Ang oras sa pagsugod gihatag sa "Sistema ug I-reset ang Mga Kinaiya" sa panid 165. Aron makatipig sa kuryente, ang pakisayran dili kanunay naablihan. Ang pagpadayon naa sa mga mosunud nga kahimtang:

Kung gipalihok ang BOD (pinaagi sa pagprograma sa BODLEVEL [2: 0] Fuse Bits).

Kung ang koneksyon sa bandgap konektado sa Analog Comparator (pinaagi sa pagtakda sa ACBG gamay sa ACSR).

Kung gipaandar ang ADC.

Sa ingon, kung dili gipalihok ang BOD, pagkahuman nga gitakda ang ACBG gamay o gipaarang ang ADC, kinahanglan kanunay nga hatagan sa tiggamit ang reperensya nga magsugod sa wala pa magamit ang output gikan sa Analog Comparator o ADC. Aron maibanan ang pagkonsumo sa kuryente sa Power-down mode, malikayan sa tiggamit ang tulo nga mga kondisyon sa taas aron masiguro nga ang referensya gipatay sa wala pa mosulud sa Power-down mode.

Timer sa Tigbantay

Ang Watchdog Timer gikan sa usa ka On-chip Oscillator nga moandar sa 128 kHz. Pinaagi sa pagpugong sa Watchdog Timer prescaler, ang agwat sa Watchdog Reset mahimong mapaayo sama sa gipakita sa Talaan 8-3 sa panid 46. Ang WDR - Watchdog Reset - pag-usab sa panudlo sa Watchdog Timer. Ang Watchdog Timer gi-reset usab kung kini dili paganahon ug kung adunay usa ka Chip Reset nga mahitabo. Napili ang lainlaing mga yugto sa siklo sa orasan nga mahimong mapili aron mahibal-an ang pag-usab sa panahon. Kung matapos ang panahon sa pag-reset nga wala’y laing Watchdog Reset, ang ATtiny25 / 45/85 i-reset ug ipatuman gikan sa Reset Vector. Alang sa mga detalye sa oras sa Watchdog Reset, tan-awa ang Talaan 8-3 sa panid 46.

Ang Watchdog Timer mahimo usab nga ma-configure aron makahimo usa ka makabalda sa baylo nga usa ka pag-reset. Mahimo kini makatabang kaayo kung gigamit ang Watchdog aron makamata gikan sa Power-down.

Aron mapugngan ang dili tinuyo nga pag-disable sa Watchdog o wala tuyoa nga pagbag-o sa panahon nga wala’y oras, duha nga managlahi nga lebel sa kahilwasan ang gipili sa piyus nga WDTON sama sa gipakita sa Talaan 8-1 Refer sa "Natapos nga mga Hanay sa Pagbag-o sa paglaraw sa Watchdog Timer ”sa panid 43 alang sa mga detalye.

Talaan 8-1. WDT Configuration isip usa ka Function sa Fuse Settings sa WDTON

WDTON Level sa Kaluwasan Inisyal nga Estado sa WDT Giunsa ang pag-disable sa WDT Giunsa ang Pagbag-o sa Time- out
Wala giprograma 1 Nabaldado Han-ay nga han-ay Walay limitasyon
Giprograma 2 Gipaandar Kanunay nga gipalihok Han-ay nga han-ay

Hulagway 8-7. Timer sa Tigbantay Tigbantay nga iro

Mga Han-ay nga Han-ay alang sa Pagbag-o sa Pag-configure sa Tigbantay sa Timor

Ang pagkasunud alang sa pagbag-o sa pagsulud managlahi gamay sa taliwala sa duha nga lebel sa kahilwasan. Ang gilain nga mga pamaagi gihulagway alang sa matag lebel.

Safety Level 1: Niini nga mode, ang Watchdog Timer sa sinugdan gi-disable, apan mahimong ma-enable pinaagi sa pagsulat sa WDE bit ngadto sa usa nga walay bisan unsang pagdili. Gikinahanglan ang usa ka gitakdang panahon nga han-ay sa dihang gi-disable ang gipaandar nga Watchdog Timer. Aron ma-disable ang usa ka gipagana nga Watchdog Timer, ang mosunod nga pamaagi kinahanglang sundon:

Sa parehas nga operasyon, pagsulat usa ka lohika usa sa WDCE ug WDE. Ang usa ka lohika kinahanglan isulat sa WDE bisan unsa pa ang nangaging kantidad sa gamay nga WDE.

Sulod sa sunod nga upat nga siklo sa orasan, sa parehas nga operasyon, isulat ang WDE ug WDP bits nga gusto, apan sa gamay nga WDCE na-clear.

Safety Level 2: Niini nga mode, ang Watchdog Timer kanunay nga gipagana, ug ang WDE bit kanunay nga basahon isip usa. Gikinahanglan ang usa ka gitakdang panahon nga han-ay kung usbon ang panahon sa Watchdog Time-out. Aron usbon ang Watchdog Time-out, ang mosunod nga pamaagi kinahanglang sundon:

Sa parehas nga operasyon, pagsulat usa ka makatarunganon sa WDCE ug WDE. Bisan kung ang WDE kanunay nga gitakda, ang WDE kinahanglan isulat sa usa aron masugdan ang oras nga han-ay.

Sulod sa sunod nga upat nga siklo sa orasan, sa parehas nga operasyon, isulat ang mga WDP bits nga gusto, apan sa gamay nga WDCE na-clear. Ang kantidad nga gisulat sa gamay nga WDE dili hinungdanon.

Ang Code Example

Ang mosunud nga code exampGipakita sa usa ang usa ka asembliya ug usa nga pag-andar sa C alang sa pagpalong sa WDT. Ang exampgiisip nga ang mga pagkagambala gikontrol (pananglitan, pinaagi sa dili pag-undang sa mga sagabal sa tibuuk kalibutan) aron wala’y mga pagsamok nga mahitabo sa pagpatuman sa kini nga mga gimbuhaton.

Assembly Code Example(1)
WDT_off:

wdr

; Tin-aw ang WDRF sa MCUSR

ldi r16, (0<

gikan sa MCUSR, r16

; Pagsulat sa usa nga makatarunganon sa WDCE ug WDE

; Ipadayon ang daang setting sa prescaler aron malikayan ang wala tuyoa nga Watchdog Reset

sa r16, WDTCR

ori r16, (1<

gikan sa WDTCR, r16

; Patya ang WDT

ldi r16, (0<

gikan sa WDTCR, r16

ret

C Code Example(1)
walay WDT_off(walay sulod)

{

_WDR ();

/* Tin-aw ang WDRF sa MCUSR */ MCUSR = 0x00

/* Pagsulat ug lohikal nga usa sa WDCE ug WDE */ WDTCR |= (1<

/ * Patya ang WDT * / WDTCR = 0x00;

}

Hinumdomi: 1. Kitaa “Ang Code Examples ”sa panid 6.

Paglaraw nga Paglaraw

MCUSR - Pagrehistro sa Kahimtang sa MCU

Ang Pagrehistro sa Kahimtang sa MCU naghatag kasayuran diin nga gigikanan sa pag-reset ang hinungdan sa usa ka Pag-reset sa MCU.

gamay 7 6 5 4 3 2 1 0
0x34 WDRF BORF KASAYURAN PORF MCUSR
Pagbasa/Pagsulat R R R R R/W R/W R/W R/W

Inisyal nga Halaga 0 0 0 0 Kitaa ang Bit Nga Paglaraw

Mga Bits 7: 4 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Bit 3 - WDRF: Watchdog Reset Flag

Kini nga gamay gitakda kung adunay usa ka Pag-reset sa Watchdog. Ang gamay gi-reset sa us aka Power-on Reset, o pinaagi sa pagsulat sa usa ka lohika nga zero sa bandila.

Bit 2 - BORF: Brown-out Reset Flag

Kini nga gamay gitakda kung mahitabo ang usa ka Brown-out Reset. Ang gamay gi-reset sa us aka Power-on Reset, o pinaagi sa pagsulat sa usa ka lohika nga zero sa bandila.

Bit 1 - EXTRF: External Reset Flag

Kini nga gamay gitakda kung adunay usa ka External Reset nga mahitabo. Ang gamay gi-reset sa us aka Power-on Reset, o pinaagi sa pagsulat sa usa ka lohika nga zero sa bandila.

Bit 0 - PORF: Power-on Reset Flag

Ang kini nga gamay gitakda kung mahitabo ang usa ka Pag-reset sa Kusog. Ang gamay gi-reset ra pinaagi sa pagsulat sa usa ka lohika nga zero sa bandila.

Aron magamit ang Reset Flags aron mahibal-an ang usa ka kondisyon nga pag-reset, kinahanglan nga basahon sa tiggamit ug dayon i-reset ang MCUSR sa labing dali nga panahon sa programa. Kung ang rehistro gilimpyohan sa wala pa mahitabo ang usa pa ka pag-reset, makit-an ang gigikanan sa pag-reset pinaagi sa pagsusi sa Reset Flags.

WDTCR - Watchdog Timer Control Rehistro

gamay 7 6 5 4 3 2 1 0
0x21 WDIF WDIE WDP3 WDCE WDE WDP2 WDP1 WDP0 WDTCR
Pagbasa/Pagsulat R/W R/W R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 X 0 0 0

Bit 7 - WDIF: Ang Watchdog Timeout Makababag nga Bandila

Ang kini nga gamay gitakda kung adunay oras nga paggawas sa Watchdog Timer ug ang Watchdog Timer na-configure alang sa makabalda. Ang WDIF na-clear sa hardware kung gipatuman ang katugbang nga vector sa pagkaguba sa pagdumala. Sa laing paagi, ang WDIF natangtang pinaagi sa pagsulat usa ka lohika sa usa ka bandera. Kung ang I-bit sa SREG ug WDIE gitakda, ang Watchdog Time-out Interrupt ipatuman.

Bit 6 - WDIE: Ang Watchdog Timeout Makababag sa Enable

Kung kini nga gamay nga sulat gisulat sa usa, ang WDE malimpyohan, ug ang I-bit sa Pagrehistro sa Katayuan gitakda, ang Watchdog Time-out Interrupt gipaandar. Sa kini nga mode ang katugbang nga pagpugong gipatuman imbis nga usa ka pag-reset kung adunay oras sa oras sa Watchdog Timer.

Kung ang WDE gitakda, ang WDIE awtomatikong gihawan sa hardware kung adunay mahitabo nga time-out. Kini mapuslanon alang sa pagpadayon sa seguridad sa Watchdog Reset samtang gigamit ang nakababag. Pagkahuman sa paghawan sa WDIE gamay, ang sunod nga pag-time-out makamugna usa ka pag-reset. Aron malikayan ang Watchdog Reset, kinahanglan itakda ang WDIE pagkahuman sa matag nakabalda.

Talaan 8-2. Watchdog Timer Configuration

WDE WDIE Tigbantay sa Timer State Paglihok sa Time-out
0 0 Mihunong Wala
0 1 Nagdagan Pagbalda
1 0 Nagdagan I-reset
1 1 Nagdagan Pagbalda

Bit 4 - WDCE: Makapaarang sa Pagbag-o sa Watchdog

Kini nga gamay kinahanglan nga itakda kung ang WDE gamay gisulat sa lohiko nga zero. Kay kon dili, ang Watchdog dili ma-disable. Kung nahisulat na sa usa, malimpyohan sa hardware kini nga gamay pagkahuman sa upat ka siklo sa orasan. Pag-refer sa paghulagway sa WDE gamay alang sa usa ka pamaagi sa pag-disable sa Watchdog. Kini nga gamay kinahanglan usab nga itakda sa pagbag-o sa mga prescaler bits. Kitaa "Mga Han-ay nga Han-ay alang sa Pagbag-o sa Configuration sa Watchdog Timer ”sa panid 43.

Bit 3 - WDE: Makapahimo sa Watchdog

Kung gisulat ang WDE sa usa nga lohika, ang Watchdog Timer gipalihok, ug kung ang WDE gisulat sa lohiko nga zero, ang function sa Watchdog Timer wala’y mahimo. Mahimo lang malimpyohan ang WDE kung ang WDCE gamay adunay lebel sa lebel sa usa. Aron dili pag-disable ang usa nga naka-awas nga Timan sa Pagmata, ang mosunod nga pamaagi kinahanglan sundon:

Sa parehas nga operasyon, pagsulat usa ka lohika usa sa WDCE ug WDE. Ang usa ka lohika kinahanglan isulat sa WDE bisan kung kini gitakda sa usa sa wala pa magsugod ang disable nga operasyon.

Sulod sa sunod nga upat nga siklo sa orasan, pagsulat usa ka lohika 0 sa WDE. Dili kini paganahon ang Watchdog.

Sa lebel sa kaluwas 2, dili mahimo nga pag-disable ang Watchdog Timer, bisan sa algorithm nga gihulagway sa taas. Kitaa "Mga Han-ay nga Han-ay alang sa Pagbag-o sa Konpigurasyon sa Tigbantay sa Timor" sa panid 43.

Sa lebel sa kahilwasan 1, ang WDE gipatong sa WDRF sa MCUSR. Kitaa “MCUSR - Pagrehistro sa Kahimtang sa MCU” sa panid 44 alang sa paghulagway sa WDRF. Kini nagpasabut nga ang WDE kanunay nga gitakda kung ang WDRF gitakda. Aron malimpyohan ang WDE, kinahanglan nga limpyohan ang WDRF sa wala pa pag-disable ang Watchdog uban ang pamaagi nga gihulagway sa taas. Gisiguro sa kini nga dagway ang daghang mga pag-usab sa mga kondisyon nga hinungdan sa pagkapakyas, ug usa ka luwas nga pagsugod pagkahuman sa pagkapakyas.

Mubo nga sulat: Kung ang watchdog timer dili gamiton sa aplikasyon, importante nga moagi sa watchdog disable procedure sa pagsugod sa device. Kung ang Watchdog aksidente nga na-enable, pananglitanamppinaagi sa usa ka runaway pointer o brown-out nga kondisyon, ang aparato ma-reset, nga sa baylo magdala sa usa ka bag-ong watchdog reset. Aron malikayan kini nga sitwasyon, kinahanglan kanunay nga limpyohan sa aplikasyon sa software ang WDRF flag ug ang kontrol sa WDE gamay sa naandan nga kalihokan.

Mga Bits 5, 2: 0 - WDP [3: 0]: Watchdog Timer Prescaler 3, 2, 1, ug 0

Ang mga bitbit nga WDP [3: 0] ang nagtino sa pagbantay sa Watchdog Timer kung kanus-a nakaandar ang Watchdog Timer. Ang lainlaing mga kantidad sa prescaling ug ang ilang katugbang nga Panahon sa Pag-timeout gipakita sa Talaan 8-3.

Talaan 8-3. Watchdog Timer Prescale Pagpili

WDP3 WDP2 WDP1 WDP0 Gidaghan sa Mga Siklo sa WDT Oscillator Kasagaran nga Time-out sa VCC = 5.0V
0 0 0 0 Mga siklo sa 2K (2048) 16 ms
0 0 0 1 Mga siklo sa 4K (4096) 32 ms
0 0 1 0 Mga siklo sa 8K (8192) 64 ms
0 0 1 1 Mga siklo sa 16K (16384) 0.125 s
0 1 0 0 Mga siklo sa 32K (32764) 0.25 s
0 1 0 1 Mga siklo sa 64K (65536) 0.5 s
0 1 1 0 Mga siklo sa 128K (131072) 1.0 s
0 1 1 1 Mga siklo sa 256K (262144) 2.0 s
1 0 0 0 Mga siklo sa 512K (524288) 4.0 s
1 0 0 1 Mga siklo sa 1024K (1048576) 8.0 s

Talaan 8-3. Watchdog Timer Prescale Select (Gipadayon)

WDP3 WDP2 WDP1 WDP0 Gidaghan sa Mga Siklo sa WDT Oscillator Kasagaran nga Time-out sa VCC = 5.0V
1 0 1 0 Gireserba(1)
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

Mubo nga sulat: 1. Kung gipili, usa sa mga balido nga setting sa ubos sa 0b1010 ang gamiton.

Nakababag

Gilarawan sa kini nga seksyon ang mga detalye sa makaguba nga pagdumala sama sa gihimo sa ATtiny25 / 45/85. Alang sa usa ka kinatibuk-ang katin-awan sa AVR nga nakababag sa pagdumala, pakigsulti “Pag-reset ug Pag-undang sa Pagdumala” sa panid 12.

Pagbabag sa mga Vector sa ATtiny25 / 45/85

Ang mga nakababag nga mga vector sa ATtiny25 / 45/85 gihulagway sa Talaan 9-1ubos.

Talaan 9-1. Reset ug Interrupt Vectors

Ang Vector No. Address sa Programa Tinubdan Makababag nga Kahulugan
1 0x0000 RESET External Pin, Power-on Reset, Brown-out Reset, Watchdog Reset
2 0x0001 INT0 Pangayo sa External Interrupt Request 0
3 0x0002 PCINT0 Pin Pagbag-o sa Pagbag-o sa Hangyo sa Makababag 0
4 0x0003 TIMER1_COMPA Timer / Counter1 Pagtandi sa Tugma A
5 0x0004 TIMER1_OVF Timer / Counter1 Pag-awas
6 0x0005 TIMER0_OVF Timer / Counter0 Pag-awas
7 0x0006 EE_RDY Andam na ang EEPROM
8 0x0007 ANA_COMP Pagtandi sa Analog
9 0x0008 ADC Kompleto ang Pagbag-o sa ADC
10 0x0009 TIMER1_COMPB Timer / Counter1 Itandi ang Tugma B
11 0x000A TIMER0_COMPA Timer / Counter0 Pagtandi sa Tugma A
12 0x000B TIMER0_COMPB Timer / Counter0 Itandi ang Tugma B
13 0x000C WDT Pag-undang sa Watchdog
14 0x000D USI_START USI SUGDI
15 0x000E USI_OVF USI Pag-awas

Kung ang programa dili gyud makahimo usa ka makababag nga gigikanan, ang mga Interrupt Vector dili gigamit, ug ang regular nga code sa programa mahimong ibutang sa kini nga mga lugar.

Ang usa ka tipikal ug kinatibuk-ang pag-setup alang sa makababag nga mga adres sa vector sa ATtiny25 / 45/85 gipakita sa ex nga programaampsa ubos.

Assembly Code Example
.org 0x0000 ; Ibutang ang adres sa sunod pahayag
rjmp RESET ; Address 0x0000
rjmp INT0_ISR ; Address 0x0001
rjmp PCINT0_ISR ; Address 0x0002
rjmp TIM1_COMPA_ISR ; Address 0x0003
rjmp TIM1_OVF_ISR ; Address 0x0004
rjmp TIM0_OVF_ISR ; Address 0x0005
rjmp EE_RDY_ISR ; Address 0x0006
rjmp ANA_COMP_ISR ; Address 0x0007
rjmp ADC_ISR ; Address 0x0008
rjmp TIM1_COMPB_ISR ; Address 0x0009
rjmp TIM0_COMPA_ISR ; Address 0x000A
rjmp TIM0_COMPB_ISR ; Address 0x000B
rjmp WDT_ISR ; Address 0x000C
rjmp USI_START_ISR ; Address 0x000D
rjmp USI_OVF_ISR ; Address 0x000E
RESET: ; Panguna nga programa pagsugod
; Address 0x000F

Nota: Tan-awa “Ang Code Examples ”sa panid 6.

Mga Panggawas sa Gawas

Ang mga External Interrupts gipalihok sa INT0 pin o bisan unsang mga PCINT [5: 0] nga mga pin. Pag-obserbar nga, kung mahimo, ang mga makababag mag-aghat bisan kung ang INT0 o PCINT [5: 0] nga mga lagdok gi-configure ingon mga output. Naghatag ang kini nga dagway usa ka paagi sa pagmugna sa usa ka software nga makababag. Ang pagbag-o sa pin nga nakababag sa PCI mag-aghat kung adunay mahimo nga PCINT [5: 0] nga mga toggle sa pin. Ang pagpugong sa PCMSK Rehistro kung unsang mga pin ang nakatampo sa mga pagbag-o sa pagbag-o sa pin. Ang mga pagbag-o sa pagbag-o sa pin sa PCINT [5: 0] nakit-an nga wala magkahiusa. Kini nagpasabut nga kini nga mga makabalda mahimong magamit alang sa pagpukaw sa bahin gikan usab sa mga mode sa pagkatulog nga dili kay Idle mode.

Ang mga makabalda nga INT0 mahimong mapahinabo sa pagkahulog o pagtaas sa ngilit o usa ka mubu nga lebel. Gi-set up kini ingon gipakita sa detalye alang sa MCU Control Register - MCUCR. Kung ang INT0 interrupt gipaandar ug na-configure ingon ang lebel nga na-triggered, ang interrupt mag-aghat basta ang pin gipaubus ra. Hinumdomi nga ang pag-ila sa pagkahulog o pagtaas sa mga pagbabag sa ngilit sa INT0 nanginahanglan adunay presensya sa usa ka I / O nga orasan, nga gihulagway sa Ang "Clock Systems ug ang ilang Pag-apud-apod" sa panid 23.

Ubos nga lebel sa Pagsamok

Ang usa ka mubu nga lebel nga nakabalda sa INT0 nakit-an nga wala magkahiusa. Kini nagpasabut nga kini nga makababag mahimong magamit alang sa pagpukaw sa bahin gikan usab sa mga mode sa pagkatulog nga dili kay Idle mode. Ang orasan nga I / O nahunong sa tanan nga mga mode sa pagtulog gawas sa Idle mode.

Timan-i nga kung ang usa ka lebel nga na-trigger nga interrupt gigamit alang sa pagmata gikan sa Power-down, ang gikinahanglan nga lebel kinahanglan nga ipadayon nga igo aron makompleto sa MCU ang pagmata aron ma-trigger ang level interrupt. Kung ang lebel mawala sa dili pa matapos ang Oras sa Pagsugod, ang MCU makamata gihapon, apan walay interrupt nga mabuhat. Ang oras sa pagsugod gihubit sa SUT ug CKSEL Fuse nga gihulagway sa "Mga Kapilian sa Clock sa System ug Clock" sa pahina 23.

Kung ang ubos nga lebel sa makaguba nga pin gikuha sa wala pa magmata ang aparato pagkahuman ang pagpatuman sa programa dili ibalhin sa nakabalda nga rutina sa serbisyo apan magpadayon gikan sa panudlo nga nagsunod sa mando sa SLEEP

Pagbag-o sa Pin Pagbag-o sa Timing

Usa ka example sa oras sa us aka pagbag-o sa pin gipakita sa Hulagway 9-1.

Paglaraw nga Paglaraw

MCUCR - Pagrehistro sa MCU Control

Ang rehistro sa External Interrupt Control A adunay sulud nga mga control bit alang sa pagkaguba sa pagpugong sa pagbati.

gamay 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 LAWAS ISC01 ISC00 MCUCR
Pagbasa/Pagsulat R R/W R/W R/W R/W R R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Mga Bits 1: 0 - ISC0 [1: 0]: Pagbalda sa Pagkontrol sa Pangisip 0 Bit 1 ug Bit 0

Ang External Interrupt 0 gipaandar sa external pin INT0 kung ang SREG I-flag ug ang katugbang nga interrupt mask gitakda. Ang lebel ug mga ngilit sa gawas nga pin nga INT0 nga nagpalihok sa nakabalda gihubit sa Talaan 9-2. Ang kantidad sa INT0 pin mao ang sampgipangulohan sa wala pa nakita ang mga ngilit. Kung mapili ang sulud o togol nga makabalda, ang mga pulso nga molungtad labi pa sa usa ka yugto sa orasan mahimong makaguba. Ang mga labi ka gagmay nga pulso dili gigarantiyahan nga makamugna usa ka makababag. Kung mapili ang pagbag-o sa lebel sa lebel, kinahanglan ang pagpaubus sa lebel hangtod mahuman ang karon nga nagpatuman nga panudlo aron makaguba.

Talaan 9-2. Interrupt 0 Sense Control

ISC01 ISC00 Deskripsyon
0 0 Ang mubu nga lebel sa INT0 nakamugna usa ka nakababag nga hangyo.
0 1 Ang bisan unsang lohikal nga pagbag-o sa INT0 nagmugna usa ka nakababag nga hangyo.
1 0 Ang nahulog nga ngilit sa INT0 nagmugna usa ka nakababag nga hangyo.
1 1 Ang pagtaas sa ngilit sa INT0 nagmugna usa ka nakababag nga hangyo.

GIMSK - Kinatibuk-an nga Rehistro sa Maskara nga Makabalda

gamay 7 6 5 4 3 2 1 0
0x3B INT0 PCIe GIMSK
Pagbasa/Pagsulat R R/W R/W R R R R R
Inisyal nga Bili 0 0 0 0 0 0 0 0

Mga Bits 7, 4: 0 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Bit 6 - INT0: External Interrupt Request 0 Enable

Kung ang INT0 bit gitakda (usa) ug ang I-bit sa Status Rehistro (SREG) gitakda (usa), ang external pin interrupt gipaandar. Ang Interrupt Sense Control0 bits 1/0 (ISC01 ug ISC00) sa MCU Control Register (MCUCR) nagpatin-aw kung ang external interrupt gipalihok sa pagtaas ug / o pagkahulog sa ngilit sa INT0 pin o level sensed. Ang kalihokan sa pin magpahinabo sa usa ka makababag nga hangyo bisan kung ang INT0 gi-configure ingon usa ka output. Ang katugbang nga pagkabalda sa Exteral Interrupt Request 0 gipatuman gikan sa INT0 Interrupt Vector.

Bit 5 - PCIE: Pagbag-o sa Pin Pag-undang sa Pag-abtik sa Enable

Kung ang PCIE bit gitakda (usa) ug ang I-bit sa Status Register (SREG) gitakda (usa), gipaandar ang pagbag-o sa pin. Ang bisan unsang pagbag-o sa bisan unsang gipaandar nga PCINT [5: 0] nga pin hinungdan sa usa nga nakababag. Ang katugbang nga pagkabalda sa Pin Change Interrupt Request gipatuman gikan sa PCI Interrupt Vector. Ang PCINT [5: 0] nga mga lagdok gitagana nga tagsatagsa pinaagi sa Pagrehistro sa PCMSK0.

GIFR - Kinatibuk-ang Nakababag nga Pagrehistro sa Bandila

gamay 7 6 5 4 3 2 1 0
0x3A INTF0 PCIF GASA
Pagbasa/Pagsulat R R/W R/W R R R R R
Inisyal nga Bili 0 0 0 0 0 0 0 0

Mga Bits 7, 4: 0 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Bit 6 - INTF0: External Interrupt Flag 0

Kung adunay us aka sulab o lohika nga pagbag-o sa INT0 pin nga nagpalihok sa usa ka nakababag nga hangyo, ang INTF0 nahimo’g set (usa). Kung ang I-bit sa SREG ug ang INT0 bit sa GIMSK gitakda (usa), ang MCU molukso sa katugbang nga Interrupt Vector. Malinaw ang bandila kung gipatuman ang nakabalda nga rutina. Sa laing paagi, ang bandila mahimong malimpyohan pinaagi sa pagsulat usa ka lohikal nga usa niini. Kanunay nga malimpyohan ang kini nga bandila kung ang INT0 na-configure ingon usa ka lebel nga nakaguba.

Bit 5 - PCIF: Pin Usba ang Pagbabag sa Bandera

Kung ang usa ka pagbag-o nga lohika sa bisan unsang PCINT [5: 0] nga pin nag-aghat sa usa ka nakababag nga hangyo, ang PCIF mahimong gitakda (usa). Kung ang I-bit sa SREG ug ang PCIE gamay sa GIMSK gitakda (usa), ang MCU molukso sa katugbang nga Interrupt Vector. Malinaw ang bandila kung gipatuman ang nakabalda nga rutina. Sa laing paagi, ang bandila mahimong malimpyohan pinaagi sa pagsulat usa ka lohikal nga usa niini.

PCMSK - Pin Pagbag-o sa Pagrehistro sa Maskara

gamay 7 6 5 4 3 2 1 0
0x15 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 PCMSK
Pagbasa/Pagsulat R R R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Mga Bits 7: 6 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Mga Bits 5: 0 - PCINT [5: 0]: Pagbag-o sa Pin Pagpalihok nga Maskara 5: 0

Ang matag PCINT [5: 0] gamay nagpili kung ang pagbag-o sa pagbag-o sa pin gipaandar sa katugbang nga I / O pin. Kung ang PCINT [5: 0] gitakda ug ang PCIE gamay sa GIMSK gitakda, ang pagbag-o sa pagbag-o sa pin gipaandar sa katugbang nga I / O pin. Kung ang PCINT [5: 0] natangtang, ang pagbag-o sa pin nga nakababag sa katugbang nga I / O pin dili na kapusan.

I/O Ports

Pasiuna

Ang tanan nga mga AVR port adunay tinuod nga Read-Modify-Writing functionality kung gigamit ingon kinatibuk-ang digital I / O port. Kini nagpasabut nga ang direksyon sa usa ka port pin mahimong mabag-o nga wala tuyoa nga pagbag-o sa direksyon sa bisan unsang ubang pin nga adunay mga panudlo sa SBI ug CBI. Ang parehas nga magamit sa pagbag-o sa kantidad sa drive (kung gi-configure ingon output) o pagpaandar / pag-disable sa mga pull-up resistor (kung gi-configure ingon input). Ang matag output buffer adunay mga simetrikal nga kinaiya sa drive nga adunay parehas nga taas nga pagkalunod ug kapabilidad sa gigikanan. Kusog ang kusug sa drayber aron direkta nga magmaneho sa LED. Ang tanan nga port pin adunay tagsatagsa nga mapili nga resistors nga adunay pull-uptage invariant nga pagsukol. Ang tanan nga I/O nga mga pin adunay proteksyon nga mga diode sa VCC ug Ground sama sa gipakita sa Hulagway 10-1. Refer sa “Mga Katangian sa Elektrikal” sa pahina 161 alang sa usa ka kompleto nga lista sa mga parameter.

Hulagway 10-1. I/O Pin Equivalent Schematic

Fig10

Ang tanan nga mga rehistro ug gamay nga pakisayran sa kini nga seksyon gisulat sa kasagaran nga porma. Ang usa ka mas ubos nga kaso nga "x" nagrepresentar sa letra sa pag-numero alang sa pantalan, ug ang usa ka mas ubos nga kaso nga "n" nagrepresentar sa gamay nga numero. Bisan pa, kung gigamit ang rehistro o gihubit ang gamay sa usa ka programa, kinahanglan gamiton ang ensakto nga porma. Alang sa example, PORTB3 alang sa gamay nga no. 3 sa Port B, dinhi gi-dokumento sa kadaghanan ingon PORTxn. Ang pisikal nga Rehistro sa I / O ug mga lokasyon sa gamay nalista sa Ang "Paglaraw sa Pagrehistro" sa panid 64.

Tulo nga mga lokasyon sa address sa memorya sa I / O ang gigahin alang sa matag pantalan, usa matag usa alang sa Pagrehistro sa Data - PORTx, Rehistro sa Direksyon sa Data - DDRx, ug Port Pins Input - PINx Ang lokasyon sa Port Input Pins I / O mabasa ra, samtang ang Data Register ug ang Data Direction Register gibasa / gisulat. Bisan pa, ang pagsulat sa usa ka lohika nga dyutay sa PINx Reg- ister, magresulta sa usa ka pag-ilis sa katugbang nga gamay sa Pagrehistro sa Data. Ingon kadugangan, ang Pull-up Disable - ang PUD gamay sa MCUCR dili paganahon ang function nga pull-up alang sa tanan nga mga lagdok sa tanan nga pantalan kung gitakda na.

Ang paggamit sa I / O port ingon General nga I / O gihulagway sa "Mga Port ingon nga Pangkalahatan Digital I / O" sa pahina 53. Kadaghanan sa mga port pin gipadaghan sa mga alternatibong mga gimbuhaton alang sa mga bahin nga peripheral sa aparato. Giunsa ang matag alternatibo nga kalihokan nga gigamit sa port pin nga gihulagway sa “Mga Pagpaandar sa Pantalan nga Port” sa panid 57. Pag-refer sa indibidwal nga mga seksyon sa module alang sa usa ka hingpit nga paghulagway sa mga alternatibong gimbuhaton.

Hinumdomi nga ang pagpalihok sa alternatibong pagpaandar sa pipila ka mga port pin dili makaapekto sa paggamit sa ubang mga lagdok sa pantalan ingon kinatibuk-ang digital I / O.

Mga Port ingon nga Pangkalahatan Digital I / O

Ang mga pantalan bi-direksyon nga I / O port nga adunay opsyonal nga internal nga pull-up. Hulagway 10-2 nagpakita usa ka magamit nga paghulagway sa usa ka I / O-port pin, dinhi sa kadaghanan gitawag nga Pxn.

Hulagway 10-2. Kinatibuk-ang Digital I/O(1)

Fig10

Pag-configure sa Pin

Ang matag port pin gilangkoban sa tulo nga bitbit nga mga bit: DDxn, PORTxn, ug PINxn. Ingon sa gipakita sa Ang "Paglaraw sa Pagrehistro" sa panid 64, ang mga bitbit nga DDxn na-access sa DDRx I / O address, ang PORTxn bits sa PORTx I / O address, ug ang mga PINxn bits sa PINx I / O address.

Ang gamay nga DDxn sa DDRx Register nagpili sa direksyon sa kini nga pin. Kung ang DDxn gisulat usa nga lohika, ang Pxn gi-configure ingon usa ka output pin. Kung ang DDxn gisulat nga lohika nga zero, ang Pxn gi-configure ingon usa ka input pin.

Kung ang PORTxn gisulat nga lohika usa kung ang pin gi-configure ingon usa ka input pin, gipaandar ang pull-up resistor. Aron mapalong ang resistor nga pull-up, kinahanglan isulat ang PORTxn nga lohika nga zero o ang pin kinahanglan i-configure ingon usa ka output pin. Ang mga port pin tulo nga gipahayag kung ang kahimtang sa pag-reset nahimo nga aktibo, bisan kung wala’y orasan nga nagdagan.

Kung ang PORTxn gisulat nga lohika usa kung ang pin gi-configure ingon usa ka output pin, ang port pin gimaneho nga taas (usa). Kung ang PORTxn gisulat nga lohika nga zero kung ang pin gi-configure ingon usa ka output pin, ang port pin gipadagan nga ubos (zero).

Gibag-o ang Pin

Ang pagsulat sa usa ka lohika usa sa PINxn nagbag-o sa kantidad nga PORTxn, independente sa kantidad sa DDRxn. Hinumdomi nga ang panudlo sa SBI mahimong magamit aron i-toggle ang us aka gamay sa usa ka pantalan.

Pagbalhin Tali sa Pagsulod ug Paggawas

Kung magbalhinbalhin tali sa tri-state ({DDxn, PORTxn} = 0b00) ug taas nga output ({DDxn, PORTxn} = 0b11), usa ka intermediate nga estado nga adunay bisan unsang pull-up nga gipagana {DDxn, PORTxn} = 0b01) o ubos ang output ({DDxn, PORTxn} = 0b10) kinahanglan mahitabo. Kasagaran, ang pull-up enabled nga estado hingpit nga madawat, tungod kay ang usa ka high-impedant nga palibot dili makamatikod sa kalainan tali sa usa ka lig-on nga taas nga drayber ug usa ka pull-up. Kung dili kini mao ang kahimtang, ang PUD bit sa MCUCR Register mahimong itakda aron ma-disable ang tanan nga mga pull-up sa tanan nga mga pantalan.

Ang pagbalhin taliwala sa input nga adunay pull-up ug output nga mubu makahatag sa parehas nga problema. Kinahanglan gamiton sa ninggamit ang bisan hain nga tri- state ({DDxn, PORTxn} = 0b00) o ang output high state ({DDxn, PORTxn} = 0b10) ingon usa ka tunga-tunga nga lakang.

Talaan 10-1 nagsumada sa mga signal sa pagkontrol alang sa kantidad nga pin.

Talaan 10-1. Mga Pag-configure sa Port Pin

DDxn PORTxn PUD

(sa MCUCR)

I/O Pagbira-pataas Komento
0 0 X Input Dili Tri-estado (Hi-Z)
0 1 0 Input Oo Maghatag ang Pxn karon kung ext. gibira sa ubos.
0 1 1 Input Dili Tri-estado (Hi-Z)
1 0 X Output Dili Ubos nga Output (Sink)
1 1 X Output Dili Taas nga output (Source)

Pagbasa sa Halaga sa Pin

Dili independente sa setting sa Data Direction bit DDxn, ang port pin mahimong mabasa pinaagi sa gamay nga PINxn Rehistro. Ingon sa gipakita sa Hulagway 10-2, ang PINxn Rehistro nga gamay ug ang nag-una nga trangka naglangkob sa usa ka synchronizer. Gikinahanglan kini aron malikayan ang metastability kung ang pisikal nga pin magbag-o sa kantidad duol sa ngilit sa sulud nga relo, apan gipaila usab niini ang usa ka paglangan. Hulagway 10-3 nagpakita sa usa ka timing diagram sa pag-synchronize sa dihang nagbasa sa usa ka eksternal nga gigamit nga pin value. Ang pinakataas ug minimum nga mga paglangan sa pagpalapad gipunting nga tpd, max ug tpd, min matag usa.

Hunahunaa ang yugto sa orasan nga magsugod sa wala madugay pagkahuman sa una nga nahulog nga ngilit sa orasan sa system Ang trangka sirado kung gamay ang orasan, ug moadto sa transparent kung taas ang orasan, ingon gipakita sa landong nga rehiyon sa signal nga "SYNC LATCH". Ang bili sa signal na-latched kung maminusan ang orasan sa sistema. Kini nga orasan ngadto sa PINxn Rehistro sa nagsunod nga positibo nga ngilit sa oras. Ingon sa gipakita sa duha nga arrow tpd, max ug tpd, min, us aka us aka signal nga pagbalhin sa pin ang nalangay taliwala sa ½ ug 1½ nga oras sa orasan sa sistema depende sa oras sa pagpahayag.

Kung gibasa balik ang usa ka software nga gitudlo nga kantidad nga pin, ang usa ka dili panudlo kinahanglan ipasok ingon gipakita sa Hulagway 10-4. Ang out nga panudlo nagtakda sa signal nga "SYNC LATCH" sa positibo nga ngilit sa oras. Sa kini nga kaso, ang paglangan tpd pinaagi sa synchronizer usa ka yugto sa orasan sa sistema.

Ang mosunud nga code exampGipakita sa le kung giunsa pagbutang ang port B nga mga pin 0 ug 1 nga taas, 2 ug 3 nga ubos, ug gihubit ang mga port pin gikan sa 4 hangtod 5 ingon input nga adunay usa ka pull-up nga gi-assign sa port pin 4. Ang sangputanan nga mga kantidad sa pin gibasa pag-usab, apan sama sa nahisgotan na kaniadto, usa ka nop nga instruksyon ang gilakip aron makabasa og balik sa bili nga bag-o lang gi-assign sa pipila ka mga pin.

Assembly Code Example(1)

; Ipasabut ang mga pull-up ug itakda ang mga output nga taas

; Tinoa ang mga direksyon alang sa mga port pin

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

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

gawas sa PORTB,r16

gikan sa DDRB, r17

; Isulod ang nop para sa pag-synchronize

nop

; Basaha ang mga port pin

sa r16,PINB

Mubo nga sulat: Alang sa programa sa asembliya, duha ka temporaryo nga mga rehistro ang gigamit aron maminusan ang oras gikan sa mga pull-up nga gibutang sa mga pin 0, 1 ug 4, hangtod nga ang mga bit sa direksyon husto nga gitakda, nagtino sa gamay nga 2 ug 3 ingon nga ubos ug pag-usab sa mga bit 0 ug 1 isip lig-on nga taas nga mga drayber.

C Code Example
unsigned char i;

/* Ipasabut ang mga pull-up ug itakda ang mga output nga taas */

/* Ipasabot ang mga direksyon para sa mga port pin */ PORTB = (1<

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

/* Isulod ang nop para sa synchronization*/

_NOP ();

/* Basaha ang mga port pin */ i = PINB;

Ang Digital Input Enable ug Sleep Mode

Ingon sa gipakita sa Hulagway 10-2, ang digital input signal mahimong clamped sa yuta sa input sa schmitt-trigger. Ang signal nga gipaila nga SLEEP sa numero, gitakda sa MCU Sleep Controller sa Power-down mode aron malikayan ang taas nga konsumo sa kuryente kung ang pipila ka mga input signal gipasagdan nga naglutaw, o adunay lebel sa analog nga signal duol sa VCC/2.

Ang pagkatulog gipatong alang sa mga port pin nga gipaandar ingon sa gawas nga makaguba nga mga lagdok. Kung ang pang-gawas nga hangyo nga makababag dili gipalihok, ang TULOG aktibo usab alang sa mga pin. Ang pagkatulog usab gipalabi sa lainlain nga uban pang mga alternatibong gimbuhaton sama sa gihulagway sa “Mga Pagpaandar sa Pantalan nga Port” sa panid 57.

Kung ang usa ka taas nga lebel sa lohika ("usa") naa sa usa ka asynchronous nga external interrupt pin nga gi-configure ingon "Interrupt on Rising Edge, Falling Edge, o Bisan unsang Logic Change on Pin" samtang ang external interrupt wala magamit, ang katumbas nga External Interrupt Flag itakda kung magpadayon gikan sa nahisgutan nga mode sa Pagkatulog, ingon ang clampAng pagsulud sa kini nga mode sa pagkatulog naghimo sa gihangyo nga pagbag-o sa lohika.

Wala’y Kalabutan nga mga Pin

Kung ang pipila nga mga lagdok dili gigamit, girekomenda nga sigurohon nga ang kini nga mga pin adunay gihubit nga lebel. Bisan kung ang kadaghanan sa mga digital nga input dili gipili sa lawom nga mga mode sa pagkatulog sama sa gihulagway sa taas, ang mga naglutaw nga input kinahanglan likayan aron maminusan ang karon nga pagkonsumo sa tanan nga uban pa nga mga mode diin ang mga digital nga pag-input gipagana (Reset, Active mode ug Idle mode).

Ang pinakasimple nga paagi aron masiguro ang usa ka gitakda nga lebel sa usa ka wala magamit nga pin, mao ang paghimo sa internal nga pull-up. Sa kini nga kaso, ang pull-up ma-disable sa panahon sa pag-reset. Kung ang gamay nga konsumo sa kuryente sa panahon sa pag-reset hinungdanon, girekomenda nga mogamit usa ka eksternal nga pull-up o pulldown. Ang pagkonektar sa wala magamit nga mga pin direkta ngadto sa VCC o GND dili girekomenda, tungod kay kini mahimong hinungdan sa sobra nga mga sulog kon ang pin aksidenteng na-configure isip output.

Mga Kapuli nga Pag-andar sa Port

Kadaghanan sa mga port pin adunay mga alternatibong gimbuhaton dugang sa kadaghanan nga digital nga I / Os. Hulagway 10-5 gipakita kung giunsa ang signal signal sa pagkontrol sa port pin gikan sa gipayano Hulagway 10-2 mahimong mapalapdan sa mga alternatibong gimbuhaton. Ang mga nagpasulabi nga mga signal mahimo nga wala sa tanan nga mga port pin, apan ang numero nagsilbi usa ka generic nga paghulagway nga magamit sa tanan nga port pin sa AVR microcontroller nga pamilya.

Talaan 10-2. Kinatibuk-ang Deskripsyon sa Nag-overriding nga mga Signal para sa Alternate Function

Ngalan sa Signal Tibuok Ngalan Deskripsyon
PUOE Pag-override sa Pag-pull up Kung ang kini nga signal gitakda, ang pag-aghat sa pull-up kontrolado sa signal sa PUOV. Kung nahinlo ang kini nga senyas, gipaandar ang pull-up kanus-a

{DDxn, PORTxn, PUD} = 0b010.

PUOV Pagbaligya sa Gibug-atan nga Bili Kung ang PUOE gitakda, ang pag-pull-up gipaandar / nakulangan kung ang PUOV gitakda / na-clear, dili igsapayan ang setting sa mga DDxn, PORTxn, ug PUD Register bits.
DDOE Paglihok sa Direksyon sa Pagdumala sa Data Kung ang kini nga signal gitakda, ang Output Driver Enable gikontrol sa signal nga DDOV. Kung nahinlo ang kini nga signal, ang driver sa Output gipaandar sa gamay nga DDxn Register.
DDOV Paghatag bili sa Pagdumala sa Data Direksyon Kung ang DDOE gitakda, ang Output Driver gipalihok / dili na aktibo kung ang DDOV gitakda / gihawan, dili igsapayan ang setting sa DDxn Register bit.
PVOE Paglihok sa Pagpasobra sa Value sa Port Kung ang kini nga signal gitakda ug ang Output Driver gipaandar, ang kantidad sa pantalan gikontrol sa signal sa PVOV. Kung ang PVOE na-clear, ug gipaandar ang Output Driver, ang port Value gikontrol sa PORTxn Register bit.
PVOV Ang kantidad sa Override Value sa Port Kung ang PVOE gitakda, ang kantidad sa port gitakda sa PVOV, dili igsapayan ang setting sa PORTxn Register bit.
PTOE Pag-override sa Port Toggle Enable Kung ang PTOE gitakda, ang PORTxn Register bit nga baligtad.
DIEOE Digital Enput Enable Override Enable Kung ang kini nga bit gitakda, ang Digital Input Enable gikontrol sa signal nga DIEOV. Kung nahinlo ang kini nga signal, ang Digital Input Enable gitino sa estado sa MCU (Normal mode, mode sa pagtulog).
DIEOV Paglihok sa Digital nga Pag-input Pag-ayo sa Halaga Kung ang DIEOE gitakda, ang Digital Input gipalihok / nakulangan kung ang DIEOV gitakda / gihawan, dili igsapayan ang estado sa MCU (Normal mode, mode sa pagtulog).
DI Digital nga Input Kini ang Digital Input sa mga alternatibong gimbuhaton. Sa numero, ang senyas konektado sa output sa schmitt-trigger apan sa wala pa ang synchronizer. Gawas kung gigamit ang Digital Input ingon usa ka gigikanan sa orasan, ang modyul nga adunay alternatibong gimbuhaton mogamit kaugalingon nga synchronizer.
AIO Pag-input / Paggawas sa Analog Kini ang Analog Input / Output sa / gikan sa mga alternatibong gimbuhaton. Ang senyas konektado direkta sa pad, ug mahimong gamiton nga direkta.

Ang mosunud nga mga suskrisyon sa mubo naghulagway sa mga kapuli nga mga gimbuhaton alang sa matag pantalan, ug gisumpay ang mga overriding signal sa alternatibong pagpaandar. Pag-refer sa alternatibo nga paghulagway sa pagpaandar alang sa dugang nga mga detalye.

Mga Kapuli nga Pag-andar sa Port B

Ang mga Port B pin nga adunay kapuli nga pagpaandar gipakita sa Talaan 10-3.

Talaan 10-3. Mga Alternate Function sa Mga Pin sa Port B

Port Pin Alternate Function
PB5

I-RESET: I-reset ang Pin

dW: debugWIRE I / O ADC0: ADC Input Channel 0

PCINT5: Pin Change Interrupt, Tinubdan 5

PB4 XTAL2: Crystal Oscillator Output CLKO: System Clock Output ADC2: ADC Input Channel 2

OC1B: Timer / Counter1 Pagtandi sa Match B Output PCINT4: Pin Change Interrupt 0, Source 4

PB3 XTAL1: Crystal Oscillator Input CLKI: External Clock Input ADC3: ADC Input Channel 3

OC1B: Komplementaryong Timer / Counter1 Pagtandi sa Match B Output PCINT3: Pin Change Interrupt 0, Source 3

PB2 SCK: Serial Clock Input ADC1: ADC Input Channel 1

T0: Timer / Counter0 Clock Source USCK: USI Clock (Three Wire Mode) SCL: USI Clock (Two Wire Mode) INT0: External Interrupt 0 Input PCINT2: Pin Change Change 0, Source 2

PB1 MISO: SPI Master Data Input / Slave Data Output AIN1: Analog Comparator, Negative Input OC0B: Timer / Counter0 Compare Match B Output OC1A: Timer / Counter1 Compare Match A Output DO: USI Data Output (Three Wire Mode) PCINT1: Pin Change Interrupt 0, Source 1
PB0 MOSI :: SPI Master Data Output / Slave Data Input AIN0: Analog Comparator, Positive Input

OC0A: Timer/Counter0 Itandi ang Match A nga output

OC1A: Komplementaryong Timer / Counter1 Pagtandi sa Match A Output DI: USI Data Input (Tulo nga Wire Mode)

SDA: USI Data Input (Two Wire Mode) AREF: External Analog Reference PCINT0: Pin Change Interrupt 0, Source 0

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

PAG-RESET: Ang external nga pag-input sa pag-reset mao ang aktibo nga mubu ug gipaandar sa wala’y programa ("1") ang RSTDISBL Fuse. Gipalihok ang paghulbot ug ang driver sa output ug digital nga pag-input dili na aktibo kung gigamit ang pin ingon ang RESET pin.

dW: Kung ang debugWIRE Enable (DWEN) Fuse giprograma ug ang Lock bits wala ma-program, ang sistema sa debugWIRE sulud sa target nga aparato gipalihok. Ang RESET port pin gi-configure ingon usa ka wire-AND (open-drain) nga bi-directional nga I / O pin nga adunay gipaandar nga pull-up ug nahimo’g gateway sa komunikasyon tali sa target ug emulator.

ADC0: Analog to Digital Converter, Channel 0.

PCINT5: Pin Pagbag-o sa Makaguba nga gigikanan 5.

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

XTAL2: Chip Clock Oscillator pin 2. Gigamit ingon nga pin sa orasan alang sa tanan nga gigikanan sa chip orasan gawas sa internal nga calibrateble RC Oscillator ug external nga orasan. Kung gigamit ingon usa ka pin nga orasan, ang pin dili magamit ingon usa ka I / O pin. Kung naggamit internal nga calibratable RC Oscillator o External nga orasan ingon usa ka gigikanan sa orasan sa Chip, ang PB4 nagsilbi nga usa ka ordinaryong I / O pin.

CLKO: Ang ninggawas nga sistema sa orasan mahimo nga output sa pin PB4. Ang nabahin nga orasan sa sistema mahimong maabut kung ang CKOUT Fuse giprograma, dili igsapayan ang mga setting sa PORTB4 ug DDB4. Kini usab output sa pag-usab.

ADC2: Analog to Digital Converter, Channel 2.

OC1B: Output Compare match output: Ang PB4 pin mahimong magsilbing external output alang sa Timer / Counter1 Compare Match B kung gi-configure ingon usa ka output (set sa DDB4). Ang pin nga OC1B mao usab ang output pin alang sa pagpaandar sa PWM mode timer.

PCINT4: Pin Pagbag-o sa Makaguba nga gigikanan 4.

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

XTAL1: Chip Clock Oscillator pin 1. Gigamit alang sa tanan nga gigikanan sa chip clock gawas sa internal calibrateble RC oscillator. Kung gigamit ingon usa ka pin nga orasan, ang pin dili magamit ingon usa ka I / O pin.

CLKI: Pagsulod sa Clock gikan sa usa ka panggawas nga gigikanan sa orasan, kitaa “External Clock” sa pahina 26.

ADC3: Analog to Digital Converter, Channel 3.

OC1B: Inverted Output Compare output output: Ang PB3 pin mahimong magsilbing usa ka external output alang sa Timer / Counter1 Compare Match B kung gi-configure ingon usa ka output (set sa DDB3). Ang pin nga OC1B mao usab ang baligtad nga output pin alang sa pagpaandar sa PWM mode timer.

PCINT3: Pin Pagbag-o sa Makaguba nga gigikanan 3.

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

SCK: output sa Master Clock, input sa Slave Clock alang sa SPI channel. Kung ang SPI gipalihok ingon usa ka Ulipon, kini nga pin gi-configure ingon usa ka input nga dili igsapayan ang setting sa DDB2. Kung ang SPI gipalihok ingon usa ka Magtutudlo, ang direksyon sa datos sa kini nga pin gikontrol sa DDPB2. Kung ang pin napugos sa SPI nga mahimong usa ka input, ang pull-up mahimo gihapon nga makontrol sa PORTB2 gamay.

ADC1: Analog to Digital Converter, Channel 1.

T0: Gigikanan sa counter sa Timer / Counter0.

USCK: Three-wire mode Universal Serial Interface Clock.

SCL: Two-wire mode Serial Clock alang sa USI Two-wire mode.

INT0: Gawas nga Makaguba nga gigikanan 0.

PCINT2: Pin Pagbag-o sa Makaguba nga gigikanan 2.

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

MISO: Pag-input sa Master Data, pin sa output sa Slave Data alang sa SPI channel. Kung ang SPI gipalihok ingon usa ka Magtutudlo, kini nga pin gi-configure ingon usa ka input nga dili igsapayan ang setting sa DDB1. Kung ang SPI gipalihok ingon usa ka Ulipon, ang direksyon sa datos sa kini nga pin gikontrol sa DDB1. Kung ang pin napugos sa SPI nga mahimong usa ka input, ang pull-up mahimo gihapon nga makontrol sa PORTB1 bit.

AIN1: Analog Comparator Negative Input. I-configure ang port pin ingon ang input nga adunay internal nga pull-up nga nakapatay aron malikayan ang pag-andar sa digital port gikan sa makabalda sa pagpaandar sa Analog Comparator.

OC0B: Output Pagtandi output sa match. Ang PB1 pin mahimong magsilbing usa ka eksternal nga output alang sa Timer / Counter0 Compare Match B. Ang PB1 pin kinahanglan i-configure ingon usa ka output (DDB1 set (usa)) aron maalagad kini nga function. Ang pin nga OC0B mao usab ang output pin alang sa pagpaandar sa PWM mode timer.

OC1A: Output Compare match output: Ang PB1 pin mahimong magsilbing usa ka external output alang sa Timer / Counter1 Compare Match B kung gi-configure ingon usa ka output (set sa DDB1). Ang pin nga OC1A mao usab ang output pin alang sa pagpaandar sa PWM mode timer.

BUHAT: Tulo ka wire mode Universal output Serial Interface Data output. Three-wire mode Ang output sa data nag-override sa kantidad nga PORTB1 ug gimaneho kini sa pantalan kung ang direksyon sa data bit DDB1 gitakda (usa). Gihimo gihapon sa PORTB1 ang pull-up, kung ang direksyon gi-input ug ang PORTB1 gitakda (usa).

PCINT1: Pin Pagbag-o sa Makaguba nga gigikanan 1.

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

MOSI: Output sa SPI Master Data, input sa Slave Data alang sa SPI channel. Kung ang SPI gipalihok ingon usa ka Ulipon, kini nga pin gi-configure ingon usa ka input bisan unsa man ang setting sa DDB0. Kung ang SPI gipalihok ingon usa ka Master, ang direksyon sa datos sa kini nga pin gikontrol sa DDB0. Kung ang pin napugos sa SPI nga mahimong usa ka input, ang pull-up mahimo gihapon nga makontrol sa PORTB0 bit.

AIN0: Analog Comparator Positive Input. I-configure ang port pin ingon ang input nga adunay internal nga pull-up nga nakapatay aron malikayan ang pag-andar sa digital port gikan sa makabalda sa pagpaandar sa Analog Comparator.

OC0A: Output Pagtandi output sa match. Ang pin nga PB0 mahimong magsilbing usa ka eksternal nga output alang sa Timer / Counter0 Compare Match A kung gi-configure ingon usa ka output (DDB0 set (usa)). Ang pin nga OC0A mao usab ang output pin alang sa pagpaandar sa PWM mode timer.

OC1A: Inverted Output Compare output output: Ang PB0 pin mahimong magsilbing external output alang sa Timer / Counter1 Compare Match B kung gi-configure ingon usa ka output (set sa DDB0). Ang pin nga OC1A mao usab ang baligtad nga output pin alang sa pagpaandar sa PWM mode timer.

SDA: Duha-wire mode nga Serial Interface Data.

AREF: External Analog Reference alang sa ADC. Ang pagdrayb ug output driver gipagawas sa PB0 kung gigamit ang pin ingon usa ka external nga pakisayran o Internal Voltage Ang pakisayran nga adunay external capacitor sa mga pin sa AREF.

DI: Data Input sa USI Three-wire mode. Ang USI Three-wire mode dili mopatigbabaw sa normal nga pag-andar sa pantalan, busa kinahanglan nga i-configure ang pin ingon usa ka input alang sa DI function.

PCINT0: Pin Pagbag-o sa Makaguba nga gigikanan 0.

Talaan 10-4 ug Talaan 10-5 isumpay ang mga alternatibong gimbuhaton sa Port B sa mga overriding signal nga gipakita sa Hulagway 10-5 sa panid 58.

Talaan 10-4. Nag-overriding nga mga Signal para sa Alternate Function sa PB[5:3]

Ngalan sa Signal 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 Transmit 0 0
PVOE 0 Paglihok sa OC1B

Paglihok sa OC1B

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 Pagsulud sa PCINT5 Pagsulud sa PCINT4 Pagsulud sa PCINT3
AIO I-RESET ang pag-input, Pag-input sa ADC0 Pag-input sa ADC2 Pag-input sa ADC3

Pahinumdom: kung ang Fuse kay “0” (Programmed).

Talaan 10-5. Nag-overriding nga mga Signal para sa Alternate Function sa PB[2:0]

Ngalan sa Signal 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 Paganahon ang OC0B + OC1A Paganahon + USI_THREE_WIRE

Paganahon ang OC0A + OC1A Paganahon + (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 /

Pagsulud sa PCINT2

Pagsulud sa PCINT1 DI / SDA / PCINT0 Input
AIO Pag-input sa ADC1 Negatibo nga Pag-input sa Analog Comparator Positibo nga Pag-input sa Analog Comparator

Paglaraw nga Paglaraw

MCUCR - Pagrehistro sa MCU Control

gamay 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 LAWAS ISC01 ISC00 MCUCR
Pagbasa/Pagsulat R R/W R/W R/W R/W R R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

Bit 6 - PUD: Pull-up Disable

Kung kini nga gamay nga sulat gisulat sa usa, ang mga pull-up sa mga port sa I / O dili pinagana bisan kung ang DDxn ug PORTxn Registro gi-configure aron mahimo ang mga pull-up ({DDxn, PORTxn} = 0b01). Kitaa “Pag-configure sa Pin” sa pahina 54 alang sa dugang nga mga detalye bahin sa kini nga dagway.

PORTB - Pagrehistro sa Data sa Port B

gamay 7 6 5 4 3 2 1 0
0x18 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 PORTB
Pagbasa/Pagsulat R R R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

DDRB - Rehistro sa Direksyon sa Port B Data

gamay 7 6 5 4 3 2 1 0
0x17 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0 DDRB
Pagbasa/Pagsulat R R R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 0 0 0 0 0 0

PINB - Adres sa Mga Pin sa Port B Input

gamay 7 6 5 4 3 2 1 0
0x16 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0 PINB
Pagbasa/Pagsulat R R R/W R/W R/W R/W R/W R/W
Inisyal nga Bili 0 0 N/A N/A N/A N/A N/A N/A

8-bit Timer / Counter0 nga adunay PWM

Mga bahin

Duha ka Independent nga Pagawas Pagtandi Mga Yunit

Dobleng Buffered Output Pagtandi Mga Rehistro

Hawan ang Timer sa Pagtandi sa Tugma (Auto Reload)

Libre nga Glitch, Phase Tama nga Sakto nga Pulso Width Modulator (PWM)

Variable PWM Panahon

Taghimo sa Frequency

Tulo ka Independent nga Mga gigikanan sa Pagkaguba (TOV0, OCF0A, ug OCF0B)

Tapos naview

Ang Timer / Counter0 usa ka kinatibuk-ang katuyoan nga 8-bit Timer / Counter module, nga adunay duha nga independente nga Output Compare Units, ug adunay suporta sa PWM. Gitugotan niini ang ensakto nga oras sa pagpatuman sa programa (pagdumala sa kalihokan) ug paghimo og balud.

Usa ka gipayano nga diagram sa block sa 8-bit Timer / Counter ang gipakita sa Hulagway 11-1. Alang sa tinuud nga pagbutang sa I / O nga mga lagdok, pakigsulti "Pinout ATtiny25 / 45/85" sa pahina 2. Ang mga CPU nga ma-access nga I / O nga ma-access sa CPU, lakip ang mga I / O bit ug I / O nga pin, gipakita nga maisugon. Ang rehistro nga I / O nga piho sa aparato gilista sa “Paglaraw sa Pagrehistro” sa panid 77.

Ang Timer/Counter (TCNT0) ug Output Compare Registers (OCR0A ug OCR0B) kay 8-bit registers. Interrupt request (minubo sa Int.Req. sa figure) ang mga signal makita tanan sa Timer Interrupt Flag Register (TIFR). Ang tanan nga mga interrupt gitagsa-tagsa nga maskara sa Timer Interrupt Mask Register (TIMSK). Ang TIFR ug TIMSK wala gipakita sa numero.

Ang Timer/Counter mahimong i-clock sa sulod, pinaagi sa prescaler, o sa external nga tinubdan sa orasan sa T0 pin. Ang Clock Select logic block nagkontrol kung unsang orasan ang gigikanan ug sulud nga gigamit sa Timer/Counter aron madugangan (o maminusan) ang kantidad niini. Ang Timer/Counter dili aktibo kung walay gipili nga tinubdan sa orasan. Ang output gikan sa Clock Select logic gitawag nga timer clock (clkT0).

Ang doble nga buffered nga Mga Pagrehistro sa Pagtandi (OCR0A ug OCR0B) gitandi sa kantidad nga Timer / Counter sa tanan nga oras. Ang sangputanan sa pagtandi mahimong magamit sa Waveform Generator aron makahimo usa ka PWM o variable variable output sa mga Output Compare pin (OC0A ug OC0B). Kitaa ang “Output Compare Unit” sa pahina 69. alang sa mga detalye. Ang kalihokan sa Compare Match magtakda usab sa Compare Flag (OCF0A o OCF0B) nga magamit aron makahimo usa ka Output Compare interrupt nga hangyo.

Mga kahulugan

Daghang mga rehistro ug gamay nga pakisayran sa kini nga seksyon ang gisulat sa kasagaran nga porma. Ang usa ka mas ubos nga kaso nga "n" mopuli sa Timer / Counter number, sa kini nga kaso 0. Ang usa ka mas ubos nga kaso nga "x" mopuli sa Output Compare Unit, sa kini nga kaso Pagtandi ang Unit A o Pagtandi sa Unit B. Bisan pa, kung gigamit ang rehistro o gamay nga gipasabut sa usa ka programa, kinahanglan gamiton ang ensakto nga porma, ie, TCNT0 alang sa pag-access sa kantidad sa counter sa Timer / Counter0 ug uban pa.

Ang mga kahulugan sa Talaan 11-1 gigamit usab sa kadaghanan ang tanan nga dokumento.

Talaan 11-1. Mga kahulugan

makanunayon Deskripsyon
UBOS Ang counter moabut sa BOTTOM kung kini mahimong 0x00
MAX Naabot sa counter ang MAXimum kung nahimo kini nga 0xFF (decimal 255)
TOP Naabut sa counter ang TOP kung nahimo kini nga parehas sa labing kataas nga kantidad sa pagkasunud sa ihap. Ang TOP nga kantidad mahimong itudlo nga mahimong gitakda nga kantidad nga 0xFF (MAX) o ang kantidad nga gitipig sa Pagrehistro sa OCR0A. Ang asaynment nagsalig sa paagi sa operasyon

Mga gigikanan sa Timer / Counter Prescaler ug Clock

Ang Timer / Counter mahimong maorasan pinaagi sa sulud o sa gawas nga gigikanan sa orasan. Ang gigikanan sa orasan gipili sa Clock Select nga lohika nga gikontrol sa mga Clock Select (c) bits nga naa sa Timer / Counter0 Control Register (TCCR0B).

Gigikanan sa Sulod nga Orasan nga adunay Prescaler

Ang Timer/Counter0 mahimong direktang ma-clock sa system clock (pinaagi sa pag-set sa CS0[2:0] = 1). Naghatag kini sa labing paspas nga operasyon, nga adunay labing taas nga frequency sa timer/counter clock nga katumbas sa frequency sa orasan sa sistema (fCLK_I/O). Sa laing bahin, ang usa sa upat ka gripo gikan sa prescaler mahimong gamiton isip tinubdan sa orasan. Ang prescaled nga orasan adunay frequency sa bisan hain

Pag-reset sa Prescaler

Ang prescaler libre nga pagdagan, ie kini naglihok nga independente sa Clock Select lohika sa Timer / Counter0. Tungod kay ang prescaler dili apektado sa pagpili sa orasan sa timer / counter, ang estado sa prescaler adunay implikasyon sa mga sitwasyon diin gigamit ang usa ka prescaled nga orasan. Usa ka exampAng usa ka prescaling artifact kung ang timer / counter gipalihok ug gitudlo sa prescaler (6> CS0 [2: 0]> 1). Ang ihap sa mga siklo sa orasan sa sistema gikan sa kung kanus-a gipaandar ang timer sa una nga ihap nga mahitabo mahimo nga gikan sa 1 hangtod sa N + 1 nga mga siklo sa orasan sa sistema, diin ang N nga parehas sa presyur nga tigbulag (8, 64, 256, o 1024).

Posible nga gamiton ang Prescaler Reset alang sa paghiusa sa Timer / Counter sa pagpatuman sa programa.

Paggikan sa Magawas nga Orasan

Ang eksternal nga tinubdan sa orasan nga gipadapat sa T0 pin mahimong gamiton isip timer/counter clock (clkT0). Ang T0 pin kay sampgipangulohan kausa sa matag siklo sa orasan sa sistema pinaagi sa pin synchronization lohika. Ang mga gisabay (mga sampgipangunahan) signal dayon gipasa

pinaagi sa edge detector. Hulagway 11-2 nagpakita sa usa ka functional equivalent block diagram sa T0 synchronization ug edge detector logic. Ang mga rehistro gi-orasan sa positibong ngilit sa internal nga sistema nga orasan (clkI/O). Ang trangka kay transparent sa taas nga panahon sa internal system clock.

Ang edge detector makamugna og usa ka clkT0 pulse para sa matag positibo (CS0[2:0] = 7) o negatibo (CS0[2:0] = 6) nga ngilit nga makita niini.

Ang mga Rehistro sa OCR0x doble nga gisuportahan kung gigamit ang bisan unsang mga mode sa Pulse Width Modulation (PWM). Alang sa normal ug Clear Timer on Compare (CTC) nga mga paagi sa operasyon, ang doble nga buffering gipagan. Ang doble nga buffing nagsumpay sa pag-update sa OCR0x Pagtandi sa Mga Rehistro bisan sa taas o sa ilawom sa han-ay sa pag-ihap. Gipugngan sa pag-synchronize ang paglihok sa mga katingad-an nga gitas-on, dili simetriko nga PWM nga pulso, sa ingon gihimo nga wala’y glitch nga output.

Ang pag-access sa Rehistro sa OCR0x ingon og komplikado, apan dili kini ang hinungdan. Kung gipaandar ang doble nga buffering, ang CPU adunay access sa OCR0x Buffer Register, ug kung dili naaktuhan ang doble nga buffering ang CPU direkta nga ma-access ang OCR0x.

Pagtandi sa Output sa Kusog

Sa mga dili-PWM nga porma sa paghimo og balud nga pormula, ang tugkaran nga output sa kumpare mahimo mapugos pinaagi sa pagsulat usa sa usa nga gamay nga Force Output Compare (FOC0x). Ang Pagpugos sa Pagtandi sa Pagtandi dili itakda ang OCF0x Flag o i-reload / limas ang timer, apan ang OC0x pin ma-update nga kung adunay usa ka tinuud nga Pagtandi nga Tugma nga nahinabo (ang mga setting sa COM0x [1: 0] nga gitakda kung gitakda ang OC0x pin, nahawan o toggled).

Itandi ang Pag-block sa Dula sa Pagsulat sa TCNT0

Ang tanan nga operasyon sa pagsulat sa CPU sa Pagrehistro sa TCNT0 babagan ang bisan unsang Pagtandi nga Match nga mahitabo sa sunod nga siklo sa orasan, bisan kung nahunong ang timer. Ang kini nga dagway gitugotan ang OCR0x nga mapasugod sa parehas nga kantidad sama sa TCNT0 nga wala’y hinungdan nga nakabalda kung gipaandar ang orasan sa timer

Paggamit sa Output Compare Unit

Tungod kay ang pagsulat sa TCNT0 sa bisan unsang paagi sa operasyon babagan ang tanan nga Pagtandi sa mga Katugbang alang sa usa ka siklo sa orasan, adunay mga peligro nga nalakip sa pagbag-o sa TCNT0 kung gigamit ang Output Compare Unit, nga independente kung ang Timer / Counter nagdagan o dili. Kung ang kantidad nga gisulat sa TCNT0 katumbas sa kantidad nga OCR0x, ang Pagtandi sa Tugma ma-miss, nga magresulta sa sayup nga henerasyon sa porma sa balud. Sa susama, ayaw isulat ang kantidad nga TCNT0 katumbas sa BOTTOM kung ang counter nag-ihap sa ihap.

Ang pag-setup sa OC0x kinahanglan ipatuman sa wala pa itakda ang Data Direction Rehistro alang sa port pin nga mogawas. Ang labing kadali nga paagi sa pagtakda sa kantidad nga OC0x mao ang paggamit sa Force Output Compare (FOC0x) strober bits sa Normal mode. Ang mga Rehistro sa OC0x nagpadayon sa ilang mga mithi bisan kung nagbag-o sa taliwala sa mga mode sa Waveform Generation.

Hibal-i nga ang mga COM0x [1: 0] nga mga tipik dili doble nga buffered kauban ang pagtandi nga kantidad. Ang pagbag-o sa COM0x [1: 0] nga mga tipik moepekto dayon.

Itandi ang Unit sa Pagawas sa Pagtugma

Ang Compare Output mode (COM0x [1: 0]) nga mga bit adunay duha nga gimbuhaton. Gigamit sa Waveform Generator ang mga COM0x [1: 0] nga mga tipik alang sa paghubit sa estado nga Output Compare (OC0x) sa sunod nga Pagtandi. Ingon usab, ang mga COM0x [1: 0] nga mga bit makontrol ang gigikanan nga output sa pin nga OC0x. Hulagway 11-6 nagpakita usa ka gipasimple nga eskematiko sa lohika nga naapektuhan sa setting sa COM0x [1: 0] nga gamay. Ang Mga Rehistro sa I / O, mga bitbit nga I / O, ug ang mga pin nga I / O gipakita nga maisugon. Ang mga bahin lamang sa kinatibuk-ang I / O Port Control Registro (DDR ug PORT) nga apektado sa COM0x [1: 0] nga mga bit ang gipakita. Kung nagtumong sa estado nga OC0x, ang pakisayran alang sa sulud nga Pagrehistro sa OC0x, dili ang OC0x pin. Kung adunay usa ka pag-reset sa sistema nga mahitabo, ang Pagrehistro sa OC0x na-reset sa "0".

Kung ang OC0A / OC0B konektado sa I / O pin, ang pag-andar sa COM0A [1: 0] / COM0B [1: 0] nga mga bit nagsalig sa setting sa gamay nga WGM0 [2: 0]. Talaan 11-2 gipakita ang pagpaandar sa COM0x [1: 0] gamay kung ang WGM0 [2: 0] nga mga piraso gitakda sa usa ka normal o CTC mode (dili PWM).

Talaan 11-2. Itandi ang Output Mode, non-PWM Mode

COM0A1 COM0B1 COM0A0 COM0B0 Deskripsyon
0 0 Kasagaran nga operasyon sa pantalan, naka-disconnect ang OC0A / OC0B.
0 1 Igbalhin ang OC0A / OC0B sa Pagtandi sa Pagtandi
1 0 Hawan ang OC0A / OC0B sa Pagtandi sa Pagtandi
1 1 Ibutang ang OC0A / OC0B sa Pagtandi sa Pagtandi

Talaan 11-3 gipakita ang pagpaandar sa COM0x [1: 0] gamay kung ang WGM0 [2: 0] nga mga piraso gitakda sa dali nga PWM mode.

Talaan 11-3. Itandi ang Output Mode, Fast PWM Mode(1)

COM0A1 COM0B1 COM0A0 COM0B0 Deskripsyon
0 0 Kasagaran nga operasyon sa pantalan, naka-disconnect ang OC0A / OC0B.
0 1 Gireserba
1 0 Giklaro ang OC0A / OC0B sa Pagtandi sa Pagtandi, itakda ang OC0A / OC0B sa BOTTOM (non-inverting mode)
1 1 Ibutang ang OC0A / OC0B sa Pagtandi sa Pagtandi, hawan ang OC0A / OC0B sa BOTTOM (inverting mode)

Mubo nga sulat: Ang usa ka espesyal nga kaso mahitabo kung ang OCR0A o OCR0B katumbas sa TOP ug ang COM0A1/COM0B1 gitakda. Sa kini nga kaso, ang pagtandi nga posporo wala gibalewala, apan ang set o klaro gihimo sa BOTTOM. Tan-awa “Mabilis nga PWM Mode” sa panid 73 para sa dugang detalye.

Talaan 11-4 gipakita ang pag-andar sa COM0x [1: 0] kung ang WGM0 [2: 0] nga mga piraso gitakda sa pag-phase sa tama nga PWM mode.

Talaan 11-4. Itandi ang Output Mode, Phase Correct PWM Mode(1)

COM0A1 COM0B1 COM0A0 COM0B0 Deskripsyon
0 0 Kasagaran nga operasyon sa pantalan, naka-disconnect ang OC0A / OC0B.
0 1 Gireserba
1 0 Giklaro ang OC0A / OC0B sa Pagtandi sa Tugma sa pag-ihap. Ibutang ang OC0A / OC0B sa Pagtandi sa Tugma sa pag-ihap sa ihap.
1 1 Ibutang ang OC0A / OC0B sa Pagtandi sa Tugma sa pag-ihap. Giklaro ang OC0A / OC0B sa Pagtandi sa Tugma sa pag-ihap sa ihap.

Mubo nga sulat: 1. Usa ka espesyal nga kaso mahitabo sa diha nga ang OCR0A o OCR0B katumbas sa TOP ug COM0A1/COM0B1 gibutang. Sa kini nga kaso, ang Compare Match wala panumbalinga, apan ang set o clear gihimo sa TOP. Tan-awa “Husto nga Panahon nga PWM Mode” sa panid 74 para sa dugang detalye.

Mga Bits 3: 2 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Mga Bits 1: 0 - WGM0 [1: 0]: Waveform Generation Mode

Inubanan sa gamay nga WGM02 nga nakit-an sa TCCR0B Rehistro, kini nga mga piraso nagkontrol sa pagkasunud sa pag-ihap sa counter, ang gigikanan alang sa maximum (TOP) nga kantidad sa counter, ug unsang lahi nga henerasyon sa waveform ang gamiton, kitaa Talaan 11-5. Ang mga paagi sa operasyon nga gisuportahan sa yunit sa Timer / Counter mao ang: Normal mode (counter), Clear Timer sa Compare Match (CTC) mode, ug duha nga lahi sa Pulse Width Modulation (PWM) mode (tan-awa “Mga Paagi sa Pagpalihok” sa panid 71).

Talaan 11-5. Waveform Generation Mode Bit Description

Mode WGM 02 WGM 01 WGM 00 Timer / Counter Mode of Operation TOP Pag-update sa OCRx sa Gisugdan ang Flag sa TOV
0 0 0 0 Normal 0xFF Diha-diha dayon MAX(1)
1 0 0 1 PWM, Sakto nga Phase 0xFF TOP UBOS(2)
2 0 1 0 CTC OCRA Diha-diha dayon MAX(1)
3 0 1 1 Paspas nga PWM 0xFF UBOS(2) MAX(1)
4 1 0 0 Gireserba
5 1 0 1 PWM, Sakto nga Phase OCRA TOP UBOS(2)
6 1 1 0 Gireserba
7 1 1 1 Paspas nga PWM OCRA UBOS(2) TOP

Bit 7 - FOC0A: Paggawas sa Kusug Pagtandi A

Ang FOC0A gamay aktibo ra kung ang WGM bits nagpiho sa usa ka dili PWM mode.

Bisan pa, alang sa pagsiguro sa pagkaangay sa mga umaabot nga aparato, kini nga gamay kinahanglan itakda sa zero kung gisulat ang TCCR0B sa diha nga naglihok sa PWM mode. Kung nagsulat usa ka lohikal nga us aka gamay sa FOC0A gamay, usa ka gilayon nga Pagtandi ang Puwersa nga napugos sa unit sa Waveform Generation Ang output sa OC0A gibag-o sumala sa setting sa COM0A [1: 0] nga mga tipik niini. Hinumdomi nga ang FOC0A gamay gipatuman ingon usa ka strobar. Busa kini ang kantidad nga naa sa COM0A [1: 0] nga mga tipik nga nagtino sa epekto sa pinugus nga pagtandi.

Ang usa ka stro sa FOC0A dili makamugna bisan unsang makabalda, ni maklaro niini ang timer sa CTC mode gamit ang OCR0A ingon TOP. Ang gamay nga FOC0A kanunay gibasa nga zero.

Bit 6 - FOC0B: Pagtandi sa Lihok sa Kusog B

Ang FOC0B gamay aktibo ra kung ang WGM bits nagpiho sa usa ka dili PWM mode.

Bisan pa, alang sa pagsiguro sa pagkaangay sa mga umaabot nga aparato, kini nga gamay kinahanglan itakda sa zero kung gisulat ang TCCR0B sa diha nga naglihok sa PWM mode. Kung nagsulat usa ka makatarunganon sa usa ka gamay nga FOC0B, usa ka gilayon nga Pagtandi ang Puwersa nga napugos sa yunit sa Waveform Generation Ang output sa OC0B gibag-o sumala sa setting sa COM0B [1: 0] nga mga tipik niini. Hinumdomi nga ang FOC0B gamay gipatuman ingon usa ka strobar. Busa kini ang kantidad nga naa sa COM0B [1: 0] nga mga tipik nga nagtino sa epekto sa pinugus nga pagtandi.

Ang usa ka stro sa FOC0B dili makahatag bisan unsang makababag, ni maklaro niini ang timer sa mode nga CTC gamit ang OCR0B ingon TOP.

Ang gamay nga FOC0B kanunay gibasa nga zero.

Mga Bits 5: 4 - Res: Gireserba nga Mga Bits

Ang kini nga mga tipik gitipig nga mga tipik sa ATtiny25 / 45/85 ug kanunay basahon ingon zero.

Bit 3 - WGM02: Waveform Generation Mode

Tan-awa ang paghulagway sa “TCCR0A - Timer / Counter Control A register sa panid 77.

Mga Bits 2: 0 - CS0 [2: 0]: Pagpili sa Clock

Ang tulo nga Clock Select bits pilia ang gigikanan sa orasan aron magamit sa Timer / Counter.

Talaan 11-6. Orasan Pagpili Bit Deskripsyon

CS02 CS01 CS00 Deskripsyon
0 0 0 Wala’y gigikanan sa orasan (Mihunong ang Timer / Counter)
0 0 1 clkI/O/(Walay prescaling)
0 1 0 clkI/O/8 (Gikan sa prescaler)
0 1 1 clkI/O/64 (Gikan sa prescaler)
1 0 0 clkI/O/256 (Gikan sa prescaler)
1 0 1 clkI/O/1024 (Gikan sa prescaler)
1 1 0 Gawas nga gigikanan sa orasan sa T0 pin. Clock sa pagkahulog sa ngilit.
1 1 1 Gawas nga gigikanan sa orasan sa T0 pin. Clock sa pagtaas sa ngilit.

Kung ang mga panggawas nga pin mode gigamit alang sa Timer / Counter0, ang mga pagbalhin sa T0 pin mag-orasan sa counter bisan kung ang pin gi-configure ingon usa ka output. Gitugotan sa kini nga bahin ang pagpugong sa pag-ihap sa software.

Kontra ug Pagtandi Mga Yunit

Ang kinatibuk-ang operasyon sa Timer / Counter1 gihulagway sa asynchronous mode ug ang operasyon sa synchro- nous mode gihisgutan lamang kung adunay mga pagkalainlain taliwala sa niining duha nga mga paagi. Hulagway 12-2 nagpakita sa Timer / Counter 1 nga pag-synchronize nga rehistro sa block block ug mga pagka-antala sa pag-synchronize taliwala sa mga rehistro. Hinumdomi nga ang tanan nga mga detalye sa pagbutang sa relo wala ipakita sa numero. Ang mga kantidad sa rehistro sa Timer / Counter1 moagi sa mga internal nga rehistro sa pag-synchronize, nga hinungdan sa paglangan sa pag-input sa pag-synchronize, sa wala pa makaapekto sa counter nga operasyon. Ang mga rehistro sa TCCR1, GTCCR, OCR1A, OCR1B, ug OCR1C mahimong mabasa dayon pagkahuman pagsulat sa rehistro. Ang mga kantidad nga gibasa og balik nadugay alang sa pagrehistro sa Timer / Counter1 (TCNT1) ug mga bandila (OCF1A, OCF1B, ug TOV1), tungod sa pagsulud sa input ug output.

Ang Timer / Counter1 adunay usa ka hataas nga resolusyon ug usa ka hataas nga paggamit sa katukma nga adunay labing mubu nga mga higayon sa prescaling. Mahimo usab kini nga pagsuporta sa duha ka tukma, taas nga tulin, 8-bit Pulse Width Modulator gamit ang mga orasan hangtod sa 64 MHz (o 32 MHz sa Low Speed ​​Mode). Sa kini nga mode, ang Timer / Counter1 ug ang output nga nagtandi sa mga rehistro nagsilbi nga doble nga nag-inusara nga mga PWM nga adunay dili nagsapaw nga wala balihon ug balitok nga mga output. Pag-refer sa panid 86 alang sa usa ka detalyado nga paghulagway sa kini nga kalihokan. Sa susama, ang taas nga kahigayunan sa prescaling naghimo sa kini nga yunit nga mapuslanon alang sa labing ubos nga tulin sa tulin o eksaktong pag-andar sa oras nga wala kanunay nga aksyon.

Hulagway 12-2. Timer/Counter 1 Synchronization Register Block Diagram.

Gitugotan sa timer / Counter1 ug sa prescaler ang pagpadagan sa CPU gikan sa bisan unsang gigikanan sa orasan samtang ang prescaler naglihok sa kusog nga 64 MHz (o 32 MHz sa Low Speed ​​Mode) PCK nga orasan sa asynchronous mode.

Hinumdomi nga ang frequency sa oras sa orasan kinahanglan nga mas mubu sa us aka ikatulo nga sagad sa PCK. Ang mekanismo sa pag-synchronize sa dili parehas nga Timer / Counter1 kinahanglan labing menos duha ka ngilit sa PCK kung taas ang orasan sa sistema. Kung ang kadaghan sa orasan sa sistema sobra ka taas, peligro nga mawala ang datos o pagkontrol sa mga kantidad.

Ang mosunod Hulagway 12-3 gipakita ang block diagram alang sa Timer / Counter1.

Talaan 12-1. Itandi ang Mode Select sa PWM Mode

COM1x1 COM1x0 Epekto sa Paghatag Pagtandi Mga Pin
0 0 Dili konektado ang OC1x. Dili konektado ang OC1x.
0 1 Na-clear ang OC1x sa pagtandi sa posporo. Ibutang kung kanus-aTCNT1 = $ 00. Ang OC1x gitakda sa pagtandi nga tugma. Giklaro sa dihang TCNT1 = $ 00.
1 0 Na-clear ang OC1x sa pagtandi sa pares. Ibutang kung kanus-a ang TCNT1 = $ 00. Dili konektado ang OC1x.
1 1 Gitakda ang OC1x sa pagtandi nga tugma. Giklaro sa dihang TCNT1 = $ 00. Dili konektado ang OC1x.

Mga Kinaiya sa ADC

Talaan 21-8. Mga Kinaiya sa ADC, Single Ended Channels. TA = -40°C hangtod sa +85°C

Simbolo Parameter kahimtang Min Typ Max Mga yunit
Resolusyon 10 Mga bit
Hingpit nga katukma (Lakip ang mga sayup nga INL, DNL, ​​ug Quantization, Gain ug Offset) VREF = 4V, VCC = 4V,

Orasan sa ADC = 200 kHz

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

Orasan sa ADC = 1 MHz

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

Orasan sa ADC = 200 kHz

Mode sa Pagpaminus sa Kasaba

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

Orasan sa ADC = 1 MHz

Mode sa Pagpaminus sa Kasaba

2.5 LSB
Integral Non-linearity (INL) (Katukma pagkahuman sa offset ug pag-angkon sa pagkakalibrate) VREF = 4V, VCC = 4V,

Orasan sa ADC = 200 kHz

1 LSB
Pagkalainlain nga Dili-linearidad (DNL) VREF = 4V, VCC = 4V,

Orasan sa ADC = 200 kHz

0.5 LSB
Makakuha Kasaypanan VREF = 4V, VCC = 4V,

Orasan sa ADC = 200 kHz

2.5 LSB
Kasaypanan sa offset VREF = 4V, VCC = 4V,

Orasan sa ADC = 200 kHz

1.5 LSB
Oras sa Pagkakabig Libre ang Pagbag-o sa Pagdagan 14 280 µs
Kadaghan sa Orasan 50 1000 kHz
VIN Pagsulod Voltage GND VREF V
Pagsulud sa Bandwidth 38.4 kHz
AREF External Reference Voltage 2.0 VCC V
VINT Internal nga Voltage Pakisayran 1.0 1.1 1.2 V
Sulud nga 2.56V nga Pakisayran (1) VCC> 3.0V 2.3 2.56 2.8 V
RREF 32
ULAN Pagbatok sa Analog Input 100
Output sa ADC 0 1023 LSB

Pahinumdom: 1. Ang mga mithi kay mga giya lamang.

Talaan 21-9. Mga Kinaiya sa ADC, Differential Channels (Unipolar Mode). TA = -40°C hangtod sa +85°C

Simbolo Parameter kahimtang Min Typ Max Mga yunit
Resolusyon Makita = 1x 10 Mga bit
Makita = 20x 10 Mga bit
Hingpit nga katukma (Lakip ang INL, DNL, ​​ug

Mga Sayup sa Quantization, Gain ug Offset)

Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

10.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

20.0 LSB
Integral Non-Linearity (INL) (Katukma pagkahuman sa Offset ug Gain Calibration) Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

4.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

10.0 LSB
Makakuha Kasaypanan Makita = 1x 10.0 LSB
Makita = 20x 15.0 LSB
Kasaypanan sa offset Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

3.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

4.0 LSB
Oras sa Pagkakabig Libre ang Pagbag-o sa Pagdagan 70 280 µs
Kadaghan sa Orasan 50 200 kHz
VIN Pagsulod Voltage GND VCC V
VDIFF Pagsulud sa Kalainan sa Voltage VREF/Gain V
Pagsulud sa Bandwidth 4 kHz
AREF External Reference Voltage 2.0 VCC – 1.0 V
VINT Internal nga Voltage Pakisayran 1.0 1.1 1.2 V
Sulud nga 2.56V nga Pakisayran (1) VCC> 3.0V 2.3 2.56 2.8 V
RREF Pagsukol sa Pagsulud sa Input 32
ULAN Pagbatok sa Analog Input 100
Output sa Pagkakabig sa ADC 0 1023 LSB

Mubo nga sulat: Ang mga bili kay mga giya lamang.

Talaan 21-10. Mga Kinaiya sa ADC, Differential Channels (Bipolar Mode). TA = -40°C hangtod sa +85°C

Simbolo Parameter kahimtang Min Typ Max Mga yunit
Resolusyon Makita = 1x 10 Mga bit
Makita = 20x 10 Mga bit
Hingpit nga katukma (Lakip ang INL, DNL, ​​ug

Mga Sayup sa Quantization, Gain ug Offset)

Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

8.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

8.0 LSB
Integral Non-Linearity (INL) (Katukma pagkahuman sa Offset ug Gain Calibration) Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

4.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

5.0 LSB
Makakuha Kasaypanan Makita = 1x 4.0 LSB
Makita = 20x 5.0 LSB
Kasaypanan sa offset Makita = 1x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

3.0 LSB
Makita = 20x

VREF = 4V, VCC = 5V

Orasan sa ADC = 50 - 200 kHz

4.0 LSB
Oras sa Pagkakabig Libre ang Pagbag-o sa Pagdagan 70 280 µs
Kadaghan sa Orasan 50 200 kHz
VIN Pagsulod Voltage GND VCC V
VDIFF Pagsulud sa Kalainan sa Voltage VREF/Gain V
Pagsulud sa Bandwidth 4 kHz
AREF External Reference Voltage 2.0 VCC – 1.0 V
VINT Internal nga Voltage Pakisayran 1.0 1.1 1.2 V
Sulud nga 2.56V nga Pakisayran (1) VCC> 3.0V 2.3 2.56 2.8 V
RREF Pagsukol sa Pagsulud sa Input 32
ULAN Pagbatok sa Analog Input 100
Output sa Pagkakabig sa ADC -512 511 LSB

Katingbanan sa Pagtudlo sa Panudlo

Mnemonics Mga operasyon Deskripsyon Operasyon Mga bandera #Mga relo
ARMETIKO UG LOGIKO NGA PANUDLO
ADD Ang Rd, Rr Pagdugang duha nga Rehistro Rd ← Rd + Rr Z, C, N, V, H 1
ADC Ang Rd, Rr Idugang uban sa Pagdala duha nga mga Registro Rd ← Rd + Rr + C Z, C, N, V, H 1
ADIW Rdl, K Idugang Diha-diha ang Pulong Rdh:Rdl ← Rdh:Rdl + K Z, C, N, V, S 2
SUB Ang Rd, Rr Pagminus sa duha nga Rehistro Rd ← Rd – Rr Z, C, N, V, H 1
UP Rd, K Gikuha ang makanunayon gikan sa Pagrehistro Rd ← Rd – K Z, C, N, V, H 1
SBC Ang Rd, Rr Pagminus uban sa Pagdala duha nga mga Registro Rd ← Rd – Rr – C Z, C, N, V, H 1
SBCI Rd, K Pag-ibanan sa Carry Constant gikan sa Reg. Rd ← Rd – K – C Z, C, N, V, H 1
SBIW Rdl, K Kuhaa Diha-diha dayon gikan sa Pulong Rdh:Rdl ← Rdh:Rdl – K Z, C, N, V, S 2
UG Ang Rd, Rr Makatarunganon UG Rehistro Rd ← Rd ∙ Rr Z, N, V 1
ANDI Rd, K Makatarunganon UG Pagrehistro ug Kanunay Rd ← Rd ∙ K Z, N, V 1
OR Ang Rd, Rr Makatarunganon O Nagrehistro Rd ← Rd v Rr Z, N, V 1
ORI Rd, K Lohikal O Pagrehistro ug Kanunay Rd ← Rd v K Z, N, V 1
EOR Ang Rd, Rr Eksklusibo O Nagrehistro Rd ← Rd ⊕ Rr Z, N, V 1
COM Rd Ang Usa nga Kompleto Rd ← 0xFF − Rd Z, C, N, V 1
NEG Rd Komplemento sa Duha Rd ← 0x00 − Rd Z, C, N, V, H 1
SBR Rd, K Ibutang ang (mga) Bit sa Pagrehistro Rd ← Rd v K Z, N, V 1
CBR Rd, K Tin-aw ang (mga) Bit sa Rehistro Rd ← Rd ∙ (0xFF – K) Z, N, V 1
INC Rd Pagdugang Rd ← Rd + 1 Z, N, V 1
DEC Rd Pagdeklarar Rd ← Rd − 1 Z, N, V 1
TST Rd Pagsulay alang sa Zero o Minus Rd ← Rd ∙ Rd Z, N, V 1
CLR Rd Tin-aw nga Pagrehistro Rd ← Rd ⊕ Rd Z, N, V 1
SER Rd Ibutang ang Pagparehistro Rd ← 0xFF Wala 1
Mga Panudlo sa BRANCH
RJMP k Relatibong Pag-ambak PC ← PC + k + 1 Wala 2
IJMP Dili diretso nga paglukso sa (Z) PC ← Z Wala 2
RCALL k Relative Subroutine nga Tawag PC ← PC + k + 1 Wala 3
Talagsa Dili Direkta nga Pagtawag sa (Z) PC ← Z Wala 3
GIPANGITA ni RET Pagbalik sa Subroutine PC ← STACK Wala 4
RETI Makababag nga Pagbalik PC ← STACK I 4
CPSE Ang Rd, Rr Pagtandi, laktawi kung Parehas kon (Rd = Rr) PC ← PC + 2 o 3 Wala 1/2/3
CP Ang Rd, Rr Itandi Rd − Rr Z, N, V, C, H 1
CPC Ang Rd, Rr Itandi sa Pagdala Rd − Rr − C Z, N, V, C, H 1
CPI Rd, K Itandi ang Pagparehistro sa Gilayon Rd − K Z, N, V, C, H 1
SBRC Rr, b Laktaw kung Bit sa Pagrehistro Gi-clear kung (Rr(b)=0) PC ← PC + 2 o 3 Wala 1/2/3
SBRS Rr, b Laktaw kung Gitakda ang Bit sa Pagrehistro kung (Rr(b)=1) PC ← PC + 2 o 3 Wala 1/2/3
SBIC P, b Laktaw kung ang Bit sa I / O Pagrehistro Gi-clear kung (P(b)=0) PC ← PC + 2 o 3 Wala 1/2/3
SBIS P, b Laktaw kung gitakda ang Bit sa I / O nga Rehistro kung (P(b)=1) PC ← PC + 2 o 3 Wala 1/2/3
BRBS s, k Sangang kung Nahimutang ang Katungdanan sa Bandila kon (SREG(s) = 1) unya PC←PC+k + 1 Wala 1/2
BRBC s, k Sanga kung Giwala ang Status Flag kon (SREG(s) = 0) unya PC←PC+k + 1 Wala 1/2
BREQ k Sanga kon Patas kung (Z = 1) unya PC ← PC + k + 1 Wala 1/2
BRNE k Sanga kon Dili Parehas kung (Z = 0) unya PC ← PC + k + 1 Wala 1/2
BRCS k Sangang kung Nagdala Set kung (C = 1) unya PC ← PC + k + 1 Wala 1/2
BRCC k Sanga kung Gihawan ang Carry kung (C = 0) unya PC ← PC + k + 1 Wala 1/2
BRSH k Sangang kung Pareho o Taas kung (C = 0) unya PC ← PC + k + 1 Wala 1/2
BRLO k Sangang kung Mas Ubos kung (C = 1) unya PC ← PC + k + 1 Wala 1/2
BRMI k Sangang kung Minus kung (N = 1) unya PC ← PC + k + 1 Wala 1/2
BRPL k Sangang kung Plus kung (N = 0) unya PC ← PC + k + 1 Wala 1/2
BRGE k Sangang kung Mas Dako o Parehas, Gipirmahan kon (N ⊕ V= 0) unya PC ← PC + k + 1 Wala 1/2
BRLT k Sangang kung Mas Minus sa Zero, Gipirmahan kon (N ⊕ V= 1) unya PC ← PC + k + 1 Wala 1/2
BRHS k Sanga kung Half Set sa Pagdala sa Bandila kung (H = 1) unya PC ← PC + k + 1 Wala 1/2
Ang BRHC k Sanga kung Gi-clear ang Half Carry Flag kung (H = 0) unya PC ← PC + k + 1 Wala 1/2
BRTS k Sanga kung T Ibutang ang Bandila kung (T = 1) unya PC ← PC + k + 1 Wala 1/2
BRTC k Sanga kung Giwagtang ang T Flag kung (T = 0) unya PC ← PC + k + 1 Wala 1/2
Ang mga BRVS k Sanga kung ang Overflow Flag gitakda kung (V = 1) unya PC ← PC + k + 1 Wala 1/2
Ang BRVC k Sanga kung ang Overflow Flag nahinloan kung (V = 0) unya PC ← PC + k + 1 Wala 1/2
MANGUTOM k Sangang kung Nakabalhin ang Naarang kung (I = 1) unya PC ← PC + k + 1 Wala 1/2
BRID k Sangang kung Nakababag sa Kakulangan kung (I = 0) unya PC ← PC + k + 1 Wala 1/2
Mga Panudlo sa BIT UG BIT-TEST
SBI P, b Ibutang ang Bit sa I / O nga Pagrehistro I/O(P,b) ← 1 Wala 2
CBI P, b Hawan ang Bit sa I / O nga Pagrehistro I/O(P,b) ← 0 Wala 2
LSL Rd Lohikal nga Pagbalhin sa Wala Rd(n+1) ← Rd(n), Rd(0) ← 0 Z, C, N, V 1
LSR Rd Lohikal nga Pagbalhin sa Tuo Rd(n) ← Rd(n+1), Rd(7) ← 0 Z, C, N, V 1
PAPEL Rd Pagtuyok sa Wala Pinaagi sa Pagdala Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) Z, C, N, V 1
ROR Rd Pagtuyok sa tuo Pinaagi sa Pagdala Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) Z, C, N, V 1
ASR Rd Kanan nga Pagbalhin sa Arithmetic Rd(n) ← Rd(n+1), n=0..6 Z, C, N, V 1
Mnemonics Mga operasyon Deskripsyon Operasyon Mga bandera #Mga relo
SWAP Rd Ipuli ang Mga Nibble Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) Wala 1
BSET s Ibutang ang Bandera (mga) SREG ← 1 (Mga) SREG 1
BCLR s I-clear ang Bandila (mga) SREG ← 0 (Mga) SREG 1
BST Rr, b Bit Store gikan sa Pagrehistro hangtod sa T T ← Rr(b) T 1
BLD Rd, b Bit load gikan sa T aron Magparehistro Rd(b) ← T Wala 1
GIPADAYAG ni SEC Ibutang ang Pagdala C ← 1 C 1
CLC Tin-aw nga Pagdala C ← 0 C 1
SEN Pagtakda sa Negatibo nga Bandila N ← 1 N 1
CLN Tin-aw nga Negatibo nga Bandila N ← 0 N 1
SEZ Ibutang ang Zero Flag Z ← 1 Z 1
CLZ Tin-aw nga Zero Flag Z ← 0 Z 1
SEI Global Interrupt Enable Ako ← 1 I 1
CLI Wala’y Paglihok sa Global Interrupt Ako ← 0 I 1
GIHATAG ni SES Pagtakda sa Signed Flag of Test S ← 1 S 1
CLS Hawan ang Signed Flag sa Pagsulay S ← 0 S 1
GIPANGITA ni SEV Itakda ang Dobleng Pag-usbaw sa Kompleto. V ← 1 V 1
CLV Hawan ang Twos Kompleto nga Pag-awas V ← 0 V 1
SET Ibutang ang T sa SREG T ← 1 T 1
CLT Hawan ang T sa SREG T ← 0 T 1
HANAP Ibutang ang Katunga nga Pagdala sa Bandila sa SREG H ← 1 H 1
CLH Hawan ang Katunga nga Pagdala sa Bandila sa SREG H ← 0 H 1
Mga Panudlo sa TRANSFER SA DATA
MOV Ang Rd, Rr Pagbalhin taliwala sa mga Rehistro Rd ← Rr Wala 1
Lihok Ang Rd, Rr Kopya nga Word sa Pagrehistro Rd+1:Rd ← Rr+1:Rr Wala 1
LDI Rd, K Pag-load dayon Rd ← K Wala 1
LD Rd, X Pag-load nga Dili Direkta Rd ← (X) Wala 2
LD Rd, X + Load Indirect ug Post-Inc. Rd ← (X), X ← X + 1 Wala 2
LD Rd, - X Pag-load Dili Direkta ug Pre-Dis. X ← X – 1, Rd ← (X) Wala 2
LD Rd, Y Pag-load nga Dili Direkta Rd ← (Y) Wala 2
LD Rd, Y + Load Indirect ug Post-Inc. Rd ← (Y), Y ← Y + 1 Wala 2
LD Rd, - Y Pag-load Dili Direkta ug Pre-Dis. Y ← Y – 1, Rd ← (Y) Wala 2
LDD Rd, Y + q Pag-load nga Dili Direkta sa Pagbalhin Rd ← (Y + q) Wala 2
LD Rd, Z Pag-load nga Dili Direkta Rd ← (Z) Wala 2
LD Rd, Z + Load Indirect ug Post-Inc. Rd ← (Z), Z ← Z+1 Wala 2
LD Rd, -Z Pag-load Dili Direkta ug Pre-Dis. Z ← Z – 1, Rd ← (Z) Wala 2
LDD Rd, Z + q Pag-load nga Dili Direkta sa Pagbalhin Rd ← (Z + q) Wala 2
LDS Rd, k Pag-load Direkta gikan sa SRAM Rd ← (k) Wala 2
ST X, Rr Tipig nga Pagtipig (X) ← Rr Wala 2
ST X +, Rr Store Indirect ug Post-Inc. (X) ← Rr, X ← X + 1 Wala 2
ST - X, Rr Pagtipig nga Dili Direkta ug Pa-Dis. X ← X – 1, (X) ← Rr Wala 2
ST Y, Rr Tipig nga Pagtipig (Y) ← Rr Wala 2
ST Y +, Rr Store Indirect ug Post-Inc. (Y) ← Rr, Y ← Y + 1 Wala 2
ST - Y, Rr Pagtipig nga Dili Direkta ug Pa-Dis. Y ← Y – 1, (Y) ← Rr Wala 2
STD Y + q, Rr Pagtipig nga Dili Direkta sa Pagbalhin (Y + q) ← Rr Wala 2
ST Z, Rr Tipig nga Pagtipig (Z) ← Rr Wala 2
ST Z +, Rr Store Indirect ug Post-Inc. (Z) ← Rr, Z ← Z + 1 Wala 2
ST -Z, Rr Pagtipig nga Dili Direkta ug Pa-Dis. Z ← Z – 1, (Z) ← Rr Wala 2
STD Z + q, Rr Pagtipig nga Dili Direkta sa Pagbalhin (Z + q) ← Rr Wala 2
STS k, Rr Tipig ang Store sa SRAM (k) ← Rr Wala 2
LPM Pagdala sa Memorya sa Program R0 ← (Z) Wala 3
LPM Rd, Z Pagdala sa Memorya sa Program Rd ← (Z) Wala 3
LPM Rd, Z + Load Program Memory ug Post-Inc. Rd ← (Z), Z ← Z+1 Wala 3
SPM Panumduman sa Programa sa Tindahan (z) ← R1:R0 Wala
IN Rd, P Sa Port Rd ← P Wala 1
GAWAS P, Rr Pagawas sa Port P ← Rr Wala 1
PUSH Rr Pagduso sa Push sa Stack STACK ← Rr Wala 2
POP Rd Pop Rehistro gikan sa Stack Rd ← STACK Wala 2
Mga Panudlo sa Kontrolado sa MCU
DILI Walay Operasyon Wala 1
PAGTULOG Pagkatulog (tan-awa ang piho nga desk. alang sa Pag-andar sa Pagkatulog) Wala 1
WDR Pag-reset sa Watchdog (tan-awa ang piho nga desk. alang sa WDR / Timer) Wala 1
BREAK Break
Kusog (MHz) (1) Paghatag Voltage (V) Sakup sa Temperatura Pakete (2) Kodigo sa Pag-order (3)
10 1.8 – 5.5 Industrial

(-40 ° C hangtod + 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 Industrial

(-40 ° C hangtod + 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

Mubo nga mga sulat: 1. Alang sa katulin vs. suplay sa voltage, tan-awa ang seksyon 21.3 “Speed” sa panid 163.

Tanan nga putos wala Pb, halide-libre ug bug-os berde ug nagsunod kini sa direktiba sa Europa alang sa Restriction of Hazard- ous Substances (RoHS).

Mga timailhan sa code

H: NiPdAu lead finish

U: matte nga lata

R: tape ug rolyo

Ang kini nga mga aparato mahimo usab nga igahatag sa wafer form. Palihug kontaka ang imong lokal nga opisina sa pamaligya sa Atmel alang sa detalyado nga kasayuran sa paghan-ay sa pagmando ug mga minimum nga kadaghan.

Sayop

Errata ATtiny25

Ang sulat sa pag-usab sa kini nga seksyon nagtumong sa pag-usab sa aparato nga ATtiny25.

Rev D - F

Wala nahibal-an nga errata.

Rev B - C

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Pagsulay sa pagbasa sa EEPROM sa mubu nga mga frequency sa orasan ug / o ubos nga gidaghanon sa suplaytage mahimong magresulta sa dili husto nga datos.

Pag-ayo / Pag-ayo sa Suliran

Ayaw gamita ang EEPROM kung ang frequency sa orasan naa sa ubus sa 1MHz ug supply voltage naa sa ubos sa 2V. Kung ang kusog sa pag-operate dili madala sa taas sa 1MHz kung ingon suplay ang voltage kinahanglan nga labaw pa sa 2V. Sa susama, kung ang supply voltage dili mahimo nga motaas sa labaw sa 2V unya ang frequency sa pag-operate kinahanglan labaw sa 1MHz.

Kini nga bahin nahibal-an nga nagsalig sa temperatura apan wala kini mailhan. Gihatag ang mga panudlo alang sa temperatura sa kuwarto, ra.

Si Rev A

Dili sampgipangulohan

Errata ATtiny45

Ang sulat sa pag-usab sa kini nga seksyon nagtumong sa pag-usab sa aparato nga ATtiny45.

Rev F - G

Wala nahibal-an nga errata

Rev D - E

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Pagsulay sa pagbasa sa EEPROM sa mubu nga mga frequency sa orasan ug / o ubos nga gidaghanon sa suplaytage mahimong magresulta sa dili husto nga datos.

Pag-ayo / Pag-ayo sa Suliran

Ayaw gamita ang EEPROM kung ang frequency sa orasan naa sa ubus sa 1MHz ug supply voltage naa sa ubos sa 2V. Kung ang kusog sa pag-operate dili madala sa taas sa 1MHz kung ingon suplay ang voltage kinahanglan nga labaw pa sa 2V. Sa susama, kung ang supply voltage dili mahimo nga motaas sa labaw sa 2V unya ang frequency sa pag-operate kinahanglan labaw sa 1MHz.

Kini nga bahin nahibal-an nga nagsalig sa temperatura apan wala kini mailhan. Gihatag ang mga panudlo alang sa temperatura sa kuwarto, ra.

Rev B - C

PLL dili locking

Ang pagbasa sa EEPROM gikan sa application code dili molihok sa Lock Bit Mode 3

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Timer Counter 1 PWM output generation sa OC1B- XOC1B dili maayo nga molihok

PLL dili locking

Kung sa mga frequency sa ubus sa 6.0 MHz, ang PLL dili ma-lock

Pag-ayo sa problema / Pag-ayo sa solusyon

Kung gigamit ang PLL, pagdagan sa 6.0 MHz o mas taas pa.

Ang pagbasa sa EEPROM gikan sa application code dili molihok sa Lock Bit Mode 3

Kung ang Memory Lock Bits LB2 ug LB1 giprograma sa mode 3, ang EEPROM nga pagbasa dili molihok gikan sa application code.

Pag-ayo sa problema / Pagtrabaho sa palibot

Ayaw itakda ang Lock Bit Protection Mode 3 kung kinahanglan basahon ang application code gikan sa EEPROM.

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Pagsulay sa pagbasa sa EEPROM sa mubu nga mga frequency sa orasan ug / o ubos nga gidaghanon sa suplaytage mahimong magresulta sa dili husto nga datos.

Pag-ayo / Pag-ayo sa Suliran

Ayaw gamita ang EEPROM kung ang frequency sa orasan naa sa ubus sa 1MHz ug supply voltage naa sa ubos sa 2V. Kung ang kusog sa pag-operate dili madala sa taas sa 1MHz kung ingon suplay ang voltage kinahanglan nga labaw pa sa 2V. Sa susama, kung ang supply voltage dili mahimo nga motaas sa labaw sa 2V unya ang frequency sa pag-operate kinahanglan labaw sa 1MHz.

Kini nga bahin nahibal-an nga nagsalig sa temperatura apan wala kini mailhan. Gihatag ang mga panudlo alang sa temperatura sa kuwarto, ra.

Timer Counter 1 PWM output generation sa OC1B - XOC1B dili molihok nga husto

Timer Counter1 PWM output OC1B-XOC1B dili maayo nga molihok. Sa kaso ra kung ang mga control bits, COM1B1 ug COM1B0 naa sa parehas nga mode sama sa COM1A1 ug COM1A0, matag usa, maayo ang paggawas sa OC1B-XOC1B.

Pag-ayo sa problema / Pagtrabaho sa palibot

Ang nag-usa ra nga solusyon mao ang paggamit sa parehas nga setting sa pagpugong sa COM1A [1: 0] ug COM1B [1: 0] nga mga control bit, tan-awa ang talahanayan 14- 4 sa sheet sa datos. Ang problema naayo na alang sa Tiny45 rev D.

Si Rev A

Labing kataas sa pagkunhod sa kuryente

Giwad-an sa DebugWIRE ang komunikasyon kung ang usa ka tawo nga nakaguba

PLL dili locking

Ang pagbasa sa EEPROM gikan sa application code dili molihok sa Lock Bit Mode 3

Ang pagbasa sa EEPROM mahimong mapakyas sa mubu nga suplay voltage / ubos nga frequency sa orasan

Labing kataas sa pagkunhod sa kuryente

Tulo ka mga sitwasyon ang mosangput sa sobra ka taas nga gahum sa pagkonsumo sa kuryente. Kini ang:

Ang us aka eksternal nga orasan gipili sa mga piyus, apan ang I / O PORT gipaandar gihapon ingon usa ka output.

Gibasa ang EEPROM sa wala pa mobu ang gahum.

Ang VCC mao ang 4.5 volts o mas taas pa.

Disclaimer: Ang impormasyon niini nga dokumento gihatag may kalabotan sa mga produkto sa Atmel. Wala’y lisensya, gipahayag o gipasabut, pinaagi sa estoppel o kung dili, sa bisan unsang katungod sa intelektwal nga kabtangan ang gihatag niini nga dokumento o may kalabotan sa pagbaligya sa mga produkto sa Atmel. GAWAS SA GIBUTYAG SA ATMEL TERMS AND CONDITIONS OF SALES NGA MAHITABO SA ATMEL WEBSITE, ANG ATMEL WALAY KASABOT SA BISAN BISAN BISAN UG GIPAHIGAYON ANG BISAN UNSA NGA PAHIBALO, GIPASABOT O STATUTORY NGA WARRANTY NGA MAY KAAYOHAN SA IYANG MGA PRODUKTO LAKIP, APAN DILI LIMITADO SA, ANG GIPASABOT NGA WARRANTY SA KALIGTASAN, PAGHIMO PARA SA PARTIKULAR NGA KATUYUAN-,. SA WALA PANGHITABO NGA ANG ATMEL MANGULTI SA BISAN UNSANG DIREKTO, INDIREKTO, KONSEQUENTIAL, PUNITIVE, ESPESYAL O INSIDENTAL NGA MGA KADOT (LABING, WALAY LIMITASYON, KADOT SA KAWALAN UG GANTOS, PAGBABAG SA NEGOSYO, O KAWALA SA IMPORMASYON SA PAGGAMIT) KINI NGA DOKUMENTO, BISAN PA KANG ATMEL NAABISO NA SA POSIBILIDAD SA MAONG MGA KADOT.

Ang Atmel walay mga representasyon o mga garantiya kalabot sa katukma o pagkakompleto sa mga sulod niini nga dokumento ug adunay katungod sa paghimo sa mga pagbag-o sa mga detalye ug mga deskripsyon sa mga produkto sa bisan unsang oras nga walay pahibalo. Ang Atmel wala maghimo bisan unsang pasalig sa pag-update sa kasayuran nga naa dinhi. Gawas kung espesipikong gihatag kung dili, ang mga produkto sa Atmel dili angay alang, ug dili magamit sa, mga aplikasyon sa awto. Ang mga produkto sa Atmel wala gituyo, gitugutan, o gigarantiyahan nga gamiton isip mga sangkap sa mga aplikasyon nga gituyo aron pagsuporta o pagpadayon sa kinabuhi.

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *