Anda di halaman 1dari 54

LAPORAN PRAKTIKUM

SISTEM MIKROPROSESOR

Disusun oleh:

Banu Maheswara I0717010


Bayhaqi Irfani I0717011
Berlianne Shanaza Andriany I0717012

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNVERSITAS SEBELAS MARET
SURAKARTA
2019
DAFTAR ISI

COVER ………………………………………………………………...…………i
DAFTAR ISI............................................................................................................. ii
DAFTAR GAMBAR ................................................................................................ vi
DAFTAR TABEL ................................................................................................... vii
MODUL 1 DISPLAY LCD DAN SEVEN SEGMENT ................................................1
BAB I Pendahuluan ..............................................................................................1
1.1. Latar Belakang .......................................................................................1
1.2. Tujuan ....................................................................................................1
1.3. Waktu dan Tempat Pelaksanaan Praktikum ..........................................1
BAB II Landasan Teori .........................................................................................1
2.1 CodeVisionAVR .....................................................................................1
2.2 Mikrokontroller AVR ATmega32 ...........................................................3
2.3 Downloader K-125R ...............................................................................4
2.4 Liquid Crystal Display (LCD) ..................................................................4
2.5 Seven-segment .........................................................................................5
BAB III Tahapan Praktikum ................................................................................7
3.1 Alat dan Bahan .......................................................................................7
3.2 Langkah Percobaan 1 .............................................................................7
3.3 Langkah Percobaan 2 .............................................................................8
BAB IV Pengamatan dan Analisis Data ................................................................8
4.1 Data Hasil Percobaan .............................................................................8
4.2 Analisis Data...........................................................................................8
BAB V Kesimpulan ...............................................................................................9
MODUL 2 TIMER COUNTER .............................................................................. 10
BAB I Pendahuluan ............................................................................................ 10
1.1 Latar Belakang ..................................................................................... 10
1.2 Tujuan .................................................................................................. 11
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 11
BAB II Landasan teori ........................................................................................ 11
BAB III Tahapan Praktikum .............................................................................. 16
3.1 Alat dan Bahan ..................................................................................... 16
3.2 Langkah percobaan .............................................................................. 16

ii
BAB IV Pengamatan dan Analisis Data .............................................................. 17
4.1 Data Hasil Percobaan ........................................................................... 17
4.2 Analisis Data......................................................................................... 17
BAB V Kesimpulan ............................................................................................. 17
MODUL 3 ADC / DAC ........................................................................................... 19
BAB I Pendahuluan ............................................................................................ 19
1.1 Latar Belakang ..................................................................................... 19
1.2 Tujuan .................................................................................................. 19
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 20
BAB II Landasan Teori ....................................................................................... 20
3.1 Alat dan Bahan ..................................................................................... 21
3.2 Langkah Percobaan 1 ........................................................................... 22
3.3 Langkah Percobaan 2 ........................................................................... 22
BAB IV Pengamatan dan Analisis Data .............................................................. 23
4.1 Data Hasil Percobaan ........................................................................... 23
4.2 Analisis Data......................................................................................... 23
BAB V Kesimpulan ............................................................................................. 24
MODUL 4 EXTERNAL INTERRUPT ................................................................... 25
BAB I Pendahuluan ............................................................................................ 25
1.1 Latar Belakang ..................................................................................... 25
1.2 Tujuan .................................................................................................. 26
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 26
BAB II Landasan Teori ....................................................................................... 26
BAB III Tahapan Praktikum .............................................................................. 28
3.1 Alat dan Bahan ..................................................................................... 28
3.2 Langkah Percobaan .............................................................................. 28
BAB IV Pengamatan dan Analisis Data .............................................................. 29
4.1 Data Hasil Percobaan ........................................................................... 29
4.2 Analisis Data......................................................................................... 29
BAB V Kesimpulan ............................................................................................. 29
MODUL 5 KOMUNIKASI SERIAL....................................................................... 31
BAB I Pendahuluan ............................................................................................ 31
1.1 Latar Belakang ..................................................................................... 31
1.2 Tujuan .................................................................................................. 31

iii
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 31
BAB II Landasan Teori ....................................................................................... 31
BAB III Tahapan Praktikum .............................................................................. 33
3.1 Alat dan Bahan ..................................................................................... 33
3.2 Langkah Percobaan 1 ........................................................................... 33
BAB IV Pengamatan dan Analisis Data .............................................................. 34
4.1 Data Hasil Percobaan ........................................................................... 34
4.2 Analisis Data......................................................................................... 34
BAB V Kesimpulan ............................................................................................. 35
MODUL 6 REAL TIME CLOCK ........................................................................... 36
BAB I Pendahuluan ............................................................................................ 36
1.1 Latar Belakang ..................................................................................... 36
1.2 Tujuan .................................................................................................. 36
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 36
BAB II Landasan Teori ....................................................................................... 37
BAB III Tahapan Praktikum .............................................................................. 38
3.1 Alat dan Bahan ..................................................................................... 38
3.2 Langkah Percobaan .............................................................................. 38
BAB IV Pengamatan dan Analisis Data .............................................................. 39
4.1 Data Hasil Percobaan ........................................................................... 39
4.2 Analisis Data......................................................................................... 39
BAB V Kesimpulan ............................................................................................. 39
MODUL 7 INPUT OUTPUT, 4X4 KEYPAD DAN LED........................................... 41
BAB I Pendahuluan ............................................................................................ 41
1.1 Latar Belakang ..................................................................................... 41
1.2 Tujuan .................................................................................................. 41
1.3 Waktu dan Tempat Pelaksanaan Praktikum ........................................ 41
BAB II Landasan Teori ....................................................................................... 41
2.1 CodeVisionAVR ................................................................................... 41
2.2 Mikrokontroller.................................................................................... 43
2.3 Downloader K-125R ............................................................................. 44
2.4 Real-Time Clock (RTC) Module DS1307 ............................................... 44
BAB III Tahapan Praktikum .............................................................................. 45
3.1 Alat dan Bahan ..................................................................................... 45

iv
3.2 Langkah Percobaan .............................................................................. 45
BAB IV Pengamatan dan Analisis Data .............................................................. 46
4.1 Data Hasil Percobaan ........................................................................... 46
4.2 Analisis Data......................................................................................... 46
BAB V Kesimpulan ............................................................................................. 47

v
DAFTAR GAMBAR
Gambar 1. 1 LCD 16x2 ......................................................................................... 5
Gambar 1. 2 Seven-segment display .................................................................... 6
Gambar 2. 1 Timer 0 (8 bit) .............................................................................. 13
Gambar 2. 2 Codevision AVR ............................................................................ 14
Gambar 2. 3 Timer 1 (16 bit) ............................................................................. 14
Gambar 2. 4 Codevision AVR ............................................................................ 15
Gambar 4. 1 Bagan kerja prosesor melayani interupsi. .................................. 27
Gambar 5. 1 sinyal transmsisi sinkron.............................................................. 32
Gambar 5. 2 Pembingkaian Karakter ASCII “A”(41h) .................................. 33
Gambar 6. 1 RTC DS1307 .................................................................................. 37
Gambar 7. 1 Downloader K-125R ...................................................................... 44
Gambar 7. 2 4x4 Keypad ..................................................................................... 44

vi
DAFTAR TABEL

Tabel 1. 1 Alat dan Bahan Display LCD dan Sven-segment ............................. 7


Tabel 2. 1 Alat dan Bahan Timer Counter ....................................................... 16
Tabel 3. 1 Alat dan Bahan Modul ADC/DAC .................................................. 21
Tabel 4. 1 Alat dan Bahan modul External Interupt ....................................... 28
Tabel 5. 1 alat dan bahan modul komunikasi Serial ....................................... 33
Tabel 6. 1 Alat dan Bahan Modul Real Time Clock ........................................ 38
Tabel 7. 1 Alat dan bahan Modul Input Output, 4x4 Keypad dan LED ....... 45

vii
MODUL 1
DISPLAY LCD DAN SEVEN SEGMENT

BAB I Pendahuluan
1.1.Latar Belakang
Seperti yang kita ketahui bahwa di era serba modern seperti saat ini,
peran teknologi dalam kehidupan sehari-hari tentunya sangat berpengaruh.
Hal ini tidak terlepas dari aktivitas kita yang kerap kali ditunjang dengan
teknologi itu sendiri yang mampu menjawab tuntutan pekerjaan yang lebih
cepat, mudah, murah dan menghelat waktu.
Penggunaan mikrokontroller sangat luas, tidak hanya untuk akuisisi
data melainkan juga untuk pengendalian peralatan di pabrik-pabrik,
kebutuhan peralatan kantor, peralatan rumah tangga, automobile, dan
sebagainya. Hal ini disebabkan mikrokontroller merupakan sistem
mikroprosessor yang terpadu pada satu keping. Dalam praktikum kali ini
kami membahas tentang penggunaan mikrokontroller ATMega328 untuk
mengontrol LCD display dan seven segment dengan compiler
CodeVisionAVR.

1.2.Tujuan
1. Mengetahui cara kerja display Seven Segment dan LCD karakter 16x2.
2. Dapat menampilkan suatu informasi atau indikator pada display.

