Guru Matapelajaran:
Nihayatul Fitriyah
A. Tujuan :
1. Memahami rangkaian display seven segment dengan input keypad mikrokontroler
ATmega16
2. Mengetahui dan memahami cara mengantarmukakan mikrokontroler dengan
keypad dengan output Steven segment
3. Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk membaca
masukan dari keypad.
4. Memahami kode hexadecimal untuk digit angka pada mikrokontroler ATmega16
5. Membuat program penampil angka pada seven segment dengan input keypad
6. Membuat program counter angka pada seven segment dengan input keypad
B. Dasar Teori
Toggle
Keypad
Switch
input
output
PC Rangkaian
PC // LAPTOP
LAPTOP Rangkaian Rangkaian Seven segment
Downloader Minimum Sistem
Downloader
Keypad
Keypad merupakan tombol push button yang disusun sebagai baris dan kolom sehingga
membentuk matriks. Keypad banyak digunakan sebagai piranti masukan dalam piranti
elektronik. Gambar 1 memperlihatkan bentuk fisik keypad. Keypad ini memiliki 16 tombol yaitu
0,1,2,3,4,5,6,7,8,9,A,B,C, D,* dan #.
Halaman 2 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
Rangkaian Keypad pada ATmega16
Penampil seven segment adalah sebuah piranti penampil untuk menampilkan angka
desimal. Tampilan LED seven segmen pada dasarnya terbuat dari tujuh buah diode pemancar
cahaya (Light Emitting Diode, LED) yang saling terpisah yang dikemas dalam satu paket.
Penampil seven segment banyak digunakan dalam jam digital, meter elektronik, dan piranti
elektronik yang lain. Gambar 1 memperlihatkan bentuk fisik dan layout dasar penampil seven
segment. Penampil seven segment terdiri atas 8 LED yang disusun seperti dalam
Gambar1(b). Setiap LED diidentifikasi sebagai huruf a, b, c, d, e, f, g, yang dimulai dari huruf
a di sebelah atas. Di sebelah kanan terdapat satu LED tambahan yang digunakan sebagai
koma (dp).
Tampilan 7-Segmen mempunyai dua macam konfigurasi yaitu common Anode dan
common Katode. Pada konfigurasi common anode ketujuh pin anode dari LED dihubungkan
secara bersama (pada simpul yang sama) seperti yang ditunjukkan pada gambar 4. Gambar 4.
ini memperlihatkan bahwa masing-masing segmen dari anoda LED tersebut dihubungkan
bersama ke suplay +5 Volt.
Halaman 3 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
Untuk menampilkan sebuah karakter, minimal 2 LED harus dinyalakan dalam tabel 1.
memperlihatkan kode heksadesimal untuk menampilkan angka 0 sampai 9.
Dalam modul I/O yang dipakai dalam praktikum, seven segment yang digunakan ada
2 buah, semuanya bertipe common anoda. Kedua seven segment tersebut dimultipleks
sehingga data diperoleh dari satu kaki (D0-D7), sedangkan untuk menyalakannya digunakan
kaki kontrol yang berbeda (DO1 dan DO2). Rangkaian lengkap seven segment dapat dilihat
dalam gambar 4.
Tabel 1. Kode heksadesimal untuk angka 0-9
Halaman 4 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
C. Alat dan Bahan
Alat :
1. Alat tulis
2. Tool set
3. Trainer Mikrokontroller ATMega16
4. Downloader USBasp
5. Kabel Downloader Mikrokontroller ATMega16
6. Soket Jumper
7. PC/Laptop
Bahan :
1. Gambar rangkaian seven segment
2. Laporan kerja (kertas HVS F4/A4)
D. Langkah Kerja:
1. Amati dan fahami rangkaian dibawah ini dan buat rangkaiannya pada proteus
2. Selesai menggambar rangkaian pada proteus, buka program Code Vision AVR
3. Buatlah project baru, pilih Chip Atmega16 dengan clock 12MHz
4. Atur PORT sesuai dengan gambar berikut:
Halaman 5 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
PORTA.6=1; //nonaktifkan seven segmen kiri
PORTD=0x6D; //tampilkan data angka 5
delay_ms(5);
PORTA.7=1; //nonaktifkan seven segment kanan
PORTA.6=0; //aktifkan seven segmen kiri
PORTD=0x66; //tampilkan data angka 4
delay_ms(5);
}
void main(void)
{
// Declare your local variables here
int kanan;
int kiri;
int timer;
while (1)
{
kanan=0;
kiri=0;
for (kiri=0;kiri<10;kiri++){
for (kanan=0;kanan<10;kanan++)
{
for (timer=0;timer<10;timer++)
{
PORTA.7=0;
PORTA.6=1;
PORTD=bil[kanan];
delay_ms(5);
PORTA.7=1;
PORTA.6=0;
PORTD=bil[kiri];
delay_ms(5);}
}
}
}
}
Halaman 6 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
Halaman 7 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
case 8:
PORTA.7=0;
PORTA.6=1;
PORTD=0x7f;
break;
case 9:
PORTA.7=0;
PORTA.6=1;
PORTD=0x6f;
break;
}
}
}
unsigned char keypad()
{
PORTC = 0b11111110; //aktifkan baris1 (memberi logika 0 ke
baris1)
delay_ms(10);
if(PINC.7==0) return (10);
if(PINC.6==0) return (3);
if(PINC.5==0) return (2);
if(PINC.4==0) return (1);
//========================
PORTC = 0b11111101; //aktifkan baris2
delay_ms(10);
if(PINC.7==0) return (11);
if(PINC.6==0) return (6);
if(PINC.5==0) return (5);
if(PINC.4==0) return (4);
//========================
PORTC = 0b11111011; //aktifkan baris3
delay_ms(10);
if(PINC.7==0) return (12);
if(PINC.6==0) return (9);
if(PINC.5==0) return (8);
if(PINC.4==0) return (7);
//========================
PORTC = 0b11110111; //aktifkan baris4
delay_ms(10);
if(PINC.7==0) return (13);
if(PINC.6==0) return (15);
if(PINC.5==0) return (100);
if(PINC.4==0) return (14);
}
d. Pemograman-3 D
// Declare your global variables here
unsigned char keypad();
unsigned char
bil[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
Halaman 8 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
char key;
int kanan, kiri, time;
while (1)
{
// Place your code here
key=keypad();
switch (key)
{
case 2:
kanan=0;
kiri=0;
for (kiri=0;kiri<10;kiri++)
{
for (kanan=0;kanan<10;kanan++)
{
for (time=0;time<5;time++)
{
PORTA.7=1;
PORTA.6=0;
PORTD=bil[kiri];
delay_ms(5);
PORTA.7=0;
PORTA.6=1;
PORTD=bil[kanan];
delay_ms(5);
}
}
break;
case 3:
PORTA.7=1;
PORTA.6=1;
break;
}
}
}
}
unsigned char keypad()
{
PORTC = 0b11111110; //aktifkan baris1 (memberi logika 0 ke baris1)
delay_ms(10);
if(PINC.7==0) return (10);
if(PINC.6==0) return (3);
if(PINC.5==0) return (2);
if(PINC.4==0) return (1);
//========================
PORTC = 0b11111101; //aktifkan baris2
delay_ms(10);
if(PINC.7==0) return (11);
if(PINC.6==0) return (6);
if(PINC.5==0) return (5);
if(PINC.4==0) return (4);
Halaman 9 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
//========================
PORTC = 0b11111011; //aktifkan baris3
delay_ms(10);
if(PINC.7==0) return (12);
if(PINC.6==0) return (9);
if(PINC.5==0) return (8);
if(PINC.4==0) return (7);
//========================
PORTC = 0b11110111; //aktifkan baris4
delay_ms(10);
if(PINC.7==0) return (13);
if(PINC.6==0) return (15);
if(PINC.5==0) return (0);
if(PINC.4==0) return (14);
}
e. Pemograman-3 F
Buatlah program apabila keypad angka 1 ditekan maka seven segment akan menampilkan
counter up dari 00-99
2. Kode hexadecimal untuk penampil seven segmen angka 0-9 common katoda
...........................................................
3. Hasil pemograman :
a. Pemograman 3-A
.................................................
Halaman 10 dari 3
Kurikulum SMKN 1 Jabon
Nama :
No absen :
SMKN 1 JABON Kelompok :
Program Studi Keahlian Teknik Elektronika Kelas :
Kompetensi Keahlian T.Elektronika Industri Job ke :
b. Pemograman 3-B
.................................................
c. Pemograman 3-C
Tombol keypad Hasil tampilan seven Keterangan
segment
0
1
2
3
4
5
6
7
8
9
d. Pemograman 3-D
................................................
e. Pemograman 3-F(listing pemograman)
................................................
G. Kesimpulan:
………………………
Jabon,....................2015
Guru Pembimbing
.......................................
Halaman 11 dari 3
Kurikulum SMKN 1 Jabon