Jenis-Jenis Mikrokontroler AVR

Berikut ini ialah jeni-jenis mikrokontroler keluarga AVR beserta fiturnya, yang mungkin berguna sebagai referensi.

AVR
AT90VC8544
8-Kbyte In-System programmable Flash Program Memory,
256 byte SRAM, 512 Byte EEPROM, 8-channel 10-bit A/D.
Up to 4 MIPS throughput at 4 MHz. 3.6 and 5 volt operation.
AT90S1200
1-Kbyte In-System programmable Flash Program Memory,
64-Byte EEPROM, 32-Byte Register File. Up to 12 MIPS
throughput at 12 MHz.
AT90S2313
2-Kbyte In-System programmable Flash Program Memory,
128 Byte SRAM and EEPROM. Up to 10 MIPS throughput at
10 MHz.
AT90S2323
2-Kbyte In-System programmable Flash Program Memory,
128 Byte SRAM and EEPROM. Up to 10 MIPS throughput of
10 MHz. 5V operation.
3V version: AT90LS2323
AT90S2343
2-Kbyte In-System programmable Flash Program Memory,
128 Byte SRAM and EEPROM. Up to 10 MIPS throughput of
10 MHz. 5V operation.
3V version: AT90LS2343

MEGAAVR
ATmega8
8-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM,
512 Byte EEPROM, 6 or 8 channel 10-bit A/D. Up to 16 MIPS
throughput at 16 MHz. 5V operation.
3V version: ATmega8L
ATmega8515
8-Kbyte self-programming Flash Program Memory,
512 Byte SRAM and EEPROM. Up to 16 MIPS throughput at
16 MHz. 5V operation.
3V version: ATmega8515L
ATmega8535
8-Kbyte self-programming Flash Program Memory,
512 Byte SRAM and EEPROM, 8 channel 10-bit A/D. Up to
16 MIPS throughput at 16 MHz. 5V operation.
3V version: ATmega8535L
ATmega162
16-Kbyte self-programming flash Program Memory,
1-Kbyte SRAM, 512 Byte EEPROM, JTAG interface for on-chipdebug.
Up to 16 MIPS throughput at 16 MHz.
1.8V version: ATmega162V
ATmega16
16-Kbyte self-programming Flash Program Memory,
1-Kbyte SRAM, 512 Byte EEPROM, 8 channel 10-bit A/D,
JTAG interface for on-chip-debug. Up to 16 MIPS throughput at
16 MHz. 5V operation.
3V version: ATmega16L
ATmega32
32-Kbyte self-programming Flash Program Memory,
2-Kbyte SRAM, 1-Kbyte EEPROM, 8 channel 10-bit A/D, JTAG
interface for on-chip-debug. Up to 16 MIPS throughput at 16
MHz. 5V operation.
3V version: ATmega32L
ATmega64
64-Kbyte self-programming Flash Program Memory,
4-Kbyte SRAM, 2-Kbyte EEPROM, 8 channel 10-bit A/D,
JTAG interface for on-chip-debug. Up to 16 MIPS throughput at
16 MHz. 5V operation.
3V version: ATmega64L
ATmega128
128-Kbyte self-programming Flash Program Memory,
4-Kbyte SRAM, 4-Kbyte EEPROM, 8 channel 10-bit A/D, JTAG
interface for on-chip-debug. Up to 16 MIPS throughput at
16 MHz. 5V operation.
3V version: ATmega128L

LCD AVR

ATmega169
16-Kbyte self-programming Flash Program Memory,
1-Kbyte SRAM, 512 Byte EEPROM, 8 channel 10-bit A/D,
JTAG interface for on-chip-debug. 4 x 25 Segment LCD driver.
Up to 16 MIPS throughput at 16 MHz. 5V operation.
3V version: ATmega169L
1.8V version: ATmega169V

TINYAVR
ATtiny11
1-Kbyte In-System programmable Flash Program Memory,
32 byte SRAM. Up to 6 MIPS throughput at 6 MHz.
ATtiny12
1-Kbyte In-System programmable Flash Program Memory,
32 Byte SRAM, 64 Byte EEPROM. Up to 12 MIPS throughput
at 12 MHz.
ATtiny15L
1-Kbyte In-System programmable Flash Program Memory,
64 Byte EEPROM, 32 Byte Register File, 4 channel 10-bit A/D.
Up to 1.6 MIPS throughput at 1.6MHz. 3V operation.
ATtiny26
2-Kbyte In-System programmable Flash Program Memory,
128 Byte SRAM and EEPROM, 11 channel 10-bit A/D. Universal
Serial Interface. High Frequency PWM. Up to 16 MIPS throughput
at 16 MHz. 5V operation.
3V version: ATtiny26L
ATtiny28L
2-Kbyte In-System programmable flash Program Memory,
128 Byte SRAM, 32 Byte Register File, Keyboard interrupt.
Up to 4 MIPS throughput at 4 MHz. 3V operation.
1.8V version: ATtiny28V

