Seven Segment Keypad Dan LCD [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

PRAKTIKUM MIKROPROSESOR MODUL II SEVEN SEGMENT, KEYPAD dan LCD LAPORAN AWAL



NAMA



: Mukh Yasin Nur Supriyadi



NPM



: 140303130001



WAKTU



: Senin, 6 Oktober 2014, 16.30 – 18.00



ASSISTEN



: Ahmad dan Fajar



LABORATORIUM HARDWARE PROGRAM STUDI TEKNIK KOMPUTER FMIPA UNPAD 2014



MODUL II SEVEN SEGMENT, KEYPAD dan LCD I.



Tujuan Praktikum  Praktikan dapat memahami rangkaian mikrokontroler ATMega 8535 dengan seven segment.  Praktikan dapat menggunakan dan memahami instruksi program CodeVision AVR untuk   



menampilkan data ke seven segment. Praktikan mempelajari fungsi keypad. Praktikan dapat membuat program untuk memeriksa tombol yang ditekan pada keypad. Praktikan mampu membuat program untuk menampilkan suatu karakter pada LCD (Liquid Crystal Display) melalui pin I/O AVR.



II.



Teori Dasar II.1.



Seven Segment



Seven segment adalah suatu segmen-segmen yang digunakan menampilkan angka. Seven segment ini tersusun atas 7 batang LED yang disusun angka 8 dengan menggunakan huruf a-f yang disebut DOT MATRIKS. Setiap segmen terdiri dari 1 atau 2 Light Emiting Diode(LED). Peraga seven merupakan konfigurasi 7 buah LED dan 1 titik LED yang dapat dibentuk menjadi angka dan karakter tertentu yang ditandai dengan batang ‘a’ hingga batang ‘g’.



Gambar 2.1 Konstruksi Seven Segment Seven segment dapat dibedakan menjadi dua macam yaitu: 



Common Anoda



:



Logika 1 = mati (logika tinggi) Logika 0 = menyala (logika rendah)







Common Katoda



:



Logika 1 = menyala (logika tinggi) Logika 0 = mati (logika rendah)



Tabel untuk menampilkan angka 0-9 :



Angk



Bit7



Bit6



Bit5



a 0 1 2 3 4 5 6 7 8 9



dot 1 1 1 1 1 1 1 1 1 1



g 1 1 0 0 0 0 0 1 0 0



f 0 1 1 1 0 0 0 1 0 0



Angk



Bit7



Bit6



Bit5



a 0 1 2 3 4 5 6 7 8 9



dot 0 0 0 0 0 0 0 0 0 0



g 0 0 1 1 1 1 1 0 1 1



f 1 0 0 0 1 1 1 0 1 1



Rangkaian Seven Segment:



COMMON ANODA Bit4 Bit3 E 0 1 0 1 1 1 0 1 0 1



D 0 1 0 0 1 0 0 1 0 0



COMMON ANODA Bit4 Bit3 E 1 0 1 0 0 0 1 0 1 0



D 1 0 1 1 0 1 1 0 1 1



Bit2



Bit1



Bit0



Data



c 0 0 1 0 0 0 0 0 0 0



b 0 0 0 0 0 1 1 0 0 0



A 0 1 0 0 1 0 0 0 0 0



(hexa) 0xc0 0Xf9 0Xa4 0xB0 0x99 0x92 0x82 0Xf8 0x80 0x90



Bit2



Bit1



Bit0



Data



c 1 1 0 1 1 1 1 1 1 1



b 1 1 1 1 1 0 0 1 1 1



A 1 0 1 1 0 1 1 1 1 1



(hexa) 0x3F 0x06 0x5B 0x4F 0x66 0x6E 0x7E 0x07 0x7F 0x6F



Gambar 2.2 Rangkaian Seven Segment II.2.



Keypad



Keypad adalah kumpulan beberapa switch yang tersusun atas baris dan kolom, yang mempunyai sifat yang unik yaitu kolom dan barisnya tidak dapat dirubah. Dalam melakukan proses pembacaan dan pengiriman data keypad dapat bekerja dengan menggunakan dua metoda, yaitu metoda scanning dan pollong. Keypad ATMega 8535 yang digunakan menggunakan metoda scanning yang berfungsi untuk menerima input tombol keypad serta menampilkan digit atau karakter yang diinginkan ke alat penampil seperti seven segment atau LCD. Berikut ini merupakan gambar rangkaian dari keypad:



Gambar 2.3 Rangkaian Keypad 3x4 Keypad merupakan susunan saklar push-button menurut baris dan kolom, hampir sama dengan dot matriks, hanya saja dot matrix tersusun dari LED. Bentuk dan susunan keypad dapat dilihat pada gambar 2.3. Hubungkan pin keypad dengan pin mikrokontroler. Cara untuk mengetahui saklar mana yang ditekan adalah dengan memeriksa baris dan kolom. Agar mikrokontroler mengetahui baris dan kolom mana yang terhubung, maka sebagian port mikrokontroler difungsikan sebagai output dan sebagian lagi difungsikan sebagai input.



II.3.



LCD



LCD adalah suatu display dari bahan cairan Kristal yang pengoperasiannya menggunakan system dot matriks, LCD banyak digunakan sebagai display dari alat-alat elektronik seperti kalkulator, multitester digital, jam digital dan sebagainya.



Gambar 2.4 Blok Diagram LCD LCD dapat digunakan dengan mudah dihubungkan dengan mikrokontroler AVR ATMega 8535. LCD yang digunakan dalam percubaan adalah LCD 2 x 16, lebar display 2 baris 16 kolom, yang mempunyai 16 pin konektor yang didefinisikan sebagai berikut:



Gambar 2.5 Konfigurasi Pin pada LCD Konfigurasi Pin pada LCD



PI N 1



NAMA PIN



FUNGSI



VSS



Ground Voltage



2



VCC



+5v



3



VEE



Contrast Voltage



4



RS



5



R/W



6



E



7 8 9 10 11 12 13 14 15 16



DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BPL GND



Register Select 1 = Intruction Register 0 = Data Register Read/Write, to choose write or read mode 0 = write mode 1 = read mode Enable 0 = start to lacht data to LCD character 1 = disable Data bit ke-0 (LSB) Data bit ke-1 Data bit ke-2 Data bit ke-3 Data bit ke-4 Data bit ke-5 Data bit ke-6 Data bit ke-7 Back Plane Light Ground Voltage



III.



TUGAS PENDAHULUAN 1. Jelaskan cara kerja seven segment! Jawab : Prinsip kerja seven segmen ialah input biner pada switch



dikonversikan



masuk



ke



dalam



decoder,



baru



kemudian



decoder



mengkonversi bilangan biner tersebut menjadi decimal, yang nantinya akan



ditampilkan



pada



seven



segment. Seven



segment



dapat



menampilkan angka-angka desimal dan beberapa karakter tertentu melalui kombinasi aktif atau tidaknya LED penyusunan dalam seven segment. Untuk memudahkan penggunaan seven segment, umumnya digunakan sebuah decoder( mengubah/ mengkoversi input bilangan biner menjadi decimal) atau seven segment driver yang akan mengatur aktif tidaknya led-led dalam seven segment sesuai dengan nilai biner yang diberikan. 2. Apa perbedaan antara seven segment common anoda dengan seven segment common katoda? Jawab : a. Common anoda Disini, semua anoda dari diode disatukan secara parallel dan semua itu dihubungkan ke VCC dan kemudian LED dihubungkan melalui tahanan pembatas arus keluar dari penggerak. Karena dihubungkan ke VCC, maka Common Anoda ini berada pada kondisi aktif high. b. Common katoda Disini semua katoda disatukan secara parallel dan dihubungkan ke ground. Karena seluruh katoda dihubungkan ke ground, maka common katoda ini berada pada kondisi aktif low. 3. Seven segment termasuk ke dalam encoder atau decoder! Jelaskan alasannya! Jawab : Decoder. Karena pada dasarnya prinsip kerja seven segmen ialah input



biner pada switch dikonversikan masuk ke dalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut menjadi decimal, yang nantinya akan ditampilkan pada seven segment. 4. Download rangkaian LCD! Jawab :



5. Apa fungsi kaki 15 dan 16 pada LCD? Jawab : kaki 15 berfungsi sebagai BPL (Back Plane Light) , dan kaki 16 sebagai Ground Voltage, 6. Apa fungsi dari potensiometer pada rangkaian LCD? Jawab : pada sebuah LCD terdapat trimpot potensiometer yang besarnya 10KΩ. Dimana fungsi dari trimpot potensiometer tersebut digunakan untuk mengatur contrast dari karakter yang ditampilkan pada LCD. 7. Buat program untuk menampilkan nama anda di LCD! Jawab : lcd_gotoxy(0,0); lcd_gotoxy(0,0); lcd_putsf("Tampilkan Nama"); lcd_gotoxy(0,1); lcd_putsf("Mukh Yasin Nur Supriyadi"); delay_ms(100); lcd_clear(); delay_ms(100); atau dengan cara berikut : #include // Alphanumeric LCD Module Functions #asm .equ __lcd_port=0x15 ; PORTC #endasm #include // Standard Input / Output Functions #include lcd_init (16); lcd_putsf ("Mukh Yasin Nur Supriyadi"); while ()



{ // put your code here } 8. Jelaskan cara kerja keypad ATMega 8535! Jawab : scanning yaitu mendeteksi terus menerus apakah ada penekanan tombol. Scanning ini dilakukan dengan bantuan mikrokontroler ATMega 8535 yang telah diprogram untuk scanning.



9. Sebutkan dan jelaskan dua metoda cara kerja keypad! Jawab : a. Metoda Scanning Metode scanning keypad dilakukan dengan mendeteksi hubungan pin baris dan kolom karena tombol ditekan, secara berurutan, bergantian dan satu-persatu. 10. Buatlah program untuk menampilkan huruf pertama dari nama anda pada seven segment menggunakan codevison AVR! Jawab : Org 0h Start: Mov P0,#01001101b ; tulis huruf M pada 7 segmen End 11. Buatlah program seven segment untuk menampilkan data ADC! Jawab :



12. Buatlah program untuk menampilkan karakter pada LCD menggunakan keypad! Jawab : #include #include #include #include // Alphanumeric LCD Module functions #asm .equ __lcd_port=0×15 ;PORTC #endasm void tekan_keypad_tampil_lcd() //penekanan keypad kemudian ditampilkan di LCD { PORTB = 0b11111110; delay_ms(30); if (PINB.4 == 0) {lcd_putsf(“1″); delay_ms(300);} if (PINB.5 == 0) {lcd_putsf(“4″); delay_ms(300);} if (PINB.6 == 0) {lcd_putsf(“7″); delay_ms(300);} if (PINB.7 == 0) {lcd_putsf(“F”); delay_ms(300);} PORTB = 0b11111101; delay_ms(30);



if (PINB.4 == 0) {lcd_putsf(“2″); delay_ms(300);} if (PINB.5 == 0) {lcd_putsf(“5″); delay_ms(300);} if (PINB.6 == 0) {lcd_putsf(“8″); delay_ms(300);} if (PINB.7 == 0) {lcd_putsf(“0″); delay_ms(300);} PORTB = 0b11111011; delay_ms(30); if (PINB.4 == 0) {lcd_putsf(“3″); delay_ms(300);} if (PINB.5 == 0) {lcd_putsf(“6″); delay_ms(300);} if (PINB.6 == 0) {lcd_putsf(“9″); delay_ms(300);} if (PINB.7 == 0) {lcd_putsf(“E”); delay_ms(300);} PORTB = 0b11110111; delay_ms(30); if (PINB.4 == 0) {lcd_putsf(“A”); delay_ms(300);} if (PINB.5 == 0) {lcd_putsf(“B”); delay_ms(300);} if (PINB.6 == 0) {lcd_putsf(“C”); delay_ms(300);} if (PINB.7 == 0) {lcd_putsf(“D”); delay_ms(300);} } void tampil_string() { lcd_gotoxy(0,0);



//menempatkan kursor lcd pada baris 0 kolom 0



lcd_putsf(“tampilan lcd2x16″);



//menampilkan tulisan tampilan



lcd2x16 lcd_gotoxy(0,1);



//menempatkan kursor lcd pada baris 1 kolom 0



lcd_putsf(“Elektro-cOntrOl”);



//menampilkan tulisan ElektrO-



cOntrOl } void tampil_variabel() { //sebuah variabel yg akan ditampilkan kedalam LCD harus diubah dahulu kedalam tipe data array //jika variabel bertipe data float maka diubah kedalan array dengan instruksi ftoa //jika variabel bertipe data int maka diubah kedalan array dengan instruksi itoa char temp[6]; int a=500; float b=123.45;



itoa(a,temp); lcd_gotoxy(0,0); lcd_puts(temp); ftoa(b,2,temp); //angka 2, banyaknya digit dibelakang koma yg ditampilkan lcd_gotoxy(0,1); lcd_puts(temp); } void main(void) { PORTB = 0xff; DDRB = 0x0f;//PA0-3 sebagai output, PA4-7 sebagai input while(1) //program utama { //tinggal dilakukan pemanggilan fungsi saja, contoh: tampil_string(); //pemanggilan fungsi tampil_string() }; }



DAFTAR PUSTAKA Ino Suryana, Drs,.M.Kom. 2014 , Laboratorium Hardware: Modul Praktikum Mikroprosessor Universitas Padjadjaran. Jatinangor http://id.wikipedia.org/wiki/Layar_tujuh_segmen http://pemudaminangkabau.wordpress.com/2013/02/28/pengertian-motor-dc/ http://wahyurahmaniar.files.wordpress.com/2010/11/lcd21.jpg http://natasyakinsky.blogspot.com/2013/06/seven-segment-display.html http://ilmubawang.blogspot.com/2011/04/download-artikel-ini-dalam-bahasa.html http://elektobot.blogspot.com/2013/09/program-menampilkan-kata-dari.html http://fuad-muhammad.blogspot.com/2011/12/huruf-kode-biner.html http://elektro-kontrol.blogspot.com/2011/06/lcd-dan-keypad.html http://ari-bawono.blogspot.com/2012/09/belajar-menampilkan-data-adc-di-lcd-2x16.html