ประเภทของไมโครคอนโทรลเลอร์ AVR - Atmega32 & ATmega8

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ATmega32 - ไมโครคอนโทรลเลอร์ AVR 8 บิต

ไมโครคอนโทรลเลอร์ AVR ใช้สถาปัตยกรรม RISC ขั้นสูง ATmega32 เป็นไมโครคอนโทรลเลอร์ CMOS 8 บิตที่ใช้พลังงานต่ำซึ่งใช้สถาปัตยกรรม RISC ที่ปรับปรุงโดย AVR AVR สามารถดำเนินการได้ 1 ล้านคำสั่งต่อวินาทีหากรอบความถี่เป็น 1MHz

รูปถ่าย DIP 40 พินของ ATmega32

รูปถ่าย DIP 40 พินของ ATmega32



ฟีเจอร์หลัก:


  • การลงทะเบียนวัตถุประสงค์การทำงานทั่วไป 32 x 8
  • 32K ไบต์ของหน่วยความจำโปรแกรมแฟลชที่ตั้งโปรแกรมได้เองในระบบ
  • SRAM ภายใน 2K ไบต์
  • EEPROM 1024 ไบต์
  • มีให้เลือกใน 40 pin DIP, 44 lead QTFP, 44-pad QFN / MLF
  • 32 บรรทัด I / O ที่ตั้งโปรแกรมได้
  • 8 ช่อง 10 บิต ADC
  • ตัวจับเวลา / ตัวนับ 8 บิตสองตัวพร้อมตัวตั้งค่าล่วงหน้าแยกต่างหากและโหมดเปรียบเทียบ
  • ตัวจับเวลา / ตัวนับ 16 บิตหนึ่งตัวพร้อมพรีสเกลเลอร์แยกโหมดเปรียบเทียบและโหมดจับภาพ
  • 4 ช่องสัญญาณ PWM
  • ในการเขียนโปรแกรมระบบโดยโปรแกรมบูตบนชิป
  • นาฬิกาจับเวลาสุนัขที่ตั้งโปรแกรมได้พร้อมออสซิลเลเตอร์บนชิปแยกต่างหาก
  • โปรแกรม USART แบบอนุกรม
  • อินเทอร์เฟซแบบอนุกรมของ Master / Slave SPI

คุณสมบัติพิเศษของไมโครคอนโทรลเลอร์:

  • โหมดสลีปหกโหมด: ไม่ได้ใช้งาน, ลดเสียงรบกวน ADC, ประหยัดพลังงาน, ปิดเครื่อง, สแตนด์บายและสแตนด์บายแบบขยาย
  • ออสซิลเลเตอร์ RC ที่ปรับเทียบภายใน
  • แหล่งขัดจังหวะภายนอกและภายใน
  • เปิดการรีเซ็ตและการตรวจจับสีน้ำตาลที่ตั้งโปรแกรมได้
DIP 40 พินของ ATmega32

DIP 40 พินของ ATmega32



รีจิสเตอร์ทั้ง 32 ตัวเชื่อมต่อโดยตรงกับ Arithmetic Logic Unit (ALU) ทำให้สามารถเข้าถึงรีจิสเตอร์อิสระสองตัวในคำสั่งเดียวที่ดำเนินการในหนึ่งรอบนาฬิกา

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

โหมดลดสัญญาณรบกวน ADC จะหยุด CPU และโมดูล I / O ทั้งหมดยกเว้น ADC และตัวจับเวลาแบบอะซิงโครนัส ในโหมดสแตนด์บายยกเว้นคริสตัลออสซิลเลเตอร์อุปกรณ์ที่เหลืออยู่ในโหมดสลีป ทั้งออสซิลเลเตอร์หลักและตัวจับเวลาแบบอะซิงโครนัสยังคงทำงานในโหมดสแตนด์บายเพิ่มเติม

ATmega32 เป็นไมโครคอนโทรลเลอร์ที่ทรงพลังเนื่องจากมีแฟลชที่ตั้งโปรแกรมได้เองในระบบบนชิปเสาหินมอบโซลูชันที่ยืดหยุ่นและคุ้มค่าสำหรับแอปพลิเคชันการควบคุมแบบฝังจำนวนมาก