1.3.Waktu dan Tempat Pelaksanaan Praktikum


Senin, 29 April 2019. Laboratorium Elektronika, Teknik Elektro.

BAB II Landasan Teori


2.1 CodeVisionAVR
CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi
dengan fasilitas Integrated Development Environment (IDE) dan didesain
agar dapat menghasilkan kode program secara otomatis untuk
mikrokontroler Atmel AVR.

1
2

Integrated Development Environment (IDE) telah dilengkapi


dengan fasilitas pemrograman chip melalui metode In-System
Programming sehingga dapat secara otomatis mentransfer file program ke
dalam chip mikrokontroler AVR setelah sukses dikompilasi.
Software In-System Programmer didesain untuk bekerja ketika
dihubungkan dengan development board STK500, STK600, AVRISP mkII,
AVR Dragon, AVRProg (AVR910 application note), Atmel JTAGICE
mkII, Kanda System STK200+STK300, Dontronics DT006, Vogel
Elektronik VTEC-SIP, Futurlec JRAVR and MicroTronics ATCPU, dan
Mega2000.
Untuk mengingkatkan kehandalan program ini, maka pada
CodeVisionAVR juga terdapat kumpulan pustaka (library) untuk:
Modul LCD Alphanumeric
 Philips I2C bus
 National Semiconductor Sensor Temperatur LM75
 Philips PCF8563, PCF8583, dan Maxim/Dallas Semiconductor Real
Time Clock DS1302 dan DS1307
 Maxim/Dallas Semiconductor 1 wire protocol
 Maxim/Dallas Semiconductor Sensor Temperatur DS1820, DS18S20,
dan DS18B20
 Maxim/Dallas Semiconductor Termometer/Thermostat DS1621
 Maxim/Dallas Semiconductor EEPROMs DS2430 dan DS2433
 SPI
 Power Management
 Delays
 Gray Code Conversion
 MMC/SD/SD HC Flash memory cards low level access
 Akses FAT pada MMC/SD/SD HC Flash memory card
CodeVisionAVR dapat menghasilkan kode program secara otomatis
melalui fasilitas CodeWizardAVR Automatic Program Generator. Dengan
adanya fasilitas ini maka penulisan program dapat dilakukan dengan cepat
3

dan lebih efisien. Seluruh kode dapat diimplementasikan dengan fungsi


sebagai berikut:
 Identifikasi sumber reset
 Mengatur akses memori eksternal
 Inisialisasi port input/output
 Inisialisasi interupsi eksternal
 Inisialisasi timer/counter dan watchdog timer
 Inisialisasi USART dan interupsi buffer untuk komunikasi serial
 Inisialisasi komparator analog dan ADC
 Inisialisasi interface SPI dan two wire interface (TWI)
 Inisialisasi interface CAN
 Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat
DS1621, dan real time clock PCF8563, PCF8583, DS1302, DS1307
 Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20
 Inisialisasi modul LCD

2.2 Mikrokontroller AVR ATmega32


Mikrokontroler AVR ATmega32 memiliki fitur yang cukup
lengkap. Mikrokontoler AVR ATmega32 telah dilengkapi dengan ADC
internal, EEPROM, internal,Timer/Counter, PMW, analog comparator,dll.
Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar
mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat
mengembangkan kreativitas penggunaan mikrokontroler ATmega32.
Fitur-fitur yang dimiliki oleh mikrokontroler ATmega32 adalah sebagai
berikut :
1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port
D.
2. ADC internal sebanyak 8 saluran.
3. Tiga buah Counter/Timer dengan kemampuan perbandingan.
4. CPU yang terdiri atas 32 buah register.
5. SRAM sebesar 2kb.
6. Memori flash sebesar 32 kb dengan kemampuan Read While Write.
4

7. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan


maksimal 16 MHz.

2.3 Downloader K-125R


K-125R merupakan USB Atmel AVR ISP Programmer /
downloader untuk semua Tipe AVR. Berbeda dengan tipe Nue-125, K-125
yang dilengkapi dengan komunikasi USB to Serial TTL.
Alat ini akan membantu anda dalam memprogram Mikrokontroler
AVR semudah memasang sebuah USB konektor pada komputer PC/ Laptop
anda. Kelengkapan seperti buku manual, software AVRprog, AVR OSP II,
CodeVision AVR, AVR Studio 4, Mikrobasic for AVR dan beberapa
pendukung lainnya akan membantu anda dalam memprogram
Mikrokontroler AVR/ AT89. Jadi kapanpun dan dimanapun anda dapat
melakukan pemrogramman Mikrokontroler AVR anda dengan mudahnya
baik menggunakan OS windows XP, windows Vista dan windows 7 32/
64bit.
buku manual:
IC AT89 yang didukung antara lain:
 AT89S53
 AT89S8252 ( hanya bekerja pada software AVRprog milik Tools
AVR studio 4)

2.4 Liquid Crystal Display (LCD)
Fungsi LCD (Liquid Cristal Display) adalah jenis media tampilan
yang menggunakan kristal cair sebagai tampilan suatu data, baik karakter,
huruf ataupun grafik. bentuknya tipis, mengeluarkan sedikit panas, dan
memiliki resolusi tinggi.
LCD (Liquid Cristal Display) adalah salah satu jenis display
elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan
tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di
sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit.
5

Material LCD merupakan terdiri dari lapisan campuran organik antara


lapisan kaca bening dengan elektroda transparan indium oksida dalam
bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang.
Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul
organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari
segmen.
Lapisan sandwich memiliki polarizer cahaya vertikal depan dan
polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor.
Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah
menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan
membentuk karakter data yang ingin ditampilkan.
LCD bekerja dengan cara membuka dan menutup layaknya tirai.
Proses buka tutup ini berlangsung sangat cepat. Karena itulah ada istilah
Response Time di LCD.
Response Time adalah waktu yang diperlukan untuk berubah dari
posisi kristal cair tertutup rapat (waktu menampilkan warna hitam) ke posisi
kristal cair terbuka lebar (waktu menampilkan warna putih). Jadi semakin
cepat response time maka semakin baik. Response Time yang lambat akan
menimbulkan cacat gambar yang disebut ghosting atau jejak gambar

Gambar 1. 1 LCD 16x2


2.5 Seven-segment
Seven-segment adalah suatu segmen-segmen yang digunakan untuk
menampilkan angka / bilangan decimal. Seven segment ini terdiri dari 7
batang LED yang disusun membentuk angka 8 dengan menggunakan huruf
a-f yang disebut DOT MATRIKS. Setiap segment ini terdiri dari 1 atau 2
LED (Light Emitting Dioda).
6

Gambar 1. 2 Seven-segment display


Prinsip kerja dari seven segment ini adalah inpuan bilangan biner
pada switch dikonversi masuk kedalam decoder, baru kemudian decoder
mengkonversi bilangan biner tersebut ke dalam bilangan desimal, yang
mana bilangan desimal ini akan ditampilkan pada layar seven-segmen.
Fungsi dari decoder sendiri adalah sebagai pengkonversi bilangan biner ke
dalam bilangan desimal.
Jenis-Jenis Seven Segmen
1. Common Anoda
Common Anoda merupakan pin yang terhubung dengan semua kaki
anoda LED dalam seven segmen. Common anoda diberi tegangan VCC
dan seven segmen dengan common anoda akan aktif pada saat diberi
logika rendah (0) atau sering disebut aktif low. Kaki katoda dengan label
a sampai h sebagai pin aktifasi yang menentukan nyala LED.
2. Common Katoda
Common Katoda merupakan pin yang terhubung dengan semua kaki
katoda LED dalam seven segmen dengan common katodak akan aktif
apabila diberi logika tinggi (1) atau disebut aktif high. Kaki anoda
dengan label a sampai h sebagai pin aktifasi yang menentukan nyala
LED.
7

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 1. 1 Alat dan Bahan Display LCD dan Sven-segment
Alat atau Bahan Jumlah
Laptop 1
ATMega328 1
Downloader K-125 1
LCD display 16x2 1
Seven-segment 1
Basic trainer microcontroller 1
Kabel jumper secukupnya
Kabel downloader 1

3.2 Langkah Percobaan 1


