PIC16F877A
Interface 7-Segment
1. Tujuan [Kembali]
Mempelajari cara merangkai suatu rangkaian yang menggunakan
mikrokontroler dan dihubungkan dengan Seven Segmentyang disusun berdasarkan program.
2. Alat [Kembali]
2.1 Mikrokontroler PIC16F877A.
2.2 Seven Segment
Sevent segment berfungsi sebagai indikator keluaran/output
2.3 Reisistor
3. Teori [Kembali]
3.1. Pengertian Mikrokontroler PIC 16F877A
PIC adalah mikrokontroler dari Microchip Technology, dimana Peripheral Interface Controller memiliki arsitektur Harvard dan merupakan jenis RISC (Reduced Instruction Set Computing).
3.1.1 Fitur-Fitur PIC16F877A.
1. Memiliki Instruksi sebanyak 35 buah.
2. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
3. Kecepatan operasi masukan clock dari DC hingga 20MHz.
4. Kapasitas memori program berukuran 8k x 14 words.
5. Kapasitas RAM 268 byte.
6. Kapasitas memory EEPROM berukuran 256 byte.
2. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
3. Kecepatan operasi masukan clock dari DC hingga 20MHz.
4. Kapasitas memori program berukuran 8k x 14 words.
5. Kapasitas RAM 268 byte.
6. 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.
-Memiliki 3 buat timer
-Memiliki 2 buah keluaran PWM.
-Komunikasi serial singkron menggunakan SPI dan I2C.
-Komunikasi USART.
3.1.3 Pemograman PIC16F877A.
3.1.4 Rangkaian Dasar Sistem Mikrokontroler PIC16F877A.
rangkaian crystal sebagai clock atau oscilator
eksternal sebagai jantung untuk memberikan kecepatan eksekusi dari
mikrokontroler tersebut.
3.2. Pengertian Seven Segment
Seven Segment Display (7 Segment Display) yakni adalah komponen Elektronika yang dapat
menampilkan angka desimal dengan segment..
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.
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 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.
5. Program [Kembali]
void main(void) //Fungsi utama program
{ //Pembuka program utama
PORTB=0x00; //Deklarasi PORT B dengan kondisi awal LOW
TRISB=0x00; //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
PORTD=0x00; //Deklarasi PORT D dengan kondisi awal LOW
TRISD=0x03; //Deklarasi PORT D sebagai OUTPUT dan INPUT
while(1) //Fungsi perulangan
{
if(PORTD.RD1==1) //Jika kondisi terpenuhi, maka akan menjalankan statement if
{
PORTB=0x06; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x5B; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x4F; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x66; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x6D; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x7D; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x07; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x7F; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
PORTB=0x6f; //Memberikan nilai pada PORT B
delay_ms(100); //Delay selama 100 milidetik
}
}
}
Tidak ada komentar:
Posting Komentar