TQFP / MLF 44 แผ่น

TQFP / MLF 44 แผ่น

คำอธิบายพิน:

VCC: แหล่งจ่ายแรงดันไฟฟ้าดิจิตอล

GND: พื้น

พอร์ต A (PA7-PA0): พอร์ตนี้ทำหน้าที่เป็นอินพุตแบบอะนาล็อกไปยังตัวแปลง A / D นอกจากนี้ยังทำหน้าที่เป็นพอร์ต I / O แบบสองทิศทาง 8 บิตหากไม่ได้ใช้ตัวแปลง A / D

พอร์ต B (PB7-PB0) และพอร์ต D (PD7-PD0): เป็นพอร์ต I / O แบบสองทิศทาง 8 บิต บัฟเฟอร์เอาต์พุตมีลักษณะของไดรฟ์แบบสมมาตรที่มีทั้งความสามารถในการซิงค์และแหล่งจ่ายสูง ในฐานะอินพุตสิ่งเหล่านี้จะถูกดึงให้ต่ำมากหากเปิดใช้งานตัวต้านทานแบบดึงขึ้น นอกจากนี้ยังทำหน้าที่คุณสมบัติพิเศษต่างๆของ ATmega32

พอร์ต C (PC7-PC0): เป็นพอร์ต I / O แบบสองทิศทาง 8 บิต หากเปิดใช้งานอินเทอร์เฟซ JTAG ตัวต้านทานแบบดึงขึ้นบนพิน PC5 (TDI), PC3 (TMS) และ PC2 (TCK) จะเปิดใช้งาน

การเชื่อมต่อ JTAG โดยใช้พอร์ต C ของ ATmega32

การเชื่อมต่อ JTAG โดยใช้พอร์ต C ของ ATmega32

รีเซ็ต: มันเป็นอินพุต

XTAL1: เป็นอินพุตไปยังแอมพลิฟายเออร์ออสซิลเลเตอร์กลับด้านและอินพุตไปยังวงจรปฏิบัติการนาฬิกาภายใน

XTAL2: เป็นเอาต์พุตจากแอมพลิฟายเออร์ออสซิลเลเตอร์กลับด้าน

AVCC: เป็นพินแรงดันไฟฟ้าสำหรับตัวแปลงพอร์ต A และ A / D ควรเชื่อมต่อกับ VCC

พื้นที่: AREF คือพินอ้างอิงอะนาล็อกสำหรับตัวแปลง A / D

ATmega32 ความทรงจำ:

มีหน่วยความจำข้อมูลพื้นที่หน่วยความจำหลักสองช่องและพื้นที่หน่วยความจำโปรแกรม นอกจากนี้ยังมีหน่วยความจำ EEPROM สำหรับจัดเก็บข้อมูล

ในหน่วยความจำโปรแกรมแฟลชโปรแกรมระบบ:

ATmega32 มี 32Kbytes บนชิปในหน่วยความจำแฟลชที่ตั้งโปรแกรมระบบใหม่ได้สำหรับการจัดเก็บโปรแกรม Flash ถูกจัดเป็น 16k X 16 และหน่วยความจำแบ่งออกเป็นสองส่วนส่วนโปรแกรม Boot และส่วนโปรแกรมแอปพลิเคชัน

แผนภาพวงจรโปรแกรมเมอร์ ISP

แผนภาพวงจรโปรแกรมเมอร์ ISP

หน่วยความจำข้อมูล SRAM:

ไฟล์ Register, หน่วยความจำ I / O และ SRAM ข้อมูลภายในถูกกำหนดโดยตำแหน่งหน่วยความจำข้อมูลที่ต่ำกว่า 2144 ตำแหน่ง 96 ตำแหน่งแรกจะอยู่ที่ไฟล์ Register และหน่วยความจำ I / O และข้อมูลภายใน SRAM จะถูกกำหนดโดยตำแหน่งถัดไป 2048 ทางตรงทางอ้อมที่มีการกระจัดทางอ้อมทางอ้อมที่มีการลดก่อนและในทางตรงกับการลดหลังเป็นโหมดการกำหนดแอดเดรสที่แตกต่างกัน 5 โหมดสำหรับการครอบคลุมหน่วยความจำข้อมูล การลงทะเบียนสำหรับวัตถุประสงค์ทั่วไป 32 รายการ, การลงทะเบียน I / O 64 รายการและ SRAM ข้อมูลภายใน 2048 ไบต์สามารถเข้าถึงได้โดยใช้โหมดการกำหนดแอดเดรสเหล่านี้