1. Menyiapkan alat dan bahan.
2. Memasang kabel power Basic Trainer Microcontroller.
3. Memasang downloader K-125R pada Basic Trainer dan
menghubungkan kabelnya ke laptop.
4. Menyambungkan mikrokontroller ATMega328 ke LCD display dengan
kabel jumper.
5. Membuka CodeVisionAVR, membuat file baru dan menset PORT serta
jenis microcontroller.
6. Mengatur uploader.
7. Mengurutkan port sesuai program.
8. Menuliskan program untuk menampilkan tulisan ”Teknik Elektro” pada
LCD display. Pada while
{lce-gotoxy (1,0)
Lcd-puts (“Teknik Elektro”)
9. Menuju menu setting lalu programmer lalu mengubah menjadi AVR
programmer (AVR g10) lalu ke boud rate sesuai dengan spesifikasi dan
communication port sesuai dengan device manager
8

10. Mengkonfigurasi di project lalu configure lalu after build lalu action di
ganti program the chip lali ok
11. Mem-built program (project-build-program the chip)
12. Amati hasil pada LCD

3.3 Langkah Percobaan 2


1. Menyambungkan mikrokontroller ATMega328 ke Seven-segment
dengan kabel jumper.
2. Membuka CodeVisionAVR, membuat file baru dan menset PORT serta
jenis microcontroller.
3. Menuliskan program untuk seven-segment pada CodeVisionAVR.
sehingga seven-segment menampilkan angka dari 0-9 dan huruf A-F.
4. Menuju menu setting lalu programmer lalu mengubah menjadi AVR
programmer (AVR g10) lalu ke boud rate sesuai dengan spesifikasi dan
communication port sesuai dengan device manager
5. Mengkonfigurasi di project lalu configure lalu after build lalu action di
ganti program the chip lali ok
6. Mem-built program (project-build-program the chip)
7. Amati hasil pada LCD

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
1. Apabila program LCD display pada CodeVisionAVR benar, maka LCD
display akan menampilkan tulisan ”Teknik Elektro”.
2. Apabila program untuk seven–segment benar, maka seven-segment
akan menyala menampilkan angka 0 hingga 9 secara bergantian.

4.2 Analisis Data


1. Analisa LCD Display
Pada LCD display tampilan sesuai dengan program.
Lcd_gotoxy(x,y);
Adalah perintah untuk mendeklarasikan posisi tulisan pada LCD
display. Variable x mewakili kolom dan variable y mewakili baris.
9

Terdapat 16 kolom dari 0-15 dan terdapat 2 baris dari 0-1. Pada compiler
CodeVisionAVR sudah terdapat pengaturan untuk menerjemahkan
output menjadi alphabet pada LCD display
2. Analisa Seven-segment
Pada seven-segment tampilan program sesuai dengan keinginan. Seven-
segment yang digunakan menggunakan metode common anode atau
active-low, yaitu saat diprogram, pada bit yang diberi bit 1 akan mati
dan apabila diberi bit 0, maka menyala. Contohnya untuk menyalakan
angka 1 dengan menggunakan bit 0b11111001. Pada bit ini ia akan
menghidupkan posisi a dan b (Gambar 1.3). Pada common catoda
berlaku hal demikian.

BAB V Kesimpulan
1. Untuk menampilkan informasi pada LCD display 16x2, data harus
dipetakan dengan program gotoxy(x,y) terlebih dahulu.
2. LCD display 16x2 dapat menampilkan angka dan huruf.
3. Untuk menampilkan angka atau huruf pada seven-segment, dapat dengan
mengirimkan bit sesuai dengan angka atau huruf yang ingin ditampilkan.
4. Seven-segment dapat menampilkan angka dan huruf berdasarkan bitnya,
dengan urutan bit.
MODUL 2
TIMER COUNTER

BAB I Pendahuluan
1.1 Latar Belakang
Timer /Counter adalah suatu peripheral yang tertanam didalam
microcontroller yang berfungsi pewaktu. Dengan peripheral ini pengguna
microcontroller dapat dengan mudah menentukan kapan suatu perintah
dijalankan (delay), tentu saja fungsi timer tidak hanya untuk penundaan
perintah saja, timer juga dapat berfungsi sebagai oscilator, PWM, ADC, dan
lain-lain.
Cara kerja timer adalah dengan cara memberikan prescaling
(membagi frekuensi) pada clock yang terpasang pada microcontroller
sehingga timer dapat berjalan dengan frekuensi yang diinginkan. Dalam
contoh microcontroller yang saya bahas disini saya hanya menggunakan
microcontroller Atmel-AVR ATmega16 karena hanya microcontroller jenis
ini yang saya punya
Didalam ATmega16 dan beberapa microcontroller AVR lainnya
sudah terdapat 3 buah timer, yaitu TIMER0 (8 bit), TIMER1 (16 bit)dan
TIMER2 (8 bit). Perbedaan timer yang 8 bit dan timer 16 terdapat pada
maksimal waktu yang dapat dijangkau, semakin besar bit suatu timer
semakin besar waktu yang dapat dicapai. Sebagai contoh TIMER1 yang
memiliki kapasitas hingga 16 bit dapat menjangkau waktu hingga 67 detik
lebih pada clock 1MHz berbeda dengan TIMER0 dan 2 yang memiliki
kapasitas hanya 8 bit sehingga hanya dapat menjangkau maksimal 0,2 detik
pada clock 1MHz namun ini bukan merupakan kekurangan.
Timer dioperasikan dengan mengubah nilai register yang
berhubungan dengan peripheral timer, yaitu TCCRx, TCNTx, dan TIMSK.
Fungsi register TCCRx adalah sebagai clock selector dan prescaler, output
mode, waveform generation unit, dan Force Output Compare. Fungsi
register TCNT adalah sebagai penyimpan nilai timer yang diinginkan.
Fungsi register TIMSK adalah untuk menentukan timer mana yang akan
kita gunakan apakah TIMER0, TIMER1, atau TIMER2.

10
11

1.2 Tujuan
1. Mengetahui cara kerja timer dan counter
2. Dapat mengaplikasikan fungsi timer dan counter pada sebuah [rpgram
sederhana

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 6 Mei 2019. Laboratorium Elektronika, Teknik Elektro.

BAB II Landasan teori


Timer & Counter merupakan fitur yang telah tertanam di mikrokontroler
AVR yang memiliki fungsi terhadap waktu. Fungsi pewaktu yang dimaksud
disini adalah penentuan kapan program tersebut dijalankan, tidak hanya itu saja
fungsi timer yang lainnya adalah PWM, ADC, dan Oscillator. Prinsip kerja
timer dengan cara membagi frekuensi (prescaler) pada clock yang terdapat pada
mikrokontroler sehingga timer dapat berjalan sesuai dengan frekuensi yang di
kehendaki.
Timer merupakan fungsi waktu yang sumber clocknya berasal dari clock
internal. Sedangkan counter merupakan fungsi perhitungan yang sumber
clocknya berasal dari external mikrokontroler. Salah satu contoh penggunaan
fungsi timer yaitu pada jam digital yang sumber clocknya bisa menggunakan
crystal oscillator dan contoh penggunaan counter pada penghitung barang pada
konveyor yang sumber clocknya berasal dari sensor yang mendeteksi barang
tersebut.
Pada mikrokontroler ATMEGA 16 memiliki 3 buah timer yaitu timer 0
(8bit), timer1 (16bit), dan timer 2 (8bit). Untuk mengenai register lengkapnya
bisa dibaca pada datasheet. Namun yang akan dibahas pada tulisan kali ini
hanya timer 0(8bit) dan timer1 (16 bit) saja.
Register yang Digunakan untuk Timer & Counter
- TCNT0 = Register Timer 1
- TCNT 1 = Register Timer 0
- Ttimer0 = Periode Timer 0
- Ttimer 1 =Periode Timer 1
- Tosc = Periode Clock
12

- Fosc = Frekuensi Crystall Clock


- N = Prescaler (1, 8, 64, 256, 1024)
- Prescaler
Pada dasarnya Timer hanya menghitung pulsa clock. Frekuensi pulsa clock
yang dihitung tersebut bisa sama dengan frekuensi crystal yang digunakan atau
dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.

Contoh penggunaan prescaler :


Suatu mikrokontroler menggunakan crystal dengan frekuensi 8 MHz dan timer
yang digunakan adalah Timer 1 (16 Bit) maka maksimum waktu Timer yang
bisa dihasilkan adalah :
TMAX = 1/fCLK x (FFFFh + 1)
= 0.125 µs x 65536
= 0.008192 s
Untuk menghasilkan waktu Timer yang lebih lama dapat menggunakan
prescaler 1024, maka waktu Timer yang bisa dihasilkan adalah :
TMAX = 1/fCLK x (FFFFh+1) x N
= 0.125 µs x 655536 x 1024
= 8.388608 s

Tujuan Penggunaan Timer & Counter


1. Melaksanaan tugas secara ber-ulang
2. Mengendalikan kecepatan motor DC (PWM)
3. Melakukan perhitungan (Counter)
4. Membuat penundaan waktu (delay)

TIMER 0 (8 Bit)
13

Gambar 2. 1 Timer 0 (8 bit)


Untuk perhitungan timer 0 dapat menggunakan rumus :
Ttimer0 = Tosc*(256-TCNT0)*N → (8 Bit = 256 ≈ 2^8)
Sebenarnya Timer 0 tidak dapat menghasilkan periode selama 1 detik
karena keterbatasan jumlah bit nya (8 bit = 256). Namun dengan penggunaan
rumus dapat dilakukan pemanipulasian agar timer 0 dapat menghasilkan
periode waktu selama 1 detik. Dengan cara membuat timer selama 0.01 detik
lalu dilakukan perulangan sebanyak 100 kali sehingga akan menghasilkan
waktu 1 detik (0.01 detik x 100 kali = 1 detik).
Contoh penggunaan untuk timer 0 dengan crystal 12 MHz dan menggunakan
skala clock 1024 maka akan menghasilkan :
Tosc = 1/Fosc = 1/12 = 0,083
0.01 = 0.083*(256-TCNT0)*1024
TCNT = 128= 8A (Hexadesimal)

Berdasarkan perhitungan tersebut di dapatkan 8A, maka nilai tersebut harus


di inputkan ke register TCNT0 agar timer 0 bernilai 1 detik. Berikut ini contoh
penggunaan nya pada Codevision AVR :
14

Gambar 2. 2 Codevision AVR

TIMER 1 (16 Bit)

Gambar 2. 3 Timer 1 (16 bit)

Untuk perhitungan timer 1 dapat menggunakan rumus :


Ttimer 1 = Tosc*(65536-TCNT1)*N →(16 Bit = 65536 ≈ 2^16)
Contoh penggunaan untuk timer 1 detik (Timer1 = 1 detik) dengan crystal 12
MHz dan menggunakan skala clock 1024 maka akan menghasilkan :

Tosc = 1/Fosc = 1/12 = 0,083


1 = 0.083*(65536-TCNT1)*1024
15

TCNT = 53818 = D23A (Hexadesimal)

Berdasarkan perhitungan tersebut di dapatkan D23A, maka nilai tersebut


harus di inputkan ke register TCNT1 agar timer 1 bernilai 1 detik. Berikut ini
contoh penggunaan nya pada Codevision AVR :

Gambar 2. 4 Codevision AVR

Counter 0 & 1
Untuk penggunaan fungsi counter pada mikrokontroler lebih mudah jika
dibandingkan dengan fungsi timer, karena tidak memerlukan perhitungan untuk
penginputan nilai ke register TCNT. Register TCNT akan secara otomatis akan
mencacah jika ada input yang masuk, input yang masuk contohnya dapat berupa
push button.
Pada Counter 0, input berasal dari T0 atau PORT B 0 yang mampu
mencacah input hingga 256 (8 Bit). Berikut ini konfigurasi Counter 0 pada
Codevision AVR :

Pada Counter 1, input berasal dari T1 atau PORT B 1 yang mampu


mencacah hingga 65536 (16 Bit).
Untuk konfigurasi counter 0 & 1 pada Codevision AVR sama seperti
konfigurasi Timer 0 dan 1.
16

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 2. 1 Alat dan Bahan Timer Counter
Alat atau Bahan Jumlah
Laptop 1
ATMega328 1
Downloader K-125 1
Basic trainer microcontroller 1
Lampu LED Secukupnya
Breadboard 1
Kabel jumper secukupnya
Kabel downloader 1

3.2 Langkah percobaan


1. Menyiapkan modul mikrokontroler ATMega 324A dan perangkat lunak
Codevision.
2. Menyambungkan delapan pin LED pada pin PORT A mikrokontroler
secara berurutan (pin 33-40).
3. Menyambungkan modul mikrokontroler dengan laptop menggunakan
downloader. Memastikan driver downloader telah terinstal di laptop.
4. Membuka program Codevision. Membuat file baru, kemudian menulis
skrip program.
5. Pada program Port A pd DDAO diganti dengan 1<DDAO.
6. Membuka menu setting -> programmer. Mengkonfigurasi sesuai
perintah berikut :
a. AVR Chip Type: AVR324
b. Communication Port: menyesuaikan dengan port COM
c. Baud Rate: 115200
7. Membuka menu project -> Configure
a. Pada tab C Compiler, memilih chip ATMega 324A dan clock
11.059200 MHz.
17

b. Pada tab Afterbuild, mencentang program the chip dan


mengkonfigurasi CKSEL0=0, CKSEL2=0, SUT0=0,
CKDIV8=0, dan JTAGEN=0.
8. Mengcompile program tersebut dengan membuka menu tools -> Chip
Programmer. Mengklik ‘program all’ untuk mengisi program
mikrokontroler.
9. Mengamati lampu LED. Apabila masih belum berhasil, memperbaiki
program tersebut.
10. Menulis hasil pengamatan di kertas.

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
Pada praktikum timer and counter, dihasilkan nyala LED selama 1 detik
kemudian mati 1 detik. LED terhubung pada port A dan delay waktu untuk
menjeda waktu.

4.2 Analisis Data


Waktu kedipan yang diminta adalah 1 sekon, maka value yang dimasukkan
adalah D5D0 (sesuai dengan hitungan kalkulator bilangan hexadecimal).
Setelah di built, kedipan berjalan sesuai keinginan yaitu 1 sekon. Percobaan
berhasil karena delay pada LED sesuai dengan program. Pada awalnya
program tidak berhasil karena menggunakan DDRA, setelah dirubah
menjadi PORT A dengan kode portA.0^=1, program berhasil.

BAB V Kesimpulan
1. Timer merupakan fungsi waktu yang sumber clocknya berasal dari internal
clock. Sedangkan counter merupakan fungsi perhitungan yang sumber
clocknya berasal dari external microcontroller.
2. Timer dan counter digunakan agar pada saat delay, program tetap bekerja,
sedangkan jika menggunakan delay, program akan freeze sampai delay
selesai.
18

3. Mikrokontroler Atmega 324A dapat diprogram untuk membuat lampu


berkedip-kedip dengan delay yang dapat diatur waktunya.
4. Fungsi DDRA adalah untuk menginisiasi input atau output sedangkan
PORTA digunakan untuk memerintah instruksinya.
MODUL 3
ADC / DAC
BAB I Pendahuluan
1.1 Latar Belakang
Pada umunya dalam dunia elektronika dan instrumentasi hanya ada 2
macam mikrokontroller yang dikenal. Pembagian mikrokontroler ini
didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Adapun dua jenis dari mikrokontroler itu adalah RISC
dan CISC. RISC merupakan kepanjangan dari Reduced Instruction Set
Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih
banyak Sebaliknya, CISC kepanjangan dari Complex Instruction Set Computer.
Pada jenis mikrokontroler ini Instruksi bisa dikatakan lebih lengkap
dibandingkan dengan RISC tapi CISC memiliki fasilitas secukupnya. Masing-
masing dari jenis mikrokontroler ini mempunyai keturunan atau keluarga
sendiri-sendiri.

Dalam dunia elektronika, penggunaan mikrokontroler dalam pembuatan


rangkaian-rangkaian elektronika tidaklah sulit dalam pengaplikasiannya karna
dalam perancangan suatu rangkaian elektronika tidak langsung dibuat dalam
bentuk hardwere melainkan dapat dibuat simulasi terlebih dahulu. Proses
pembuatan simulasi ini dilakukan bertujuan untuk mengecek kondisi dari
rangkaian yang akan dibuat. Pada pembuatan simulasi suatu rangkaian
elektronika ini dapat digunakan suatu program yang dapat memberikan fasilitas
dalam perancangan suatu rangkaian yaitu CVAVR untuk pembuatan program
yang dibutuhkan oleh rangkaian yang kita buat.

Pada praktikum ini, kami menggunakan CVAVR dan mikrokontroller


ATMega324 agar lebih memahami dunia elektronika terutama pada modul ini
dalam bidang Digital to Analog converter dan Analog to Digital Converter.

1.2 Tujuan
1. Mengetahui cara kerja ADC dan DAC
2. Dapat membuat program konversi data analog dan digital

19
20

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 13 Mei 2019. Laboratorium Elektronika Gd.6 Lt..4, Teknik Elektro.

BAB II Landasan Teori


ADC (Analog to Digital Converter)
ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler
yang berfungsi untuk mengkonversi sinyal/data dari besaran analog menjadi
besaran digital. Mengapa harus di konversi, Karena sebagian besar data/sinyal
yang ada di dunia ini merupakan besaran analog. Pengkonversian data dari
analog ke digital merupakan suatu cara untuk mengolah data analog tersebut
agar dapat di modifikasi, di manipulasi dan mengubah karakteristiknya. Contoh
besaran analog yang sering di temui dalam kehidupan sehari-hari yaitu suhu,
cahaya, kecepatan,tegangan, suara, dll. Fitur ADC ini sering digunakan dalam
proses industri dan komunikasi digital. ADC inilah yang menghubungkan
antara sensor dengan sistem komputer yang telah terintegrasi. ADC memiliki 2
faktor penting pada penggunaannya yaitu Kecepatan Sampling dan Resolusi.
Dimana kecepatan sampling ini berpengaruh terhadap seberapa banyak sinyal
analog yang di konversi ke sinyal digital dalam satuan waktu. Satuan waktu
yang digunakan yaitu SPS (Sample per Second). Sedangkan resolusi ADC
berpengaruh terhadap ketelitian hasil konversinya. Resolusi pada
mikrokontroler AVR ada 2 yaitu resolusi 8 bit dan 10 bit.
Mikrokontroler AVR ATmega32
Mikrokontroler AVR ATmega32 memiliki fitur yang cukup lengkap.
Mikrokontoler AVR ATmega32 telah dilengkapi dengan ADC internal,
EEPROM, internal,Timer/Counter, PMW, analog comparator,dll. Sehingga
dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler
keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan
kreativitas penggunaan mikrokontroler ATmega32.

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega32 adalah sebagai


berikut :
1.Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.
2.ADC internal sebanyak 8 saluran.
21

3.Tiga buah Counter/Timer dengan kemampuan perbandingan.


4.CPU yang terdiri atas 32 buah register.
5.SRAM sebesar 2kb.
6.Memori flash sebesar 32 kb dengan kemampuan Read While Write.
7.Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
Potensiometer
Potensiometer adalah kenop yang menghasilkan resistansi/hambatan
variabel. Potensiometer memiliki 3 kaki (ada yang memiliki lebih dari 3 kaki,
tapi biasanya kelipatan 3 dan pada dasarnya ada 3 jenis kaki), yakni dua kaki
terluar yang masing-masing dihubungkan dengan 5V dan GND, dan kaki tengah
yang menghasilkan keluaran nilai analog. Pada rangkaian di atas, kaki tengah
potensiometer dihubungkan ke pin A5. Pin A5 akan menerima sinyal voltase
dengan besaran sesuai dengan putaran kenop potensiometer. Semakin dekat
putaran ke arah 5V, maka nilai resistansi akan semakin kecil sehingga nilai
voltase yang keluar akan semakin besar mendekati 5V. Begitu pula
sebaliknya. Sinyal tersebut akan dikonversi ke nilai angka dan ditampilkan pada
jendela Serial Monitor.

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 3. 1 Alat dan Bahan Modul ADC/DAC

Alat atau Bahan Jumlah


Laptop 1
Arduino Board (rekomendasi Arduino
Mega) 1
Kabel data 2
Kabel jumper secukupnya
potensiometer 1
LM35 1
LCD 16*2 1
22

ATmega 324 1
LDR 1

3.2 Langkah Percobaan 1


1. Menyambungkan port LCD ke AVR Controller dengan menggunakan
jumper.
2. Membuat Project baru.
3. Men-setting project , pada menu Analog to Digital converter meng-
enable ADC. Men-setting Volt Reff menjadi AVCC pin. Pada menu
alphanumeric LCD, meng-enable Alphanumeric LCD. Character diubah
menjadi 16 dan memilih port sesuai yang diinginkan.
4. Lalu men-generate project.
5. Mengedit program yang telah ada. pada library menambahkan :
#include <stdio.h>;
#include <stdlib.h>; lalu menambah
#define_ADC_VREF.TYPG
dst.
6. menghubungkan potensio ke VCC, pin ADC, dan ground.
7. Men-configure project menjadi program the chip, meng-compile
project, dan mem-built project.
8. Melihat tampilan potensio dan tegangan di LCD.

3.3 Langkah Percobaan 2


1. Membuat project baru.
2. Men-setting project. Pada timer, timer 0 mode diganti phase correct
PWM dengan OUT A non-inverted PWM dan setting lain seperti pada
percobaan 1.
3. Menulis program
4. Men-configure project menjadi program the chip, meng-compile
project, dan mem-built project.
23

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
1. Tampilan LCD dan ouput dari potensio dan LDR sesuai.
2. Dengan memutar potensiometer, akan didapatkan nilai ADC yang
berubah-ubah sesuai dengan putaran nilai potensio-nya.
3. Jika LDR diberi cahaya, maka nilainya akan turun, jika diberi sedikit
cahaya (gelap), maka nilainya akan naik.

4.2 Analisis Data


1. Pada tegangan, sensor suhu (LM35) tidak berjalan, sehingga digantikan
dengan LDR untuk mengetahui tegangan.
2. Nilai LDR yang naik atau turun karena intensitas cahaya akan
mempengaruhi nilai tegangan.
Dengan rumus : resolusi nilai LDR x 5 / 1024.
3. Pada PWM tegangan maksimal untuk 8 bit ADC = 256, karena 2^8 =
256. Maka untuk mengatur kecerahan LCD digunakan PWM untuk
mengatur tegangan antara 0-256.
4. Percobaan ini berhasil, karena tampilan LCD dan Ouput dari potensio
dan LDR sesuai.

5. DDRx merupakan kepanjagan dari Data Direction Register. DDRx ini


berfungsi untuk mengarahkan fungsi port, mendefinisikan port sebagai
input atau output. Sebagai contoh, maksud dari DDRA=0xFF adalah
bahwa Port A pada mikrokontroler tersebut bekerja sebagai keluaran.

6. DDRx merupakan kepanjagan dari Data Direction Register. DDRx ini


berfungsi untuk mengarahkan fungsi port, mendefinisikan port sebagai
input atau output. Sebagai contoh, maksud dari DDRA=0xFF adalah
bahwa Port A pada mikrokontroler tersebut bekerja sebagai keluaran.

7. Fungsi while(1) menandakan bahwa setiap ia bernilai HIGH (1), maka


fungsi detek dan tampil dieksekusi. Perintah tersebut akan berulang.
24

BAB V Kesimpulan
1. ADC digunakan untuk mengkonversi analog menjadi digital. Pada
praktikum ini potensiometer digunakan untuk membuktikan cara kerja
ADC.
2. Putaran potensiometer menghasilkan sinyal yang akan dikonversi ke nilai
angka. Semakin dekat putaran ke arah 5V, maka nilai resistansi akan
semakin kecil sehingga nilai voltase yang keluar akan semakin besar
mendekati 5V, Begitu pula sebaliknya.
3. Nilai LDR yang naik atau turun karena intensitas cahaya akan
mempengaruhi nilai tegangan.
MODUL 4
EXTERNAL INTERRUPT

BAB I Pendahuluan
1.1 Latar Belakang
Pada umunya dalam dunia elektronika dan instrumentasi hanya ada 2 macam
mikrokontroller yang dikenal. Pembagian mikrokontroler ini didasarkan pada
kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler
tersebut. Adapun dua jenis dari mikrokontroler itu adalah RISC dan CISC.
RISC merupakan kepanjangan dari Reduced Instruction Set Computer.
Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak
Sebaliknya, CISC kepanjangan dari Complex Instruction Set Computer. Pada
jenis mikrokontroler ini Instruksi bisa dikatakan lebih lengkap dibandingkan
dengan RISC tapi CISC memiliki fasilitas secukupnya. Masing-masing dari
jenis mikrokontroler ini mempunyai keturunan atau keluarga sendiri-sendiri.
Dalam dunia elektronika, penggunaan mikrokontroler dalam pembuatan
rangkaian-rangkaian elektronika tidaklah sulit dalam pengaplikasiannya karna
dalam perancangan suatu rangkaian elektronika tidak langsung dibuat dalam
bentuk hardwere melainkan dapat dibuat simulasi terlebih dahulu Proses
pembuatan simulasi ini dilakukan bertujuan untuk mengecek kondisi dari
rangkaian yang akan dibuat. Pada pembuatan simulasi suatu rangkaian
elektronika ini dapat digunakan suatu program yang dapat memberikan fasilitas
dalam perancangan suatu rangkaian yaitu program CVAVR untuk pembuatan
program yang dibutuhkan oleh rangkaian yang kita buat.
Mikrokontroler dapat diaplikasikan pada LED. Light Emiting Diode (Dioda
Emisi Cahaya) atau yang sering disingkat LED ini merupakan salah satu piranti
elektronik yang menggabungkan dua unsur yaitu optik dan elektronik yang
disebut juga sebagai Opteolotronic,dengan masing-masing elektrodanya berupa
anoda (+) dan katroda (-), dioda jenis ini dikategorikan berdasarkan arah bias
dan diameter cahaya yang dihasilkan, serta warna nya.
Interrupt adalah suatu kejadian atau peristiwa yang menyebabkan
mikrokontroler berhenti sejenak untuk melayani interrupt tersebut. Pada

25
26

praktikum ini diharapkan mahasiwa dapat mengetahui fungsi interrupt pada


system mikrokotroler.

1.2 Tujuan
1. Mengetahui cara kerja interrupt
2. Dapat mengapilkasikan fungsi interrupt pada program sederhana

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 06 Mei 2019. Laboratorium Elektronika Gd.6 Lt..4, Teknik Elektro.

BAB II Landasan Teori


Interrupt
Interupsi adalah selaan yang diberikan oleh alat luar atau bagian dalam dari
sebuah mikrokontroler untuk menjalankan suatu rutin program tertentu.
Pengetahuan mengenai interupsi sangat membantu mengatasi
masalah pemrograman mikroprocessor/mikrokontroler dalam hal menangani
banyak peralatan input/output. Saat kaki RESET pada IC
mikroprosesor/mikrokontroler menerima sinyal reset (pada AT89S51 sinyal
tersebut berupa sinyal ‘1’ sesaat, pada prosesor lain umumnya merupakan
sinyal ‘0’ (sesaat), Program Counter diisi dengan sebuah nilai. Nilai tersebut
dinamakan sebagai vektor reset (reset vector), merupakan nomor awal memori-
program yang menampung program yang harus dijalankan.
Dalam proses interupsi, terjadinya sesuatu pada perangkat keras tertentu dicatat
dalam flipflop khusus, flip-flop tersebut sering disebut sebagai ‘petanda’(flag),
catatan dalam petanda tersebut diatur sedemikian rupa sehingga bisa merupakan
sinyal permintaan interupsi processor jika permintaan interupsi ini dilayani
prosesor, Program Counter akan diisi dengan sebuah nilai. Nilai tersebut
dinamakan sebagai vektor interupsi (interrupt vector), yang merupakan nomor
awal memoriprogram yang menampung program yang dipakai untuk melayani
permintaan interupsi tersebut.
Program yang dijalankan dengan cara interupsi, dinamakan sebagai program
layanan interupsi (ISR – Interrupt Service Routine). Saat prosesor menjalankan
27

ISR, pekerjaan yang sedang dikerjakan pada program utama sementara


ditinggalkan, selesai menjalankan ISR prosesor kembali menjalankan program
utama, seperti yang digambarkan dalam gambar dibawah ini.

Gambar 4. 1 Bagan kerja prosesor melayani interupsi.

Vektor Interupsi
Setiap interrupt akan mengeksekusi interrupt handlernya masing-masing
berdasarkan nomornya. Sedangkan alamat dari masing- masing interupt handler
tercatat di memori dalam bentuk array yang besar elemennya masing-masing 4
byte. Keempat byte ini dibagi lagi yaitu 2 byte pertama berisi kode offset
sedangkan 2 byte berikutnya berisi kode segmen dari alamat interupt handler
yang bersangkutan.
Jadi besarnya array itu adalah 256 elemen dengan ukuran elemen masing-
masing 4 byte. Total keseluruhan memori yang dipakai adalah sebesar 1024
byte (256 x 4 = 1024) atau 1 KB dan disimpan dalam lokasi memori absolut
0000h sampai 3FFh. Array sebesar 1 KB ini disebut Interupt Vector Table
(Table Vektor Interupsi).
Nilai-nilai yang terkandung pada Interupt Vector Table ini tidak akan sama di
satu komputer dengan yang lainnya. Interupt yang berjumlah 256 buah ini
dibagi lagi ke dalam 2 macam yaitu:
1. Interupt 00h – 1Fh (0 – 31) adalah interrupt BIOS.
standar di semua komputer baik yang menggunakan sistem operasi DOS
atau bukan. Lokasi Interupt Vector Table-nya ada di alamat absolut
0000h-007Fh.
2. Interupt 20h – FFh (32 – 255) adalah interrupt DOS.
Interrupt ini hanya ada pada komputer yang menggunakan sistem operasi
DOS dan Interupt Handler-nya di-load ke memori oleh DOS pada saat
28

DOS digunakan. Lokasi Interupt Vector Table-nya ada di alamat absolut


07Fh-3FFh. 13.

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 4. 1 Alat dan Bahan modul External Interupt

Alat atau Bahan Jumlah


Laptop 1
Arduino Board (rekomendasi Arduino
Mega) 1
Kabel data 2
Kabel jumper secukupnya
Push button 1
LED 1
ATmega 324 1

3.2 Langkah Percobaan


1. Menyambungkan pin-pin LED dan Arduino dengan kabel jumper.
2. Membuat New Project.
3. Men-setting untuk external interrupt.
meng-klik INT 0 kemudian memilih falling edge.
4. Memilih alphanumeric, lalu pada LCD port D.
5. Memilih generate and exit.
6. Ketika program muncul, pada bagian //place your code mengetik :
PORTA .0^1-1; kemudian mengganti ouput.
7. Menambah library.
8. Pada Unsigned char tempt (t);
int data ;
9. Mengetik kode di dalam while.
10. Meng-compile project.
11. Mengamati LED, akan muncur karakter sesuai delay.
29

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
1. Dengan percobaan external interrupt yang dilakukan diperoleh hasil
nyala LED dengan menekan tombol push button.
2. Dalam percobaan ini interupt berhasil dimanfaatkan sesuai dengan
program yang dibuat yaitu led blink.
3. Dalam percobaan ini mikrokontroler mampu mengontrol LED
berjalan sesuai dengan interupt yang dibuat.

4.2 Analisis Data

1. Ketika ada delay maka system mikroprosesor berhenti dan push button
tidak bisa digunakan.

2. Interupsi mode falling terjadi pada saat keadaan high ke low. Ketika kita
menekan push button program akan mengalami proses intrupsi selama
1000mS dan akan kembali ke program utama, ketika kita melepaskan
push button program tetap.

3. Bit INT1 adalah bit untuk mengaktifkan interupsi eksternal 1. Apabila


bit tersebut diberi logika 1 dan bit I pada SREG (status register) juga
satu , maka interupsi eksternal 1 akan aktif.
4. Bit INT0 adalah bit untuk mengaktifkan interupsi eksternal 0. Apabila
bit tersebut diberi logika 1 dan bit I pada SREG (status register) juga
satu , maka interupsi eksternal 0 akan aktif.
5. Bit INT2 adalah bit untuk mengaktifkan interupsi eksternal 2. Apabila
bit tersebut diberi logika 1 dan bit I pada SREG (status register) juga
satu , maka interupsi eksternal 2 akan aktif.

BAB V Kesimpulan
1. Interupsi adalah selaan yang diberikan oleh alat luar atau bagian dalam dari
sebuah mikrokontroler untuk menjalankan suatu rutin program tertentu.
2. Interupsi terjadi pada saat push button di tekan dan dilepas. Pada saat
interupsi mode falling interrupts akan terjadi pada saat switch di tekan.
30

3. Pada praktikum, external interrupt digunakan agar system mikroprosesor


yang dapat melakukan kegiatan lain yaitu dapat menyalakan LED lewat
push button.
MODUL 5
KOMUNIKASI SERIAL

BAB I Pendahuluan
1.1 Latar Belakang

Perkembangan teknologi melaju pesat memudahkan manusia dalam


menciptakan berbagai pesawat sederhana untuk memudahkan kehidupan
manusia, diantaranya dengan hadirnya teknologi transmitter receiver data
(UART) yang diterapkan pada peralatan komunikasi saat ini.

Serial Communication Interface (SCI) adalah perangkat yang digunakan


untuk serial exchange data antar mikroprosessor dan tiapa perangkat
peripheral seperti printer, scanners dan lain lain. SCI sama dengan Serial
Peripheral Device (SPI).

Praktikum ini bertujuan untuk memahami proses dari pengiriman


(Transmitter) data pada Atmega324A.

1.2 Tujuan
1. Mengetahui cara kerja serial pada komunikasi pada mikrokontroler
2. Dapat mengkomunikasikan Atmega324A dengan Arduino mega
melalui komunikasi serial

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 20 Mei 2019. Laboratorium Elektronika Gd.6 Lt..4, Teknik Elektro.

BAB II Landasan Teori


Komunikasi serial ialah pengiriman data secara serial (data dikirim satu persatu
secara berurutan), sehingga komunikasi serial lebih lambat daripada
komunikasi paralel. Komunikasi Serial dapat digunakan untuk menggantikan
Komunikasi Parallel jalur data 8-bit dengan baik. Tidak saja memakan biaya
yang lebih murah, namun dapat digunakan untuk menghubungkan dua peralatan
yang sangat jauh. Misalnya menumpang pada kabel telpon

31
32

Komunikasi data serial mengenal dua buah metode, yaitu synchronous dan
asynchronous. Metode sychronous mengirimkan datanya beberapa byte atau
karakter (atau disebut blok data atau frame) sebelum meminta konfirmasi
apakah data sudah diterima dengan baik atau tidak. Sementara metode
asynchronous data dikirim satu byte setiap pengiriman. Biasanya tidak
dibutuhkan konfirmasi menerimaan data. Dari kedua jenis metode tersebut
dapat dipilih dan dilakukan lewat program. Tentu saja dibutuhkan program yang
baik dan teliti untuk melakukannya. Namun dewasa ini proses pengiriman data
serial tersebut sudah dilakukan oleh sebuah chip tersendiri (Hardware). Salah
satu chip disebut UART (Universal Asynchronous Reciever Transmiter) dan
satunya lagi disebut USART (Universal Synchronous Asynchronous Reciever
Transmiter). Dalam protokol berbeda, sychronous memerlukan sinyal
tambahan yang digunakan untuk men-sychron-isasi setiap denyut dari proses
transfer.
kecepatan transfer data (data transfer rate) pada komputer tergantung pada
jenis komunikasi yang diberlakukan atasnya. Seperti contoh, komputer PC-IBM
model kuno dapat mentransfer data mulai dari 100 s/d 9600 bps. Namun pada
saat sekarang kecepatan komunikasi serial menjadi sangat pesat. 56.000 bps
kemudian menjadi standar kecepatan pada modem. Namun para perancang
komputer sepakat untuk membatasi kecepatan pada komunikasi serial
Asynchronous hanya setinggi 100.000 bps. Untuk kecepatan yang lebih tinggi
mode Synchronous kemudian menjadi pilihan

Gambar 5. 1 sinyal transmsisi sinkron


33

Gambar 5. 2 Pembingkaian Karakter ASCII “A”(41h)

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 5. 1 alat dan bahan modul komunikasi Serial

Alat atau Bahan Jumlah


Laptop 1
Arduino Board (rekomendasi Arduino
Mega) 1
Kabel data 2
Kabel jumper secukupnya
potensiometer 1
LM35 1
LCD 16*2 1
ATmega 324A 1

3.2 Langkah Percobaan 1


1. Menyambungkan port LCD ke AVR Controller dengan menggunakan
jumper.
2. Membuat Project baru.
3. Men-setting project, pada menu USART 0, memilih transmitter dan
memilih baudrate 9600 dan communaciton parameter menjadi 8 data.
4. Menulis program menjadi
{
UDR0 = ’b’,
Delay-ms(1000),
}
34

5. Menyambungkan RX arduino ke TX atmega dan TX arduino ke RX


atmega.
6. Membuat project baru di aplikasi Arduino genuino dan mensetup
program serial begin(9600).
7. Menulis program pada program,char data serial read(), serial print(data).
8. menghubungkan dari atmega ke LCD.
9. Upload program AVR dan Arduino.
10. Melihat tampilan LCD apakah menampilkan sesuai yang di program
pada laptop.

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
1. Tampilan LCD dan ouput dari potensio dan LDR sesuai.
2. Dengan memutar potensiometer, akan didapatkan nilai ADC yang
berubah-ubah sesuai dengan putaran nilai potensio-nya.
3. Jika LDR diberi cahaya, maka nilainya akan turun, jika diberi sedikit
cahaya (gelap), maka nilainya akan naik.

4.2 Analisis Data


1. Pada percobaan ini diperoleh data yang disimpan pada Arduino Mega akan
dikirimkan pada atmega melalui komunikasi TX dan RX Hasilnya akan
ditampilkan di LCD dengan tulisan ”HELLO”. Pada praktikum ini telah
berhasil ditampilkannya kata tersebut pada LCD.
2. Pada percobaan awal sempat tidak berhasil dikarenakan tidak ada supply
pada atmega 324A sehingga serial di arduino tidak membaca. Tapi pada
percobaan kedua berhasil.
3. while (1)
{
terima();
if(rec_flag) // whole string received
{
rec_flag = 0;
lcd_clear();
lcd_gotoxy(0, 1);
lcd_puts(dat);
lcd_gotoxy(0, 0);
lcd_puts(" You Received");
}
35

Pada bagian program ini jika value bernial 1 maka program akan
membaca program terima() lalu membaca rec_flag jika kondisi sudah
sesuai, lcd punya tampilan kosong pada awalnya lalu, program akan
memberi perintah lcd_gotoxy dan lcd_puts untuk kolom,barus dan huruf
yang akan mau di tampilkan pada LCD.

BAB V Kesimpulan
1. Arduino dan Atmega324 berfungsi untuk saling mengirimkan sinyal.
2. LCD berperan sebagai Output untuk menampilkan sinyal yang dikirimi
atmega dan juga arduino.
3. Jika tidak ada supply ke atmega324a maka serial di Arduino tidak dapat
membaca sehingga Output yang diinginkan pun juga tidak keluar.
MODUL 6
REAL TIME CLOCK

BAB I Pendahuluan
1.1 Latar Belakang
Waktu sangat penting bagi kehidupan sehari-hari. Dimanapun kita berada,
entah itu dirumah, kantor, sekolah, tempat ibadah, dll. Kita akan menemukan
jam sebagai pengingat waktu. Disekolah – sekolah, jam digunakan untuk
menentukan kapan waktu masuk kelas, waktu istirahat, waktu selesai istirahat
dan waktu pulang. Namun kebanyakan alat yang digunakan untuk memberi
tanda waktu-waktu tersebut masih dilakukan dengan manual.
Dengan menggunakan mikrokontroler, memungkinkan kita dapat membuat
atau menggunakan alat yang sudah otmatis terkontrol atau terprogram untuk
melakukan semua itu. Media yang digunakan adalah jam digital, kabel, dan
alarm/bel sebagai penanda waktu.
RTC merupakan salah satu komponen elektronika aktif yang dapat
menyimpan data tanggal dan waktu di dalam nya. Data waktu ini sering kali
digunakan untuk membuat sebuah alat penjadwalan terpadu atau hanya sekedar
jam digital saja.
Pada praktikum sistem mikrokontroler ini, diharapkan mahasiswa dapat
mengetahui cara kerja Real Time Clock dengan setting DS1307 pada
CodeVisionAVR.

1.2 Tujuan
1. Mengetahui cara kerja Real Time Clock.
2. Dapat melakukan setting waktu pada Real Time Clock.
3. Dapat menampilkan waktu dari Real Time Clock ke LCD karakter 16x2.

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 27 Mei 2019. Laboratorium Elektronika Gd.6 Lt.4, Teknik Elektro.

36
37

BAB II Landasan Teori


RTC (Real Time Clock) merupakan jenis timer yang bekerja berdasarkan
waktu nyata, atau dengan kata lain berdasarkan waktu sesaui waktu kita. Agar
dapat berfungsi, pewaktu ini membutuhkan dua parameter utama yang harus
ditentukan, yaitu pada saat mulai (start) dan pada saat berhenti (stop). DS1307
merupakan salah satu tipe IC RTC yang dapat bekerja dalam daya listrik rendah,
yang juga sering kita jumpai dalam PC/hanphone. Di dalamnya berisi waktu
jam dan kalender dalam format BCD,. Waktu jam dan kalender memberikan
informasi detik, menit, jam, hari, tanggal, bulan, dan tahun. Untuk bagian jam
dapat berformat 24 jam atau 12 jam. Pendeteksi sumber listrik juga disediakan
untuk mendeteksi kegagalan sumber listrik dan langsung mengalihkannya ke
sumber baterai.

Gambar 6. 1 RTC DS1307

Komunikasi yang digunakan untuk RTC mengacu I2C-Bus atau Inter-


Integrated Circuit Bus, merupakan bus serial yang dikembangkan oleh Phillips.
I2C Bus digunakan untuk menghubungkan berbagai macam IC yang dikontrol
oleh sistem micro-processor atau micro-controller (intelligent control
application). Sebagai catatan umumnyakristal 32,768 KHz dipasang berbaring
dan bodi/can disolder dengan ground.
38

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 6. 1 Alat dan Bahan Modul Real Time Clock

Alat atau Bahan Jumlah


Laptop 1
Arduino Board (rekomendasi Arduino
Mega) 1
Kabel data 2
Kabel jumper secukupnya
Push button 1
LCD 16x2 1
ATmega 324 1

3.2 Langkah Percobaan


1. Membuka aplikasi CodeVisionAVR
2. Membuat project baru.
3. Men-setting program. Meng-klik menu Bil. Banged Periperal, lalu
memilih DS1307, lali meng-klik enable, lalu meng-enable Square Wave
Ouput.
4. Memilih LCD dan menghubungkan pada Port A.
5. Memilih external interrupt pada INT0 dan set ke falling edge.
6. meng-generate program.
7. Menghubungkan SDA AVR ke SDA RTC, dan SCL AVR ke SCL RTC
dengan jumper.
8. Menghubungkan LCD ke AVR dengan jumper.
9. Menulis program.
10. Meng-compile dan mem-built program.
39

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
1. Setelah program berhasil di masukkan, layar LCD menampilkan waktu
dengan frekuensi 1 Hz. Tampilannnya yaitu jam, menit dan detik.

4.2 Analisis Data


1. Tampilan tanggal dan jam pada lcd dilakukan dengan cara pengaksesan
register pewaktu pada RTC. Pada Codevision AVR terdapat fitur I2C
bus dan koneksi pada RTC DS1307 sehingga hanya tinggal melakukan
pengaksesan data pada register timekeeper RTC.
2. IC DS1307 digunakan untuk mengontrol 12C, IC tersebut dapat di
setting pada code wizard AVR di bit-banged periferal.
3. Pengaturan external interrupt pada INT0 dengan mode falling edge
berguna untuk menginterupsi sinyal saat berpindah dari high ke low.
4. Sambungan pin sqw ke pin interrupt dan menjalankan program, program
dan pin sqw menggenerate 1 Hz frekuensi untuk menginterupsi AVR
untuk mendapatkan data secara Real Time.
5. Program utama : rtc_get_time(&h,&m,&s) dan
rtc_get_date(&d,&mo,&y) yang berfungsi untuk mensetting waktu
sekarang ( jam, menit dan detik ) dari RTC dalam satu kali akses dan
membaca tanggal, bulan dan tahun dari RTC dalam satu kali akses.

BAB V Kesimpulan
1. Cara kerja RTC pertama mengirim sinyal star yang diikuti oleh device
address dan alamat sebuah register yang akan dibaca kemudian beberapa
register dapat dibaca sampai stop condition dikirim.
2. Pada praktikum yang dilakukan kita dapat mengubah tampilan pada lcd
sesuai dengan apa yang kita inginkan dengan cara mengubah beberapa
coding pada program.
3. RTC (Real Time Clock) DS1307 merupakan komponen yang berfungsi
untuk mengatur waktu dengan tepat dan merupakan komponen yang
sempurna untuk melakukan data logging, timer, serta alarm, dll.
40
MODUL 7
INPUT OUTPUT, 4X4 KEYPAD DAN LED

BAB I Pendahuluan
1.1 Latar Belakang
Kemajuan ilmu pengetahuan dan teknologi mendorong manusia untuk
berusaha mengatasi masalah yang timbul di sekitarnya dan meringankan
pekerjaan yang sudah ada. Penggunaan mikrokontroller sangat luas, tidak hanya
untuk akuisisi data melainkan juga untuk pengendalian di pabrik-pabrik,
kebutuhan peralatan kantor, peralatan rumah tangga, automobile, dan
sebagainya. Hal ini disebabkan mikrokontroller merupakan sistem
mikroprosessor yang terpadu pada satu keping. Dalam praktikum kali ini kami
membahas tentang penggunaan mikrokontroller ATMega324 untuk membaca
input dari keypad 4x4 dan mengontrol outputnya ke seven-segment dengan
menggunakan compiler CodeVisionAVR.

1.2 Tujuan

1. Mengetahui cara kerja scanning keypad.

2. Dapat menampilkan karakter pada seven segment sesuai dengan


masukan dari scanning keypad.

1.3 Waktu dan Tempat Pelaksanaan Praktikum


Senin, 17 Juni 2019. Laboratorium Elektronika, Teknik Elektro.

BAB II Landasan Teori


2.1 CodeVisionAVR
CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan
fasilitas Integrated Development Environment (IDE) dan didesain agar dapat
menghasilkan kode program secara otomatis untuk mikrokontroller Atmel
AVR.

41
42

Integrated Development Environment (IDE) telah dilengkapi dengan fasilitas


pemrograman chip melalui metode In-System Programming sehingga dapat
secara otomatis mentransfer file program ke dalam chip mikrokontroller AVR
setelah sukses dikompilasi. Software In-System Programmer didesain
untuk bekerja ketika dihubungkan dengan development board STK500,
STK600, AVRISP mkII, AVR Dragon, AVRProg (AVR910 application note),
Atmel JTAGICE mkII, Kanda System STK200+STK300, Dontronics DT006,
Vogel Elektronik VTEC-SIP, Futurlec JRAVR and MicroTronics ATCPU, dan
Mega2000.
Untuk mengingkatkan kehandalan program ini, maka pada
CodeVisionAVR (Automatic Voltage Regulator) juga terdapat kumpulan
pustaka (library) untuk:
a. Modul LCD Alphanumeric
b. Philips I2C bus
c. National Semiconductor Sensor Temperatur LM75
d. Philips PCF8563, PCF8583, dan Maxim/Dallas Semiconductor Real
Time Clock DS1302 dan DS1307
e. Maxim/Dallas Semiconductor 1 wire protocol
f. Maxim/Dallas Semiconductor Sensor Temperatur DS1820, DS18S20,
dan DS18B20
g. Maxim/Dallas Semiconductor Termometer/Thermostat DS1621
h. Maxim/Dallas Semiconductor EEPROMs DS2430 dan DS2433
i. SPI
j. Power Management
k. Delays
l. Gray Code Conversion
m. MMC/SD/SD HC Flash memory cards low level access
n. Akses FAT pada MMC/SD/SD HC Flash memory card
CodeVisionAVR dapat menghasilkan kode program secara otomatis
melalui fasilitas CodeWizardAVR Automatic Program Generator. Dengan
adanya fasilitas ini maka penulisan program dapat dilakukan dengan cepat dan
43

lebih efisien. Seluruh kode dapat diimplementasikan dengan fungsi sebagai


berikut:
a. Identifikasi sumber reset
b. Mengatur akses memori eksternal
c. Inisialisasi port input/output
d. Inisialisasi interupsi eksternal
e. Inisialisasi timer/counter dan watchdog timer
f. Inisialisasi USART dan interupsi buffer untuk komunikasi serial
g. Inisialisasi komparator analog dan ADC
h. Inisialisasi interface SPI dan Two Wire Interface (TWI)
i. Inisialisasi interface CAN
j. Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat
b) DS1621, dan real time clock PCF8563, PCF8583, DS1302, DS1307
a. Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20
b. Inisialisasi modul LCD
2.2 Mikrokontroller
Mikrokontroller adalah sebuah sistem komputer fungsional dalam sebuah
chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil
RAM, memori program, atau keduanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroller adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa
ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroller sebenarnya
membaca dan menulis data.
Mikrokontroller digunakan dalam produk dan alat yang dikendalikan secara
otomatis, seperti sistem kontrol mesin, remote control, mesin kantor, peralatan
rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan
konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosessor memori, dan alat input output yang terpisah, kehadiran
mikrokontroller membuat kontrol elektrik untuk berbagai proses menjadi lebih
ekonomis.
44

2.3 Downloader K-125R


K-125R merupakan USB Atmel AVR ISP Programmer / downloader untuk
semua Tipe AVR. Berbeda dengan tipe Nue-125, K-125 yang dilengkapi
dengan komunikasi USB to Serial TTL. Alat ini akan membantu anda dalam
memprogram Mikrokontroler AVR semudah memasang sebuah USB konektor
pada komputer PC/ Laptop anda. Jadi kapanpun dan dimanapun anda dapat
melakukan pemrogramman Mikrokontroler AVR anda dengan mudahnya baik
menggunakan OS windows XP, windows Vista dan windows 7 32/ 64bit.

Gambar 7. 1 Downloader K-125R

2.4 Real-Time Clock (RTC) Module DS1307


Keypad adalah saklar-saklar push button yang disusun secara matriks yang
berfungsi untuk menginput data seperti, input pintu otomatis, input absensi,
input datalogger dan sebagainya. Saklar-saklar push button yang menyusun
keypad yang digunakan umumnya mempunyai 3 kaki dan 2 kondisi, kondisi
pertama yaitu pada saat saklar tidak ditekan, maka antara kaki 1, 2 dan 3 tidak
terhubung (berlogika 1). Sedangkan pada kondisi kedua adalah saat saklar
ditekan, maka kaki 1, 2 dan 3 akan terhubung dan berlogika 0.

Gambar 7. 2 4x4 Keypad


45

BAB III Tahapan Praktikum


3.1 Alat dan Bahan
Tabel 7. 1 Alat dan bahan Modul Input Output, 4x4 Keypad dan LED

Alat atau Bahan Jumlah


Kabel jumper Secukupnya
ATMega324 1
Downloader K-125R 1
Seven segments display 4
4x4 Keypad 1
Basic Trainer Microcontroller 1
Laptop 1
Kabel downloader 1

3.2 Langkah Percobaan


1. Menyiapkan alat dan bahan.
2. Memasang kabel power Basic Trainer Microcontroller.
3. Memasang downloader K-125R pada Basic Trainer dan
menghubungkan kabelnya ke laptop.
4. Menyambungkan mikrokontroller ATMega324 ke Modul 4x4 Keypad
dan ke seven segments display dengan kabel jumper.

5. Membuka CodeVisionAVR, membuat file baru dan menset PORTA


sebagai keluaran ke seven segments display dan PORTC sebagai
masukan dari 4x4 keypad.

6. Menuliskan program sesuai dengan code yang tertulis pada modul untuk
membaca masukan dari 4x4 keypad dan memberi keluaran pada seven-
segment.

7. Upload kode program ke microcontroller.

8. Mengamati hasil pada LCD


46

BAB IV Pengamatan dan Analisis Data


4.1 Data Hasil Percobaan
Hasil yang didapat dari percobaan terdapat error, seven segments tidak
dapat menampilkan tampilan yang sesuai dengan tombol yang ditekan pada
keypad 4x4, kemungkinannya adalah kesalahan pada program atau pada
keypad yang tersedia, tetapi saat beberapa tombol pada keypad ditekan
bersamaan, dapat menampilkan angka dan huruf (2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, F).

4.2 Analisis Data

unsigned char segmen[]= {0b11000000, 0b11111001, 0b10100100,


0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000,
0b10000000, 0b10010000, 0b10001000, 0b10000011, 0b11000110,
0b10100001, 0b10000110, 0b10001110};

Merupakan kode yang digunakan untuk pemetaan output yang akan


dikeluarkan pada matriks.

DDRA=0xFF;

Merupakan kode berfungsi untuk men-set PORTA sebagai output.

DDRC=0xF0;
Merupakan kode yang berfungsi untuk men-set PORTC sebagai input.
Keypad dan seven segment tidak sesuai dengan angka / huruf yang kita
ketikkan pada keypad. Hal tersebut dapat terjadi karena bisa jadi modul
mikrokontroler ATMega 324A, modul seven segment, atau modul LCD
tidak berfungsi dengan baik. Faktor ini kemungkinan besar terjadi,
alasannya modul yang disediakan praktikum merupakan satu set. Kami
tidak dapat memeriksa jalur papan rangkaian modul, karena tertempel di
koper. Kesalahan juga mungkin terletak pada kode ketika memogram
sebelum diupload. Program yang kami buat sudah sesuai dengan contoh
namun output yang diharapkan tidak sesuai.
47

BAB V Kesimpulan
1. Pada praktikum ini, 4x4 Keypad digunakan untuk mengtrigger agar pada 7
segment keluar output yang diinginkan. Angka yang kita masukkan pada
keypad seharusnya sinkron dengan 7 segment.
2. Bit yang dimasukkan di kode program berfungsi untuk Hasil Keluaran 4x4
keypad
3. Kombinasi beberapa tombol yang ditekan bersamaan dapat menimbulkan
output yang berbeda dari saat tombol ditekan satu persatu.

Anda mungkin juga menyukai