TEORI DASAR
Pada bab ini dibahas tentang Perangkat lunak
pemrograman mikrokontrol, dan beberapa komponen elektronika
serta mikrokontroler ATMEGA8535L.
2.1 Mikrokontroler
Komputer hadir dalam kehidupan manusia baru 50
tahun terakhir, namun efeknya sangat besar dalam merubah
kehidupan manusia, bahkan melebihi penemuan manusia lainnya
seperti radio, telepon, automobil, dan televisi. Begitu banyak
aplikasi memanfaatkan komputer, terutama dalam pemanfaatan
kemampuan chip mikroprosesor di dalamnya yang dapat
melakukan komputasi sangat cepat, dapat bekerja sendiri dengan
diprogram, dan dilengkapi memori untuk menyimpan begitu
banyak data. Seiring dengan perkembangan zaman, semakin
luaslah kebutuhan akan kemampuan seperti yang dimiliki oleh
komputer,
sehingga
menyebabkan
munculnya
terobosan-
II-1
Landasan teori
II-2
beroperasi
pada
manipulasi
bit,
sedangkan
dengan
perkembangan
teknologi
baru
adalah
PERBEDAAN
MIKROKONTROLER
DENGAN MIKROPROSESOR
Terdapat
perbedaan
yang
signifikan
antara
Landasan teori
II-3
APLIKASI MIKROKONTROLER
Karena kemampuannya yang tinggi, bentuknya yang
Landasan teori
II-4
Penggunaan
komponen
dipersedikit
(reduced
2.1.3
Landasan teori
II-5
mikroprosesor
mengeluarkan
sangat
tipis.
mikrokontroler
Masing-masing
dengan
dilengkapi
vendor
fasilitas-
dan
mikrokontroler
AVR
yang
merupakan
memiliki
fitur
yang
berbeda).
Dengan
Landasan teori
II-6
mungil
berkemampuan
sangat
tinggi
akan
kemampuan
komputasi
yang
tinggi
serta
MENGAKSES MIKROKONTROLER
Agar sebuah mikrokontroler dapat berfungsi, maka
2.
Landasan teori
menjalankan
II-7
sebuah
aplikasi.
Sebuah
IC
mikrokontroler
2.
3.
4.
Landasan teori
II-8
untuk
menyesuaikan
sebagian
waktu,
untuk
Landasan teori
II-9
Interupsi Eksternal 0
Interupsi Timer 0
Interupsi Eksternal 1
Interupsi Timer 1
Interupsi serial
Ini berarti jika sebuah interupsi serial terjadi pada waktu
CodeVisionAVR
Landasan teori
II-10
spesifikasi
yang
dikeluarkan
oleh
tambahan
yang
sangat
bermanfaat
dalam
Landasan teori
II-11
memungkinkan
programmer
untuk
mentransfer
Landasan teori
II-12
Delays
Dan lainnya
CodeVisionAVR
juga
memiliki
CodeWizardAVR
dan
semua
kode
yang
dibutuhkan
untuk
Landasan teori
II-13
Inisialisasi timers/counters
Pengaturan timers yang berfungsi untuk mengatur
frekwensi yang nantinya digunakan pada interupsi.
Inisialisasi ADC
Pengaturan ADC(Analog-Digital Converter) yang
berfungsi untuk merubah format analog menjadi
format digital untuk diolah lebih lanjut.
Landasan teori
II-14
Landasan teori
a.
II-15
Memilih
project
baru
dan
melakukan
c.
Landasan teori
II-16
Sebagai
contoh
beberapa
bentuk
perbandingan
Landasan teori
Bahasa C
II-17
Bahasa Assembly
ST -Y,R16
RCALL SUBOPT_0x0
; 173
delay_ms(10);
; 174
putchar(a1);
ST -Y,R17
RCALL SUBOPT_0x0
; 175
delay_ms(10);
; 176
; 177
};
RJMP _0x4
; 178 }
_0x7:
RJMP _0x7
_getchar:
sbis usr,rxc
rjmp _getchar
in r30,udr
RET
_putchar:
sbis usr,udre
rjmp _putchar
ld r30,y
out udr,r30
ADIW R28,1
RET
;OPTIMIZER ADDED SUBROUTINE,
CALLED 2 TIMES, CODE SIZE
REDUCTION:3 WORDS
SUBOPT_0x0:
RCALL _putchar
LDI R30,LOW(10)
LDI R31,HIGH(10)
ST -Y,R31
ST -Y,R30
RJMP _delay_ms
Landasan teori
II-18
Bahasa C
Bahasa Assembly
_delay_ms:
ld r30,y+
ld r31,y+
adiw r30,0
breq __delay_ms1
__delay_ms0:
__DELAY_USW 0xFA0
wdr
sbiw r30,1
brne __delay_ms0
__delay_ms1:
ret
yang
dinamakan
dengan
Code
Generator
atau
Landasan teori
II-19
blok
yang
mengilustrasikan
alur
pemrograman
Landasan teori
II-20
DT
AVR
nano/micro
URL:http//www.innovative_electronic.com.,
System
dialamat
Sistem
ini
kompatibel dengan kanda System STK 200/300. Untuk tujuantujuan percobaan, produk innovative_electronic ini sudah sangat
memadai, selain mudah dihubungkan dengan modul-modul
perangkat input/output, seperti modul LCD, keypad, array LED,
penggerak motor stepper, dan sebagainya, sistem ini juga telah
dilengkapi konverter TTL ke RS232 yang bermanfaat untuk
komunikasi microcontroller AVR dengan komputer.
Berkaitan dengan perangkat lunak downloader, pada
dasarnya anda dapat menggunakan perangkat lunak lain (di luar
Pemrograman Mikrokontroler untuk Aplikasi Sistem Kendali Motor Servo DC
menggunakan CodeVision AVR
Landasan teori
II-21
secara
gratis
pada
alamat
URL:
http://www.mikrocontroller.com
2.2.1
MIKROKONTROLER
AVR
DAN BAHASA C
Tak dapat disangkal, dewasa ini penggunaan bahasa
pemrograman aras tinggi (seperti C, Basic, Pascal dan
sebagainya) semakin populer dan banyak digunakan untuk
memprogram sistem microcontroller. Berdasarkan sifatnya yang
sangat fleksibel dalam hal keleluasaan pemrogram untuk
mengakses perangkat keras, Bahasa C merupakan bahasa
pemrograman yang paling cocok dibandingkan bahasa-bahasa
pemrograman aras tinggi lainnya.
Dikembangkan pertama kali oleh Dennis Ritchie dan
Ken Thomson pada tahun 1972, Bahasa C merupakan salah satu
bahasa pemrograman yang paling populer untuk pengembangan
program-program
aplikasi
yang
berjalan
pada
sistem
microprocessor (komputer). Karena kepopulerannya, vendorvendor perangkat lunak kemudian mengembangkan compiler C
sehingga menjadi beberapa varian berikut: Turbo C, Borland C,
Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk
menjaga portabilitas, compiler-compiler C tersebut menerapkan
Pemrograman Mikrokontroler untuk Aplikasi Sistem Kendali Motor Servo DC
menggunakan CodeVision AVR
Landasan teori
II-22
serta
fasilitas
IDE
(Integrated
Development
Environment)nya saja.
Relatif dibandingkan dengan bahasa aras tinggi lain,
bahasa C merupakan bahasa pemrograman yang sangat fleksibel
dan tidak terlalu terikat dengan berbagai aturan yang sifatnya
kaku. Satu-satunya hal yang membatasi penggunaan bahasa C
dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi
programmer-nya saja. Sebagai ilustrasi, dalam program C kita
dapat saja secara bebas menjumlahkan karakter huruf (misal A)
dengan sebuah bilangan bulat (misal 2), dimana hal yang sama
tidak mungkin dapat dilakukan dengan menggunakan bahasa aras
tinggi lainnya. Karena sifatnya ini, seringkali bahasa C
dikatagorikan sebagai bahasa aras menengah (mid level
language).
Dalam kaitannya dengan pemrograman microcontroller,
Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan
bahasa aras rendah assembler. Penggunaan bahasa C akan sangat
efisien terutama untuk program microcontroller yang berukuran
relatif
besar.
Dibandingkan
dengan
bahasa
assembler,
Landasan teori
II-23
Platform
-DOS
-Windows
-Windows
-DOS
-Windows
-Linux
-DOS
-Windows
-Windows
-DOS
-Linux
-Linux,
-Windows
-Windows
Keterangan
Komersil
Komersil,
Komersil
General Public Licence
Komersil
Komersil
General Public Licence
Free
Komersil
Landasan teori
II-24
Landasan teori
II-25
yang
Mengajarkan
dipilih
Bahasa
untuk
tingkat
mengenalkan
tinggi
mikrokontroler.
pada
perkenalan
Landasan teori
II-26
untuk
mikrokontroler
terapan
berdasar
pada
KEUNTUNGAN
PEMROGRAMAN TINGKAT TINGGI
Landasan teori
II-27
PEMROGRAMAN C DAN
MIKROKONTROLER
Pemrograman Mikrokontroler untuk Aplikasi Sistem Kendali Motor Servo DC
menggunakan CodeVision AVR
Landasan teori
II-28
suatu
pendekatan
terstruktur
dengna
alasan
yang
paling
memaksa
untuk
Landasan teori
II-29
2.3
EAGLE 4.11
Eagle
4.11 merupakan
aplikasi
pembantu untuk
Landasan teori
II-30
Visual Basic
Visual Basic adalah salah satu bahasa pemrograman
Landasan teori
II-31
dengan
pembentukkan
user
interface,
kemudian
Graphical
User
Interface
(GUI),
pengembangan
Landasan teori
II-32
dengan
teknik
pemrograman
visual
yang
Landasan teori
II-33
2.4.1
Landasan teori
II-34
Landasan teori
2.4.2
II-35
Property:
Setiap
komponen
di
dalam
Landasan teori
II-36
Event:
Setiap
komponen
dapat
beraksi
Landasan teori
II-37
Landasan teori
II-38
dan
semua
user
meskipun
bukan
Landasan teori
II-39
ActiveX Control: Project ini menghasilkan komponenkomponen baru untuk aplikasi Visual Basic yang lain
macam
komponen
tambahan
yang
project
ini
memang
disediakan
untuk
Landasan teori
2.4.4
II-40
program,
dengan
kode-kode
program
(Script)
Mengatur Property
Property pada tampilan antar muka Visual Basic terletak
Landasan teori
II-41
Landasan teori
II-42
Landasan teori
II-43
yang
dihubungkan
dengan
MSComm.
Input,
g.
2.6
Komponen-komponen Elektronika
Landasan teori
II-44
LED,
kapasitor,
transistor,
optocoupler,
kristal
(oscilator).
2.6.1
Resistor
Resistor adalah suatu komponen elektronika yang
2.6.2
LED
LED
adalah
komponen
elektronik
yang
dapat
Landasan teori
II-45
Kapasitor
Kapasitor merupakan komponen elektronika yang
Transistor
Transistor merupakan komponen elektronika yang
Landasan teori
II-46
Optocoupler
Optocoupler terdiri dari dua buah komponen yaitu
Landasan teori
II-47
Kristal (Ocilator)
Kristal atau oscilator merupakan komponen elektronika
Landasan teori
2.6.7
II-48
Max232
Max232 adalah sebuah IC (Integrated Circuit) yang
sekitar
tahun
1997.
Berbeda
dengan
Landasan teori
II-49
Konfigurasi PIN
1. Power, VCC dan GND.
2. PORTA (PORTA0-7), merupakan pin IO dua arah dan
berfungsi khusus pin masukkan ADC.
3. PORTB (PORTB0-7), merupakan pin IO dua arah dan
berfungsi
khusus
sebagai
pin
timer/counter,
fungsi khusus.
RESET adalah pin untuk me-reset mikrokontroller.
XTAL1 dan XTAL2 pin untuk exsternal clock
AVCC adalah pin masukan untuk tegangan ADC.
AREF adalah pin masukan untuk tegangan referensi
eksternal ADC.
Landasan teori
II-50
(X CK /T 0 ) P B 0
40
(T 1) P B 1
39
PA 0 (A DC 0 )
PA 1 (A DC 1 )
38
PA 2 (A DC 2 )
(O C 0/A IN1 ) P B 3
37
PA 3 (A DC 3 )
(S S ) P B 4
36
PA 4 (A DC 4 )
35
PA 5 (A DC 5 )
34
PA 6 (A DC 6 )
(M O S I) P B 5
(M IS O ) P B 6
(S CK ) P B 7
RE S E T
8
9
V CC
1
10
G ND
1
11
X AT L 2
1
12
X AT L 1
13
1
1
14
(R X D) P D 0
(T X D) P D 1
1
15
AT M eg a 85 3 5 L
(INT 2/A IN 0) P B 2
33
PA 7 (A DC 7 )
32
AREF
31
G ND
30
AV C C
29
P C 7 (T O S C 2)
28
27
P C 6 (T O S C 1)
PC 5
26
PC 4
25
PC 3
24
PC 2
23
PC 1
(INT 0) P D 2
1
16
(IN T 1 ) P D 3
1
17
(O C1B ) P D 4
1
18
(O C1A ) P D 5
1
19
22
PC 0
(ICP 1 ) P D 6
20
21
P D 7 (O C 2 )