Interface 7-Segment Menggunakan PIC16F877A







1. Tujuan [Kembali]

Mempelajari bagaimana cara merangkai suatu rangkaian yang menggunakan mikrokontroler dan dihubungkan dengan Seven Segmen dengan programnya.


2. Alat [Kembali]

2.1 Mikrokontroler PIC16F877A.



2.2 Seven Segmen



2.3 Keypad


Keypad Digunakan sebagai input bilangan yang akan dikeluarkan pada seven segmennya.

2.4 Reisistor

3. Teori [Kembali]


3.1. Pengertian Mikrokontroler PIC 16F877A

PIC yang merupakan produk dari Microchip Technology, merupakan kepanjangan dari Peripheral Interface Controller memiliki arsitektur Harvard dan merupakan jenis RISC (Reduced Instruction Set Computing). Salah satu jenis mikrokontroler ini adalah PIC16F877A.

3.1.1 Fitur-Fitur PIC16F877A.

a. Memiliki Instruksi sebanyak 35 buah.
b. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
c. Kecepatan operasi masukan clock dari DC hingga 20MHz.
d. Kapasitas memori program berukuran 8k x 14 words.
e. Kapasitas RAM 268 byte.
f. Kapasitas memory EEPROM berukuran 256 byte.

3.1.2 Pin Out PIC16F877A.

-Memiliki 5 PORT I/O (PORTA 6 pin, PORTB 8 pin, PORTC 8 pin, PORTD 8 pin, PORTE 3 pin).
-Memiliki 3 buat timer
-Memiliki 2 buah keluaran PWM.
-Komunikasi serial singkron menggunakan SPI dan I2C.
-Komunikasi USART.


3.1.3 Pemograman PIC16F877A.

Pemograman PIC ini diprogram menggunakan bahasa C dan dapat menggunakan kompiler MikroC for PIC yang dapat didownload di situs resminya.


3.1.4 Rangkaian Dasar Sistem Mikrokontroler PIC16F877A.

Di gambar dapat dilihat bahwa rangkaian dasar dari sistim mikrokontroler biasanya menggunakan rangkaian crystal sebagai clock atau oscilator eksternal sebagai jantung untuk memberikan kecepatan eksekusi dari mikrokontroler tersebut. Pada gambar juga terdapat rangkaian reset yang digunakan untuk memulai dari awal kembali program yang kita jalankan pada mikrokontroler ini.




3.2. Pengertian Seven Segmen

Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital .
Jenis-Jenis Seven Segmen
1. Seven Segmen Common Catoda
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.
2. Seven Segmen Common Anoda
Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masing-masing Kaki Katoda Segmen LED.




4. Rangkaian [Kembali]



Rangkaian di atas merupakan sebuah simulasi sederhana dari penggunaan mikrokonroler PIC untuk menghidupkan 7-Segment. pada rangkaian terdapat keypad yang digunakan sebagai input, dan 7-segment sebagai output. Jika tombol pada keypad di tekan, maka akan tampil di 7-segment angka yang ditekan pada keypad tadi.


5. Program [Kembali]

void main() {
TRISD=0xf0;      //  Menyatakan 4 buah PORTD sebagai masukan
TRISB=0x00;      //  Menyatakan semua PORTB sebagai keluaran

while(1) // Looping Terus
{
PORTD=0b11111110;
if (PORTD.f4==0) { PORTB=0x07;} //Membuat angka 7 di Seven Segment
if (PORTD.f5==0) { PORTB=0x7f;} //Membuat angka 8 di Seven Segment
if (PORTD.f6==0) { PORTB=0x6f;} //Membuat angka 9 di Seven Segment
if (PORTD.f7==0) { PORTB=0x77;} //Membuat angka A di Seven Segment
delay_ms(5); //Delay 5ms agar tidak terlalu cepat berubah nilai PORTD

PORTD=0b11111101;
if (PORTD.f4==0) { PORTB=0x66;} //Membuat angka 4 di Seven Segment
if (PORTD.f5==0) { PORTB=0x6d;} //Membuat angka 5 di Seven Segment
if (PORTD.f6==0) { PORTB=0x7d;} //Membuat angka 6 di Seven Segment
if (PORTD.f7==0) { PORTB=0x7c;} //Membuat angka b di Seven Segment
delay_ms(5); //Delay 5ms agar tidak terlalu cepat berubah nilai PORTD

PORTD=0b11111011;
if (PORTD.f4==0) { PORTB=0x06;} //Membuat angka 1 di Seven Segment
if (PORTD.f5==0) { PORTB=0x5b;} //Membuat angka 2 di Seven Segment
if (PORTD.f6==0) { PORTB=0x4f;} //Membuat angka 3 di Seven Segment
if (PORTD.f7==0) { PORTB=0x39;} //Membuat angka C di Seven Segment
delay_ms(5); //Delay 5ms agar tidak terlalu cepat berubah nilai PORTD

PORTD=0b11110111;
if (PORTD.f4==0) { PORTB=0x71;} //Membuat angka F di Seven Segment
if (PORTD.f5==0) { PORTB=0x3f;} //Membuat angka 0 di Seven Segment
if (PORTD.f6==0) { PORTB=0x79;} //Membuat angka E di Seven Segment
if (PORTD.f7==0) { PORTB=0x5e;} //Membuat angka d di Seven Segment
delay_ms(5); //Delay 5ms agar tidak terlalu cepat berubah nilai PORTD
}

}


6. Flowchart [Kembali]






7. Video Simulasi [Kembali]



           


          






Share
Tweet
Pin
Share