DAFTAR ISI
a. Mempelajari aplikasi output pada mikrokontroller PIC 16F877A
b. Mempelajari aplikasi input pada mikrokontroller PIC 16F877A
c. Mempelajari aplikasi I/O pada mikrokontroller PIC 16F877A
2. Alat dan Bahan [kembali]
a. Modul PIC 16F877A
b. LED
c. SWITCH
b. LED
c. SWITCH
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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnTcbNc9YZf4JFusk26xFr69Mg78u6pWVQcyJ0mF5Yhnr-4bTco5KcNRk3sZpmsTfgJy5CjRqgQa_v6Lh34ExojvNz_LWDpME1MlQ0kUroT7Ddmbk2xRb_ZqfDueIr7jGgsA-wwa7vD3s/s1600/pic1.jpg)
Fitur-fitur PIC :
- 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
5. Hardware [kembali]
6. Rangkaian Simulasi [kembali]
7. Prinsip Kerja [kembali]
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.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK9pA8EUk03tNQIww34W2W_myFY9spMqkRbzUO25k7R9wi70fknK56MyqlGFGL-5zMv5E6L4nMbWXrlfNiRUMSTXTjOAMk3GzmxfEFDemHakQ82753sHWcQpzktCqagoO0P81jkkm_ZR0/s320/pic.jpg)
Organisasi Memori
8. Flowchart [kembali]
9. Listing Program [kembali]
void main (void)
{
PORTB=0x00;
TRISB=0x00;
PORTD=0x00;
TRISD=0x03;
while(1)
{
if(PORTD.RD0==1,PORTD.RD1==1)
{
PORTB=0x81;
delay_ms(100);
PORTB=0x42;
delay_ms(100);
PORTB=0x24;
delay_ms(100);
PORTB=0x18;
delay_ms(100);
}
else if(PORTD.RD2==1,PORTD.RD3==1)
{
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
break;
}
{
PORTB=0x00;
TRISB=0x00;
PORTD=0x00;
TRISD=0x03;
while(1)
{
if(PORTD.RD0==1,PORTD.RD1==1)
{
PORTB=0x81;
delay_ms(100);
PORTB=0x42;
delay_ms(100);
PORTB=0x24;
delay_ms(100);
PORTB=0x18;
delay_ms(100);
}
else if(PORTD.RD2==1,PORTD.RD3==1)
{
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
PORTB=0xff;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
PORTB=0xff;
Tidak ada komentar:
Posting Komentar