แผนภาพบล็อกของ ATmega32

แผนภาพบล็อกของ ATmega32

หน่วยความจำข้อมูล EEPROM:

ประกอบด้วยหน่วยความจำ EEPROM ข้อมูล 1024 ไบต์ สามารถเข้าถึงเป็นพื้นที่ข้อมูลแยกต่างหากซึ่งสามารถอ่านและเขียนไบต์เดี่ยวได้

หน่วยความจำ I / O:

I / Os และอุปกรณ์ต่อพ่วงทั้งหมดถูกวางไว้ในช่องว่าง I / O ตำแหน่ง I / O เข้าถึงได้โดยคำสั่ง IN และ OUT โดยถ่ายโอนข้อมูลระหว่างรีจิสเตอร์วัตถุประสงค์ทั่วไป 32 รายการและช่องว่าง I / O การลงทะเบียน I / O ด้วยที่อยู่ 00-1F สามารถเข้าถึงได้โดยตรงโดยใช้คำสั่ง SBI และ CBI

ATmega8

บทนำ

เป็นไมโครคอนโทรลเลอร์ 8 บิต CMOS ที่สร้างขึ้นจากตระกูล AVR (พัฒนาโดย Atmel Corporation ในปี 2539) และสร้างขึ้นบนสถาปัตยกรรม RSIC (Reduced Instruction Set Computer) ข้อได้เปรียบพื้นฐานคือไม่มีตัวสะสมใด ๆ และผลของการดำเนินการใด ๆ สามารถเก็บไว้ในรีจิสเตอร์ใด ๆ ที่กำหนดโดยคำสั่ง

สถาปัตยกรรม

สถาปัตยกรรม

สถาปัตยกรรม

หน่วยความจำ

ประกอบด้วยหน่วยความจำแฟลช 8KB, SRAM 1KB และ EEPROM 512 ไบต์ แฟลช 8K แบ่งออกเป็น 2 ส่วน - ส่วนล่างใช้เป็นส่วนแฟลชสำหรับบูตและส่วนบนใช้เป็นส่วนแฟลชแอปพลิเคชัน SRAM ประกอบด้วย 1K ไบต์พร้อมกับรีจิสเตอร์วัตถุประสงค์ทั่วไป 1120 ไบต์และรีจิสเตอร์ I / O ตำแหน่งที่อยู่ 32 ด้านล่างใช้สำหรับการลงทะเบียน 8 บิตสำหรับวัตถุประสงค์ทั่วไป 32 รายการ ที่อยู่ 64 ถัดไปใช้สำหรับการลงทะเบียน I / O การลงทะเบียนทั้งหมดเชื่อมต่อโดยตรงกับ ALU EEPROM ใช้เพื่อจัดเก็บข้อมูลที่ผู้ใช้กำหนด

พอร์ตอินพุต / เอาต์พุต

ประกอบด้วยสาย I / O 23 เส้นพร้อมพอร์ต I / O 3 พอร์ตชื่อ B, C และ D พอร์ต B ประกอบด้วย I / O 8 เส้นพอร์ต C ประกอบด้วยสาย I / O 7 เส้นและพอร์ต D ประกอบด้วย 8 I / O เส้น

รีจิสเตอร์ที่สอดคล้องกับ portX (B, C หรือ D) คือ:

DDRX : ลงทะเบียนทิศทางข้อมูลพอร์ต X

PORTX : ลงทะเบียนข้อมูลพอร์ต X

PINX : ลงทะเบียนอินพุตพอร์ต X

ตัวจับเวลาและตัวนับ

ประกอบด้วยตัวจับเวลา 3 ตัวพร้อมโหมดเทียบเคียง สองคนคือ 8 บิตในขณะที่อันที่สามคือ 16 บิต

ออสซิลเลเตอร์

ประกอบด้วยการรีเซ็ตภายในและออสซิลเลเตอร์ซึ่งทำให้ไม่จำเป็นต้องใช้อินพุตภายนอกใด ๆ RC oscillator ภายในสามารถสร้างนาฬิกาภายในซึ่งสามารถทำงานที่ความถี่ 1MHz, 2MHz, 4MHz หรือ 8MHz ตามที่ตั้งโปรแกรมไว้ นอกจากนี้ยังรองรับออสซิลเลเตอร์ภายนอกที่มีความถี่สูงสุด 16MHz

การสื่อสาร

มีทั้งแผนการถ่ายโอนข้อมูลแบบซิงโครนัสและอะซิงโครนัสผ่าน USART (Universal Synchronous และ Asynchronous Receiver Transmitter) เช่นการสื่อสารกับโมเด็มและอุปกรณ์อนุกรมอื่น ๆ นอกจากนี้ยังรองรับ SPI (Serial Peripheral Interface) ที่ใช้สำหรับการสื่อสารระหว่างอุปกรณ์โดยใช้วิธี master-slave รองรับการสื่อสารอีกประเภทหนึ่งคือ TWI (Two wire Interface) อนุญาตให้มีการสับเปลี่ยนระหว่างอุปกรณ์ทั้งสองโดยใช้สายไฟ 2 เส้นพร้อมกับการเชื่อมต่อสายดินทั่วไป

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

นอกจากนี้ยังมี ADC 6 ช่องซึ่ง 4 ช่องมีความแม่นยำ 10 บิตและ 2 มีความแม่นยำ 8 บิต

ลงทะเบียนสถานะ : ประกอบด้วยข้อมูลเกี่ยวกับชุดคำสั่งเลขคณิตที่ดำเนินการในปัจจุบัน

ATmega Pin Diagram :

ATmega Pin Diagram

ATmega Pin Diagram

คุณสมบัติที่สำคัญอย่างหนึ่งของ ATmega8 คือยกเว้น 5 พินพินอื่น ๆ ทั้งหมดรองรับสองสัญญาณ

  • พิน 23,24,25,26,27,28 และ 1 ใช้สำหรับพอร์ต C ในขณะที่พิน 9,10,14,15,16,17,18,19 ใช้สำหรับพอร์ต B และพิน 2,3,4 5,6,11,12 ใช้สำหรับพอร์ต D
  • พิน 1 ยังเป็นพินรีเซ็ตและการใช้สัญญาณระดับต่ำเป็นเวลานานกว่าความยาวพัลส์ขั้นต่ำจะทำให้เกิดการรีเซ็ต
  • พิน 2 และ 3 ยังใช้สำหรับการสื่อสารแบบอนุกรมสำหรับ USART
  • พิน 4 และ 5 ใช้เป็นอินเทอร์รัปต์ภายนอก หนึ่งในนั้นจะทริกเกอร์เมื่อมีการตั้งค่าสถานะอินเตอร์รัปต์บิตของการลงทะเบียนสถานะและอีกรายการหนึ่งจะทริกเกอร์ตราบเท่าที่เงื่อนไขการขัดจังหวะมีชัย
  • พิน 9 และ 10 ใช้เป็นออสซิลเลเตอร์ภายนอกเช่นเดียวกับออสซิลเลเตอร์ตัวนับตัวจับเวลาที่คริสตัลเชื่อมต่อโดยตรงระหว่างพิน Pin 10 ใช้สำหรับคริสตัลออสซิลเลเตอร์หรือคริสตัลออสซิลเลเตอร์ความถี่ต่ำ หากใช้ RC oscillator ที่ปรับเทียบแล้วภายในเป็นแหล่งสัญญาณนาฬิกาและเปิดใช้งานตัวจับเวลาแบบอะซิงโครนัสพินเหล่านี้สามารถใช้เป็นพินออสซิลเลเตอร์จับเวลาได้
  • Pin 19 ใช้เป็นเอาต์พุต Master Clock อินพุตนาฬิกาทาสสำหรับช่อง SPI
  • Pin 18 ใช้เป็นอินพุตนาฬิกาหลักเอาต์พุตนาฬิกาทาส
  • Pin 17 ใช้เป็นเอาต์พุตข้อมูลหลักอินพุตข้อมูลทาสสำหรับช่อง SPI ใช้เป็นอินพุตเมื่อเปิดใช้งานโดยทาสและเป็นแบบสองทิศทางเมื่อเปิดใช้งานโดยต้นแบบ พินนี้ยังสามารถใช้เป็นเอาต์พุตเปรียบเทียบเอาต์พุตการจับคู่ซึ่งทำหน้าที่เป็นเอาต์พุตภายนอกสำหรับตัวจับเวลา / ตัวนับเปรียบเทียบการจับคู่
  • Pin16 ใช้เป็นอินพุตเลือกทาส นอกจากนี้ยังสามารถใช้เป็นตัวจับเวลา / ตัวนับ 1 เปรียบเทียบการจับคู่โดยกำหนดค่าพิน PB2 เป็นเอาต์พุต
  • Pin15 สามารถใช้เป็นเอาต์พุตภายนอกสำหรับตัวจับเวลา / ตัวนับเปรียบเทียบการจับคู่ A
  • หมุด 23 ถึง 28 ใช้สำหรับช่อง ADC Pin 27 ยังสามารถใช้เป็นนาฬิกาอินเทอร์เฟซแบบอนุกรมและพิน 28 สามารถใช้เป็นข้อมูลอินเทอร์เฟซแบบอนุกรม
  • พิน 13 และ 12 ใช้เป็นอินพุตตัวเปรียบเทียบอนาล็อก
  • พิน 11 และ 6 ใช้เป็นแหล่งจับเวลา / ตัวนับ

