10M+ อุปกรณ์อิเล็กทรอนิกส์ในสต็อก
ได้รับการรับรองมาตรฐาน ISO
รับประกันสินค้า
จัดส่งด่วน
ชิ้นส่วนที่หาได้ยาก?
เราเป็นผู้จัดหาให้พวกเขา
ขอใบเสนอราคา

ATtiny85: การกําหนดค่าพิน บล็อกไดอะแกรม และการเขียนโปรแกรม

ม.ค. 07 2026
แหล่งที่มา: Michael Chen
เรียกดู: 2928

ATtiny85 เป็นไมโครคอนโทรลเลอร์ขนาดเล็ก 8 บิตที่ออกแบบมาสําหรับงานควบคุมอย่างง่ายซึ่งพื้นที่และการใช้พลังงานมีความสําคัญ รวมหน่วยความจํา ตัวจับเวลา อินพุตแบบอะนาล็อก และการสื่อสารแบบอนุกรมไว้ในแพ็คเกจ 8 พิน บทความนี้ให้ข้อมูลโดยละเอียดเกี่ยวกับข้อมูลจําเพาะ พินเอาต์ โครงสร้างภายใน การตั้งค่าพลังงานและนาฬิกา การเขียนโปรแกรม วงจร และปัญหาทั่วไป

ค 1. ภาพรวม ATtiny85

ค 2. ข้อมูลจําเพาะทางเทคนิคของ ATtiny85

ค 3. การกําหนดค่า ATtiny85 Pinout

ค 4. ATtiny85 บล็อกไดอะแกรม

ค 5. ATtiny85 การตั้งค่าพลังงาน นาฬิกา และฟิวส์

ค 6. ขีดจํากัด ATtiny85 GPIO และการทํางานที่ปลอดภัย

ค 7. ATtiny85 ADC และความสามารถแบบอะนาล็อก

ค 8. ATtiny85 การสื่อสารแบบอนุกรมกับ USI

ค 9. การเขียนโปรแกรม ATtiny85 ผ่าน Arduino IDE

ค 10. วงจร ATtiny85 ที่เชื่อถือได้น้อยที่สุด

ค 11. ATtiny85 ปัญหาทั่วไปและการตรวจสอบด่วน

ค 12. สรุป

ค 13. คําถามที่พบบ่อย [FAQ]

Figure 1. ATtiny85

ภาพรวม ATtiny85 

ATtiny85 เป็นไมโครคอนโทรลเลอร์ 8 บิตขนาดกะทัดรัดที่ออกแบบมาสําหรับงานควบคุมอย่างง่าย ซึ่งต้องรักษาพื้นที่ การใช้พลังงาน และจํานวนส่วนประกอบให้ต่ํา ฟอร์มแฟคเตอร์ 8 พินช่วยลดขนาดวงจร ความซับซ้อนในการเดินสาย และต้นทุนของระบบในขณะที่ยังคงมีฟังก์ชันการควบคุมพื้นฐาน

แม้จะมีอยู่ในตลาดมานาน แต่ ATtiny85 ยังคงใช้กันอย่างแพร่หลายเนื่องจากความเสถียร เอกสารประกอบที่แข็งแกร่ง และความเข้ากันได้กับเครื่องมือพัฒนาทั่วไป ทํางานในช่วงแรงดันไฟฟ้าที่กว้างและรองรับตัวเลือกนาฬิกาหลายแบบ ทําให้เหมาะสําหรับการออกแบบขนาดกะทัดรัดและใช้พลังงานต่ําที่ต้องการพฤติกรรมที่เชื่อถือได้และคาดเดาได้

ข้อมูลจําเพาะทางเทคนิคของ ATtiny85 

ไม่ใช่ จํานวนพิน8
ซีพียูRISC 8 บิต AVRRISC
แรงดันไฟฟ้าที่ใช้งาน1.8 ถึง 5.5 V
หน่วยความจําโปรแกรม8K
ประเภทหน่วยความจําโปรแกรมแฟลช
แรม512 ไบต์
EEPROMอีปรอม 512 ไบต์
จํานวน ADC ของช่อง ADC10 บิต 4
เครื่องเปรียบเทียบ1
แพ็คเกจPDIP (8 ขา) SOIC (8 ขา) TSSOP (8 ขา) QFN/MLF (20 ขา)
ออสซิลเลเตอร์สูงสุด 20 MHz
ตัวจับเวลา (2)ตัวจับเวลา 8 บิต
ปรับปรุงการรีเซ็ตพลังงานใช่
ตัวตั้งเวลาเปิดเครื่องใช่
พิน I/O6
ผู้ผลิตไมโครชิพไมโครชิพ
SPIสปอนซิส ใช่
I2Cไอทูซี ใช่
ตัวจับเวลาสุนัขเฝ้าระวังใช่
การตรวจจับสีน้ําตาลออก (BOD)ใช่
รีเซ็ตใช่
USI (Universal Serial Interface)ยูเอสไอ ใช่
อุณหภูมิใช้งานต่ําสุดมิซูมิ -40 องศาเซลเซียส
อุณหภูมิใช้งานสูงสุด125 องศาเซลเซียส
Figure 2. ATtiny85 Pinout Configuration
หมุดชื่อฟังก์ชั่นหลัก
1PB5RESET, GPIO (หากฟิวส์เปลี่ยน)
22PB3พีบี 3 GPIO, ADCGPIO
3PB4พีบี 4 GPIO, ADCGPIO
4จีเอ็นดีพื้นดิน
5PB0GPIO, PWM, MOSI
6PB1GPIO, PWM, มิโซะ
7PB2พีบีทู GPIO, ADC, SCKจีพีโอ, เอดีซี, เอสเค
8บัตรเครดิต VCCพาวเวอร์ซัพพลาย

