lupasumber

4
1. Gambarkan rangkaian antarmuka mikrokontroler ATmega8535 dengan piranti input keypad 4x4. Rangkaian Atmega 8535 dengan keypad Penjelasan : - Pada Keypad Kolom 1 (Cow 1) Dihubungkan dengan PortB.4 MK ATmega8535 - Pada Keypad Kolom 2 (Cow 2) Dihubungkan dengan PortB.5 MK ATmega8535 - Pada Keypad Kolom 3 (Cow 3) Dihubungkan dengan PortB.6 MK ATmega8535 - Pada Keypad Kolom 4 (Cow 4) Dihubungkan dengan PortB.7 MK ATmega8535 - Pada Keypad Baris 1 (Row 1) Dihubungkan dengan PortB.0 MK ATmega8535 - Pada Keypad Baris 2 (Row 2) Dihubungkan dengan PortB.1 MK ATmega8535 - Pada Keypad Baris 3 (Row 3) Dihubungkan dengan PortB.2 MK ATmega8535

Upload: hahancool

Post on 06-Nov-2015

213 views

Category:

Documents


1 download

DESCRIPTION

fix

TRANSCRIPT

1. Gambarkan rangkaian antarmuka mikrokontroler ATmega8535 dengan piranti input keypad 4x4.Rangkaian Atmega 8535 dengan keypad

Penjelasan : Pada Keypad Kolom 1 (Cow 1) Dihubungkan dengan PortB.4 MK ATmega8535 Pada Keypad Kolom 2 (Cow 2) Dihubungkan dengan PortB.5 MK ATmega8535 Pada Keypad Kolom 3 (Cow 3) Dihubungkan dengan PortB.6 MK ATmega8535 Pada Keypad Kolom 4 (Cow 4) Dihubungkan dengan PortB.7 MK ATmega8535 Pada Keypad Baris 1 (Row 1) Dihubungkan dengan PortB.0 MK ATmega8535 Pada Keypad Baris 2 (Row 2) Dihubungkan dengan PortB.1 MK ATmega8535 Pada Keypad Baris 3 (Row 3) Dihubungkan dengan PortB.2 MK ATmega8535 Pada Keypad Baris 4 (Row 4) Dihubungkan dengan PortB.3 MK ATmega8535

2. Jelaskan cara mikrokontroler ATmega8535 membaca input dari keypad tersebut.Jawab :Pada Settingan Port atau Konfigurasi Awal Untuk PortB.4 PortB.7 (Cow 1 4) dijadikan output dengan kondisi awal high ( berlogika 1) Untuk PortB.0 PortB.3 (Row1 4) dijadikan input dengan kondisi awal pull Up

Hasilnya : PORTB=0xff; //0b11111111DDRB=0x0f; //PORTB sebagai input dan output, 0b00001111

Contoh Program untuk pembacaan baris 1 kolom 1,2,3 dan 4: unsigned char keypad() { PORTB = 0b11111110;//aktifkan baris1 (memberi logika 0 ke baris1) delay_ms(100); if(PINB.7==0); if(PINB.6==0); if(PINB.5==0); if(PINB.4==0);}Jadi misal ketika PINB.4 (Kolom 1) atau angka 1 ditekan, Maka Kolom 1 dan Baris 1 menjadi rangkaian tertutup Baris 1(PortB.0) akan mendapat masukan logika 1 dari kolom 1(PINB.4) yang sebelumnya diaktifkan PORTB = 0b11111110;//aktifkan baris1 (memberi logika 0 ke baris1).

3. (Ki Gae Flowchart) Bingunghim hahahaComment by Dell PC: Iki gung paham him hahaha bingung gambar flowcharte

4. Listing ProogramAgar mengatahui tombol berfungsi maa digunakan Ouput berupa Led pada Port C yang berrlogika 0 (Low) seegingga :PORTB=0xff; //0b11111111DDRB=0x0f; //PORTB sebagai input dan output, 0b00001111PORTC=0x00;DDRC=0xff; //PORTC sebagai outputLalu Deklarasi Fungsi keypadunsigned char keypad();Lalu pada main Program:while (1){ PORTC=keypad(); //menampilkan hasil yang dikembalikan oleh fungsi ke LED}

Kemudian masukan fungsi berikut di bawah main program (di luar fungsi void) :unsigned char keypad() { PORTB = 0b11111110; //aktifkan baris1 (memberi logika 0 ke baris1) delay_ms(100); if(PINB.6==0) return (3); if(PINB.5==0) return (2); if(PINB.4==0) return (1); //======================== PORTB = 0b11111101; //aktifkan baris2 delay_ms(100); if(PINB.6==0) return (6); if(PINB.5==0) return (5); if(PINB.4==0) return (4); //======================== }

Ketika Angka 1 ditekan maka led yang ditampilkan Binner dari decimal 1Ketika Angka 2 ditekan maka led yang ditampilkan Binner dari decimal 2Ketika Angka 3 ditekan maka led yang ditampilkan Binner dari decimal 3Ketika Angka 4 ditekan maka led yang ditampilkan Binner dari decimal 4Ketika Angka 5 ditekan maka led yang ditampilkan Binner dari decimal 5