ATtiny85: Pin-konfiguration, blokdiagram og programmering

Jan 07 2026
Kilde: DiGi-Electronics
Gennemse: 372

ATtiny85 er en lille 8-bit mikrocontroller designet til simple kontrolopgaver, hvor plads og strømforbrug betyder noget. Den kombinerer hukommelse, timere, analog indgang og seriel kommunikation i en 8-bens pakke. Denne artikel giver detaljeret information om dens specifikationer, pinout, intern struktur, effekt- og urindstillinger, programmering, kredsløb og almindelige problemstillinger.

Figure 1. ATtiny85

ATtiny85 Oversigt 

ATtiny85 er en kompakt 8-bit mikrocontroller designet til simple kontrolopgaver, hvor plads, strømforbrug og komponentantal skal holdes lavt. Dens 8-bens formfaktor hjælper med at reducere kredsløbsstørrelse, ledningskompleksitet og systemomkostninger, samtidig med at grundlæggende kontrolfunktionalitet stadig er tilgængelig.

På trods af sin lange tilstedeværelse på markedet er ATtiny85 fortsat udbredt på grund af sin stabilitet, stærke dokumentation og kompatibilitet med almindelige udviklingsværktøjer. Den opererer over et bredt spændingsområde og understøtter flere clock-muligheder, hvilket gør den velegnet til kompakte, lavstrømsdesigns, der kræver pålidelig og forudsigelig adfærd.

ATtiny85 Tekniske Specifikationer 

Nej. af nåle8
CPURISC 8-Bit AVR
Driftsspænding1,8 til 5,5 V
Programhukommelse8K
ProgramhukommelsestypeFlash
RAM512 bytes
EEPROM512 bytes
ADC-antal ADC-kanaler10-bit 4
Comparator1
PakkerPDIP (8-pin) SOIC (8-pin) TSSOP (8-pin) QFN/MLF (20-pin)
Oscillatorop til 20 MHz
Timer (2)8-bit timere
Forbedret kraft ved nulstillingJa
Power Up TimerJa
I/O-pins6
ProducentMikrochip
SPIJa
I2CJa
Vagthund-timerJa
Brun out-detektering (BOD)Ja
NulstilJa
USI (Universal Serial Interface)Ja
Minimum driftstemperatur-40 C
Maksimal driftstemperatur125 C

ATtiny85 Pinout-konfiguration

Figure 2. ATtiny85 Pinout Configuration

PinNavnHovedfunktioner
1PB5RESET, GPIO (hvis sikringen er skiftet)
2PB3GPIO, ADC
3PB4GPIO, ADC
4GNDGround
5PB0GPIO, PWM, MOSI
6PB1GPIO, PWM, MISO
7PB2GPIO, ADC, SCK
8VCCStrømforsyning

ATtiny85 fås i PDIP-8 og QFN/MLF-20 pakker. Begge deler det samme interne kredsløb, men stiftplaceringen er forskellig. PDIP-8-pakken eksponerer kun basale ben og er lettere at bruge i basiskredsløb, mens QFN/MLF-20-pakken inkluderer ekstra ben, der er markeret som ikke forbundet.

De fleste ben understøtter flere funktioner. En enkelt ben kan fungere som digital indgang eller udgang, læse analoge signaler, generere PWM-udgang eller understøtte seriel kommunikation. Dette multifunktionsdesign gør det muligt for ATtiny85 at forblive lille, samtidig med at den tilbyder fleksibilitet. RESET-pin'en kan også konfigureres som en pin ved at ændre sikringsindstillinger, men dette fjerner ekstern nulstillingsmulighed.

ATtiny85 blokdiagram

Figure 3. ATtiny85 Block Diagram

ATtiny85 er bygget op omkring en AVR-processorkerne, der udfører instruktioner gemt i Flash-hukommelse. SRAM bruges til midlertidige data under drift, mens EEPROM gemmer ikke-flygtige data, som skal bevares, når strømmen afbrydes. Programtælleren, stakpegeren og registrene styrer instruktionsflow og databehandling.

Timing-funktionerne håndteres af to interne 8-bit timere og en watchdog-timer. Watchdoggen forbedrer pålideligheden ved at nulstille enheden, hvis normal programudførelse stopper. En intern oscillator leverer clocksignalet, og centraliseret timingkontrol synkroniserer alle interne moduler.

Ind- og udgangsoperationer styres gennem portregistre, der er forbundet direkte til de eksterne ben. Enheden integrerer også analog kredsløb såsom ADC og komparator. Alle interne blokke er forbundet via delte datastier, hvilket muliggør effektiv kommunikation mellem hukommelse, processorlogik og I/O.

ATtiny85 Effekt-, clock- og sikringsindstillinger

• ATtiny85 inkluderer en intern RC-oscillator, som muliggør drift uden eksterne clock-komponenter.

• Eksterne urkilder eller krystaller kan anvendes, når der kræves højere timingnøjagtighed.

• Sikringsindstillinger styrer clock-kilden, opstartsforsinkelse, brownout-detektionsniveau og RESET-pin-adfærd.

• Drift ved lavere clockhastigheder reducerer strømforbrug og elektrisk støj.

• Brownout-detektion forbedrer stabiliteten ved lave forsyningsspændinger, men øger strømforbruget en smule.

ATtiny85 GPIO-grænser og sikker drift

• GPIO-ben er beregnet til signalstyring og må ikke levere strøm til eksterne belastninger.

• LED'er forbundet til GPIO-ben kræver strømbegrænsende modstande for at forhindre skader.

• Motorer, relæer og andre højstrømsenheder skal styres med eksterne transistorer eller MOSFET'er.

• Interne pull-up-modstande kan aktiveres for at forenkle knap- og kontaktforbindelser.

• Alle GPIO-spændinger skal forblive inden for specificerede grænser for at undgå permanent skade.

ATtiny85 ADC og analoge kapaciteter

FeatureBeskrivelse
ADC-resolution10-bit
IndgangskanalerOp til 4
ReferencemulighederVCC eller intern reference
Speciel tilstandADC Støjreducerende søvn

ATtiny85 har en indbygget analog-til-digital omformer, der måler skiftende spændingsniveauer og omdanner dem til digitale værdier. Målekvaliteten afhænger af en stabil referencespænding, rene strømforbindelser og korrekt signalføring. Brug af ADC Noise Reduction sleep-tilstand hjælper med at reducere intern støj under konverteringen, hvilket forbedrer læsekonsistens og den overordnede pålidelighed.

ATtiny85 Seriel kommunikation med USI

ATtiny85 understøtter seriel kommunikation via en Universal Serial Interface (USI). Denne fleksible grænseflade kan konfigureres via firmware til at fungere i SPI-tilstand eller understøtte I²C-lignende kommunikation. Ved at bruge en enkelt delt hardwareblok opretholder enheden en kompakt størrelse, samtidig med at den muliggør grundlæggende dataudveksling.

Da USI i høj grad er afhængig af softwarekontrol, kræves omhyggelig timingstyring. Den er velegnet til simple og lavhastigheds kommunikationsopgaver, men tilbyder færre automatiseringsfunktioner end dedikerede SPI- eller I²C-periferiudstyr, der findes i større mikrokontrollere.

ATtiny85-programmering gennem Arduino IDE

Figure 4. ATtiny85 Programming Through the Arduino IDE

• ATtiny85 kan programmeres i Arduino IDE efter installation af en ATtiny-kompatibel kerne.

• Programmering udføres ved hjælp af en USB-programmør eller en Arduino, der er sat op som ISP.

• Kortindstillingerne i Arduino IDE skal matche den valgte clockhastighed og driftsspænding for ATtiny85.

• PIN-koder, der bruges i kode, adskiller sig fra det fysiske pin-layout, så de skal kontrolleres grundigt før ledningsføring.

Minimal pålidelig ATtiny85-kreds

Figure 5. Minimal Reliable ATtiny85 Circuit

Dette kredsløb bruger kun de grundlæggende komponenter, der kræves for stabil drift. VCC- og GND-benene leverer strøm, hvilket gør det muligt for den interne logik at fungere korrekt. Den interne oscillator styrer timingen, så der ikke kræves eksterne clock-komponenter.

En LED forbundet via en 47 Ω modstand demonstrerer udgangskontrol, samtidig med at den beskytter både LED'en og GPIO-pinnen. RESET-pinden forbliver tilgængelig for omprogrammering eller genstart af enheden. Med meget få eksterne komponenter giver denne opsætning et simpelt og pålideligt fundament for grundlæggende anvendelser.

ATtiny85 Almindelige problemer og hurtige tjek

ProblemHvad skal man tjekke eller rette?
Kode-upload fejlerTjek ISP-ledningen og bekræft RESET sikringsindstillingen
Forkert timingVerificér den valgte clockkilde og sikringskonfiguration
Ustabile ADC-aflæsningerForbedr jordforbindelse og tilføj korrekte afkoblingskondensatorer
KommunikationsfejlGennemgå USI-opsætning og timingindstillinger
OverophedningsstifterSænk belastningsstrømmen og brug eksterne driverkomponenter

Konklusion

ATtiny85 samler kernekontrolfunktioner i en meget kompakt form. Dens specifikationer, pinfunktioner, interne blokke og effektindstillinger forklarer, hvordan den fungerer i virkelige kredsløb. Med korrekt GPIO-håndtering, ADC-brug, seriel opsætning og et minimalt kredsløb kan ATtiny85 forstås klart og anvendes i stabile, lavstrømsdesigns.

Ofte stillede spørgsmål [FAQ]

Hvor meget strøm bruger ATtiny85?

Strømforbruget afhænger af forsyningsspændingen, clockhastigheden og de aktive funktioner. Lavere clockhastigheder og deaktivering af ubrugte eksterne enheder reducerer strømforbruget.

Har ATtiny85 brug for en ekstern clock?

Nej. ATtiny85 har en intern RC-oscillator og kan fungere uden eksterne clock-komponenter. Et eksternt ur er kun nødvendigt for højere timingpræcision.

Kan RESET-pin'en bruges som en normal I/O-pin?

Ja. RESET-pinnen kan konfigureres som en GPIO ved hjælp af sikringsindstillinger. Dette deaktiverer standard ISP-programmering og kræver højspændingsprogrammering for at omprogrammere enheden.

Kan ATtiny85 drive motorer eller relæer direkte?

Nej. ATtiny85 GPIO-benene er kun til signalstyring. Motorer og relæer skal drives med eksterne transistorer eller MOSFET'er.

Hvorfor er ATtiny85 ADC-målinger ustabile?

Ustabile ADC-aflæsninger skyldes som regel strømstøj eller dårlig jordforbindelse. Tilføjelse af korrekte afkoblingskondensatorer og brug af ADC Noise Reduction-tilstand forbedrer stabiliteten.