ATtiny85 มีจําหน่ายในแพ็คเกจ PDIP-8 และ QFN/MLF-20 ทั้งสองใช้วงจรภายในเดียวกัน แต่การจัดเรียงพินแตกต่างกัน แพ็คเกจ PDIP-8 เผยให้เห็นเฉพาะพินพื้นฐานและใช้งานง่ายกว่าในวงจรพื้นฐาน ในขณะที่แพ็คเกจ QFN/MLF-20 มีพินเพิ่มเติมที่ทําเครื่องหมายว่าไม่ได้เชื่อมต่อ

หมุดส่วนใหญ่รองรับหลายฟังก์ชัน พินเดียวสามารถทําหน้าที่เป็นอินพุตหรือเอาต์พุตดิจิตอลอ่านสัญญาณแอนะล็อกสร้างเอาต์พุต PWM หรือรองรับการสื่อสารแบบอนุกรม การออกแบบมัลติฟังก์ชั่นนี้ช่วยให้ ATtiny85 ยังคงมีขนาดเล็กในขณะที่ให้ความยืดหยุ่น พิน RESET ยังสามารถกําหนดค่าเป็นพินได้โดยการเปลี่ยนการตั้งค่าฟิวส์ แม้ว่าจะลบความสามารถในการรีเซ็ตภายนอก

แผนภาพบล็อก ATtiny85

Figure 3. ATtiny85 Block Diagram

ATtiny85 สร้างขึ้นจากแกนประมวลผล AVR ที่ดําเนินการคําสั่งที่จัดเก็บไว้ในหน่วยความจําแฟลช SRAM ใช้สําหรับข้อมูลชั่วคราวระหว่างการทํางาน ในขณะที่ EEPROM จัดเก็บข้อมูลแบบไม่ลบเลือนที่ต้องเก็บไว้เมื่อถอดพลังงานออก ตัวนับโปรแกรม ตัวชี้สแต็ก และรีจิสเตอร์จัดการโฟลว์คําสั่งและการประมวลผลข้อมูล

ฟังก์ชันจับเวลาได้รับการจัดการโดยตัวจับเวลา 8 บิตภายในสองตัวและตัวจับเวลาสุนัขเฝ้าระวัง สุนัขเฝ้าระวังปรับปรุงความน่าเชื่อถือโดยการรีเซ็ตอุปกรณ์หากการทํางานของโปรแกรมปกติหยุดลง ออสซิลเลเตอร์ภายในให้สัญญาณนาฬิกา และการควบคุมเวลาแบบรวมศูนย์จะซิงโครไนซ์โมดูลภายในทั้งหมด

การดําเนินการอินพุตและเอาต์พุตได้รับการจัดการผ่านการลงทะเบียนพอร์ตที่เชื่อมต่อโดยตรงกับพินภายนอก อุปกรณ์นี้ยังรวมวงจรแอนะล็อก เช่น ADC และตัวเปรียบเทียบ บล็อกภายในทั้งหมดเชื่อมโยงผ่านเส้นทางข้อมูลที่ใช้ร่วมกัน ทําให้สามารถสื่อสารระหว่างหน่วยความจํา ตรรกะการประมวลผล และ I/O ได้อย่างมีประสิทธิภาพ

ATtiny85 การตั้งค่าพลังงาน นาฬิกา และฟิวส์

• ATtiny85 มีออสซิลเลเตอร์ RC ภายใน ทําให้สามารถทํางานได้โดยไม่ต้องใช้ส่วนประกอบนาฬิกาภายนอก

• อาจใช้แหล่งสัญญาณนาฬิกาภายนอกหรือคริสตัลเมื่อต้องการความแม่นยําของเวลาที่สูงขึ้น

• การตั้งค่าฟิวส์ควบคุมแหล่งสัญญาณนาฬิกา ความล่าช้าในการเริ่มต้น ระดับการตรวจจับไฟดับ และพฤติกรรมของพินรีเซ็ต