USB AVR

AT43USB320A
512 Byte SRAM, Full Speed USB, 3 Function Endpoints, 4 Hub
Ports. Up to 12 MIPS throughput at 12 MHz. 5V operation.
AT43USB325E/M
16-Kbyte EEPROM or Mask ROM, 512 Byte SRAM, Full Speed
USB, 4 Function Endpoints, 4 Hub Ports, 5 LED Driver.
Up to 12 MIPS throughput at 12 MHz. 5V operation.
AT43USB325
16-Kbyte Mask ROM, 512 Byte SRAM, Full Speed USB,
3 Function Endpoints, 2 Hub Ports, 4 LED Driver.
Up to 12 MIPS throughput at 12 MHz. 5V operation.
AT43USB351M
24-Kbyte Mask ROM, 1-Kbyte SRAM, Low-Full Speed USB,
5 Function Endpoints. Up to 24 MIPS throughput at 24 MHz.
5V operation.
AT43USB353M
24-Kbyte Mask ROM, 1-Kbyte SRAM, Full Speed USB, 4 Function
Endpoints, 2 Hub Ports. Up to 24 MIPS throughput at 24 MHz.
5V operation.
AT43USB355E/M
24-Kbyte EEPROM or Mask ROM, 1-Kbyte SRAM, Full Speed
USB, 4 Function Endpoints, 2 Hub Ports. Up to 12 MIPS throughput
at 12 MHz. 5V operation.
AT76C711
Full Speed USB to Fast Serial Asynchronous Bridge.

Secure AVR
AT90SC19236R
192-Kbyte Mask ROM, 36-Kbyte EEPROM, 4-Kbyte RAM.
3-5V operation.
AT90SC19264RC
192-Kbyte Mask ROM, 64-Kbyte EEPROM, 6-Kbyte RAM,
Crypto Engine. 3-5V operation.
AT90SC25672R
256-Kbyte Mask ROM, 72-Kbyte EEPROM, 6-Kbyte RAM.
3-5V operation.
AT90SC320856
32-Kbyte Mask ROM, 8-Kbyte Flash, 56-Kbyte EEPROM,
1.5-Kbyte RAM. 3-5V operation.
AT90SC3232CS
32-Kbyte Flash, 32-Kbyte EEPROM, 3-Kbyte RAM, Crypto Engine.
3-5V operation.
AT90SC4816R/RS
48-Kbyte Mask ROM, 16-Kbyte EEPROM, 1.5-Kbyte RAM.
3-5V operation.
AT90SC6404R
64-Kbyte Mask ROM, 4-Kbyte EEPROM, 2-Kbyte RAM.
3-5V operation.
AT90SC6432R
64-Kbyte Mask ROM, 32-Kbyte EEPROM, 2-Kbyte RAM.
3-5V operation.
AT90SC6464C
64-Kbyte Flash, 64-Kbyte EEPROM, 3-Kbyte RAM, Crypto Engine.
3-5V operation.
USB version: AT90SC6464C-USB
AT90SC9608RC
96-Kbyte Mask ROM, 8-Kbyte EEPROM, 3-Kbyte RAM,
Crypto Engine. 3-5V operation.
AT90SC9616RC
96-Kbyte Mask ROM, 16-Kbyte EEPROM, 3-Kbyte RAM,
Crypto Engine. 3-5V operation.
AT90SC9636R
96-Kbyte Mask ROM, 36-Kbyte EEPROM, 3-Kbyte RAM.
3-5V operation.
AT97SC3201
Trusted Computing Platform Compliant Security Processor,
On-Chip Secure Key Storage, 33 MHz LPC Interface.
3.3V operation

DVD AVR

AT78C1501
DVD/CD Interface Controller, ATAPI Compatible, Ultra DMA
Support at 66 MB/sec.
AT78C1502
DVD Servo Controller, On-Chip Debugger Monitor. Up to 120 MIPS
throughput at 40 MHz. 3V and 5V operation.

RF AVR
AT86RF401
11-19 MHz, 2-Kbyte In-System programmable Flash Program
Memory, 128 Byte SRAM and EEPROM. 2V operation.

FPGA AVR
AT94K05AL
4-16 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, JTAG interface for on-chip-debug, 5K FPGA
Gates. 3V operation.
AT94K10AL
20-32 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, JTAG interface for on-chip-debug, 10K FPGA
Gates. 3V operation.
AT94K40AL
20-32 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, JTAG interface for on-chip-debug, 40K FPGA
Gates. 3V operation.
AT94S05AL
4-16 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, 256 Byte EEPROM, JTAG interface for
on-chip-debug, 5K FPGA Gates. 3V operation.
AT94S10AL
20-32 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, 512 Byte EEPROM, JTAG interface for
on-chip-debug, 10K FPGA Gates. 3V operation.
AT94S40AL
20-32 Kbyte In-System programmable Flash Program Memory,
4-16 Kbyte SRAM, 1-Kbyte EEPROM, JTAG interface for
on-chip-debug, 40K FPGA Gates. 3V operation

Pemrograman MCS51/AVR dengan Bahasa Basic

Mungkin hal ini sudah tidak asing bagi kalangan pecinta mikrokontroler, tetapi dalam hal ini penulis mencoba menulis reviewnya sekedar untuk berbagi tutorial maupun softwarenya bagi yang membutuhkan. Nama aplikasinya ialah BASCOM 8051 untuk MCS51 dan BASCOM AVR untuk AVR.

Jadi jka teman-teman memiliki biasa menggunakan visual basic pasti akan mudah memprogram mikrokontroler keluarga MCS51 maupun AVR dengan software ini, karena statment nya tidak jauh berbeda dengan visual basic dan lebih menyenangkan lagi karena software ini dilengkapi simulasi output dan debug program yang mudah dipahami.

Ketika penulis mencoba menggunakan terasa begitu mudah dipahami meski baru beberapa saat. tidak sabar berikut screenhotnya :

sesi paling penting :
Download Bascom 8051 full version dapat download disini
Download Bascom AVR full version dapat download disini

Untuk tutorial dan artikel penggunaan bascom 8051/avr anda dapat mendownload pada kolom ebook



Pemrograman MCS51/AVR dengan Bahasa C

Bahasa Assembler merupakan bahasa pemrograman tingkat paling rendah, hanya mengenal instruksi-instruksi paling dasar mikrokontroler, ditambah dengan beberapa perintah untuk mengatur memori secara sederhana. Bahasa pemrograman ‘satu tingkat’ di atas Asembler adalah bahasa C yang sangat fleksible, dipakai untuk membangun Windows, tapi bisa juga dipakai untuk rancang bangun peralatan dengan mikrokontroler.

C asalnya dirancang sebagai bahasa pemrograman untuk membangun sistem  operasi UNIX pada komputer DEC PDP-11, sekitar awal tahun 1970-an. Bahasa ini berkembang secara pesat, pada tahun 1983, American National Standards Institute (ANSI) membentuk komite kerja dengan tugas khusus membakukan bahasa C sebagai bahasa pemrograman yang tidak tergantung pada jenis komputer. Hasil kerja komite tersebut merupakan pedoman baku untuk bahasa C, dan C compiler yang dibangun atas dasar pedoman tersebut disebut sebagai ANSI-C.
Semua C compiler yang ada kini kebanyakan adalah ANSI-C, tapi masing-masing mempunyai variasinya tersendiri, dilengkapi dengan sarana-sarana untuk memudahkan pemakaian C pada komputer tertentu. Dalam hal ini dikenal Turbo C, Borland C++, Visual C dan lain sebagainya, semuanya merupakan C Compiler yang banyak dipakai pada IBM-PC, tentu saja hasil akhir dari semua C Compiler tadi adalah kode mesin untuk prosesor IBM-PC (8086, 80286, 80386, 80486 dan Pentium).
Tapi bahasa C untuk keperluan rancang bangun peralatan yang memakai mikrokontroler tentu saja tidak memerlukan sarana-sarana tambahan secanggih C Compiler yang dipakai dalam IBM-PC, dan hasil akhirnya harus berupa kode mesin untuk masing-masing mikrokontroler/mikroprosesor. Artinya C Compiler untuk mikrokontroler MCS51 harus menghasilkan kode mesin MCS51, C Compiler untuk MC68HC11 harus menghasilkan kode mesin MC68HC11 pula.
Dengan pengertian di atas. C Compiler untuk IBM-PC tidak bisa dipakai untuk mikrokontroler, dan masing-masing jenis mikrokontroler mempunyai C Compiler tersendiri.

C Compiler untuk MCS51

Sejak akhir tahun 1980-an, telah banyak dibuat C Cross-Compiler yang bekerja pada IBM-PC untuk MCS51, artinya C Compiler tersebut bekerja di IBM-PC tapi kode mesin yang dihasilkan bukan untuk IBM-PC melainkan untuk MCS51.
C Compiler untuk MCS51 yang cukup dikenal antara lain adalah Micro-C buatan Dunfield Development Systems, Franklin C buatan Franklin Software Inc dan C51 buatan Keil Software, harga perangkat lunak tersebut tidak murah. Yang menarik meskipun harganya mahal, Keil membagikan C51 produknya yang bisa diminta lewat situs web http://www.keil.com, C51 gratis tersebut dibatasi hanya bisa menghasilkan kode mesin MCS51 paling banyak 2 KiloByte. Tapi untuk keperluan projek kecil-kecil yang memakai AT89C2051 batasan memori tersebut tidak merupakan masalah, karena memori-program AT89C2051 memang hanya sebesar 2 KiloByte.
Selain produk komersil tersebut di atas, ada pula C Compiler gratis, yang dikenal sebagai SDCC – Small Device C Compiler.

