Microcontroller ATMega

MIKROKONTROLER

• Memory (RAM, ROM) dan juga decoder memory

• I/O dan decoder I/O

• Piranti khusus (Interupsi, timer, counter, etc)

• Clock Generator

Mikrokontroler didesain sebagai “True computer on a chip”, jadi mikrokontroler sudah mempunyai piranti-piranti tambahan untuk membangun suatu sistem computer digital. Mikrokontroler dirancang dengan intruksi yang bisa mengakses piranti terprogram dan dioptimalkan untuk instruksi bit dan byte, sementara computer PC didesain dengan instruksi untuk mengases data data multy byte.

AVR ATMEGA

AVR adalah salah satu contoh keluarga mikrokontroler yang berarsitektur RISC. Ada banyak tipe mikrokontroler yang termasuk keluarga AVR. Tetapi yang banyak dipakai adalah jenis ATMega, misalnya ATMEga32.

Berikut ini adalah tabel contoh jenis AVR beserta fitur-fiturnya :

Type AVR

Flash (Kb)

EEPROM (Kb)

SRAM (byte)

Fitur-fitur

Atmega 128

128

4

4096

16Bit Timer, 8Bit Timer, PWM, RTC, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATmega64

64

2

4096

16Bit Timer, 8Bit Timer, PWM, RTC, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATmega8

8

0.5

1024

16Bit Timer, 8Bit Timer, PWM, RTC, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATmega8535

8

0.5

512

16Bit Timer, 8Bit Timer, PWM, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATtiny2313

2

0.128

128

16Bit Timer, 8Bit Timer, PWM, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATtiny24

2

0.128

128

16Bit Timer, 8Bit Timer, PWM, SPI, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATtiny25

2

0.128

128

8Bit Timer, PWM, RTC, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATtiny26

2

0.125

128

8Bit Timer, PWM, RTC, SPI, UART, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

ATtiny261

2

0.128

128

16Bit Timer, 8Bit Timer, PWM, SPI, TWI, ISP, ADC, Analog Komparator, Eksternal Interupt

Program Memory

ATMega memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk  alasan keamanan, program memory dibagi menjadi dua bagian yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertamakali diaktifkan. Application Flash Section digunakan untuk menyimpan program  aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program Boot Loader.

PEMROGRAMAN BAHASA C UNTUK AVR
Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

cvision, sumber: hpinfotech.ro

cvision, sumber: hpinfotech.ro

sedangkan CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk  mikrokontroler buatan Atmel seri AVR

1. Struktur penulisan program

#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{
[Deklarasi local variable/constant]
[Isi Program Utama]
}

2. Tipe data
char : 1 byte ( -128 s/d 127 )
unsigned char : 1 byte ( 0 s/d 255 )
int : 2 byte ( -32768 s/d 32767 )
unsigned int : 2 byte ( 0 s/d 65535 )
long : 4 byte ( -2147483648 s/d 2147483647 )
unsigned long : 4 byte ( 0 s/d 4294967295 )
float : bilangan desimal
array : kumpulan data-data yang sama tipenya.

3. Deklarasi variabel & konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.
Penulisan : [tipe data] [nama] = [nilai] ;
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah.
Penulisan : const [nama] = [nilai] ;

Tambahan:
Global variabel/konstanta yang dapat diakses di seluruh bagian program. Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

4. Statement
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
Contoh:

suhu=adc/255*100; //contoh rumus perhitungan suhu

5. Function
Function adalah bagian program yang dapat dipanggil oleh program utama.
Penulisan :

[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2])
{
[statement] ;
}

6. Conditional statement dan looping
if else : digunakan untuk penyeleksian kondisi

if ( [persyaratan] ) {
[statement1];
[statement2];
}
else {
[statement3];
[statement4];
}

for : digunakan untuk looping dengan jumlah yang sudah diketahui

for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) {
[statement1];
[statement2];

while : digunakan untuk looping jika dan salama memenuhi syarat tertentu

while ( [persyaratan] ) {[statement1];
[statement2];
}

do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali

do {
[statement1];
[statement2];
}while ( [persyaratan] )


switch case : digunakan untuk seleksi dengan banyak kondisi

switch ( [nama variabel] ) {case [nilai1]: [statement];
break;
case [nilai2]: [statement];
break;
}

7. Operasi logika dan biner
Logika
AND :&&
NOT : !
OR : ||
Biner
AND : &
OR : |
XOR : ^
Shift right: >>
Shift left : <<
Komplemen : ~

8. Operasi relasional (perbandingan)
Sama dengan : ==
Tidak sama dengan : !=
Lebih besar : >
Lebih besar sama dengan : >=
Lebih kecil : <
Lebih kecil sama dengan : <=

9. Operasi aritmatika
+ , – , * , / : tambah,kurang,kali,bagi
+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
% : sisa bagi
++ , — : tambah satu (increment) , kurang satu (decrement)

Contoh :

a = 5 * 6 + 2 / 2 -1 ; maka nilai a adalah 30

a *= 5 ; jika nilai awal a adalah 30, maka nilai a = 30×5 = 150.

a += 3 ; jika nilai awal a adalah 30, maka nilai a = 30+5 = 33.

a++ ; jika nilai awal a adalah 5 maka nilai a = a+1 = 6.

a– ; jika nilai awal a adalah 5 maka nilai a = a-1 = 4.

sumber PEMROGRAMAN BAHASA C UNTUK AVR :
marausna.wordpress.com

Pelatihan Microcontroller ATMEL ATMega Series – 2011

Pelatihan, sumber: lucas-nuelle.com

Pelatihan, sumber: lucas-nuelle.com

Pelatihan Microcontroller ATMega Series,  dengan CodeVisionAVR

Materi :

1. Pengenalan singkat ATMega Series dan CodeVisionAVR

2. Struktur dasar bahasa C dengan CodeVisionAVR

3. Configurasi Input / Output

4. Microcontroller dan LCD

5. ADC Microcontroler; (contoh materi : Sensor suhu LM35dz)

6. Timer Counter pada microcontroller (contoh materi : clock)

7. PWM “Pulse Width Modulation” (contoh materi : Pengaturan Kecepatan Motor DC)

8. EEPROM microcontroller

Bisa konsultasi mengenai skripsi….

Waktu pelaksanaan :

1 paket 5 kali pertemuan @2 jam

Sabtu – Minggu Pukul (09.00 s.d 11.00 dan 13.00 s.d 14.00)

Tempat :

Perumahan Galaxy Bekasi

Cara pendaftaran :

Contact Person :

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s