PERCOBAAN 3 Seven segment, keypad, dan LCD Gidion Siregar (13115035) Asisten Praktikum : M. Farid Hasan (13115012) Tanggal Praktikum : 30/03/2019 EL3203 Praktikum Sistem Mikroprosesor Laboratorium Teknik Elektro - Institut Teknologi Sumatera –Beberapa interface yang umum digunakan sebagai masukan maupun keluaran dalam penggunaan mikrokontroller ATMega8535 adalah seven segment, keypad, dan LCD. Dalam percobaan di modul 4 ini akan dipelajari bagaimana menggunakan ketiganya. Dengan melakukan sesuai percobaan yang diinginkan, sesuai pada modul. keyword – seven segment, keypad, LCD, scanning. Abstrak
Tampilan Seven Segment 1.
PENDAHULUAN SCANNING KEYPAD
Dalam menggunakan mikrokontroller ATMega 8535, seringkali diperlukan suatu devais untuk menampilkan keluaran maupun memberikan suatu masukan. Untuk itu dapat digunakan devais tambahan seperti seven segment, keypad, dan LCD. Dalam penggunaannya, seven segment dan keypad memerlukan proses scanning untuk menampilkan keluaran maupun membaca masukan. Sementara untuk menggunakan LCD, telah terdapat library yang berisi fungsi-fungsi untuk menampilkan dalam LCD. 2 . LANDASAN TEORI SCANNING SEVEN SEGMENT Salah satu teknik untuk menggunakan seven segment adalah teknik scanning. Dengan menggunakan teknik ini, sejumlah seven segment dapat dijalankan secara bergantian dengan frekuensi tertentu. Hal ini akan menghemat jumlah port. Pada percobaan di modul ini akan digunakan dua buah seven segment pada Trainer Board. Untuk menjalankan seven segment 1 dan 2 secara berurutan pin DO1 dan DO2 masing-masing harus diberi logika “0” secara bergantian. Selain itu perlu dilakukan pengaturan segment mana yang akan diaktifkan dengan memberikan logika “1”. Urutan dari MSB ke LSB adalah DP, G, F, D, E, C, B, A.
Untuk menggunakan keypad, digunakan teknik scanning seperti pada penggunaan seven segment sebelumnya. Pengaturan logika dilakukan secara bergantian untuk mengetahui tombol mana yang sedang ditekan. Keypad 2x2 yang terdapat pada trainer board memiliki pin penerima output dari mikrokontroller KBO1 dan KBO2 yang bersifat active low, dan pin pemberi input pada mikrokontroller KBI1 dan KBI2 yang juga bersifat active low. Untuk menjalankan keypad 2x2, diberikan logika “0” pada KBO1 dan “1” pada KBO2”. Selanjutnya dilakukan pengecekan pada KBI1 dan KBI2 yang mengalami perubahan logika dari “0” menjadi “1” untuk mengetahui tombol mana yang ditekan. Selanjutnya diulangi langkah yang sama dengan memberi logika “1” pada KBO1 dan logika “1” pada KBO2.
Skematik Keypad LCD Pada percobaan ini digunakan LCD yang berbasis HD44780 LCD Controller. Penggunaan LCD akan dilakukan dengan menggunakan library dan demo project yang bernama AVR LCD lib. LCD digunakan pada Port C. Tujuan Percobaan yaitu : Praktikan memahami datasheet ATMega 8535 Praktikan mampu membuat aplikasi Seven Segment, Keypad dan LCD
Lalu untuk semua percobaan konsep langkah kerjanya sama seperti diagram dibawah ini :
Source code diketik pada WinAVR
Membuat makefile dengan menggunakan program MFile
Download program ke mikrokontroler
.
3. METODOLOGI
Run program, lalu amati hasilnya pada trainer board
3.1. Alat dan Bahan yang digunakan pada percobaan ini : Alat-alat yang digunakan selama prak-tikum ini: PC Desktop (1 unit) dengan software WinAVR Kit (ATmega8535, Trainer Board) Kabel DB9 (1 buah) Kabel serial (2 buah) Seven segment Keypad LCD
LANGKAH UMUM PRAKTIKUM
Rangkai kit sesuai dengan petunjuk yang ada di modul
Hubungkan kit dengan downloader lalu dengan PC
Membaca pengaturan fuse dengan Avrdude
Mengubah pengaturan fuse dengan Avrdude
4. HASIL DAN ANALISIS Percobaan IV.A –SCANNING SEVEN SEGMENT
Dengan source code untuk percobaan : #include
#define F_CPU 7372800UL #include char angka; char kodehex; unsigned int SSegmen(char angka); int main (void) { DDRA = 0xFF; DDRD = 0xFF; while (1) { PORTD =(0<
case '2': kodehex = 0xA4; break; case '3': kodehex = 0xB0; break; case '4': kodehex = 0x99; break; case '5': kodehex = 0x92; break; case '6': kodehex = 0x82; break; case '7': kodehex = 0xF8; break; case '8': kodehex = 0x80; break; case '9': kodehex = 0x90; break; } return kodehex; } Dimana, hasil dari source code akan menampilkan sevent segment menampilkan “7.2” maka percobaan yang dilakukan benar.
flowchart start
DDRA = 0xFF DDRD = 0xFF
PORT D = (0<
Delay 1 ms
PORT D = (1<
Delay 1 ms
Analisis : Dari flowchart di atas terlihat bahwa program memiliki bagian main dan sebuah fungsi SSegmen. Fungsi Ssegmen digunakan untuk mengatur segmen mana yang diaktifkan saat suatu karakter akan ditampilkan. Dalam hal ini hanya karakter angka yang dibuat yaitu 0-9. Penambahan karakter titik pada seven segment dilakukan dengan operasi OR dengan operan (1<<7). Program utama yang dibuat melakukan scanning pada kedua seven segment secara bergantian dengan periode 2 detik, terlihat dari jeda 1 detik tiap proses scanning. Kemudian dilakukan penampilan digit “7.” pada seven segment pertama dan “2” pada seven segment kedua. Hasil yang diperoleh dari percobaan ini telah sesuai yaitu ditampilkannya “7.2” pada seven segment.
Percobaan IV.A.2 pada program A.1. TUGAS Pertama, seven segment akan menampilkan ”50.” 1 detik kemudian, seven segment akan menampilkan ”40.” 1 detik kemudian, seven segment akan menampilkan ”30.” 1 detik kemudian, seven segment akan menampilkan ”20.”1 detik kemudian, seven segment akan menampilkan ”10.” 1 detik kemudian, program kembali menampilkan ”F.F.” yang berkedip- kedip 3x dengan selang waktu setengah detik. Kemudian padam..
Analisis : Dari, percobaan diatas dapat diketahui hasil percobaan menapilkan sesui dengan perintah modul, dengan menampilkan angka 50, 40, 30,20, dan 10. Dengan secara bergantian sesuai delay yang telah dibuat. Angka yang di tampilkan pada seven segment, sesuai dengan kode hex yang telah dibuat pada codingan, dengan menggunakan fungsi perulangan.
5. KESIMPULAN Dari percobaan-percobaan yang telah dilakukan pada modul ini diperoleh kesimpulan bahwa :
Sebagai interface untuk memberikan masukan ke mikrokontroller ATMega 8535 dapat digunakan keypad. Terdapat beberapa jenis keypad dilihat dari ukurannya yaitu 2x2, 3x3, dan 4x4.
Sebagai interface untuk menampilkan suatu keluaran, selain digunakan LED, dapat pula digunakan seven segmen dan LCD.
Untuk menghemat penggunaan port pada mikrokontroller ATMega, dalam proses pembacaan masukan maupun menampilkan keluaran digunakan sebuah teknik scanning. Dengan teknik ini, scanning dilakukan secara bergantian untuk setiap komponen sehingga jumlah pin yang digunakan hanya sedikit.
Untuk menggunakan LCD, telah tersedia library yang dapat langsung digunakan beserta dnegan prosedur-prosedur di dalamnya.
REFRENSI
http://fti.unissula.ac.id/download/Modul%20P ra ktikum%20TE/2017-TE%20PraktSistem%20Mikroprosesor-Image.pdf https://www.academia.edu/9071984/Seven_S eg ment_Keypad_dan_LCD Modul Praktikum Sistem Mikroprosesor Institut Teknologi Sumatera
Lampiran Source code percobaan IV. B #include #define F_CPU 7372800UL #include char angka; char kodehex; unsigned int SSegmen(char angka); int main (void) { DDRA = 0xFF; DDRD = 0xFF; while (1) { for(int x = 1; x<=200; x++) { PORTD =(0<
Petunjuk Praktikum Sistem Mikroprosesor Institut Teknologi Sumatera
} for(int x = 1; x<=200; x++) { PORTD =(0<
PORTA =0b00001110; _delay_ms(1); } for(int x = 1; x<=200; x++) { PORTD =(0<
kodehex = 0xB0; break; case '4': kodehex = 0x99; break; case '5': kodehex = 0x92; break; case '6': kodehex = 0x82; break; case '7': kodehex = 0xF8; break; case '8': kodehex = 0x80; break; case '9': kodehex = 0x90; break; } return kodehex; }