ไมโครคอนโทรลเลอร์โหมดสลีป

ไมโครคอนโทรลเลอร์ทำงานในโหมดสลีป 6 โหมด

  • โหมดไม่ได้ใช้งาน: หยุดการทำงานของ CPU แต่อนุญาตให้ใช้ SPI, USART, ADC, TWI, Timer / Counter และ Watchdog และขัดขวางระบบ ทำได้โดยการตั้งค่าแฟล็กทะเบียน MCU SM0 ถึง SM2 บิตเป็นศูนย์
  • ADC โหมดลดเสียงรบกวน : หยุด CPU แต่อนุญาตให้ทำงานของ ADC, การขัดจังหวะภายนอก, ตัวจับเวลา / ตัวนับ 2 และสุนัขเฝ้าบ้าน
  • โหมดปิดเครื่อง : เปิดใช้งานอินเทอร์รัปต์ภายนอกอินเทอร์เฟซแบบอนุกรม 2 สายจ้องจับผิดขณะปิดใช้งานออสซิลเลเตอร์ภายนอก หยุดนาฬิกาที่สร้างขึ้นทั้งหมด
  • โหมดประหยัดพลังงาน : ใช้เมื่อ Timer / Counter ทำการตอกบัตรแบบอะซิงโครนัส มันหยุดนาฬิกาทั้งหมดยกเว้น clkASY
  • โหมดสแตนด์บาย : ในโหมดนี้ออสซิลเลเตอร์ได้รับอนุญาตให้ทำงานหยุดการทำงานอื่น ๆ ทั้งหมด

แอปพลิเคชั่นที่เกี่ยวข้องกับ Atmega8

ไฟ LED กะพริบ

แอปพลิเคชันที่เกี่ยวข้องกับ Atmega8

LEd Schematic กะพริบ

โปรแกรมนี้เขียนโดยใช้ภาษา C และคอมไพล์เป็นไฟล์. c เป็นครั้งแรก เครื่องมือซอฟต์แวร์ ATMEL จะแปลงไฟล์นี้เป็นไฟล์อ็อบเจ็กต์ ELF แบบไบนารี จากนั้นจะถูกแปลงเป็นไฟล์ฐานสิบหกอีกครั้ง จากนั้นไฟล์ฐานสิบหกจะถูกส่งไปยังไมโครคอนโทรลเลอร์โดยใช้โปรแกรม AVR dude

เครดิตภาพ: