DOT MATRIK
[Back to Home]
DOT MATRIK
1. Tujuan [kembali]
Mempelajari bagaimana cara merangkai suatu rangkaian yang menggunakan mikrokontroler dan dihubungkan dengan Dotmatrix dengan programnya.
Mempelajari bagaimana cara merangkai suatu rangkaian yang menggunakan mikrokontroler dan dihubungkan dengan Dotmatrix dengan programnya.
2. Alat dan Bahan [kembali]
- PIC 16F887
- Button
- Crystal
- Seven Segment
- Resistor
- Switch
- Jumper
- Kapasitor
- dll.
3. Dasar Teori [kembali]
LED
dot matriks adalah sarana yang sangat populer menampilkan informasi
seperti itu memungkinkan teks baik statis dan animasi dan gambar. Dalam
layar dot matrix, beberapa LED yang kabel bersama-sama dalam baris dan
kolom. Hal ini dilakukan untuk meminimalkan jumlah pin yang diperlukan
untuk mengusir mereka. Misalnya, 8 × 8 matriks LED (ditampilkan di
bawah) akan membutuhkan 64 I / O pin, satu untuk setiap pixel LED.
Dengan kabel semua anoda bersama-sama dalam baris (R1 melalui R8), dan
katoda dalam kolom (C1 melalui C8), jumlah yang diperlukan pin I / O
dikurangi menjadi 16. Setiap LED ditujukan demi baris dan jumlah kolom.
Pada gambar bawah ini, jika R4 adalah ditarik tinggi dan C3 ditarik
rendah, LED di baris keempat dan kolom ketiga akan dihidupkan. Karakter
dapat ditampilkan oleh pemindaian cepat baik baris atau kolom.
3.1. Pengertian Mikrokontroler PIC 16F887
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 PIC16F887.
3.1.1 Fitur-Fitur PIC16F887.
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.
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 PIC16F887.
-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 PIC16F887
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 PIC16F887.
Di
gambar dapat dilihat bahwa rangkaian dasar dari sistim mikrokontroler biasanya
menggunakan rangkaian crystal sebagai clock atau oscilator ecternal sehingga
dapat menambah 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.
Aplikasi
Komputer & Periferal Komputer, Industri, Otomotif
Peringatan
Perangkat sensitif ESD, lakukan tindakan pencegahan yang tepat saat menangani perangkat.
2. Kapasitor
Kapasitor adalah suatu komponen elektronika yang berfungsi untuk
menyimpan arus listrik sementara dalam bentuk muatan, selain itu
kapasitor juga dapat digunakan sebagai penyaring frekuensi.
Kapasitas untuk menyimpan kemampuan kapasitor dalam muatan listrik
disebut Farad (F) sedangkan simbol dari kapasitor adalah C (kapasitor).
sebuah kapasitor pada dasarnya terbuat dari dua buah lempengan logam
yang saling sejajar satu sama lain dan diantara kedua logam tersebut
terdapat bahan isolator yang sering disebut dielektrik.
3. Crystal
Kristal digunakan pada rangkaian elektronika yang berhubungan dengan
pembangkitan frekuensi baik itu frekuensi tinggi, frekuensi suara,
maupun frekuensi rendah.
4. button
Push
Button adalah saklar tekan yang berfungsi sebagai pemutus atau
penyambung arus listrik dari sumber arus ke beban listrik. Suatu sistem
saklar tekan push button terdiri dari saklar tekan start, stop reset dan
saklar tekan untuk emergency.
6. Program [kembali]
void main() {
TRISB=0x00; //PORTB Sebagai Output
TRISC=0x00; //PORTC sebagai Output
PORTB=0x00; //nilai awal PORTB low
PORTC=0x00; //nilai awal PORTC low
TRISD=0x11; //PORTD sebagai Input
PORTD=0x00; //nilai awal PORTD low
while(1){
if(PORTD.f0==1){ // jika switch 1 aktif, maka
PORTC=0x9c; // LED kolom 1,2,6,7 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
PORTC=0xc9; // LED kolom 2,3,5,6 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
PORTC=0xf7; // LED kolom 5 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
}
else if(PORTD.f1==1){ // jika switch 2 aktif, maka
PORTB=0x1f; // LED bergerak dari tengah ke sisi kiri dan kanan
PORTC=0xf7;
delay_ms(5);
PORTC=0xeb;
delay_ms(5);
PORTC=0xdd;
delay_ms(5);
PORTC=0xbe;
}
else {
PORTB=0x00;
PORTC=0xff; }
}
}
void main() {
TRISB=0x00; //PORTB Sebagai Output
TRISC=0x00; //PORTC sebagai Output
PORTB=0x00; //nilai awal PORTB low
PORTC=0x00; //nilai awal PORTC low
TRISD=0x11; //PORTD sebagai Input
PORTD=0x00; //nilai awal PORTD low
while(1){
if(PORTD.f0==1){ // jika switch 1 aktif, maka
PORTC=0x9c; // LED kolom 1,2,6,7 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
PORTC=0xc9; // LED kolom 2,3,5,6 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
PORTC=0xf7; // LED kolom 5 bergerak ke bawah
PORTB=0x01;
delay_ms(5);
PORTB=0x02;
delay_ms(5);
PORTB=0x04;
delay_ms(5);
PORTB=0x08;
delay_ms(5);
PORTB=0x10;
delay_ms(5);
}
else if(PORTD.f1==1){ // jika switch 2 aktif, maka
PORTB=0x1f; // LED bergerak dari tengah ke sisi kiri dan kanan
PORTC=0xf7;
delay_ms(5);
PORTC=0xeb;
delay_ms(5);
PORTC=0xdd;
delay_ms(5);
PORTC=0xbe;
}
else {
PORTB=0x00;
PORTC=0xff; }
}
}
Tidak ada komentar:
Posting Komentar