ATtiny85 是一款小型 8 位元微控制器,專為空間與功耗需求而設計的簡單控制任務。它將記憶體、定時器、類比輸入與序列通訊整合於 8 腳封裝中。本文提供其規格、腳位配置、內部結構、電源與時脈設定、程式設計、電路及常見問題的詳細資訊。

ATtiny85 概述
ATtiny85 是一款緊湊型的 8 位元微控制器,專為需要節省空間、耗電及元件數量的簡單控制任務而設計。其 8 腳外型有助於減少電路尺寸、布線複雜度及系統成本,同時仍提供基本控制功能。
儘管在市場上存在已久,ATtiny85 因其穩定性、完善的文件以及與常見開發工具的相容性,仍被廣泛使用。它能在廣泛的電壓範圍內運作,並支援多種時脈選項,適合需要可靠且可預測行為的緊湊、低功耗設計。
ATtiny85 技術規格
| 不。針 | 8 |
|---|---|
| 中央處理器 | RISC 8 位元 AVR |
| 操作電壓 | 1.8 至 5.5 V |
| 程式記憶體 | 8K |
| 程式記憶體類型 | 閃電俠 |
| RAM | 512 位元組 |
| EEPROM | 512 位元組 |
| ADC ADC 通道數量 | 10-Bit 4 |
| 比較器 | 1 |
| 套件 | PDIP(8腳) SOIC(8腳) TSSOP(8腳) QFN/MLF(20腳) |
| 振盪器 | 最高可達 20 MHz |
| 計時器(2) | 8位元計時器 |
| 強化電源重置 | 是的 |
| 強化計時器 | 是的 |
| I/O 腳位 | 6 |
| 製造商 | 微晶片 |
| SPI | 是的 |
| I2C | 是的 |
| 看門狗計時器 | 是的 |
| 電壓偵測(BOD) | 是的 |
| 重置 | 是的 |
| USI(通用序列介面) | 是的 |
| 最低操作溫度 | -40°C |
| 最高操作溫度 | 125 C |
ATtiny85 腳位配置

| 釘 | 姓名 | 主要功能 |
|---|---|---|
| 1 | PB5 | RESET,GPIO(如果保險絲更換) |
| 2 | PB3 | GPIO,ADC |
| 3 | PB4 | GPIO,ADC |
| 4 | GND | 地面 |
| 5 | PB0 | GPO、PWM、MOSI |
| 6 | PB1 | GPO、PWM、MISO |
| 7 | PB2 | GPIO、ADC、SCK |
| 8 | VCC | 電源供應 |
ATtiny85 提供 PDIP-8 與 QFN/MLF-20 兩種封裝。兩者共用相同的內部電路,但腳位排列不同。PDIP-8 封裝僅暴露基本腳位,且在基本電路中使用更為簡便,而 QFN/MLF-20 封裝則包含標示為未連接的額外腳位。
大多數腳位支援多種功能。單一腳位可作為數位輸入或輸出、讀取類比訊號、產生 PWM 輸出,或支援串列通訊。這種多功能設計讓 ATtiny85 既保持小巧,又兼具彈性。RESET 腳位也可透過更改保險絲設定來設定為腳位,但這會移除外部重設功能。
ATtiny85 方塊圖

ATtiny85 以 AVR 處理核心為核心,執行儲存在快閃記憶體中的指令。SRAM 用於運作期間的暫存資料,而 EEPROM 則儲存非揮發性資料,這些資料在斷電時必須保留。程式計數器、堆疊指標與暫存器管理指令流程與資料處理。
時序功能由兩個內部 8 位元定時器和一個看門狗定時器處理。當正常程式執行停止時,看門狗會重置裝置以提升可靠性。內部振盪器提供時鐘訊號,集中式定時控制則同步所有內部模組。
輸入與輸出操作透過直接連接外部腳位的埠暫存器管理。該裝置也整合了類比電路,如 ADC 和比較器。所有內部區塊皆透過共享資料路徑連結,允許記憶體、處理邏輯與輸入輸出間的有效通訊。
ATtiny85 電源、時脈與保險絲設定
• ATtiny85 內建 RC 振盪器,可無需外部時鐘元件即可操作。
• 當需要更高時序精度時,可使用外部時鐘源或晶體。
• 保險絲設定控制時鐘來源、啟動延遲、電壓掉落偵測及重設腳位行為。
• 以較低時脈運作可降低功耗與電氣雜訊。
• 電壓降壓偵測能提升低電源電壓下的穩定性,但略微增加電流消耗。
ATtiny85 GPIO 限制與安全操作
• GPIO 腳位用於訊號控制,不得供電給外部負載。
• 連接GPIO腳位的LED需要電流限制電阻以防止損壞。
• 馬達、繼電器及其他高電流裝置必須使用外部電晶體或MOSFET來控制。
• 可啟用內部上拉電阻,簡化按鈕與開關的連接。
• 所有GPIO電壓必須維持在指定範圍內,以避免永久損壞。
ATtiny85 ADC 與類比功能
| 特色 | 說明 |
|---|---|
| ADC 解析度 | 10位元 |
| 輸入通道 | 最多 4 |
| 參考選項 | VCC 或內部參考 |
| 特殊模式 | ADC 降噪睡眠 |
ATtiny85 內建類比轉數位轉換器,可測量電壓變化並將電壓轉換為數位值。測量品質取決於穩定的參考電壓、乾淨的電源連接以及正確的訊號路由。使用 ADC 降噪睡眠模式有助於降低轉換過程中的內部雜訊,提升讀取一致性與整體可靠性。
ATtiny85 與 USI 的串列通訊
ATtiny85 支援透過通用序列介面(USI)進行序列通訊。這種靈活的介面可透過韌體設定為 SPI 模式或支援 I²C 通訊。透過使用單一共用硬體區塊,裝置維持緊湊大小,同時仍能進行基本資料交換。
由於 USI 高度依賴軟體控制,因此需要謹慎的時序管理。它適合簡單且低速的通訊任務,但自動化功能不如大型微控制器中專用的 SPI 或 I²C 周邊設備多。
透過 Arduino IDE 進行 ATtiny85 程式設計

• 安裝相容 ATtiny 核心後,可在 Arduino IDE 中編程 ATtiny85。
• 程式設計使用 USB 燒錄器或作為 ISP 的 Arduino 進行。
• Arduino IDE 中的板子設定必須與 ATtiny85 所選定的時脈速度及運作電壓相符。
• 程式碼中使用的 PIN 與實體腳位配置不同,因此在接線前必須仔細檢查。
最小可靠ATtiny85電路

此電路僅使用穩定運作所需的基本元件。VCC 與 GND 腳位供電,使內部邏輯能正常運作。內部振盪器控制時序,因此不需要外部時鐘元件。
透過 47 Ω 電阻連接的 LED 顯示輸出控制,同時保護 LED 與 GPIO 腳位。RESET 腳位仍可存取,方便重新編程或重新啟動裝置。這種設計外部元件極少,為基本應用提供了簡單且可靠的基礎。
ATtiny85 常見問題與快速檢查
| 問題 | 該檢查或修正什麼? |
|---|---|
| 程式碼上傳失敗 | 檢查 ISP 線路並確認 RESET 保險絲設定 |
| 時間錯誤 | 驗證所選時鐘來源與保險絲配置 |
| 不穩定的ADC讀數 | 改善接地並添加適當的解耦電容器 |
| 通訊錯誤 | 檢視 USI 的設定與時序設定 |
| 腳腳過熱 | 降低負載電流並使用外部驅動元件 |
結論
ATtiny85 將核心控制功能整合成非常緊湊的形式。其規格、腳位功能、內部模組及功率設定解釋了其在實際電路中的運作方式。只要正確處理 GPIO、使用 ADC、串列設定及最小電路,ATtiny85 就能清楚理解並應用於穩定、低功耗的設計中。
常見問題 [常見問題]
ATtiny85 消耗多少電力?
電力消耗取決於電源電壓、時脈速度及主動功能。降低時脈速度及停用未使用的周邊設備可降低電流消耗。
ATtiny85 需要外接時脈嗎?
不。ATtiny85 內建 RC 振盪器,且可在無需外部時鐘元件的情況下運作。外部時鐘僅用於提高時序精度。
RESET 腳位可以當作一般的 I/O 腳位使用嗎?
是的。RESET 腳位可透過保險絲設定設定設定為 GPIO。這會使標準 ISP 程式設計失效,並需要高壓程式來重新編程裝置。
ATtiny85 可以直接驅動馬達或繼電器嗎?
不。ATtiny85 GPIO 腳位僅用於訊號控制。馬達與繼電器必須使用外部電晶體或MOSFET驅動。
為什麼 ATtiny85 的 ADC 讀數不穩定?
ADC 讀數不穩定通常是因為電源雜訊或接地不良所致。加裝適當的解耦電容並使用ADC降噪模式,可以提升穩定性。