MODUL IV
Mikrokontroller PIC 16F877A
Mikrokontroller PIC 16F877A
1. Tujuan [kembali]
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. Merangkai dan menguji input pada mikrokontroller PIC 16F877A
c. Merangkai dan menguji aplikasi I/O pada mikrokontroller PIC 16F877A
2. 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.
![]() |
MIkrokontroller PIC16F877A |
Fitur-Fitur
PIC16F877A
- RISC CPU yang mempunyai performance tinggi
- Hanya 35 jenis instruksi yang perlu dipelajari
- Semua instrujsi mempunyai siklus tunggal kecuali untuk instruksi percabangan.
- Kecepatan Instruksi: DC – 20 MHz clock input DC – 200 ns instruction cycle
- 8K x 14 words of FLASH Program Memory, 368 x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
- Pinout compatible dengan PIC16C73B/74B/76/77
- Interrupt (14 sumber interrupt)
- Delapan level hardware stack
- Direct, indirect dan relative addressing modes
- Power-on Reset (POR)
- Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST)
- Watchdog Timer (WDT) dengan on-chip RC oscillator
- Programmable code protection dan Fully static design
- Power saving SLEEP mode
- Selectable oscillator options
- Low power, high speed CMOS FLASH/EEPROM technology
- In-Circuit Serial Programming (ICSP) hanya dengan dua pin
- Single 5V In-Circuit Serial Programming capability
- Processor read/write access to program memory
- Wide operating voltage range: 2.0V to 5.5V
- High Sink/Source Current: 25 mA
- 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
B. BUZZER
Buzzer
adalah sebuah komponen elektronika yang berfungsi untuk mengubah
getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja
buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari
kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut
dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik
ke dalam atau keluar, tergantung dari arah arus dan polaritas
magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan
kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat
udara bergetar yang akan menghasilkan suara.
3. Tugas Pendauluan & Rangkaian [kembali]
Kondisi : Ketika tombol switch ditekan 2 kali, buzzer akan hidup 3 kali
4. Flowchart [kembali]
5. Listing Program [kembali]
void main(void) // fungsi utama
{ // awal program
PORTB=0xfe; // keadaan awal port B mati
TRISB=0xfe; //port B sebagai output
PORTD=0x00; //keadaan awal port D mati
TRISD=0xff; //port D sebagai input
while(1) //fungsi pengulangan
{ // awal fungsi while
if(PORTD.RD0==0) // jika switch mati
{ //pembuka program kondisi if
PORTB=0X01; // buzzer hidup
delay_ms(200); // delay 200ms
PORTB=0X00; // buzzer mati
delay_ms(200); // delay 200ms
PORTB=0X01; // buzzer hidup
delay_ms(200); // delay 200ms
PORTB=0X00; // buzzer mati
delay_ms(200); // delay 200ms
PORTB=0X01; // buzzer hidup
delay_ms(200); // delay 200ms
PORTB=0X00; // buzzer mati
delay_ms (200); // delay 200ms
} // penutup program kondisi if
else // jika kondisi di atas tidak terpenuhi
{ // awal kondisi else
PORTB=0x00; // buzzer mati
} // penutup kondidi else
} // penutup fungsi while
} // akhir program
6. Video [kembali]
7. Analisa [kembali]
Prinsip Kerja :Pada percobaan ini, terdapat beberapa komponen yaitu switch, buzzer, crystal, reset dan PIC 16F877A. Pada percobaan diatas kita menghubungkan switch ke PORT D sebagai input dari rangkaian. Selanjutnya output dari rangkaian ini adalah Speaker. Speaker yang kita gunakan terdapat satu buah yang dihubungkan ke PORT B. Pada rangkaian ini Ketika tombol switch ditekan 2 kali, buzzer akan hidup 3 kali.
Pada rangkaian ini dilakukan pengulangan. Jika swicht berlogika low PORTD.RD0==0 maka buzzer akan hidup 3 kali, pertama buzzer akan hidup (PORTB=0X01) kemudian akan mati (PORTB=0X00) dan dilakukan pengulangan sebanyak dua kali. Jika switch berlogika high maka buzzer mati.
0 komentar:
Posting Komentar