Sabtu, 02 Desember 2017
MODUL IV
Mikrokontroller PIC 16F877A
Mikrokontroller PIC 16F877A
1. Tujuan
a. Merangkai dan menguji output pada mikrokontroller PIC 16F877A
b. Merangkai dan menguji input pada mikrokontroller PIC
16F877A
c.
Merangkai dan menguji aplikasi I/O pada mikrokontroller PIC 16F877A
b. LED
c.
Keypad
3. Dasar Teori
[kembali]
A. Mikrokontroler PIC16F877A
Mikrokontroler PIC16F877A merupakan salah
satu mikrokontroler dari keluarga PICmicro yang popular digunakan sekarang ini,
mulai dari pemula hingga para profesional. Hal tersebut karena PIC16F877A
sangat praktis dan menggunakan teknologi FLASH memori sehingga dapat di
program-hapus hingga seribu kali. Keunggulan mikrokontroler jenis RISC ini
dibanding dengan mikrokontroler 8-bit lain dikelasnya terutama terletak pada
kecepatan dan kompresi kodenya. Selain itu, PIC116F877A juga tergolong praktis
dan ringkas karena memiliki kemasan 40 pin dengan 33 jalur I/O.
Anggota keluarga PICmicro buatan Microchip
Inc. cukup banyak. Ada yang menggunakan FLASH memori dan ada pula yang jenis
OTP (One Time Programmable). Mikrontroler dari keluarga PICmicro yang popular,
antara lain PIC2C08, PIC16C54, PIC16F84. Agar lebih mengenal PIC16F877A,
berikut ini diberikan fitur-fitur penting yang terdapat pada PIC16F877A.
Fitur-Fitur PIC16F877A
21. RISC CPU yang mempunyai performance tinggi
22. Hanya 35 jenis instruksi yang perlu dipelajari
23. Semua instrujsi mempunyai siklus tunggal kecuali untuk
instruksi percabangan.
24. Kecepatan Instruksi: DC – 20 MHz clock input DC – 200
ns instruction cycle
25.
8K x 14 words of FLASH Program Memory, 368
x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
26. Pinout compatible dengan PIC16C73B/74B/76/77
27. Interrupt (14 sumber interrupt)
28. Delapan level hardware stack
29. Direct, indirect dan relative addressing modes
30. Power-on Reset (POR)
31. Power-up Timer (PWRT) dan Oscillator Start-up Timer
(OST)
32. Watchdog Timer (WDT) dengan on-chip RC oscillator
33. Programmable code protection dan Fully static design
34. Power saving SLEEP mode
35. Selectable oscillator options
36. Low power, high speed CMOS FLASH/EEPROM technology
37. In-Circuit Serial Programming (ICSP) hanya dengan dua
pin
38. Single 5V In-Circuit Serial Programming capability
39. Processor read/write access to program memory
40. Wide operating voltage range: 2.0V to 5.5V
41. High Sink/Source Current: 25 mA
42. Commercial, Industrial and Extended temperature ranges
Deskripsi Pin Pin
Mikrokontroler PIC16F877A di produksi
dalam kemasan 40 pin PDIP (Plastik Dual In Line) maupun 40 pin SO (Small
Outline). Namun yang banyak terdapat dipasaran adalah kemasan PDIP. Pin-pin
untuk I/O sebanyak 33 pin, yang terdiri atas 6 pada Port A, 8 pada Port B, 8
pada Port C, 8 pada Port D, 3 pada Port E. Ada pula beberapa Pin pada
mikrokontroler yang memiliki fungsi ganda.
Organisasi Memori
Memori pada PIC16F877A dapat dipisahkan
menjadi dua blok memori, satu untuk memori program dan satu untuk memori data.
Memori EEPROM dan register GPR didalam RAM merupakan memori data, sedangkan
memori FLASH merupakan memori program.
B. LED
LED adalah suaatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED
mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju.
Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan
mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya.
Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati
LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
C. KEYPAD
Penyusun tombol pada keypad dapat dibuat dari bermacam-macam
bahan/komponen, seperti switch metal, switch karbon, dan resistif/kapasitif
(touch panel). Penggunaan bahan tersebut disesuaikan dengan kebutuhan akan
sensifitas, aksi penekanan, dan kebutuhan akan suatu tombol khusus. Bahan
switch metal pada keypad digunakan untuk kebutuhan keypad atau tombol-tombol
dengan arus yang besar. Keypad dengan bahan carbon dipakai untuk kebutuhan
tombol-tombol dengan arus kecil. Biasanya itu digunakan untuk alat-alat digital
yang hanya memilikitegangan 0 dan 5v. Penerapan bahan banyak kita jumpai
seperti pada keypad remot tv, remot ac, joy stick, serta masih banyak lainnya.
Kondisi : Buatlah
rangkaian, LED 8 buah, dan tombol keypad. Saat tombol 1 ditekan maka led urutan
1 hidup dan saat tombol * ditekan maka led bergeser dari kiri ke kanan.
6. Listing Program
[kembali]
char keypadPort at PORTC;
void main(void) //Fungsi utama program
{
PORTB=0x00; //Deklarasi PORT B dengan kondisi awal LOW
TRISB=0x00; //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
PORTC=0x00; //Deklarasi PORT D dengan kondisi awal LOW
TRISC=0xF0; //Deklarasi PORT D sebagai OUTPUT dan INPUT
while(1) //Fungsi perulangan
{
PORTC = 0b00000001; // Scanning pada keypad
if (PORTC.RC2 == 1) // fungsi if, jika memenuhi syarat (PORTC.RC2 == 1), maka
{PORTB=0b10000000;} //pada output portA akan tampil {PORTB=0X06;}
};
}
char keypadPort at PORTC;
void main(void) //Fungsi utama program
{
PORTB=0x00; //Deklarasi PORT B dengan kondisi awal LOW
TRISB=0x00; //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
PORTC=0x00; //Deklarasi PORT D dengan kondisi awal LOW
TRISC=0xF0; //Deklarasi PORT D sebagai OUTPUT dan INPUT
while(1) //Fungsi perulangan
{
PORTC = 0b00000001; // Scanning pada keypad
if (PORTC.RC2 == 1) // fungsi if, jika memenuhi syarat (PORTC.RC2 == 1), maka
{PORTB=0b10000000;} //pada output portA akan tampil {PORTB=0X06;}
};
}
8. Analisa hubungan Rangkaian dan Program
[kembali]
Dari praktikum ini dapat kita lihat bahwa antara rangkaian dengan program saling berhubungan. Jika program salah maka rangkaian tidak akan bisa disimulasikan dan begitu juga sebaliknya. Port yang digunakan pada rangkaian harus terlebih dahulu di deklarasikan diprogram sebagai port input atau output. Pada program diatas portc sebagai output dan porte sebagai input. Led digunakan sebagai penjelas dari output.
Dari praktikum ini dapat kita lihat bahwa antara rangkaian dengan program saling berhubungan. Jika program salah maka rangkaian tidak akan bisa disimulasikan dan begitu juga sebaliknya. Port yang digunakan pada rangkaian harus terlebih dahulu di deklarasikan diprogram sebagai port input atau output. Pada program diatas portc sebagai output dan porte sebagai input. Led digunakan sebagai penjelas dari output.
Download Video Rangkaian DOWNLOAD
Download HTML DOWNLOAD
Download Listing Program DOWNLOAD
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar