i
MIKROKONTROLER AVR ATMEGA 8535
Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik
Program Studi Teknik Elektro Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh:
MARIANO MAXIMUS JAMAN NIM: 035114015
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
TRAINING MODULE
In partial fulfillment of the requirements for the degree of Sarjana Teknik Electrical Engineering Study Program
Electrical Engineering Department
Science and Technology Faculty of Sanata Dharma University
by:
MARIANO MAXIMUS JAMAN NIM: 035114015
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
vi
skripsi ini kupersembahkan untuk:
Bapa di Surga, Yesus Kristus, dan Bunda Maria
yang membuat segalanya mungkin
bapa mama
yang selalu sabar dan percaya
ita lia
yang selalu mendukung
doyoq
yang selalu mengerti
viii
aplikasi kendali maupun otomasi, mulai dari sistem yang sederhana hingga sistem yang kompleks. Karenanya pembelajaran dan pemahaman tentang mikrokontroler AVR ATMega 8535 perlu ditingkatkan. Penelitian ini bertujuan menciptakan suatu modul trainer yang diharapkan bisa membantu pembelajaran dan pemahaman tentang mikrokontroler AVR ATMega 8535 beserta fitur-fiturnya.
Pada penelitian ini, digunakan tiga masukan (masukan saklar, masukan keypad matriks, masukan analog) dan tiga penampil (LED, LCD, 7 segmen). Penggunaan masukan dan penampil tersebut bisa dikombinasikan untuk mempermudah pembelajaran dan pemahaman tentang mikrokontroler AVR ATMega 8535.
Jumlah maksimal kombinasi masukan dan penampil adalah empat kombinasi, sesuai dengan jumlah port pada mikrokontroler AVR ATMega 8535.
Trainer ini sudah bekerja dengan baik. Ketiga masukan dan penampil bisa digunakan. Program yang digunakan sudah berhasil.
ix
automatism application, either for the simple system or the complex one. That is why the studying and comprehension about the AVR ATMega 8535 is need to improved. This research was meant to create a training module that supposed to make the comprehension of the AVR ATMega 8535 being a lot easier.
In this research, three inputs (switch input, keypad matrix, analog input) and three displays (LED, LCD, 7 segmen) are used. These inputs and displays can be combined to make the comprehension easier.
The maximal inputs and displays combination is four, based on the number of the AVR ATMega 8535 microcontroller’s port. This trainer is already work succesfully. The all three inputs and displays can be used. The program that used is succes.
x
hanya atas berkat dan rahmatNyalah penulis dapat menyelesaikan tulisan ini.
Tulisan ini adalah salah satu syarat memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro Universitas Sanata Dharma.
Keberhasilan penyelesaian tulisan ini tidak lepas dari bentuan berbagai
pihak, untuk itu penulis mengucapkan terima kasih kepada:
1. Bapak Martanto, S.T.,M.T. selaku dosen pembimbing yang telah
merelakan waktu, tenaga, dan pikirannya untuk membimbing penulis.
2. Bapa Onesimus Jaman dan Mama Maria Imelda Hagul yang telah
memberikan dukungan moral, spiritual, dan finansial dalam penyusunan
tulisan ini.
3. Segenap dosen-dosen Teknik Elektro atas segala bantuan yang telah
diberikan selama penulis menimba ilmu selama kuliah.
4. Yang terkasih Benedikta Gratias Jaman dan Natalian Jaman yang selalu
mendukung.
5. Yang tercinta Selviana Nuryati Handayani atas dorongan dan semangat.
6. Mas FX. Suryo A. Subrata atas kesabaran dan bantuannya.
7. Rekan-rekan yang telah memberikan bantuan kepada penulis dalam
pengerjaan karya tulis ini: Marselinus Rony, Ricky Nelson, David, dan
Andi.
8. Sahabatku Yeremias J., Marianus S. J., Ignatius J., Celly Zanky T. L.,
Ishak S. D., Kristoforus Forus H., yang selalu menghibur.
9. Teman-teman seperjuangan Teknik Elektro Sanata Dharma yang telah
banyak membantu: Marselinus Rony, Ricky Nelson, Andry P. S.,
Yanuarius B., Nendar Apo W., Jah Yudi, Raditya W., dan teman-teman
lain yang tidak dapat disebutkan satu persatu.
10. Segenap laboran Teknik Elektro Universitas Sanata Dharma.
xi
membangun sangat penulis harapkan.
Akhir kata, semoga tulisan ini berguna bagi semua pihak dan dapat
menjadi bahan kajian lebih lanjut.
Yogyakarta, 16 Juli 2010
Penulis
xii
HALAMAN SAMPUL (BAHASA INGGRIS) ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR... xv
DAFTAR TABEL...xvii
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Tujuan dan Manfaat Penelitian ... 1
1.3. Batasan Masalah ... 2
1.4. Metodologi Penelitian ... 2
BAB II DASAR TEORI ... 4
2.1. Mikrokontroler AVR ATMega 8535 ... 4
2.1.1. Fitur AVR ATMega 8535 ... 6
2.1.2. Konfigurasi Pin Mikrokontroler AVR ATMega 8535 ... 6
2.1.3. Peta Memori ... 7
2.1.4. ADC ... 8
2.1.5. Port I/ O ... 11
xiii
2.5. Penampil 7 Segmen ... 18
2.6. LCD... 18
BAB III PERANCANGAN ALAT ... 20
3.1. Perancangan Unit Masukan ... 21
3.1.1. Rangkaian Keypad Matriks ... 21
3.1.2. Rangkaian Masukan Saklar ... 22
3.1.3. Rangkaian Masukan Potensiometer ... 23
3.2. Perancangan Unit Penampil ... 24
3.2.1. Rangkaian LED ... 24
3.2.2. Rangkaian Penampil 7 Segmen ... 25
3.2.3. LCD ... 27
3.3. Rangkaian Osilator ... 28
3.4. Rangkaian Reset ... 28
3.5. Perancangan Perangkat Lunak ... 29
3.5.1. Pemrograman dengan Masukan Analog Potensiometer ... 30
3.5.2. Pemrograman dengan Masukan Digital Saklar ... 33
3.5.3. Pemrograman dengan Masukan Keypad Matriks ... 34
BAB IV HASIL DAN PEMBAHASAN ... 36
4.1. Implementasi Trainer Mikrokontroler AVR ATMega 8535 ... 36
4.2. Pengujian Trainer Mikrokontroler AVR ATMega 8535 ... 39
4.2.1. Pengujian Masukan Saklar ... 39
4.2.2. Pengujian Masukan ADC ... 41
4.2.3. Pengujian Masukan Keypad ... 43
4.3. Pembahasan Perangkat Lunak ... 45
4.3.1. Pengujian Masukan Saklar ... 45
4.3.2. Pengujian Masukan ADC ... 47
xiv
xv
Gambar 2.2. Konfigurasi pin AVR ATMega 8535 6
Gambar 2.3. Register ADMUX. 8
Gambar 2.4. Format data ADC dengan ADLAR = 0 9
Gambar 2.5. Format data ADC dengan ADLAR =1 9
Gambar 2.6. Register ADCRA 9
Gambar 2.7. Register UBRR 11
Gambar 2.8. Register UCSRB 12
Gambar 2.9. Register UCSRC 13
Gambar 2.10. Daerah kerja transistor 15
Gambar 2.11. Rangkaian dasar transistor 15
Gambar 2.12. Matriks keypad 3x4 16
Gambar 2.13. Rangkaian LED 17
Gambar 2.14. Seven segmen display 18
Gambar 3.1. Diagram blok trainer mikrokontroler AVR ATMega 8535 20 Gambar 3.2. Blok diagram keypad matriks dan port masukan AVR
ATMega 8535 21
Gambar 3.3. Rangkaian masukan saklar 23
Gambar 3.4. Rangkaian masukan analog potensiometer 23
Gambar 3.5. Rangkaian LED 24
Gambar 3.6. Rangkaian keluaran 8 LED 25
Gambar 3.7. Diagram koneksi 74ls47 25
Gambar 3.8. Rangkaian penampil 7 segmen 26
Gambar 3.9. Rangkaian LCD 27
Gambar 3.10. Rangkaian osilator 28
Gambar 3.11. Rangkaian reset 29
Gambar 3.12. Diagram alir umum program utama 29 Gambar 3.13. Diagram alir program masukan potensiometer 30 Gambar 3.14. Diagram alir program masukan saklar 33 Gambar 3.15. Diagram alir program masukan keypad matriks 34 Gambar 4.1. Trainer mikrokontroler atmega 8535 36
Gambar 4.2. (a). Saklar tampak depan 37
Gambar 4.2. (b). Saklar tampak belakang 37
Gambar 4.3. Masukan analog 37
Gambar 4.4. Masukan keypad matriks 38
Gambar 4.5. (a). Penampil 8 buah LED tampak depan 38 Gambar 4.5. (b). Penampil 8 buah LED tampak belakang 38
xvi
Gambar 4.10. Blok diagram penghubungan masukan dan penampil
dengan mikrokontroler untuk pengujian masukan ADC 41 Gambar 4.11. Blok diagram penghubungan masukan dan penampil
dengan mikrokontroler untuk pengujian masukan keypad 43 Gambar 4.12. Instruksi pengujian masukan saklar 45
Gambar 4.13. (a). Masukan saklar 0 'on' 46
Gambar 4.13. (b). Masukan saklar 2 'on' 47
xvii
Tabel 2.2. Konfigurasi pengaturan port I/O 11
Tabel 2.3. Pin-pin pada LCD dan fungsinya 19
Tabel 3.1. Tabel logika digital untuk keypad matriks 3x4 22
Tabel 3.2. Tabel kebenaran IC 74ls47 26
Tabel 3.3. Konfigurasi pin LCD dan mikrokontroler atmega 8535 28 Tabel 3.4. Kombinasi masukan ADC dengan tiga penampil 31 Tabel 3.5. Kombinasi masukan saklar dengan tiga penampil 34 Tabel 3.6. Kombinasi masukan keypad dengan tiga penampil 35
Tabel 4.1. Data pengujian masukan saklar 40
Tabel 4.2. Data pengujian masukan ADC 42
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Mikrokontroler adalah otak dari suatu sistem elektronika, seperti
halnya mikroprosesor sebagai otak komputer. Mikrokontroler tersedia dalam
berbagai macam pilihan, tergantung keperluan dan kemampuan yang
dimilikinya. Mikrokontroler AVR ATMega 8535 adalah salah satu jenis
mikrokontroler yang paling sering digunakan, karena mudah didapatkan dan
murah, juga karena fasilitasnya yang lengkap.
Sebagai tindak lanjut dari apa yang sudah diuraikan pada alinea
sebelumnya, penulis ingin membuat sebuah alat yang mampu mempermudah
pemahaman tentang mikrokontroler AVR ATMega 8535 beserta
fitur-fiturnya. Adapun alat yang akan dibuat menggunakan komunikasi serial.
Masukan berupa masukan analog yaitu potensiometer, masukan keypad
matriks, dan saklar. Penampil yang digunakan berupa LCD, 7 segmen, dan
LED.
Alat ini dirancang untuk bekerja dengan beragam pilihan masukan
dan penampil. Masukan dan penampil yang digunakan tergantung pilihan
pengguna. Masukan dan penampil tersebut dihubungkan ke mikrokontroler
dengan kabel. Dengan mekanisme kerja ini, alat ini akan membantu
pengguna untuk lebih memahami cara kerja mikrokontroler AVR ATMega
8535 dengan cara yang lebih mudah karena fungsinya akan terlihat nyata.
1.2. Tujuan dan Manfaat Penelitian
Tujuan penelitian ini adalah untuk membuat sebuah modul trainer
mikrokontroler AVR ATMega 8535 dengan fitur-fiturnya dan dengan pilihan
variasi masukan dan penampil yang dapat dikombinasikan pengguna sesuai
keinginannya. Manfaat dari penelitian ini adalah membantu mempermudah
pengguna dalam mempelajari dan memahami mikrokontroler AVR ATMega
8535 beserta fitur-fiturnya dan kemudian dapat menggunakannya dalam
merancang alat lain yang menggunakan mikrokontroler AVR ATMega 8535.
1.3. Batasan Masalah
Modultrainermikrokontroler AVR ATMega 8535 ini menggunakan
tiga jenis penampil dan tiga jenis masukan, yaitu:
a Tiga buah masukan analog potensiometer.
b Delapan buah masukan saklar on/off.
c Masukan keypad matriks 3x4.
d Delapan buah penampil LED.
e Penampil LCD.
f Penampil 7 segmen.
Program yang digunakan sistem ini menggunakan beberapa fitur,
antara lain:
a I/ O
b ADC
c Komunikasi Serial.
1.4. Metodologi Penelitian
Metode penelitian yang digunakan dalam melakukan perancangan
dan pembuatan alat dalam Tugas Akhir ini adalah sebagai berikut:
a Studi Pustaka
Dilakukan dengan mencari dan membaca bahan-bahan referensi
berupa literatur, artikel, jurnal, ataupun diktat kuliah yang berbentuk
softcopymaupunhardcopy.
b Perancangan dan Pembuatan Alat
Melakukan perancangan dan pembuatan modul trainer
c Pengujian dan Analisa
Pada tahap ini, dilakukan pengujian terhadap alat yang sudah
dibuat dan analisa hasil pengujian.
d Laporan dan Kesimpulan
Hasil yang sudah didapatkan dari tiga tahap sebelumnya kemudian
BAB II
DASAR TEORI
Modultrainer Mikrokontroler AVR ATMega 8535 adalah alat yang dibuat
untuk membantu pemahaman pengguna akan fitur-fitur dan cara kerja
mikrokontroler AVR ATMega 8535. Untuk membantu sistem ini
mendemonstrasikan cara kerja mikrokontroler AVR ATMega 8535, dibutuhkan
rangkaian masukan yang terdiri dari rangkaian saklar, rangkaian masukan analog
berupa potensiometer, dan rangkaian masukan keypad matriks 3x4. Data masukan
dari rangkaian masukan tersebut kemudian akan diproses oleh mikrokontroler dan
ditampilkan dengan bantuan penampil berupa rangkaian LED, rangkaian
penampil 7 segmen, dan rangkaian LCD 16 x 2. Rangkaian yang digunakan di
atas akan dibahas pada bagian berikut.
2.1. Mikrokontroler AVR ATMEGA 8535
Mikrokontroler AVR ATMega 8535 adalah salah satu jenis
mikrokontroler buatan ATMEL yang mudah didapatkan dan murah. Adapun
blok diagram fungsional AVR ATMega 8535 adalah sebagai berikut dapat
dilihat pada gambar 2.1.
Pada gambar 2.1 dapat dilihat bagian-bagian AVR ATMega 8535 yaitu
32 jalur I/O (input/ output), ADC 10 bit 8 saluran, 3 buah timer/ counter,
watchdog timer dengan oscillator internal, port USART untuk komunikasi
serial, dll.
2.1.1. Fitur AVR ATMega 8535
Fitur-fitur standar yang dimiliki AVR ATMega 8535 adalah sebagai
berikut:
a) Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan
maksimal 16 MHz.
b) Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan
EEPROM sebesar 512 byte.
c) Portal komunikasi serial (USART) dengan kecepatan maksimal
2.5Mbps.
d) ADC internal dengan fidelitas 10 bit sebanyak 8channel.
2.1.2. Konfigurasi Pin Mikrokontroler ATMEGA 8535
Konfigurasi pin AVR ATMega 8535 dapat dilihat pada gambar 2.2
berikut dan keterangan tentang pin dan fungsi masing-masingnya dapat
dilihat setelahnya.
Gambar 2.2 Konfigurasi pin AVR ATMega 8535.[2]
a) VCC. Pin yang berfungsi sebagai catu daya.
b) GND. Pinground.
c) Port A (PA0...PA7). Pin I/O dua arah dan pin masukan ADC.
d) Port B (PB0...PB7). Pin I/O dua arah dan pin fungsi khusus, yaitu
e) Port C (PC0...PC7). Pin I/O dua arah dan pin fungsi khusus , yaitu
TWI, komparator analog, dantimer oscillator.
f) Port D (PD0...PD7). Pin I/O dua arah dan pin fungsi khusus, yaitu
komparator analog, interupsi eksternal, dan komunikasi serial.
g) RESET. Pin yang digunakan untuk me-resetmikrokontroler.
h) XTAL1. Pin masukan ke penguat inverting oscillator dan pin
masukanclock eksternal.
i) XTAL2. Pin keluaran dari penguatinverting oscillator.
j) AVCC. Pin masukan tegangan untuk ADC.
k) AREF. Pin masukan tegangan referensi ADC.
2.1.3. Peta Memori
AVR ATMega 8535 memiliki ruang pengalamatan memori data
dan memori program yang terpisah.[1]
2.1.3.1Memori Data
Memori data terbagi menjadi tiga bagian, yaitu 32 buah
register umum, 64 buah register I/O, dan 512 byte SRAM
internal.
Register umum menempati space data pada alamat $00
sampai $1F. Register khusus untuk menangani I/O dan kontrol
mikrokontroler menempati 64 alamat berikutnya, yaitu $20
hingga $5F. Register ini digunakan untuk mengatur peripheral
mikrokontroler, seperti kontrol register, timer/ counter,
fungsi-fungsi I/O, dsb. Alamat memori yang tersisa yaitu $60 sampai
$25F digunakan untuk SRAM 512 byte.
2.1.3.2 Memori Program
Memori program yang terletak dalam Flash PEROM
tersusun dalam word atau 2 byte karena tiap instruksi memiliki
lebar 16 bit atau 32 bit. AVR ATMega 8535 memiliki 4 KbyteX
16 bit flash PEROM dengan alamat mulai dari $000 sampai
sehingga mampu mengalamati isi flash. Selain itu, AVR
ATMega 8535 juga memiliki memori data berupa EEPROM 8
bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000
sampai $1FF.
2.1.4. ADC
ATMega8535 merupakan tipe AVR yang dilengkapi 8 saluran
ADC internal dengan fidelitas 10 bit. Proses inisialisasi ADC meliputi
proses penentuan clock, tegangan referensi, format output data, dan
mode pembacaan. Register yang perlu diset nilainya adalah ADMUX
(ADC Multiplexer Selection Register), ADCSRA (ADC Control and
Status Register A), dan SFIOR (Special Fungtion IO9Register).[1]
ADMUX merupakan register 8 bit yang berfungsi menentukan
tegangan referensi ADC, format data output, dan saluran ADC yang
digunakan.
Gambar 2.3. Register ADMUX
Bit penyusunnya dapat dijelaskan sebagai berikut:
1. REFS [1..0] merupakan bit pengaturan tegangan referensi ADC
ATMega8535. Memiliki nilai awal 00 sehingga referensi tegangna
berasal dari pin AREF. Untuk nilai yang lain dapat dilihat pada tabel
2.1.
Tabel 2.1. Pemilihan mode tegangan referensi ADC
2. ADLAR merupakan bit pemilih mode data keluaran ADC. Bernilai
register ADCH dan 8 bit sisanya berada di register ADCL, seperti
gambar 2.4. jika bernilai 1 maka hasilnya seperti pada gambar 2.5.
Gambar 2.4. Format data ADC dengan ADLAR = 0
Gambar 2.5. Format data ADC dengan ADLAR = 1
3. MUX [4...0] merupakan bit pemilih saluran pembaca ADC. Bernilai
awal 0000. Untuk mode single ended input. MUX[4...0] bernilai
0000 – 1111.
ADCRA merupakan register 8 bit yang berrfungsi melakukan
manajemen sinyal kontrol dan status dari ADC. Bit penyusunnya dapat
dijelaskan dengan gambar 2.6 dan penjelasan baerikutnya.
Gambar 2.6. Register ADCRA
a. Bit 7 – ADEN:ADC Enable.
Merupakan bit pengatur aktivitas ADC. Bernilai awal “0”, jika
benilai “1” maka ADC Aktif.
b. Bit 6 – ADSC:ADC Start Conversion.
Merupakan bit penanda mulainya konversi ADC. Bernilai awal “0”,
selama konversi ADC akan bernilai “1”. Sedangakan jika konversi
telah selesai, akan bernilai 0.
c. Bit 5 – ADFR:ADC Free Running Select.
Merupakan bit pengatur aktivasi picu otomatis operasi ADC.
Bernilai awal “0”. Jika di-set “1”, maka operasi konversi ADC
d. Bit 4 – ADIF:ADC Interrupt Flag.
Merupakan bit penanda akhir suatu konversi ADC. Bernilai awal
“0”. Jika bernilai awal “1”, maka konversi ADC pada suatu saluran
telah selesai dan siap diakses.
e. Bit 3 – ADIE:ADC Interrupt Enable.
Merupakan bit pengatur aktivitas interupsi yang berhubungan
dengan akhir konversi ADC. Bernilai awal “0”. Jika bernilai “1” dan
jika sebuah konversi ADC telah selesai, maka sebuah interupsi akan
dieksekusi.
f. Bit 2:0 – ADPS2:0: ADC Prescaler Select bit.
Merupakan bit pengaturclockADC. Bernilai awal 000.
Dalam proses pembacaan hasil konversi ADC, dilakukan
pengecekan terhadap bit ADIF (ADC Interrupt Flag) pada register
ADCSRA. ADIF akan bernilai satu jika konversi sebuah saluran ADC
telah selesai dilakukan dan data hasil konversi siap untuk diambil, dan
demikian sebaliknya. Data disimpan dalam dua buah register, yaitu
ADCH dan ADCL.[1]
Masukan analog ADC tegangan (Vin) harus lebih besar dari 0V
dan lebih kecil daripada tegangan referensi (Vref). Masukan ADC
dihubungkan dengan konfigurasi potensio yang dihubungkan dengan
VCC dan GND untuk memperoleh rentang masukan analog. Untuk
hasil kalkulasi, ADC dapat diperoleh dengan rumus berikut:
ℎ = ∗255
Jika yang dipakai 8 bit ADC, maka rentang output yang mungkin
dihasilkan adalah dari 0 sampai 255 (8 bit = 28 = 256). Jika masukan
analog ADC adalah 0V, maka keluaran hasil konversi adalah 0. Jika
masukan analog sama besarnya dengan Vref,maka hasil keluaran
hasil konversi adalah 128. Jika yang dipakai 10 bit ADC, maka rentang
output yang dihasilkan adalah dari 0 sampai 1023.[1]
2.1.5. Port I/ O
ATmega8535 mempunyai 32 pin I/O dan dikelompokan menjadi
empat buah port yang bernama PortA, PortB, PortC, dan PortD. Port
I/O pada mikrokontroler ATMega8535 dapat berfungsi sebagai
masukan atau keluaran, sesuai dengan pengaturan yang digunakan.
Untuk mengatur port I/O sebagai masukan atau keluaran perlu
dilakukan pengaturan pada DDR dan port.[1]
Tabel 2.2. Konfigurasi Pengaturan Port I/O
DDR bit = 1 DDR bit = 0
Port bit = 1 Output High Input pull-up
Port bit = 0 Output Low Input floating
2.1.6. Komunikasi Serial USART
Universal Synchronous and Asynchronous Serial Receiver and
Transmiter (USART) pada ATMega 8535 memiliki beberapa
keuntungan dibandingkan sistem UART, yaitu: operasi full duplex,
mode operasi sinkron dan asinkron, mendukung komunikasi
multiprosesor, dan mode kecepatan transmisi berorde Mbps.[1] Dalam
proses inisialisasinya, ada beberapa register yang diset nilainya, yaitu:
1. UBRR (USART Baud Rate Register)
UBRR merupakan register 16 bit yang berfungsi melakukan
penentuan kecepatan transmisi data yang akan digunakan. UBRR
dibagi menjadi dua, yaitu UBRRH dan UBRRL, seperti yang
terlilhat pada gambar 2.7 berikut.
Bit penyusunnya dijelaskan sebagai barikut:
a) URSEL merupakan bit pemilih antara akses UBRR dan
UCSRC, yang perlu dilakuan karena keduanya menempati
lokasi yang sama. Untuk akses UBRR, bit bernilai 0.
b) UBRR[11...0] merupakan bit penyimpan konstanta kecepatan
komunikasi serial. UBRRH menyimpan 4 bit tertinggi data
seting baud rate dan UBRRL menyimpan 8 bit sisanya.
2. UCSRB (USART Control and Status Register B).
Merupakan register 8 bit pengatur aktivasi penerima dan
pengiriman USART. Komposisinya seperti gambar 2.8 berikut.
Gambar 2.8. Register UCSRB
a) RXCIE mengatur aktivasi interupsi penerimaan data serial.
Bernilai awal 0 sehingga proses penerimaan data berdasar pada
sistem pooling. Jika bernilai 1 dan jika bit RXC pada UCSRA
bernilai 1, interupsi penerimaan data serial akan dieksekusi.
b) TXCIE mengatur aktivasi interupsi pengiriman data serial.
Bernilai awal 0. Jika bernilai 1 dan jika bit TXC pada UCSRA
bernilai 1, interupsi pengiriman data serial akan dieksekusi.
c) UDRIE mengatur aktivasi interupsi yang berhubungan dengan
kondisi bit UDRE pada UCSRA. Bernilai awal 0. Jika bernilai 1,
maka interupsi akan terjadi hanya jika bit UDRE bernilai 1.
d) RXEN merupakan bit aktivasi penerima serial ATMega 8535.
Bernilai awal 0. Jika bernilai 1, maka penerima data serial
diaktifkan.
e) TXEN merupakan bit aktivasi pengirim serial ATMega 8535.
Bernilai awal 0. Jika bernilai 1 maka pengirim data serial
diaktifkan.
f) UCSZ2 bersama dengan bit UCSZ1 dan UCSZ0 di register
3. UCSRC (USART Control and Status Register C).
Merupakan register 8 bit yang digunakan untuk mengatur
mode dan kecepatan komunikasi serial yang dilakukan.[1]
Komposisinya seperti gambar 2.9.
Gambar 2.9. Register UCSRC.
Bit penyusunnya dapa dijelaskan sebagai berikut:
a) URSEL merupakan bit pemilih antara akses UCSRC dan
UBRR.
b) UMSEL merupakan bit pemilih mode komunikasi serial antara
sinkron dan asinkron.
c) UPM[1...0] merupakan bit pengatur paritas.
d) USBS merupakan bit pemilih ukuran bit stop.
e) UCSZ1 dan UCSZ0 merupakan bit pengatur jumlah karakter
serial.
f) UCPOL merupakan bit pengatur hubungan antara perubahan
data keluaran dan data masukan serial dengan clock
sinkronisasi.
Proses pengiriman data serial dilakukan per byte data dengan
menunggu register UDR yang merupakan tempat data serial akan
disimpan menjadi kosong sehingga siap ditulis dengan data yang baru.
Proses tersebut menggunakan bit yang ada pada register UCSRA,
yaitu bit UDRE (USART Data Register Empty). Bit UDRE merupakan
bit indikator kondisi register UDR. Jika UDRE bernilai 1, berarti UDR
telah kosong dan siap diisi dengan data yang baru.[1]
Proses penerimaan data serial dilakukan dengan mengecek nilai
RXC (USART Receive Complete) pada register UCSRA. RXC akan
bernilai nol jika tidak. Jika penerima USART diaktifkan, maka bit akan
selalu barnilai nol.[1]
2.2. Transistor
Transisitor dua kutub (Bipolar Junction Teransistor, BJT) adalah
sebuh piranti dari bahan semikonduktor, yang terdiri dari dua jenis yaitu NPN
dan PNP, yang secara simbolik dapat dibedakan dengan memperhatikan arah
panahnya. Ketiga daerah bahan semikonduktor tersebut masing-masing
dihubungkan dengan terminal sebagai kolektor (c), basis (b), dan emitter (e).
Transistor berfungsi sebagai penguat apabila bekerja pada daerah aktif, dan
sebagai saklar bila berada dalam keadaan terpancung (cut off) atau kedaan
jenuh (saturation).[3]
Transistor dua katub atau Bapilor Juntion Transistor dapat
dioperasikan dalam tiga operasi yaitu :
a. Daerah aktif atau arus konstan (IC=βIB)
Pada daerah ini arus kolektor ICdianggap tetap untuk dinilai IBtertentu,
ICtidak brubah walaupunVCCbertambah.
b. Daerah jenuh atau saturasi (IC≠ βIB)
BilaVCEterlalu kecil, maka transistor masuk kedaerah operasi jenuh atau
saturasi. Pada daerah ini karakteristik sangat curam dan dapat dikatakan
vertical. Nilai VCE untuk masukan daerah jenuh adalah sekitar 0.2 volt
sampai 0.3 volt (VCkeVE). Pada daerah ini (IC≠ β.IB).
c. Daerah terpacung ataucutt off
Saat IB= 0, tegangan transistor masuk daerah terpancung. Kaki basis ke
emitor tidak lagi bertentangan maju. Akibatnya IC = 0, untuk VCE
berapapun.
Gambar 2.10. Daerah kerja ransistor.
Gambar 2.11. Rangkaian dasar transistor.
Pada gambar 2.11, VBE adalah tegangan pada lapisan pengosongan
emitter yang besarnya 0,7 volt untuk bahan silikon. Jika VBB < VBE maka
dapat dianggap kaki basis-emiter diberi bias balik dan arusIB= 0, sehinggaIE
= IC, VCE = VCC, keadaan transistor yang demikian disebut terpancung.[3]
Tetapi jikaVBB>VBE, akan mengalir alur basis (IB) yang besarnya :
= − (2.1)
dan membuat transistor dalam kedaan jenuh (saturasi). Kedaan ini akan
menyebabkan arus kolektor (IC) mengalir ke emiter malalui basis yang
besarnya :
Dalam keadaan jenuh, tegangan antara kolektor dan emitter (VCE) = 0
volt, sehingga dapat dianggap VC= 0 volt. Arus emiter (IE) yang mengalir
adalah :
= + (2.3)
Pada transistor bipolar terjadi penguatan arus dengan faktor penguatan (βatau
hFE) yaitu
= (2.4)
Nilai β menyebabkan transistor dapat mengalirkan arus kolektor (IC)
yang lebih besar meskipun arus basis (IB) kecil, akan tetapi setiap transistor
mempunyai batasan arus minimal dan maksimal yang berbeda-beda.
2.3. Matriks Keypad
Matriks Keypad 3×4 merupakan susunan 16 tombol membentuk
keypad sebagai sarana masukan ke mikrokontroler, meskipun jumlah tombol
ada 12 tapi hanya memerlukan 7 jalur port paralel. Jalur keluaran keypad
tersebut terdiri dari 4 baris dan 3 kolom, prinsip dasar dari pembacaan keypad
ini adalah dengan menggunakanscanning secara terus menerus. Bagian yang
di-scanningadalah kolom sedangkan baris digunakan untuk menentukan data
yang dihasilkan. Misalnya pada saat scanning ternyata posisi kolom K1
terhubung dengan B1 maka data yang dikeluarkan adalah angka 1. Untuk
lebih jelasnya, gambar rangkaian matriks 3x4 adalah seperti pada gambar
2.12 berikut.
LED Rs Vs
Untuk aplikasi dengan mikrokontroler, keypad 3x4 dapat dihubungkan
dengan 1 buah port mikrokontroler menggunakan sistem scanning. Dan
karena keypad berupa saklar yang menghubungkan pin-pin pada kaki mikro
dengan tahanan 0 ohm maka harus ditambahkan resistor dengan nilai tertentu
untuk mencegah kerusakan pada mikro tersebut.
2.4. LED
LED pada umumnya mempunyai penurunan tegangan dari 1,5 V
sampai dengan 2,5 V dan dengan arus antara 10 sampai 50mA. Cahaya LED
tergantung dari arusnya, dengan memberi tegangan yang cukup besar dan
resistansi seri yang besar dapat membuat lebih terang.[3] Rangkaian LED
seperti terlihat pada gambar 2.13
Gambar 2.13. Rangkaian LED
Untuk menghitung arus LED dapat digunakan persamaan :
(2.5)
Dimana: VLED = penurunan tegangan LED (Volt)
VS = tegangan sumber (Volt)
Rs = resistor yang tersusun seri dengan LED (Ohm)
Makin besar tegangan sumber, makin kecil pengaruh VLED. Dengan kata lain
VSyang besar menghilangkan pengaruh perubahan tegangan VLED. Biasanya,
arus LED ada di antara 10mA sampai 50mA karena pada rentang ini
memberikan cahaya yang cukup untuk banyak pemakai.[3] [5]
2.5. Penampil 7 Segmen
Seven segmen mempunyai dua buah tipe, yaitu: common anode dan
common cathode. Kedua jenis penampil 7 segmen tersebut memiliki
karakteristik yang hampir sama. Perbedaan pada keduanya adalah pada
penyambungan ketujuh kaki-kaki LED. Pada common anode, seluruh anoda
dari ke tujuh LED disambung menjadi satu, sedangkan pada common
cathode, seluruh katoda dari ketujuh LED disambung menjadi satu.
LED digunakan untuk mengubah arus listrik, sehingga untuk
menyalakan salah satu segmen dari tampilan arus listrik harus diarahkan ke
anoda dari segmen yang dimaksud. Kondisi high akan membuat LED pada
kondisi “off” dan sebaliknya kondisi low akan membuat LED pada kondisi
“on”. Ketujuh kaki-kaki LED atau yang sering disebut segmen diberi label
dari a sampai g. Kondisi tiap segmen diatur sedemikian sehingga kombinasi
LED yang diset “on” akan membentuk karakter yang ingin ditampilkan.
Gambar 2.14. Seven Segmen Display
2.6. LCD
LCD (Liquid Crystal Display)adalah suatu tampilan dari bahan cairan
dalam berbagai aplikasi elektronik sering digunakan sebagai tampilan seperti
jam digital,kalkulator, telepon dan sebagainya.
Dimensi LCD yang akan digunakan dalam perancangan memiliki
ukuran 2 x 16. Ukuran tersebut menandakan bahwa LCD memiliki layar
tampilan yang terdiri dari 2 baris dan 16 kolom. Total jumlah karakter yang
dapat ditampilkan adalah sebanyak 32 karakter dengan 16 karakter pada tiap
baris dan masing-masing karakter tersusun dari titik-titik (dot) yang memiliki
ukuran 8 x 5 titik.
Pada penggunaan LCD ada beberapa pin yang penting. Pin-pin tersebut
dapat dilihat pada tabel 2.3.[9]
Tabel 2.3. Pin-pin pada LCD dan fungsinya.
Pin Fungsi
D0….D7 I/O data
E Untuk mengaktifkan LCD, maka E diberi logika tinggi.
E = ‘1’LCD aktif
W
R/ Pemilihan instruksi baca dan tulis LCD ‘0’ = Tulis ke LCD
‘1’ = Baca dari LCD
RS Pemilih register
‘0’ = register instruksi (write) dan address counter (read)
aktif.
‘1’ = dataregister (write dan read)aktif.
VCC Catu daya LCD (+5V)
BAB III
PERANCANGAN ALAT
Perancangan modul trainer mikrokontroler atmega 8535 dibagi ke dalam
dua tahapan yaitu perancangan perangkat keras dan perancangan perangkat lunak.
Perancangan perangkat keras dibagi lagi menjadi tiga bagian utama, yaitu
perancangan unit masukan, perancangan unit pemroses, dan perancangan unit
penampil. Unit masukan terdiri dari rangkaian masukan analog berupa
potensiometer, rangkaian keypad matriks, dan rangkaian saklar. Unit pemroses
adalah rangkaian mikrokontroler. Sedangkan unit penampil terdiri dari rangkaian
8 buah LED, rangkaian 4 buah penampil 7 segmen, dan rangkaian penmpil LCD.
Perancangan perangkat lunak berupa flowchart program yang akan diisikan ke
dalam mikrokontroler. Sistem ini menggunakan modul komunikasi serial K125
(USB). Adapun diagram blok sistem terlihat seperti pada gambar 3.1 berikut.
Gambar 3.1. Diagram blok trainer mikrokontroler AVR ATMega 8535
3.1. Perancangan Unit Masukan
3.1.1. Rangkaian Keypad Matriks
Rangkaian matriks keypad yang digunakan adalah matriks keypad
3x4, yang artinya terdiri dari 3 kolom dan 4 baris. Gambar blok
diagram keypad matriks 3x4 dan mikrokontroler dapat dilihat pada
gambar 3.2. berikut.
KET: PX= port X
Gambar 3.2. Blok Diagram keypad matriks dan port masukan AVR ATMega
8535
Pada tiap-tiap kaki keypad ditambahkan resistor 1 kohm untuk
mencegah kerusakan pada mikrokontroler.
Pada perancangan sistem ini, kombinasi baris dan kolom diubah
menjadi karakter angka dengan tujuan memperjelas masukan dan
keluaran yang akan ditampilkan. Adapun pembacaan data pada keypad
Tabel 3.1. Tabel logika digital untuk keypad matriks 3x4
karakter kombinasi K1 K2 K3 B1 B2 B3 B4
1 K1/B1 0 1 1 0 1 1 1
Pada tabel 3.1, pembacaan bertipe aktif rendah, artinya untuk
mengaktifkan baris atau kolom yang diinginkan, maka data yang
diberikan adalah nol.
PX.7...PX.0 adalah port masukan pada mikrokontroler. Port yang
digunakan tergantung keinginan pengguna, bisa menggunakan port A,
port B, port C, atau port D.
3.1.2. Rangkaian Masukan Saklar
Saklar yang digunakan adalah saklar on/ off. Pada tiap saklar
ditambahkan resistor 1kohm untuk mencegah kerusakan pada
Gambar 3.3. Rangkaian masukan saklar.
Dua buah LED yang ditambahkan pada setiap saklar seperti yang
terlihat pada gambar 3.3 berfungsi sebagai indikator, dalam artian
sebagai penanda kerja saklar. Saat logika 0, LED pada rangkaian logika
0 akan menyala, demikian sebaliknya saat logika 1, LED pada
rangkaian logika 1 yang akan menyala.
3.1.3. Rangkaian Masukan Potensiometer
Rangkaian yang terlihat pada gambar 3.4 berikut adalah rangkaian
masukan analog potensiometer. Potensiometer yang digunakan adalah
potensiometer 10kohm.
3.2.Perancangan Unit Penampil
3.2.1. Rangkaian LED
Rangkaian pada gambar 3.5 adalah rangkaian LED yang digunakan
sebagai penampil kerja mikrokontroler. Rangkaian ini menggunakan
transistor H8050.
Berdasarkan dasar teori LED dan datasheet H8050[7], maka dapat
ditentukan bahwa arus LED/ ILED=15mA, tegangan LED/ VLED=1.5V,
dan Vcc (catu daya)=5V. Untuk keluaran dengan logika rendah, LED
akan tetap mati, karena tegangan keluaran(VBB) saat logika rendah
adalah 0V (ideal) yang mana lebih kecil dari tegangan VBE (0.7V).
Sedangkan untuk keluaran dengan logika tinggi (VBB=5V), maka akan
mengalir arus basis IB dan membuat transistor dalam keadaan jenuh
(saturasi). Saat saturasi, IC mengalir melalui basis. Dengan arus LED
yang dibutuhkan sebesar 15 mA, maka
= −
= 5 −0.5
15 = 300 ℎ
Resistor yang digunakan adalah 320ohm karena nilainya mendekati
300ohm. Gambar rangkaiannya menjadi seperti sebagai berikut.
Gambar 3.5. Rangkaian LED
Untuk perancangan trainer mikrokontroler AVR ATMega 8535
rangkaian 8 buah LED tersebut adalah seperti yang terlihat pada gambar
3.6 .
Gambar 3.6. Rangkaian keluaran 8 LED
3.2.2. Rangkaian Penampil 7 Segmen
Trainer mikrokontroler AVR ATMega 8535 juga menggunakan
penampil 7 segmen sebagai penampil keluaran mikrokontroler.
Rangkaian ini terdiri dari 4 buah penampil 7 segmen dan IC 74ls47
yang berfungsi sebagai pengubah BCD ke 7 segmen. Gambar diagram
koneksi IC 74ls47 adalah seperti pada gambar di bawah.
Tabel 3.2. Tabel kebenaran IC 74ls47[8]
Gambar 3.8. Rangkaian penampil 7 segmen
Rangkaian 7 segmen yang digunakan pada sistem ini menggunakan
digunakan dan untuk membentuk karakter keluaran mikrokontroler
dikondisikan seperti pada tabel kebenaran 3.2.
3.2.3. LCD
Seperti yang sudah diketahui sebelumnya, LCD yang digunakan
adalah LCD 16x2. LCD harus dihubungkan dengan mikrokontroler,
karena pemberian instruksi LCD dilakukan oleh mikrokontroler. Untuk
membuat aplikasi interface LCD, pemilihan mode operasi dibuat
berdasarkan kebutuhan. Untuk perancangan kali ini, digunakan mode 4
bit karena kecepatan bukan hal yang utama. Mode operasi ini
membutuhkan 7 pin, 3 pin untuk kontrol, dan 4 pin untuk data.
Gambar rangkaiannya dapat dilihat pada gambar 3.9. sedangkan
hubungan pin LCD dan mikrokontroler dapat dilihat pada tabel 3.3.
Tabel 3.3. Konfigurasi pin LCD dan mikrokontroler
Pin LCD PORT Mikrokontroler
RS PX.4
Setiap mikrokontroler mempunyai fasilitas osilator yang berfungsi
untuk mengendalikan mikrokontroler dengan periode clock. Pengaturannya
terletak pada jenis kristal yang digunakan dan diletakan diantara pin XTAL1
dan pin XTAL2. Seperti gambar 3.10.
Gambar 3.10. Rangkaian Osilator
3.4. Rangkaian Reset
Mikrokontroler dapat direset saat mengeksekusi program. Antara pin
reset dengan VCC diberi sebuah resistor sedangkan antara pin reset dengan
ground diberi sebuah kapasitor hal tersebut untuk menjaga reset dengan
keadaan logika tinggi. Jika kapasitor terisi penuh maka tegangan pada reset
Gambar 3.11. Rangkaian Reset
Tombol yang dipasang paralel dengan kapasitor berfungsi untuk
melakukan reset secara manual pada saat program sedang berlangsung. Saat
tombol ditekan maka terjadi pengosongan kapasitor dan reset berlogika tinggi,
sedangkan saat tombol dilepas tegangan pada reset menjadi nol dan reset
berlogika rendah.
3.5. Perancangan Perangkat Lunak
Sesuai dengan tujuan pembuatan alat ini, yaitu mempermudah
pemahaman tentang mikrokontroler AVR ATMega 8535, pembuatan
program pada sistem ini bertujuan menunjukkan cara kerja AVR ATMega
8535. Program yang akan dibuat digambarkan dalam diagram alir umum pada
gambar 3.12.
Berdasarkan diagram alir program utama pada gambar 3.12,
perancangan perangkat lunak sistem ini dibagi ke dalam tiga bagian, yaitu
pemrograman dengan masukan analog potensiometer, pemrograman dengan
masukan digital saklar, dan pemrograman dengan masukan keypad matriks.
3.5.1. Pemrograman Dengan Masukan Analog Potensiometer
Program pada mikrokontroler yang digunakan pada bagian ini
adalah program yang mengolah data masukan dari masukan
potensiometer untuk kemudian ditampilkan oleh LED, LCD, dan 7
segmen secara berurutan. Flowchart bagian ini dapat dilihat pada
gambar 3.13.
Gambar 3.13. Diagram alir program masukan potensiometer
Masukan analog potensiometer adalah masukan dengan data
analog. Jadi untuk menghubungkannya dengan mikrokontroler
digunakan port masukan ADC. Port masukan ADC pada
mikrokontroler adalah port A [PA.7...PA.0].
Masukan potensio ini menggunakan tegangan referensi sebesar
5V. Dengan menghubungkan potensiometer dengan port masukan
ADC, maka data keluaran mikrokontroler akan menjadi data keluaran
digital, yang mana akan dapat ditampilkan oleh keluaran. Adapun data
a) Keluaran LED
Pada sistem ini, digunakan 8 buah LED. Bentuk tampilan LED
yang diinginkan pada bagian ini selengkapnya dapat dilihat pada
tabel 3.4 berikut.
Tabel 3.4. Tabel kombinasi masukan ADC dengan tiga tampilan.
Lanjutan tabel 3.4. Tabel kombinasi masukan ADC dengan tiga tampilan.
Tampilan LED menampilkan nilai biner dari hasil konversi.
Adapun MSB biner keluaran LED adalah pada PX.7 dan seterusnya
hingga LSB pada PX.0. LED dihubungkan dengan port B
[PB.7...PB.0].
b) Keluaran LCD
Data yang ditampilkan LCD pada bagian ini adalah hasil
konversi pada baris pertama dan besarnya tegangan masukan
referensi dari potensio dengan tingkat ketelitian satu angka di
belakang koma pada baris kedua. Selengkapnya dapat dilihat pada
tabel 3.4. LCD dihubungkan dengan port C [PC.7...PC.0].
c) Keluaran 7 Segmen
Seven segmen juga menampilkan besar tegangan masukan.
pada tabel 3.4. Rangkaian 7 segmen dihubungkan dengan port D
[PD.7...PD.0].
3.5.2. Pemrograman Dengan Masukan Digital Saklar
Program pada mikrokontroler yang digunakan pada bagian ini
adalah program yang mengolah data masukan dari masukan digital
saklar untuk kemudian ditampilkan oleh LED, LCD, dan 7 segmen
secara berurutan. Flowchart bagian ini dapat dilihat pada gambar 3.14.
Gambar 3.14. Diagram alir program masukan saklar
Pada sistem ini, saklar yang digunakan berjumlah 8 buah. Saklar
dihubungkan dengan port A [PA.7...PA.0]. Bentuk keluaran yang
diinginkan adalah sebagai berikut.
a) Keluaran LED
Data yang ditampilkan LED adalah data saklar mana yang
yang berada pada posisi ‘on’. Misalkan saklar 1 on maka LED 1
nyala, saklar 2 on maka LED 2 nyala, dan seterusnya.
Selengkapnya dapat dilihat pada tabel 3.5. LED dihubungkan
dengan port D [PD.7...PD.0].
b) Keluaran LCD
Data yang ditampilkan LCD sama seperti pada LED, misalkan
LCD dihubungkan dengan port C [PC.7...PC.0]. Tampilan pada
LCD dengan masukan saklar dapat dilihat pada tabel 3.5.
c) Keluaran 7 Segmen
Data yang ditampilkan penampil 7 segmen sama seperti pada
LCD. Penampil 7 segmen dihubungkan dengan port B
[PB.7...PB.0].
Tabel 3.5. Kombinasi masukan saklar dengan 3 tampilan.
SAKLAR YANG ‘ON’ LED YANG ‘ON’ TAMPILAN LCD 7 SEGMEN
saklar 0 LED 0 s0 0
3.5.3. Pemrograman Dengan Masukan Keypad Matriks
Program pada mikrokontroler yang digunakan pada bagian ini
adalah program yang mengolah data masukan dari masukan keypad
matriks untuk kemudian ditampilkan oleh LED, LCD, dan 7 segmen
secra berurutan. Flowchart bagian ini dapat dilihat pada gambar 3.15.
Keypad matriks yang digunakan adalah keypad matriks 3x4
dengan karakter masukan seperti pada tabel 3.1. Keypad matriks
dihubungkan dengan port A [PA.6...PA.0]. Bentuk tampilan yang
diinginkan adalah seperti pada tabel 3.6.
a) Keluaran LED
Karena yang digunakan pada sistem ini hanya 8 buah LED,
maka tampilan keluarannya adalah keypad B1/K1 diwakili oleh
LED 1, dan seterusnya.kombinasi masukan dan tampilannya dapat
dilihat pada tabel 3.6. LED dihubungkan dengan port C
[PC.7...PC.0]
b) Keluaran LCD
Data yang ditampilkan adalah sama seperti yang ada pada tabel
3.1. Jika B1/K1 yang ditekan maka LCD menampilkan angka 1,
dan seterusnya. Karakter ‘*’ dan ‘#’ akan ditampilkan sebagai 0.
LCD dihubungkan dengan port B [PB.7...PB.0].
c) Keluaran penampil 7 segmen.
Data yang ditampilkan sama seperti pada LCD. Kombinasi
lengkapnya dapat dilihat pada tabel 3.6. Penampil 7 segmen
dihubungkan dengan port D [PD.7...PD.0].
Tabel 3.6. Kombinasi masukan keypad dan 3 penampil
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini, dilakukan pengujian kinerja alat, apakah sesuai dengan
perancangan atau tidak. Dengan pengujian ini, akan didapatkan data-data yang
dapat memperlihatkan cara kerja perangkat keras dan perangkat lunak yang
kemudian akan dianalisis. Hasil analisis akan digunakan sebagai patokan untuk
menyimpulkan keseluruhan proses pengerjaan perangkat keras dan perangkat
lunak.
4.1. IMPLEMENTASI TRAINER MIKROKONTROLER AVR ATMEGA
8535
Hasil implementasi perancangan alat ini adalah seperti yang dapat
dilihat pada gambar 4.1. Sesuai dengan perancangan, trainer ini terdiri dari
tiga jenis masukan dan tiga jenis penampil.
Gambar 4.1. Trainer mikrokontroler atmega 8535
Perlu diketahui sebelum trainer ini digunakan, pemasangan
mikrokontroler adalah seperti yang terlihat pada gambar, jika dipasang
terbalik, maka program yang di-download ke mikrokontroler tidak akan
berjalan, bahkan ada kemungkinan terjadi kerusakan pada mikrokontroler jika
terlalu lalma dibiarkan pada posisi terbalik.
Masukan pertama adalah 8 buah saklar on/ off yang dapat dilihat pada
gambar 4.2. Pada tiap-tiap rangkaian saklar ditambahkan dua buah LED
berwarna merah sebagai indikator kerja saklar. Gambar 4.3 adalah gambar
masukan ADC berupa tiga buah potensiometer. Gambar 4.4 adalah gambar
masukan keypad matriks 3x4.
Penampil pertama pada gambar 4.5 adalah 8 buah LED putih dengan
masing-masing satu buah transistor H8050[7]. Penampil kedua adalah
penampil LCD 2x16 dapat dilihat pada gambar 4.6. Penampil terakhir pada
gambar 4.7 adalah 4 buah seven segmen dengan IC 74ls47 sebagai
pembentuk karakter dan pemilih/selector.
Sebagai otak proses perangkat ini, digunakan mikrokontroler atmega
8535 yangminimum system-nya dapat dilihat pada gambar 4.8.
Gambar4.2 (a).
Saklar tampak depan
Gambar4.2 (b).
Saklar tampak belakang
Gambar 4.4. Masukan keypad matriks.
Gambar4.5(a). Penampil 8 buah LED tampak depan.
Gambar4.5(b). Penampil 8 buah LED tampak belakang.
Gambar 4.7. Penampil 7 segmen.
Gambar 4.8. Minimum system mikrokontroler atmega 8535
4.2. PENGUJIANTRAINERMIKROKONTROLER ATMEGA 8535
Pengujian kinerja trainer ini dilakukan dalam tiga bagian, yaitu
pengujian masukan saklar, pengujian masukan ADC, dan pengujian masukan
saklar. Pada setiap bagian pengujian, digunakan tiga penampil yang ada.
4.2.1 Pengujian Masukan Saklar
Untuk pengujian masukan saklar; port, masukan, dan penampil
dihubungkan sesuai perancangan seperti pada diagram blok pada
gambar 4.9. Garis yang ada pada gambar tersebut adalah simboljumper
yang digunakan untuk menghubungkan masukan dan penampil dengan
port pada mikrokontroler. Pengujian pada bagian ini menghasilkan data
Gambar 4.9. Blok diagram penghubungan masukan dan penampil dengan
mikrokontroler untuk pengujian masukan saklar.
*NB: Pin GND dan R/W pada penampil LCD dihubungkan ke ground.
Dengan membandingkan tabel 3.5 (tabel kombinasi masukan saklar
dengan 3 penampil) pada perancangan dan tabel 4.1 di bawah, terlihat
bahwa masukan saklar, tampilan LED, LCD dan 7 segmen sudah
bekerja dengan baik. Masukan saklar dan tiga penampil sudah bekerja
sesuai dengan perancangan dan juga sesuai dengan program pada
mikrokontroler.
Tabel 4.1. Data pengujian masukan saklar.
SAKLAR YANG ON LED YANG ON TAMPILAN LCD 7 SEGMEN
4.2.3 Pengujian Masukan ADC
Pengujian masukan ADC dilakukan dengan cara yang sama dengan
pengujian masukan saklar. Adapun penghubungan masukan dan
penampil dengan port mikrokontroler sesuai perancangan dapat dilihat
pada gambar 4.10.
Gambar 4.10. Blok diagram penghubungan masukan dan penampil dengan
mikrokontroler untuk pengujian masukan ADC.
*NB: Pin GND dan R/W pada penampil LCD dihubungkan ke ground.
Setelah masukan dan penampil dihubungkan dengan port
mikrokontroler sesuai dengan blok diagram pada gambar 4.10,
dilakukan pengambilan data hasil pengujian yang dapat dilihat pada
tabel 4.2. Data pengukuran tegangan masukan didapat dengan
menggunakan multimeter. Data yang diambil hanya pada tegangan
tertentu karena hanya digunakan sebagai tolok ukur dari keseluruhan
error. Besarnya error dihitung dengan menggunakan rumus di bawah
ini:
% = ℎ −
Lanjutan tabel 4.2. Data pengujian masukan ADC
Data yang ada pada tabel 4.2 sama dengan data perancangan pada
tabel 3.4. Hal ini memperlihatkan bahwa masukan ADC sudah bekerja
sesuai dengan perancangan dan program yang ada pada mikrokontroler.
Error paling besar pada pengukuran tegangan masukan adalah 3 %.
Error ini terjadi karena tegangan referensi pengukuran adalah 4.87V,
tidak sama dengan yang digunakan dalam perhitungan yaitu 5V.
4.2.3 Pengujian Masukan Keypad
Gambar 4.11. Blok diagram penghubungan masukan dan penampil dengan
mikrokontroler untuk pengujian masukan keypad.
Gambar 4.11 di atas adalah gambar blok diagram yang digunakan
sebagai panduan penghubungan masukan dan penampil dengan port
pada mikrokontroler yang sesuai dengan perancangan. Setelah masukan
dan penampil dihubungkan diamati data yang kemudian dijadikan
patokan berhasil atau tidaknya pengujian dengan masukan keypad
matriks 3x4.
Data yang didapat pada pengujian masukan keypad adalah seperti
yang ada pada tabel 4.3. berdasarkan perbandingan dengan tabel
perancangan 3.6 terlihat bahwa data yang didapat pada pengujian
masukan keypad matriks adalah sama.
Kesamaan data perancangan dan pengujian membuktikan bahwa
masukan keypad matriks sudah bekerja dengan baik. Tiga penampil
juga bekerja sesuai perancangan, menandakan bahwa program yang ada
pada mikrokontroler sudah sesuai dengan apa yang diinginkan pada
perancangan.
Tabel 4.3. Data pengujian masukan keypad matriks.
karakter
Hasil pengujian yang dilakukan terhadap tiga masukan di atas adalah
tolok ukur kinerja alat, karena pada tiap bagian pengujian masukan, tiga
pengujian tiga masukan menunjukkan bahwa trainer mikrokontroler atmega
8535 sudah bekerja dengan baik.
4.3. PEMBAHASAN PERANGKAT LUNAK
Untuk pengujiantrainer ini digunakan bahasa basic dengan BASCOM
(basic compiler) AVR. Bahasa basic jadi pilihan penulis karena mudah
dimengerti dan juga mudah digunakan.
4.3.1 Pengujian Masukan Saklar
Gambar 4.12. Instruksi pengujian masukan saklar.
Gambar 4.12 adalah instruksi yang digunakan untuk pengujian
masukan saklar dengan tiga penampil. Instruksi utamanya
menggunakan perintah gosub. Dengan perintah gosub, pembacaan
pertama-tama melompat ke subrutin baca_masukan untuk mengambil
nilai masukan dari Port A.
Setelah membaca masukan program kembali ke titik semula untuk
kemudian melompat ke subrutin keluaran_led untuk menampilkan
masukan saklar pada LED. Instruksi yang digunakan untuk penampil
LED adalah select case, dengan tujuan saat saklar 0 dihidupkan, LED
yang hidup adalah LED L.0, dan demikian dengan saklar yang lain.
Sama seperti pada instruksi gosub sebelumnya, setelah
menampilkan keluaran pada LED, program kembali ke titik sebelumnya
untuk melompat lagi ke subrutin keluaran_lcd. Proses ini hampir sama
juga dengan pada subrutin keluaran_sv, yang merupakan perintah untuk
menampilkan keluaran pada 7 segmen. 7segmen yang digunakan adalah
DS.3. Untuk menampilkan karakter pada DS.3, tinggal memberikan
logika ‘1’ untuk selector 1, misalnya untuk menampilkan karakter 0
pada DS.3 kode binernya adalah 10000000, untuk menampilkan
karakter yang sama pada DS.2 kode binernya adalah 01000000, dan
seterusnya.
Padatrainerpenampilan keluaran terlihat dilakukan pada saat yang
sama karena prosesnya cepat. Contoh gambar masukan saklar yang
hidup dan tampilan pada tiga penampil dapat dilihat pada gambar 4.13
(a) dan gambar 4.13 (b).
Gambar 4.13(b) Masukan saklar 2 ‘on’.
4.3.2 Pengujian Masukan ADC
Gambar 4.14. Instruksi pengujian masukan ADC.
Gambar di atas adalah instruksi yang digunakan untuk pengujian
masukan ADC dari potensiometer dengan tiga penampil. Kombinasinya
sudah dirancang sebelumnya dan dapat dilihat pada tabel 3.4.
Rutin utama program ini sama seperti pada pengujian masukan
saklar, yakni menggunakan perintah gosub. Dengan rutin yang sama
maka cara kerjanya juga sama. Yang berbeda adalah perintah pada
Pada subrutin baca_masukan, masukan ADC yang diambil
disimpan dengan variabel X. Bilangan digital hasil konversi tegangan
masukan adalah bilangan digital selebar 10 bit. Bilangan 10 bit ini
kemudian dijadikan 8 bit dengan perintah shift X, right, 2. Setelah
dijadikan bilangan 8 bit, hasil konversi ADC ditampilkan di LCD pada
baris 1.
Pada subrutin keluaran_led, Port D diberikan bilangan biner dari
hasil konversi ADC. Pada subrutin keluaran LCD, hasil konversi
dibalik kembali menjadi tegangan masukan untuk ditampilkan ke LCD
baris 2. Pada subrutin keluaran_sv, digunakan perintah select case,
dengancasehasil konversi. Pada hasil konversi tertentu, 7 segmen akan
menampilkan karakter, sesuai dengan besar tegangan masukan. Contoh
tampilan dengan masukan ADC adalah pada gambar 4.15 (a) dan 4.15
(b).
Gambar 4.15 (a). Tampilan LCD dan LED dengan masukan 2,49V
Gambar 4.15 (b). Tampilan LCD, LED dan 7 segmen dengan masukan 5V
Pada gambar 4.15(a) tegangan masukan adalah 2.49V yang hasil
konversinya adalah 127. Bilangan biner dari hasil konversinya (127)
adalah 01111111. Pada gambar 4.15(b) tegangan masukan adalah 5V
yang hasil konversinya adalah 255 dengan bilangan biner 11111111
yang ditampilkan pada LED, dan 7 segmen menampilkan besarnya
4.3.3 Pengujian Masukan Keypad
Gambar 4.16. Instruksi pengujian masukan keypad.
Gambar di atas adalah instruksi yang digunakan untuk pengujian
masukan keypad dengan tiga penampil. Rutin utama pembacaan
masukan menggunakan perintah goto dan if then. Dengan perintah ini,
data dari keypad akan disimpan dengan variabel B.
Untuk mengubah data variabel B digunakan perintah lookup().
Data yang sudah dirubah disimpan dengan variabel B1. Kemudian
dengan perintah LCD B1, data ditampilkan di LCD. Untuk tampilan
LED dan 7 segmen, digunakan perintah select case. Degngan perintah
ini, LED dan 7 segmen akan menampilkan karakter sesuai dengan
Contoh penampil pada pengujian masukan keypad matriks dapat
dilihat pada gambar 4.17. Gambar tersebut adalah gambar penampil
saat tombol 4 ditekan.
51 5.1. Kesimpulan
Berdasarkan hasil perancangan dan pengamatan data pengujian pada
trainer mikrokontroler AVR ATMega 8535, dapat diambil kesimpulan:
1) Sistem yang dirancang untuk trainer mikrokontroler AVR ATMega
8535 telah bekerja dengan baik.
2) Jumlah masukan dan penampil yang bisa dioperasikan untuk satu
kali demo hanya 4 buah, sesuai dengan jumlah port pada
mikrokontroler.
5.2. Saran
Untuk penggunaan lebih lanjut, penulis coba memberi beberapa
saran agar alat ini bisa lebih berguna.
1) Ditambahkan komunikasi serial.
2) Trainer ini bisa juga digunakan untuk mikrokontroler lain selain
Penerbit Andi, Yogyakarta, 2006.
[2] Ardi Winoto, “Mikrokontroler AVR Atmega8/ 32/ 16/ 8535 dan
Pemrogramannya dengan Bahasa C pada WinAVR”, Penerbit Informatika,
Bandung, 2008.
[3] Malvino A. P., “Prinsip-Prinsip Elektronika”, Edisi Ketiga, Penerbit
Erlangga, Jakarta.
[4]
http://wahyusp.wordpress.com/2008/09/04/pembacaan-keypad-4x4-dengan-mikrokontroller-at89s8252/
[5] http://www.globalspec.com/SpecSearch/Suppliers?QID=1239757&Comp= 10
28&nr=1&RegEvent=new
[6] Didin Wahyudin, “Belajar MudahMikrokontroler AT89S52 dengan Bahasa
Basic Menggunakan Bascom-8051”, Penerbit Andi, Yogyakarta, 2007.
[7] ---, Data Sheet H 8050, Transistor.
[8] ---, Data Sheet IC 74ls47, BCD to 7 Segmen.
[9] ---, Data Sheet LMB162A, LCD.
LAMPIRAN
GAMBAR RANGKAIAN
RANGKAIAN UNIT MASUKAN SAKLAR
LAMPIRAN
GAMBAR RANGKAIAN
RANGKAIAN PENAMPIL LED RANGKAIAN PENAMPIL LCD