Jenis Mikrokontroler AVR - Atmega32 & ATmega8

Coba Instrumen Kami Untuk Menghilangkan Masalah





ATmega32 - Mikrokontroler AVR 8 Bit

Mikrokontroler AVR didasarkan pada arsitektur RISC tingkat lanjut. ATmega32 adalah mikrokontroler CMOS 8-bit berdaya rendah berdasarkan arsitektur AVR yang disempurnakan RISC. AVR dapat menjalankan 1 juta instruksi per detik jika frekuensi siklus adalah 1MHz.

40 pin DIP Foto ATmega32

40 pin DIP Foto ATmega32



Fitur Utama:


  • 32 x 8 register tujuan kerja umum.
  • 32K byte dari memori program flash yang dapat diprogram sendiri oleh sistem
  • 2K byte SRAM internal
  • 1024 byte EEPROM
  • Tersedia dalam 40 pin DIP, 44 lead QTFP, 44-pad QFN / MLF
  • 32 jalur I / O yang dapat diprogram
  • 8 Saluran, ADC 10 bit
  • Dua pengatur waktu / penghitung 8-bit dengan mode prescaler dan perbandingan terpisah
  • Satu pengatur waktu / penghitung 16-bit dengan prescaler terpisah, mode perbandingan dan mode pengambilan.
  • 4 saluran PWM
  • Dalam pemrograman sistem dengan program boot on-chip
  • Timer anjing pengawas yang dapat diprogram dengan osilator on-chip terpisah.
  • Serial USART yang dapat diprogram
  • Antarmuka serial SPI master / slave

Fitur Khusus Mikrokontroler:

  • Enam mode tidur: Idle, pengurangan kebisingan ADC, hemat daya, power-down, standby dan standby yang diperpanjang.
  • Osilator RC yang dikalibrasi secara internal
  • Sumber interupsi eksternal dan internal
  • Nyalakan reset dan deteksi brown-out yang dapat diprogram.
40-Pin DIP dari ATmega32

40-Pin DIP dari ATmega32



Semua 32 register secara langsung terhubung ke Arithmetic Logic Unit (ALU), memungkinkan dua register independen diakses dalam satu instruksi tunggal yang dijalankan dalam satu siklus clock.

Power-down menyimpan isi register tetapi membekukan osilator. Semua fungsi chip lainnya akan dinonaktifkan hingga interupsi eksternal berikutnya muncul. Pengatur waktu asinkron memungkinkan pengguna untuk mengatur pengatur waktu berdasarkan mode hemat daya saat perangkat lainnya sedang tidur.

Mode pengurangan kebisingan ADC menghentikan CPU dan semua modul I / O kecuali ADC dan pengatur waktu asynchronous. Dalam mode siaga, kecuali osilator kristal, sisa perangkat sedang tidur. Osilator utama dan pengatur waktu asinkron terus berjalan dalam mode siaga yang diperpanjang.

ATmega32 adalah mikrokontroler yang kuat karena flash yang dapat diprogram sendiri dalam sistem pada chip monolitik, memberikan solusi fleksibel dan hemat biaya yang tinggi untuk banyak aplikasi kontrol yang disematkan.


TQFP / MLF 44 bantalan

TQFP / MLF 44 bantalan

Deskripsi Pin:

VCC: Pasokan tegangan digital

GND: Tanah

Port A (PA7-PA0): Port ini berfungsi sebagai input analog ke konverter A / D. Ini juga berfungsi sebagai port I / O dua arah 8-bit jika konverter A / D tidak digunakan.

Port B (PB7-PB0) & Port D (PD7-PD0): Ini adalah port I / O dua arah 8-bit. Buffer keluarannya memiliki karakteristik penggerak simetris dengan kemampuan sumber dan wastafel yang tinggi. Sebagai input, ini sangat ditarik rendah jika resistor pull-up diaktifkan. Ini juga melayani berbagai fitur fungsi khusus dari ATmega32.

Port C (PC7-PC0): Ini adalah port I / O dua arah 8-bit. Jika antarmuka JTAG diaktifkan, resistor pull-up pada pin PC5 (TDI), PC3 (TMS), dan PC2 (TCK) akan diaktifkan.

Antarmuka JTAG menggunakan port C dari ATmega32

Antarmuka JTAG menggunakan port C dari ATmega32

Atur ulang: Ini adalah masukan.

XTAL1: Ini adalah masukan ke penguat osilator pembalik dan masukan ke rangkaian operasi jam internal.

XTAL2: Ini adalah keluaran dari penguat osilator pembalik.

AVCC: Ini adalah pin tegangan suplai untuk konverter Port A dan A / D. Ini harus terhubung ke VCC.

AREF: AREF adalah pin referensi analog untuk konverter A / D.

Memori ATmega32:

Ini memiliki dua ruang memori utama, memori data dan ruang memori program. Selain itu ia memiliki fitur memori EEPROM untuk penyimpanan data.

Dalam Memori Program Flash yang Dapat Diprogram Sistem:

ATmega32 berisi 32Kbytes on-chip dalam memori flash yang dapat diprogram ulang sistem untuk penyimpanan program. Flash diatur sebagai 16k X 16 dan memorinya dibagi menjadi dua bagian. Bagian program boot dan bagian program aplikasi.

Diagram sirkuit programmer ISP

Diagram Sirkuit Programmer ISP

Memori Data SRAM:

File register, memori I / O, dan SRAM data internal ditangani oleh lokasi memori data 2144 yang lebih rendah. 96 lokasi pertama menangani file Register dan memori I / O, dan data internal SRAM ditangani oleh 2048 lokasi berikutnya. Langsung, tidak langsung dengan perpindahan, tidak langsung, tidak langsung dengan penurunan awal, dan langsung dengan penurunan pos adalah 5 mode pengalamatan berbeda untuk penutup memori data. 32 register tujuan umum, 64 register I / O, dan 2048 byte data internal SRAM dapat diakses dengan menggunakan mode pengalamatan ini.

Diagram blok ATmega32

Diagram blok ATmega32

Memori Data EEPROM:

Ini berisi 1024 byte data memori EEPROM. Ini dapat diakses sebagai ruang data terpisah di mana byte tunggal dapat dibaca dan ditulis.

Memori I / O:

Semua I / O dan periferal ditempatkan di ruang I / O. Lokasi I / O diakses dengan instruksi IN dan OUT, mentransfer data antara 32 register tujuan umum dan ruang I / O. Register I / O dengan alamat 00-1F secara langsung dapat diakses menggunakan instruksi SBI dan CBI.

ATmega8

pengantar

Ini adalah mikrokontroler CMOS 8 bit yang dibangun dari keluarga AVR (dikembangkan oleh Atmel Corporation pada tahun 1996) dan dibangun di atas arsitektur RSIC (Reduced Instruction Set Computer). Keuntungan dasarnya adalah tidak mengandung akumulator apa pun dan hasil operasi apa pun dapat disimpan dalam register mana pun, yang ditentukan oleh instruksi.

Arsitektur

Arsitektur

Arsitektur

Penyimpanan

Ini terdiri dari memori flash 8KB, 1KB SRAM dan 512 Bytes EEPROM. Flash 8K dibagi menjadi 2 bagian - bagian bawah digunakan sebagai bagian flash boot, dan bagian atas digunakan sebagai bagian flash aplikasi. SRAM berisi 1K byte bersama dengan 1120 byte register tujuan umum dan register I / O. 32 lokasi alamat yang lebih rendah digunakan untuk 32 register 8 bit tujuan umum. 64 alamat berikutnya digunakan untuk register I / O. Semua register terhubung langsung ke ALU. EEPROM digunakan untuk menyimpan data yang ditentukan pengguna.

Port input / output

Terdiri dari 23 jalur I / O dengan 3 port I / O yang diberi nama B, C dan D.Port B terdiri dari 8 jalur I / O, Port C terdiri dari 7 jalur I / O dan Port D terdiri dari 8 I / O garis.

Register yang sesuai dengan portX (B, C atau D) adalah:

DDRX : Register arah data Port X.

PORTX : Register data Port X.

PINX : Register masukan Port X.

Pengatur Waktu dan Penghitung

Ini terdiri dari 3 timer dengan mode yang sebanding. Dua di antaranya 8 bit sedangkan yang ketiga 16 bit.

Osilator

Ini menggabungkan reset internal dan osilator yang memungkinkan untuk menghilangkan kebutuhan akan input eksternal. Osilator RC internal mampu menghasilkan jam internal yang dapat berjalan pada frekuensi 1MHz, 2MHz, 4MHz atau 8MHz seperti yang diprogram. Ini juga mendukung osilator eksternal dengan frekuensi maksimum 16MHz.

Komunikasi

Ini menyediakan skema transfer data sinkron dan asinkron melalui USART (Universal Synchronous and Asynchronous Receiver Transmitter), yaitu komunikasi dengan modem dan perangkat serial lainnya. Ini juga mendukung SPI (Serial Peripheral Interface) yang digunakan untuk komunikasi antar perangkat berdasarkan metode master-slave. Jenis komunikasi lain yang didukung adalah TWI (Two wire Interface). Ini memungkinkan pergantian antara dua perangkat dengan menggunakan 2 kabel bersama dengan koneksi ground yang sama.

Ini juga memiliki modul komparator yang terintegrasi dalam chip untuk memberikan perbandingan antara dua tegangan yang terhubung ke dua input dari komparator Analog melalui chip eksternal.

Ini juga berisi 6 saluran ADC dimana 4 memiliki akurasi 10 bit dan 2 memiliki akurasi 8 bit.

Daftar Status : Berisi informasi tentang set instruksi aritmatika yang sedang dieksekusi.

Diagram Pin ATmega :

Diagram Pin ATmega

Diagram Pin ATmega

Salah satu fitur penting dari ATmega8 adalah kecuali 5 pin, semua pin lainnya mendukung dua sinyal.

  • Pin 23,24,25,26,27,28 dan 1 digunakan untuk port C, sedangkan pin 9,10,14,15,16,17,18,19 digunakan untuk port B dan pin 2,3,4, 5,6,11,12 digunakan untuk port D.
  • Pin 1 juga merupakan pin Reset dan sinyal level rendah yang diterapkan untuk waktu yang lebih lama dari panjang pulsa minimum akan menghasilkan reset.
  • Pin 2 dan 3 juga digunakan untuk komunikasi serial untuk USART.
  • Pin 4 dan 5 digunakan sebagai interupsi eksternal. Salah satunya akan terpicu ketika bit tanda interupsi dari status register diset dan yang lainnya akan terpicu selama kondisi interupsi berlaku.
  • Pin 9 dan 10 digunakan sebagai osilator eksternal serta osilator penghitung timer dimana kristal dihubungkan langsung antar pin. Pin 10 digunakan untuk osilator kristal atau osilator kristal frekuensi rendah. Jika osilator RC kalibrasi internal digunakan sebagai sumber jam dan pengatur waktu asinkron diaktifkan, pin ini dapat digunakan sebagai pin osilator pengatur waktu.
  • Pin 19 digunakan sebagai output Master Clock, input jam slave untuk saluran SPI.
  • Pin 18 digunakan sebagai masukan jam Master, keluaran jam budak.
  • Pin 17 digunakan sebagai output data Master, input data slave untuk saluran SPI. Ini digunakan sebagai input saat diaktifkan oleh budak dan dua arah saat diaktifkan oleh master. Pin ini juga dapat digunakan sebagai output pertandingan perbandingan, yang berfungsi sebagai output eksternal untuk pertandingan perbandingan timer / counter.
  • Pin16 digunakan sebagai input pilih budak. Ini juga dapat digunakan sebagai penghitung waktu / pencacah1 yang cocok dengan mengkonfigurasi pin PB2 sebagai output.
  • Pin15 dapat digunakan sebagai output eksternal untuk penghitung waktu / penghitung pertandingan A.
  • Pin 23 hingga 28 digunakan untuk saluran ADC. Pin 27 juga dapat digunakan sebagai jam antarmuka Serial dan pin 28 dapat digunakan sebagai data antarmuka serial
  • Pin 13 dan 12 digunakan sebagai input Pembanding Analog.
  • Pin 11 dan 6 digunakan sebagai sumber penghitung waktu / penghitung.

Mode Tidur Mikrokontroler

Mikrokontroler beroperasi dalam 6 mode tidur.

  • Mode siaga: Ini menghentikan fungsi CPU, tetapi memungkinkan pengoperasian SPI, USART, ADC, TWI, Timer / Counter, dan Watchdog serta sistem interupsi. Ini dicapai dengan menyetel bit SM0 ke SM2 dari flag register MCU ke nol.
  • Mode Pengurangan Noise ADC : Ini menghentikan CPU tetapi memungkinkan fungsi ADC, interupsi eksternal, timer / counter2 dan pengawas.
  • Mode Matikan : Ini memungkinkan interupsi eksternal, antarmuka serial 2-kabel, pengawas sambil menonaktifkan osilator eksternal. Ini menghentikan semua jam yang dihasilkan.
  • Mode hemat daya : Ini digunakan ketika Timer / Penghitung memiliki clock yang tidak sinkron. Ini menghentikan semua jam kecuali CLKASY.
  • Modus siaga : Dalam mode ini, osilator diizinkan untuk beroperasi, menghentikan semua operasi lainnya.

Aplikasi yang Melibatkan Atmega8

LED berkedip

Aplikasi yang melibatkan Atmega8

Skema LEd Berkedip

Program ini ditulis menggunakan bahasa C dan pertama kali dikompilasi sebagai file .c. Alat perangkat lunak ATMEL akan mengubah file ini menjadi file objek ELF biner. Ini kemudian diubah lagi menjadi file hex. File hex kemudian diteruskan ke mikrokontroler menggunakan program AVR dude.

Kredit Foto: