Keypad Matrix untuk pengendali 7segmen


Keypad matrix adalah kumpulan push button yang dibuat dalam bentuk matriks. Keypad matrix digunakan untuk mensiasati keterbatasan alokasi PORT pada perangkat elektronik sementara untuk keperluan inputnya membutuhkan jumlah yang banyak. Penggunaan satu pin untuk satu tombol akan mengakibatkan kekurangan ketersediaan port, sehingga dibuatlah skema keypad matriks.

Seperti halnya penggunaan dot matrix yang digunakan sebagai output, keypad matriks bekerja berdasarkan aturan yang sama, perbedaannya hanya dari arah komunikasi data, keypad digunakan sebagai input dan dot untuk keperluan output.


Hampir semua perangkat key based berbasis keypad matriks, entah keypad hp maupun keyboard PC. itulah mengapa jumlah tombol keyboard mencapai puluhan tetapi konektornya cukup USB/ PS2. Hal itu terjadi karena penggunaan algoritma matriks yang kemudian dikirimkan dalam komunikasi serial.

Pada postingan kali ini akan membahas penggunaan keypad matriks untuk mengendalikan output 7segmen. Nilai pada 7 segmen akan berubah sesuai dengan tombol yang ditekan pengguna. Matriks yang digunakan adalah 3×4 setara dengan keypad handphone lama. Dari 12 tombol yang ada 2 tombol sisi kanan dan kiri bagian bawah tidak digunakan, karena hanya untuk simulasi penekanan angka 0-9 saja.

Listing code menggunakan Codevision 2.03 standar, nilai 7segmen dikendalikan variabel bertipe array.

/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.0 Standard
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : Keypad Matriks untuk kendali 7segmen
Version : 1
Date    : 03/06/2013
Author  : Priyo Harjiyono
Company : http://anotherorion.com
Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/
#include <mega16.h>
#include <delay.h>

unsigned char bil[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void main (void)
{
DDRB=0x00;
DDRA=0x0f;
DDRC=0xff;
PORTC=0xff;

while(1)
{
 PORTA=0x01;   //baris 1
 delay_ms(1);
 if(PINB.0==1)
 {

 PORTC=bil[3];
 }
 else if(PINB.1==1)
 {
 PORTC=bil[2];
 }
 else if(PINB.2==1)
 {
 PORTC=bil[1];
 }
 PORTA=0x02;      //baris 2
  delay_ms(1);
 if(PINB.0==1)
 {
 PORTC=bil[6];
 }
 else if(PINB.1==1)
 {
 PORTC=bil[5];
 }
 else if(PINB.2==1)
 {
 PORTC=bil[4];
 }
PORTA=0x04;        //baris 3
 delay_ms(1);
 if(PINB.0==1)
 {

 PORTC=bil[9];
 }
 else if(PINB.1==1)
 {
 PORTC=bil[8];
 }
 else if(PINB.2==1)
 {
 PORTC=bil[7];
 }
 PORTA=0x08;      //baris 4
  delay_ms(1);
 if(PINB.0==1)
 {
 PORTC=0xff;
 }
 else if(PINB.1==1)
 {
 PORTC=bil[0];
 }
 else if(PINB.2==1)
 {
 PORTC=0xff;
 } 
}
}

Output seven segment menggunakan jenis common anoda, rangkaian proteus skematiknya dapat digambarkan sebagai berikut


keypad matrix kendali 7segment


DMCA.com Protection Status

pengendalI seven segment (2)

Post You May Also Like

Post Author: anotherorion

Priyo Harjiyono, blogger kelahiran Cilacap yang kini menjadi warga Ngayogyakarta Hadiningrat, baginya blog adalah dunia untuk menciptakan mimpi2nya. Saat ini masih disibukkan sebagai pembelajar dalam dunia pendidikan.

4 tanggapan pada “Keypad Matrix untuk pengendali 7segmen

  • Triono Hidayat

    (November 13, 2014 - 1:11 pm)

    ngak bisa download file nya pak… :'(

    • Triono Hidayat

      (November 13, 2014 - 1:41 pm)

      gak bisa download tapi bisa ngetik… alhamdulillah RUNNING……

  • sarah utami

    (Juni 6, 2013 - 7:39 am)

    mas mau follow bagaimana caranya, tho?

    • anotherorion

      (Juni 6, 2013 - 11:50 am)

      via FB atau networked blog aja mbak, klo gak isi manual di dashboard WP/BS e mbak sarah

Berikan tanggapan anda