9
6. Bilangan bit acak dapat digunakan langsung atau diformat dengan aturan tertentu, sedemikian hingga menjadi bilangan bulat.
2.2. Mikrokontroler ATMega32
Mikrokontroler adalah chip yang berisi berbagai unit penting untuk melakukan pemrosesan data IO, timer, memory, Arithmatic Logic Unit ALU dan lainnya
sehingga dapat berlaku sebagai pengendali dan komputer sederhana Susilo, 2010.
Mikrokontroler AVR Alf and Vegard’s Risc processor standar memiliki 8 bit, dimana semua instruksi dikemas dalam kode 18-bit dan sebagian besar instruksi
dieksekusi dalam 1 satu siklus clock. AVR berteknologi RISC Reduced Instruction Set Computing, dengan menggunakan jumlah instruksi yang lebih sedikit,
memungkinkan lahan pada chip silicon real-estate digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RISC adalah kesederhanaan desain, chip yang
lebih kecil, jumlah pin sedikit dan mengonsumsi sedikit daya Budiharto, 2010.
Mikrokontroler Keluarga AVR secara umum dikelompokkan menjadi 6 enam kelompok, yaitu :
a. Keluarga ATtini : biasanya bentuk dimensinya kecil, ukuran memori kecil, jumlah
pin masukan dan keluaran juga sedikit. b. Keluarga AT90Sxx : Merupakan mikrokontroler yang pertama kali dibuat oleh
Atmel Corp. c. Keluarga ATMega : Merupakan pengembangan mikrokontroler AT90Sxx dengan
fitur yang lebih banyak. d. Keluarga AT86RFxx : Merupakan mikrokontroler berorientasi desain minimal.
e. Keluarga AT90USBxx : Merupakan mikrokontroler yang berorientasi
pemrograman USB f. Keluarga AVR 32 Bit contohnya AP7000, UC3Axxxx, UC3Bxxx, UC3Lxx, dsb :
Merupakan mikrokontroler dengan register dan instruksi dengan panjang 32 bit. Mikrokontroler ATMega32 adalah keluarga dari ATMega yang memiliki
Arsitektur sebagai berikut :
Universitas Sumatera Utara
10
Gambar 2.3 Arsitektur ATMega32
Fitur-fitur yang dimiliki oleh ATMega32 adalah sebagai berikut : a. Performa tinggi, mikrokontroler berdaya rendah.
b. Mikrokontroler dengan arsitektur RISC 8 bit.
1. 131 kode instruksi dalam bahasa assembly, hampir semua membutuhkan satu clock untuk eksekusi.
2. Mempunyai 32 x 8 bit register kerja kegunaan umum. 3. Pengoperasian full static, artinya clock dapat diperlambat, bahkan dihentikan
sehingga chip berada dalam kondisi sleep. CMOS juga lebih tahan terhadap noise.
4. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per detik pada saat diberikan osilator sebesar 16 MHZ.
Universitas Sumatera Utara
11
5. Terdapat rangkaian pengali 2 dua kali untuk siklus kerjanya di dalam chip. c. Flash MMPROM Electrically Eraseable Programmable Read Only Memory
sebesar 32 kilobyte yang dapat diprogram ulang dan dengan kemampuan Read While Write.
d. Ketahanan hapus-tulis Flash ROM adalah 10.000 kali dengan pengaturan pilihan kode boot dan Lock Bit yang independen.
e. Memori SRAM sebesar 2 kilobyte yang dapat dihapus-tulis 100.000 kali. f. penguncian kode program untuk keamanan perangkat lunak agar tidak dapat
dibaca. g. Memori yang non-volatile MMPROM sebesar 1024 byte.
h. Memiliki 2 buah timercounter 8 bit sebanyak 2 buah dan sebuah timercounter
16 bit dengan opsi PWM sebanyak 4 kanal. i. Memiliki 8 kanal Analog to Digital Converter 10 bit dengan jenis single ended.
j. Kemasan TQFP ADC dapat diatur 7 buah kanal jenis diferensial dan khusus 2
kanal dengan penguatan yang dapat diatur melalui registernya sebesar 1x, 10x atau 20x.
k. Antarmuka komunikasi serial USART yang dapat diprogram dengan kecepatan maksimal 2,5 Mbps.
l. Antarmuka SPI master slave. m. Watchdog timer dengan osilator di dalam chip yang dapat diprogram.
n. Komparator Analog di dalam chip. o. Pendeteksian tegangan gagal yang dapat diprogram.
p. Osilator RC internal yang terkalibrasi. q. Sumber interupsi internal dan eksternal.
r. Pilihan Mode sleep : idle, pereduksi noise ADC, penghematan daya konsumsi,
penurunan daya, kondisi standby. s. 32 Pin masukan dan keluaran terprogram.
t. Terdapat pilihan kemasan PDIP 40 pin,TQFP 44 kaki, QFNMLF 44 titik. u. Tegangan pengoprasian
1. 2,7 – 5,5 Volt untuk ATMega32L 2. 4,5 – 5,5 Volt untuk ATMega32
v. Kecepatan 1. 0 – 8 MHz untuk ATMega32L
Universitas Sumatera Utara
12
2. 0 – 16 MHz untuk ATMega32 w. Konsumsi daya pada 1 MHz, 3 Volt, suhu 25
o
C untuk ATMega32L. 1. Aktif : 1,1 Miliampere
2. Mode idle : 0,35 Miliampere 3. Mode power down : kurang dari 1 Mikroampere
ATMega32 dapat dilihat pada Gambar 2.4 :
Gambar 2.4 Konfigurasi Pin ATMega32
Tabel 2.1 Konfigurasi Pin ATMega32
Nomor Pin Nama
Fungsi 10
VCC Catu daya positif
11, 31 GND
Catu daya negativeground 30
AVCC Catu daya positif untuk ADC internal
32 ARMF
Pin untuk tegangan referensi AADC 1 – 8
PB7…PB0 Pin masukan dan keluaran Port B
33 – 40 PA7…PA0
Pin masukan dan keluaran Port A 14 – 21
PD7…PD0 Pin masukan dan keluaran Port D
22 – 29 PC7…PC0
Pin masukan dan keluaran Port C 9
RMSMT Pin masukan untuk reset active low
12, 13 XTAL1 dan 2
Pin untuk masukan osilator eksternal
Universitas Sumatera Utara
13
a b
Gambar 2.5 a Flash Program Memory, b Data Memory
Untuk dapat menggunakan atau mengoperasikan mikrokontroler ATMega32, harus dibuat sistem minimum yang meliputi komponen antara lain : sumber tegangan
Vcc sebesar 5V DC, Ground Gnd dan sistem reset. Mikrokontroler ATMega32 memiliki clock generator internal sebesar 1 MHz, sehingga mikrokontroler ini dapat
bekerja langsung tanpa harus menggunakan clock external.
Untuk membuat program mikrokontroler ATMega32 digunakan editor dan compiler untuk bahasa C. Dalam pembahasan ini editor dan compiler yang digunakan
adalah WinAVR. Setelah proses pembuatan dan kompilasi program selesai dilakukan akan diperoleh file intel hex .hex. File ini adalah file yang nantinya akan
diprogramkan ke mikrokontroler ATMega32 melalui interface bsd programmer Brian Deans Programmer yang terhubung ke komputer melalui antarmuka port paralel
komputer. Koneksi antara ATMega32 dan port paralel untuk bsd programmer diberikan oleh tabel 2.2 :
Universitas Sumatera Utara
14
Tabel 2.2 Koneksi Pin Port Paralel dan ATMega32
Port Paralel ATMega32
No pin Nama pin No pin Nama pin 7
D5 9
Reset 8
D6 8
SCK 9
D7 6
MOSI 10
S6 7
MISO 25
Ground 11
Ground
2.3. LCD Karakter 16 x 2