Small Device C Compiler - SDCC

SDCC, buatan Sandeep Dutta (sandeep@users.sourceforge.net), sejak semula memang dibuat sebagai software gratis (freeware), kemudian project mulia ini digabungkan dengan projek GNU, yakni projek ramai-ramai insan Internet yang melahirkan Linux. Dengan demikian, kini program SDCC bisa diambil pada situs http://sdcc.sourceforge.net.

Dalam rancangannya, SDCC dipersiapkan untuk berbagai macam mikroprosesor / mikrokontroler, hal ini sesuai dengan sifat bahasa C yang mudah diadaptasikan ke berbagai macam prosesor. Sampai saat ini, SDCC sudah bisa dipakai untuk mikroprosesor Z80, mikrokontroler MCS51, dalam waktu dekat akan segera bisa dipakai untuk mikrokontroler AVR buatan Atmel, dan mikrokontroler PIC buatan MicroChip, dan beberapa prosesor lainnya akan segera menyusul.
Hal ini membuat SDCC menjadi sangat menarik. Setelah terbiasa memakai SDCC untuk projek-projek dengan MCS51, kelak satu saat bermaksud memakai mikrokontroler AVR karena memerlukan mikrokontroler yang kemampuannya lebih, maka tidak banyak hambatan untuk beralih prosesor, bahkan program-program yang sudah dikembangkan untuk MCS51 dengan SDCC, dengan sedikit perubahan bisa dipakai di sistem yang memakai AVR.

SDCC dapat anda download disini
Manual booknya anda bisa download disini

Dasar MIkrokontroler AT90S2313 (AVR)

Dalam bab ini akan dibahas fitur-fitur dan arsitektur mikrokontroler AVR seri AT90S2313. Seri AT90S2313 dipilih karena mikrokontroler ini dapat mewakili beberapa seri yang lain, baik dari segi instruksi yang digunakan, maupun peripheralnya yang relative lengkap. Dengan mempelajari tipe AVR yang lain, yang pada dasarnya memiliki konsep dan arsitektur yang hampir sama. Bagi Anda yang ingin mendapatkan informasi lengkap mengenai jenis mikrokontroler ini, Anda juga dapat membacanya pada datasheet AT90S2313.

2.1 Fitur-fitur AT90S2313
    Fitur-fitur utama antara lain sebagai berikut:
1.    118 macam instruksi
2.    32 x 8 bit General Purpose Register,
3.    Memori program Flash pada ROM 2 K word (1Kx16),
4.    Memori data SRAM 128 byte,
5.    Memori EEPROM 128 byte,
6.    Jalur I/O 15 pin,
7.    Timer/counter 2 buah,
8.    Output PWM 1 kanal,
9.    Serial I/O menggunakan USART,
10.    Komparator analog.

2.2 Hardware

    AT90S2313 beredar dalam dua jenis kemasan, yaitu 20 DIP dan 20 SOIC. Kemasannya yang cukup sederhana memudahkan kita yang hendak mempelajari cara-cara pemrograman mikrokontroler AVR tanpa harus dipusingkan oleh instalansi kabel yang melibatkan banyak jalur sebagaimana pada mokrokontroler dengan jumlah pin di atas 40 buah.
Deskripsi Pin

VCC     Power supply.
GND    Ground.
Port B (PB7 . .Pb0)    port B merupakan Port I/O 8-bit bi-direktional. Pin-pin pada port ini dapat diberi resistor pull-up internal secara individual. PB0 dan PBI juga dapat digunakan untuk melayani input sebagai komparator analog. Buffer port B dapat mencatu arus hingga 20 mA dan dapat secara langsung men-drive LED.
Port D (PD6 . .PD0)    Port D memiliki tujuh buah pin I/O bi directional, yakni PD6 . .PD0. Seperti halnya port B, pin-pin pada port ini juga mampu men-drive LED karena dapat mencatu arus hingga 20 mA.
RESET    Reset input. Kondisi logika rendah “0” lebih dari 50 ns pada pin ini akan membuat mikrokontroler masuk ke dalam kondisi reset.
XTA11    Input bagi inverting oscillator amplifier dan input bagi clock internal.
XTAL2    Output inverting oscillator amplifier.