A. Kompetensi dasar
4.6 Manipulasi dasar-dasar mikrokontroler (port IO, clock, arsitektur RISK, general purpose
RISK, stack pointer, SRAM, EEPROM, SREG)
C. Materi Pokok
• Arsitektur mikrokontroler
• Instructions set
D. Materi
1. Pengertian Mikrokontroler
Istilah mikrokontroler berasal dari microcontroller yang berarti pengendali mikro. Disebut sebagai
pengendali mikro karena mikrokontroler secara fisik adalah sebuah keping kecil (microchip) yang
merupakan komponen elektronika terintegrasi, dan dalam aplikasinya mikrokontroler berfungsi untuk
mengendalikan sebuah pekerjaan tertentu secara terprogram. Mikrokontroler adalah single chip
komputer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang
berorientasi kendali (control).
2. Arsitektur Mikrokontroler
Arsitektur Von Neumann adalah arsitektur komputer yang menempatkan program dan data dalam peta
memori yang sama. Arsitektur ini memiliki address bus dan data bus tunggal untuk mengalamati
program (instruksi) dan data. Contoh dari mikrokontroler yang memakai arsitektur Von Neumann adalah
keluarga 68HC05 dan 68HC11 dari Motorola. Adapun arsitektur Harvard memiliki dua memori yang
terpisah, satu untuk program dan satu untuk data.
▸ Atmel, contoh: Atmel AT91 series (ARM THUMB architecture), AT90, Tiny & Mega series – AVR (Atmel
Norway design), Atmel AT89 series (Intel 8051/MCS51 architecture)
Intel 80C51, keluarga Microchip PIC16xx, Philips P87CLxx dan Atmel AT89LSxx adalah contoh
dari mikroprosesor yang mengadopsi arsitektur Harvard. Kedua jenis arsitektur ini masing-masing
memiliki keunggulan tetapi juga ada kelemahannya. Dengan arsitektur Von Neumann ,prosesor tidak
perlu membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus tambahan berupa
pin Input Output (I/O) khusus untuk membedakan program dan data. Karena kemudahan ini, tidak
terlalu sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral eksternal
seperti ADC (Analog to Digital Converter), LCD (Liquid Crystal Display), EEPROM (Electric Erasable
Programmable Read Only Memory) dan perangkat I/O lainnya. Biasanya perangkat eksternal ini sudah
ada di dalam satu chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler
(microcontroller). Kelemahan arsitektur Von Neumann adalah terletak pada bus tunggalnnya, sehingga
instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa
dilakukan berurutan. Selain itu bandwidth Arsitektur Von Neumann Keuntungan lain dengan arsitektur
Von Neumann adalah pada fle pengalamatan program dan data. Biasanya program selalu ada di ROM
( Only Memory) dan data selalu ada di RAM ( Von Neumann memungkinkan prosesor untuk
menjalankan program yang ada didalam memori data (RAM). Misinisialisasi yang mengisi gilirannya
nanti akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di dalam memori program
(ROM). Contohnya adalah data yang diletakkan di ROM. Data ini ditempatkan di ROM agar tidak hilang
pada saat catu daya mati. Pada mikroprosesor data look-up-tabel atau program pengambilan data di
ROM pengalamatan biasa. Pada mikroprosesor yang berarsitektur saat menjalankan instruksi bisa
terjadi. Satu instruksi biasanya dieksekusi dengan urutan fetch (membaca instruksi), execute (eksekusi)
dan write Modul Mikrokontroler AVR ATmega8535 – PT Bukaka Teknik overlaping untuk menjalankan
dua instruksi yang program harus sama dengan bandwidth ) Random Acess Memory). Arsitektur
Misalnya pada saat power on, dibuat program byte di dalam RAM. Data di dalam RAM ini pada look
Von Neumann, instruksi yang membaca adalah instruksi overlapping decode (pengalamatan), read
(membaca data), (penulisan data).
KONSEP MIKROKONTROLER
3. Instruksi Sets
Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh
sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya
juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia
(programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.Sebuah
instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti
darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Elemen dari Instruksi Sets
adalah :
▸ Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
Selain sebagai sistem monitor rumah seperti diatas, mikrokontroler sering dijumpai pada peralatan
rumah tangga (microwave oven, TV, stereo set dll), computer dan perlengkapannya, mobil dan lain
sebagainya. Pada beberapa penggunaan bias ditemukan lebih dari satu prosesor didalamnya.
Mikrokontroler biasanya digunakan untuk peralatan yang tidak terlalu membutuhkan kecepatan
pemrosesan yang tinggi. Walaupun mungkin ada diantara kita yang membayangkan untuk mengontrol
oven microwave dengan menggunakan sistem berbasis Unix, mengendalikan oven microwave dapat
dengan mudah menggunakan mikrokontroler yang paling kecil. Dilain pihak jika kita ingin
mengendalikan rudal guna mengejar anjing tetangga yang selalu menyalak ditengah malam, kita akan
memerlukan prosesor dengan kecepatan yang lebih tinggi. Sifat spesial dari mikrokontroler adalah kecil
dalam ukuran, hemat daya listrik serta flexibilitasnya menyebabkan mikrokontroler sangat cocok
untuk dipakai sebagai pencatat/perekam data pada aplikasi yang tidak memerlukan kehadiran operator.
1. Menulis dan mengkompilasi kode program (source code). Pekerjaan ini sifatnya lebih ke proggaming.
Menuliskan kode program menggunakan bahasa bahasa yang di support oleh mikrokotroler.
2. Mengisi hasil kompilasi program ke IC mikrokontroler. Mengisi program merupakan pekerjaan yang di
lakukan setelah program selesai di buat dan di kompilasi. Untuk mengisi program ada beberapa tools
yang harus digunakan.
Aplikasi ADC pada ATMega8 dengan bahasa Bascom AVR
Contoh program :
$regfile = “m8def.dat”
$crystal = 4000000
Config Lcd = 16 * 2
Start Adc
‘With STOP ADC, you can remove the power from the chip’ Stop Adc
Do
Locate 1, 1
Lcd “ Nilai=”
W = Getadc (channel)
Locate 1,9
Lcd “ “
Locate 1,9
Lcd W
Waitms 100
Loop
End
a) Mikrokontroler ATMEL
Mikrokontroler buatan ATMEL ini merupakan keluarga MCS-51 dari Intel Corp (www.atmel.com). Saat
ini mikrokontroler ATMEL merupakan mikrokontroler yang paling banyak digunakan karena harganya
relatif murah dan mudah didapatkan. Mikrokontroler ini dapat diprogram menggunakan port paralel atau
serial. Selain itu, mikrokontroler ini dapat beroperasi hanya dengan satu chip dan beberapa komponen
dasar, seperti resistor, kapasitor dan kristal. Berikut ini diberikan contoh beberapa tipe mikrokontroler
ATMEL beserta fitur dan kelengkapannya.
b) Mikrokontroler PIC
Mikrokontroler PIC (Peripheral Interface Controller) merupakan keluarga mikrokontroler tipe RISC
(Reduce Instruction Set Programs) yang diproduksi oleh Microchip (www.microchip.com).
Mikrokontroler PIC dibuat pertama kali pada tahun 1975 untuk meningkatkan kinerja sistem pada I/O.
Masing-masing mikrokontroler memiliki kekhasan yang berbeda dalam hal jenis memori yang
digunakan, ada yang menggunakan EEPROM, ada yang menggunakan Flash memori, bahkan ada
yang menggunakan OTP (One Time Programmable) atau memori sekali program.
c) Mikrokontroler Maxim
Mikrokontroler Maxim diproduksi oleh Maxim corp yang merupakan salah satu produsen chip yang
fokus pada komponen digital dan komunikasi (www.maximic. com). Produknya adalah chip
mikrokontroler, akuisisi data dan komponen radio frekuensi. Maxim merupakan produsen yang cukup
inovatif dalam melahirkan produk-produk berteknologi tinggi, misalnya mikrokontroler 80C400
kecepatan tinggi yang mendukung jaringan komputer (computer networking). Beberapa chip
mikrokontroler Maxim juga mendukung penggunaan perangkat lunak compiler berbasis bahasa C,
diantaranya : Keil-C sebagai compiler C, macro assemblers, real time kernels, debuggers dan simulator
di lingkungan IDE (Interface Design Environmet).
d) Mikrokontroler Renesas
Renesas merupakan produsen semikonduktor gabungan antara Mitsubishi dan Hitachi. Salah satu
produk mikrokontroler Renesas yang dikenal adalah R8C/Tiny Series yang termasuk keluarga M16C
dan mempunyai beberapa seri antara lain R8C/10, R8C/12, yang berbeda kapasitas flash ROM dan
jumlah pin I/O.
ALU berfungsi untuk menangani operasi aritmatika (penjumlahan, pengurangan, perkalian dan
pembagian) dan juga operasi logika (and, or, exor, not, dan lain-lain)
b) Accumulator Register
Register akumulator merupakan register serbaguna yang berfungsi sebagai tempat penyimpanan
sementara hasil suatu operasi aritmatika atau logika.
Merupakan memori penyimpan data yang isinya dapat diubah atau dihapus. RAM biasanya berisi data-
data variabel dan register. Data yang tersimpan di RAM akan hilang jika catu daya yang diberikan
kepadanya dimatikan.
Merupakan memori penyimpan program/instruksi yang isinya tidak dapat diubah atau dihapus. Program
tersimpan di ROM dalam format biner (0 atau 1). Untuk memasukan program/instruksi ke dalam chip
mikrokontroler digunakan perangkat lunak khusus sesuai dengan tipe/jenis mikrokontrolernya.
e) I/O Port
Untuk berkomunikasi dengan dunia luar, maka mikrokontroler menggunakan terminal I/O (Input-
Output). Port tersebut disebut Input/Output karena port tersebut dapat digunakan sebagai masukan
atau sebagai keluaran. Sebagai masukan misalnya jika sebuah sensor atau switch dihubungkan
dengan mikrokontroler , dan sebagai keluaran misalnya jika sebuah perangkat output (LED, relay atau
motor) dihubungkan ke mikrokontroler. Modul Mikrokontroler AVR ATmega8535 – PT Bukaka Teknik
Utama | 17 Gambar 2.2 Port I/O pada Mikrokontroler
f) Program Counter
g) Stack Pointer
Merupakan bagian dari RAM yang memiliki metode penyimpanan dan pengambilan data secara
khusus. Data yang disimpan dan dibaca tidak dapat dilakukan dengan metode acak (random). Data
yang masuk ke stack pada urutan terakhir adalah data yang pertama dibaca kembali atau biasa disebut
dengan LIFO (Last In First Out).
h) Timer/Counter
Timer/conter digunakan untuk melakukan salah satu dari 3 (tiga) fungsi berikut, yaitu: penghitungan
suatu interval waktu (interval timing), penghitungan banyaknya kejadian (event counting) dan
pembangkit baud rate (baud rate generation) untuk komunikasi serial
i) Interrupt Circuit
Rangkaian interupsi adalah rangkaian yang memiliki fungsi untuk mengendalikan sinyal sinyal interupsi
baik internal maupun eksternal. Adanya sinyal interupsi akan menghentikan eksekusi normal program
mikrokontroler untuk selanjutnya menjalankan sub program dari interupsi tersebut. Modul
Mikrokontroler AVR ATmega8535 – PT Bukaka Teknik Utama | 18
j) Clock Circuit
Oleh karena mikrokontroler merupakan rangkaian logika sekuensial, di mana proses bekerjanya
melalui sinkronisasi clock maka diperlukan rangkaian clock yang menyediakan clock untuk seluruh
bagian sistem mikrokontroler.
Pada dasarnya unjuk kerja mikrokontroler tergantung pada urutan program/instruksi yang
dijalankannya, yaitu program yang ditulis di ROM.
2. Selanjutnya instruksi tersebut dijalankan tergantung dari jenis istruksinya yakni : membaca, mengubah
nilai register, mengaktifkan port, dan sebagainya.
3. Mikrokontroler akan terus mengulang kembali langkah 1 dan 2, sampai power dari sistem mikrokontroler
dimatikan. Untuk dapat membuat mikrokontroler bekerja maka ada beberapa hal yang harus dikerjakan
yaitu :
• Membuat program di mana program yang dibuat harus sesuai dengan mikrokontroler yang digunakan,
karena tiap mikrokontroler memiliki bahasa pemrograman sendiri.
• Pembuatan program tersebut biasanya dilakukan menggunakan teks editor yang mana setelah selesai
dibuat maka program tersebut harus dikompilasi. Tujuan kompilasi adalah untuk mengubah program
yang ditulis (op code) menjadi bahasa mikrokontroler.
• Selesai proses kompilasi (biasanya dalam format .hex), selanjutnya program tersebut dimasukkan ke
dalam mikrokontroler menggunakan perangkat lunak downloader yang disesuiakan dengan jenis
mikrokontrolernya.
a) LED Running
LED berjalan atau running LED merupakan aplikasi sederhana elektronika khususnya penggunaan
mikrokontroler. Aplikasi ini dapat dikatakan sebagai dasar dalam mempelajari mikrokontroler.
Seluruh perangkat atau komponen yang digunakan dalam perancangan pengaturan kecepatan pada
alat putar keramik menggunakan motor AC ini tersusun seperti pada blok diagram di bawah ini :
c) Merancang Sistem Sistem Minimum AVR ATMega16
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen
elektronika yang berfungsi sebagai komponen pendukungnya. Mikrokontroler dan
komponen komponen pendukung tersebut tergabung dalam satu rangkaian yang disebut sebagai
rangkaian sistem minimum.
Rangkaian downloader merupakan rangkaian penghubung antara computer dan mikrokontroler yang
berfungsi untuk memasukan listing program (berupa bit – bit logika) ke dalam mikrokontroler.
Pada umumnya rangkaian downloader terdiri dari kabel penghubung jenis DB25 atau jenis DB9.
Sinkronisasi tegangan antara tegangan dari komputer dan tegangan mikrokontroler menggunakan
sebuah buffer.
Keypad merupakan tombol elektronik yang terdiri dari kombinasi beberapa saklar yang terangkai dalam
bentuk kolom dan baris. Pada perancangan alat putar ini, keypad digunakan sebagai alat untuk
masukan nilai setpoint kecepatan putaran alat putar keramik. Keypad yang digunakan adalah keypad
3×4 yang terdiri dari 3 kolom dan 4 baris (7 pin). Untuk mengetahui tombol mana yang sedang ditekan,
keypad diatur oleh mikrokontroler dengan cara memberikan bit-bit logika pada baris atau kolomnya.
Keypad ini dihubungkan melalui kabel pin (7 pin) ke salah satu port mikrokontroler.
f) Perancangan Rangkaian Driver Motor AC
Komponen utama dari rangkaian driver motor AC ini adalah IC TRIAC Optoisolators Tipe
MOC3041 dan TRIAC Tipe Q4004LT. TRIA C Optoisolatorsyang digunakan telah memiliki
rangkaian zero crossing di dalamnya.. Rangkaian drivermotor AC akan memicu motor AC jika pin 2
pada IC MOC3041 diberi logika “0” (low). Bit– bit logik a yang diberikan pada IC tersebut berupa sinyal
PWM yang diatur oleh registerOCR1A (duty cycle) pada mikrokontroler.
Rangkaian sensor untuk mendeteksi putaran alat putar ini, terdiri dari Phototransistor tipe
H21A1 dan piringan sensor dengan lubang sebanyak 12 lubang.
h) Perancangan Alat Putar Keramik
Alat putar keramik yang akan dirancang terbuat dari bahan semen dan berporoskan batang besi. Pada
bagian besi poros tersebut dipasangi bearing, pulley dan piringan sensor. Pulley dihubungkan motor
AC dengan menggunakan tali penghubung (belt).
Rangkaian alarm yang akan dibuat adalah rangkaian alarm sirene. Rangkaian alarm ini akan berbunyi
seperti suara sirene polisi. Blok rangkaian pertama di sebelah kiri merupakan rangkaian yang
membentuk gelombang gigi gergaji (sawtooth). Oleh karena itu keluaran dari blok rangkaian ini adalah
gelombang gigi gergaji. Sedangkan blok rangkaian di sebelah kanan merupakan rangkaian
multivibrator. Rangkaian ini membentuk gelombang segi empat.
1. Pengertian Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler adalah
sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat
menyimpan program did umumnya terdiri dari CPU (Central Processing Unit), memori, I/O
tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah
terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan
peralatan I/O pendukung sehingga ukuran board mikrokontroler menjadi sangat
ringkas. Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program did MCS51 ialah mikrokomputer CMOS 8
bit dengan 4 KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat
dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan
teknologi high density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan
memori program untuk diprogram ulang dalam sistem (in-system programming) atau dengan
menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba
guna dan Flash PEROM, menjadikan mikrokontroler MCS51 menjadi microcomputer handal
yang fleksibel.
2. Arsitektur mikrokontroler
1. MCS 51
2.Microcontroller AT89S51
Termasuk salah satu jenis microcontroller keluarga MCS-51 yang dalam standar DIP (Dual
Inline Package) 40 pin yang mempunyai konfigurasi tersendiri. Microcontroller AT89S51
memiliki konfigurasi sebagai berikut:
3.AT89s52
4.ATMega8535
Merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk keluarga AVR yang
diproduksi secara masal pada tahun 2006. Karena merupakan keluarga AVR, maka
ATMega8535 juga menggunakan arsitektur RISC.
dengan kemampuan :
- Sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
- Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM (Electrically -------
Erasable Programmable Read Only Memory) sebesar 512 byte.
- Memiliki ADC (Pengubah analog-ke-digital) internal dengan ketelitian 10 bit sebanyak 8
saluran.
- Memiliki PWM (Pulse Width Modulation) internal sebanyak 4 saluran.
- Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
- Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik.
5.ATmega8
Adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K Bytes
In-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu
mengeksekusi instruksi dengan kecepatan maksimum 16 MIPS pada frekuensi 16MHz.
6.ATmega16
7.ATmega32
Mikrokontroller Atmega32 adalah mikrokontroler yang diproduksi oleh Atmel.
mikrokontroler ini memiliki clock dan kerjanya tinggi sampai 16 MHz, ukuran flash
memorinya cukup besar, kapasistas SRAM sebesar 2 KiloByte, Flash 32 KiloByte dan 32 buah
port input/output yang sangat memadai untuk berinteraksi dengan perangkat lainya.
8.ATmega328
9.ARM
ARM adalah prosesor dengan arsitektur set instruksi 32bit RISC (Reduced Instruction Set
Computer) yang dikembangkan oleh ARM Holdings. ARM merupakan singkatan dari
Advanced RISC Machine (sebelumnya lebih dikenal dengan kepanjangan Acorn RISC
Machine).
10.MIPS
MIPS dirancang sama John L Hennesy pada 1981 yang waktu itu dibuatnya di Stanford
University, jadi komponen-komponennya masih dasar dan mudah dipahami untuk
pembelajaran di kuliah. MIPS sendiri punya kepanjangan : Microprocessor without Interlocked
Pipeline Stages.
Versi dasar dari MIPS adalah versi R2000 yang merupakan MIPS yang pertama kali di-release.
Dibagi menjadi 2 jenis, yaitu MIPS satu siklus dan MIPS 2 siklus.Komponen utama Control
Unit Merupakan bagian pengendali yang berfungsi mengendalikan bagian-bagian MIPS yang
lain (aktivitas prosesor). Instruksi tediri dari 2 bagian yaitu input dan operan. Instruksi di MIPS
panjangnya 32 bit. Namun yang masuk ke dalam control unit hanya 6 bit, yaitu bit ke 26-31.
Kemudian mengeluarkan output 9 bit kendali komponen yang akan menjadi input bagian-
bagian MIPS yang lain.