• การทํางานที่ความเร็วสัญญาณนาฬิกาที่ต่ําลงช่วยลดการใช้พลังงานและสัญญาณรบกวนทางไฟฟ้า

• การตรวจจับแสงไฟดับช่วยเพิ่มเสถียรภาพที่แรงดันไฟฟ้าต่ํา แต่เพิ่มการดึงกระแสไฟเล็กน้อย

ขีดจํากัด ATtiny85 GPIO และการทํางานที่ปลอดภัย

• พิน GPIO มีไว้สําหรับควบคุมสัญญาณและต้องไม่จ่ายไฟให้กับโหลดภายนอก

• ไฟ LED ที่เชื่อมต่อกับพิน GPIO ต้องใช้ตัวต้านทานจํากัดกระแสเพื่อป้องกันความเสียหาย

• มอเตอร์ รีเลย์ และอุปกรณ์กระแสสูงอื่นๆ ต้องควบคุมโดยใช้ทรานซิสเตอร์ภายนอกหรือ MOSFET

•สามารถเปิดใช้งานตัวต้านทานแบบดึงขึ้นภายในเพื่อลดความซับซ้อนของการเชื่อมต่อปุ่มและสวิตช์

• แรงดันไฟฟ้า GPIO ทั้งหมดต้องอยู่ภายในขีดจํากัดที่กําหนดเพื่อหลีกเลี่ยงความเสียหายถาวร

ATtiny85 ADC และความสามารถแบบอะนาล็อก

คุณสมบัติคําอธิบาย
ความละเอียด ADCADC 10 บิต
ช่องสัญญาณเข้าสูงสุด 4
ตัวเลือกอ้างอิงVCC หรือการอ้างอิงภายใน
โหมดพิเศษADC การนอนหลับลดเสียงรบกวน
ATtiny85 มีตัวแปลงอนาล็อกเป็นดิจิตอลในตัวที่วัดระดับแรงดันไฟฟ้าที่เปลี่ยนแปลงและแปลงเป็นค่าดิจิทัล คุณภาพการวัดขึ้นอยู่กับแรงดันอ้างอิงที่เสถียร การเชื่อมต่อพลังงานที่สะอาด และการกําหนดเส้นทางสัญญาณที่เหมาะสม การใช้โหมดสลีปลดเสียงรบกวน ADC ช่วยลดเสียงรบกวนภายในระหว่างการแปลง ซึ่งช่วยเพิ่มความสม่ําเสมอในการอ่านและความน่าเชื่อถือโดยรวม
ATtiny85 รองรับการสื่อสารแบบอนุกรมผ่าน Universal Serial Interface (USI) อินเทอร์เฟซที่ยืดหยุ่นนี้สามารถกําหนดค่าผ่านเฟิร์มแวร์เพื่อทํางานในโหมด SPI หรือรองรับการสื่อสารแบบ I²C ด้วยการใช้บล็อกฮาร์ดแวร์ที่ใช้ร่วมกันเพียงบล็อกเดียว อุปกรณ์จะรักษาขนาดที่กะทัดรัดในขณะที่ยังคงเปิดใช้งานการแลกเปลี่ยนข้อมูลพื้นฐาน
เนื่องจาก USI พึ่งพาการควบคุมซอฟต์แวร์เป็นอย่างมาก จึงจําเป็นต้องมีการจัดการเวลาอย่างระมัดระวัง เหมาะสําหรับงานสื่อสารที่เรียบง่ายและความเร็วต่ํา แต่มีคุณสมบัติการทํางานอัตโนมัติน้อยกว่าอุปกรณ์ต่อพ่วง SPI หรือ I²C เฉพาะที่พบในไมโครคอนโทรลเลอร์ขนาดใหญ่
Figure 4. ATtiny85 Programming Through the Arduino IDE
• สามารถตั้งโปรแกรม ATtiny85 ใน Arduino IDE ได้หลังจากติดตั้งคอร์ที่เข้ากันได้กับ ATtiny
• การเขียนโปรแกรมทําได้โดยใช้โปรแกรมเมอร์ USB หรือ Arduino ที่ตั้งค่าเป็น ISP
• การตั้งค่าบอร์ดใน Arduino IDE ต้องตรงกับความเร็วสัญญาณนาฬิกาที่เลือกและปริมาตรการทํางาน tage ของ ATtiny85
• PIN ที่ใช้ในรหัสนั้นแตกต่างจากเค้าโครงพินจริง ดังนั้นจึงต้องตรวจสอบอย่างรอบคอบก่อนเดินสาย
Figure 5. Minimal Reliable ATtiny85 Circuit
วงจรนี้ใช้เฉพาะส่วนประกอบพื้นฐานที่จําเป็นสําหรับการทํางานที่มั่นคง พิน VCC และ GND จ่ายไฟ ทําให้ตรรกะภายในทํางานได้อย่างถูกต้อง ออสซิลเลเตอร์ภายในควบคุมเวลา ดังนั้นจึงไม่จําเป็นต้องใช้ส่วนประกอบนาฬิกาภายนอก
ไฟ LED ที่เชื่อมต่อผ่านตัวต้านทาน 47 Ω แสดงให้เห็นถึงการควบคุมเอาต์พุตในขณะที่ปกป้องทั้ง LED และพิน GPIO พิน RESET ยังคงสามารถเข้าถึงได้สําหรับการตั้งโปรแกรมใหม่หรือรีสตาร์ทอุปกรณ์ ด้วยส่วนประกอบภายนอกน้อยมากการตั้งค่านี้จึงเป็นรากฐานที่เรียบง่ายและเชื่อถือได้สําหรับการใช้งานพื้นฐาน
ปัญหาสิ่งที่ต้องตรวจสอบหรือแก้ไข?
การอัปโหลดโค้ดล้มเหลวตรวจสอบการเดินสาย ISP และยืนยันการตั้งค่าฟิวส์ RESET
เวลาไม่ถูกต้อง ตรวจสอบแหล่งสัญญาณนาฬิกาที่เลือกและการกําหนดค่าฟิวส์

