Modul IV Mikrokontroller PIC 16F877A





MODUL IV

Mikrokontroller PIC 16F877A


  1. Merangkai dan menguji output pada mikrokontroller PIC 16F877A 
  2. Merangkai dan menguji input pada mikrokontroller PIC 16F877A 
  3. Merangkai dan menguji aplikasi I/O pada mikrokontroller PIC 16F877A

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
  1. RISC CPU yang mempunyai performance tinggi
  2. Hanya 35 jenis instruksi yang perlu dipelajari
  3. Semua instrujsi mempunyai siklus tunggal kecuali untuk instruksi percabangan.
  4. Kecepatan Instruksi: DC – 20 MHz clock input DC – 200 ns instruction cycle
  5. 8K x 14 words of FLASH Program Memory, 368 x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
  6. Pinout compatible dengan PIC16C73B/74B/76/77
  7. Interrupt (14 sumber interrupt)
  8. Delapan level hardware stack
  9. Direct, indirect dan relative addressing modes
  10. Power-on Reset (POR)
  11. Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST)
  12. Watchdog Timer (WDT) dengan on-chip RC oscillator
  13. Programmable code protection dan Fully static design
  14. Power saving SLEEP mode
  15. Selectable oscillator options
  16. Low power, high speed CMOS FLASH/EEPROM technology
  17. In-Circuit Serial Programming (ICSP) hanya dengan dua pin
  18. Single 5V In-Circuit Serial Programming capability
  19. Processor read/write access to program memory
  20. Wide operating voltage range: 2.0V to 5.5V
  21. High Sink/Source Current: 25 mA
  22. 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. SEVENT SEGMENT

Layar tujuh segmen ini seringkali digunakan pada jam digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan informasi numerik. Layar tujuh segmen ini terdiri dari 7 buah LED yang membentuk angka 8 dan 1 LED untuk titik/DP. Angka yang ditampilkan di seven segmen ini dari 0-9. Cara kerja dari seven segmen disesuaikan dengan LED. LED merupakan komponen diode yang dapat memancarkan cahaya. kondisi dalam keadaan ON jika sisi anode mendapatkan sumber positif dari Vcc dan katode mendapatkan sumber negatif dari ground.






Kondisi

Bila ditekan switch 3 akan muncul 9 pada sevent segment

Rangkaian Simulasi










6Listing 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 B dengan kondisi awal LOW
  TRISD=0x03;                //Deklarasi PORT B sebagai OUTPUT dan INPUT

  while(1)                        //Fungsi perulangan
  {
    if(PORTD.RD0==1)        //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
      PORTB=0x07;                //Memberikan nilai pada PORT B
      delay_ms(100);                //Delay selama 100 milidetik
    }
    if(PORTD.RD1==1)         //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
      PORTB=0x7F;            //Memberikan nilai pada PORT B
      delay_ms(100);                 //Delay selama 100 milidetik
    }
    if (PORTD.RD2==1)          //Jika kondisi terpenuhi, maka akan menjalankan statement if
    {
       PORTB=0x6F;                //Memberikan nilai pada PORT B
       delay_ms(100);             //Delay selama 100 milidetik
     }
  }
}

7Analisa [kembali]

Pada percobaan ini komponen yang digunakan adalah PIC16F877A sebagai mikrokontroler dan switch sebagai input serta sevent segment sebagai output. Tombol reset digunakan untuk memulai program. Saat switch ditekan dimana Pin D0 atau D1 atau D2 ON, maka akan menampilkan karakter yang pada sevent segment. Pada Praktikum kali ini diberikan kondisi yakni bila ditekan switch 3 akan muncul 9 pada seven segment.
Program dibuat menggunakan software MicroC Pro For PIC, program dibuat untuk menjalankan mikrokontroller dan menampilkan karakter yang kita inginkan. Pertama kita harus menentukan terlebih dahulu Port pada mikrokontroller sebagai input dan output, kemudian tentukan pin yang menjadi input dan tentukan kondisinya. Untuk menampilkan angka 9 pada sevent segment, kita menggunakan bilangan Hexa pada program yakni 6F. Setelah program selesai, simpan program dalam bentuk HEX kemudian upload pada Mikrokontroller yang sudah kita rangkai tadi. Hasilnya, setelah switch 3 (pin D2) kita tekan on atau bernilai 1(HIGH), maka akan muncul angka 9 pada sevent segment.

8Link Download [kembali]

File HTML ==> Download
File Proteus
==> Download
File Program ==>Download
Video Rangkaian ==>Download 

Tidak ada komentar:

Posting Komentar