| การอ่านค่า ADC ไม่เสถียร | ปรับปรุงการต่อสายดินและเพิ่มตัวเก็บประจุแบบแยกส่วนที่เหมาะสม

| ข้อผิดพลาดในการสื่อสาร | ตรวจสอบการตั้งค่า USI และการตั้งค่าเวลา | USI

| หมุดร้อนเกินไป ลดกระแสโหลดและใช้ส่วนประกอบไดรเวอร์ภายนอก | Uka AG

สรุป

ATtiny85 รวบรวมคุณสมบัติการควบคุมหลักในรูปแบบที่กะทัดรัดมาก ข้อมูลจําเพาะ ฟังก์ชันพิน บล็อกภายใน และการตั้งค่าพลังงานอธิบายวิธีการทํางานในวงจรจริง ด้วยการจัดการ GPIO ที่เหมาะสม การใช้ ADC การตั้งค่าแบบอนุกรม และวงจรที่น้อยที่สุด ATtiny85 จึงสามารถเข้าใจได้อย่างชัดเจนและนําไปใช้ในการออกแบบที่เสถียรและใช้พลังงานต่ํา

คําถามที่พบบ่อย [FAQ]

ATtiny85 ใช้พลังงานเท่าไร?

การใช้พลังงานขึ้นอยู่กับแรงดันไฟฟ้า ความเร็วสัญญาณนาฬิกา และคุณสมบัติที่ใช้งานอยู่ ความเร็วสัญญาณนาฬิกาที่ต่ําลงและการปิดใช้งานอุปกรณ์ต่อพ่วงที่ไม่ได้ใช้จะช่วยลดการใช้กระแสไฟ

ATtiny85 ต้องการนาฬิกาภายนอกหรือไม่?

ไม่ใช่ ATtiny85 มีออสซิลเลเตอร์ RC ภายในและสามารถทํางานได้โดยไม่ต้องใช้ส่วนประกอบนาฬิกาภายนอก นาฬิกาภายนอกจําเป็นสําหรับความแม่นยําในการจับเวลาที่สูงขึ้นเท่านั้น

สามารถใช้พิน RESET เป็นพิน I/O ปกติได้หรือไม่?

ใช่. พิน RESET สามารถกําหนดค่าเป็น GPIO ได้โดยใช้การตั้งค่าฟิวส์ การดําเนินการนี้จะปิดใช้งานการเขียนโปรแกรม ISP มาตรฐานและต้องใช้การตั้งโปรแกรมไฟฟ้าแรงสูงเพื่อตั้งโปรแกรมอุปกรณ์ใหม่

ATtiny85 สามารถขับเคลื่อนมอเตอร์หรือรีเลย์ได้โดยตรงหรือไม่?

ไม่ใช่ พิน ATtiny85 GPIO ใช้สําหรับควบคุมสัญญาณเท่านั้น มอเตอร์และรีเลย์ต้องขับเคลื่อนโดยใช้ทรานซิสเตอร์ภายนอกหรือ MOSFET

เหตุใดการอ่าน ATtiny85 ADC จึงไม่เสถียร

การอ่านค่า ADC ที่ไม่เสถียรมักเกิดจากเสียงรบกวนจากพลังงานหรือการต่อสายดินไม่ดี การเพิ่มตัวเก็บประจุแบบแยกส่วนที่เหมาะสมและการใช้โหมดลดเสียงรบกวน ADC ช่วยเพิ่มความเสถียร