Mikrokontroller PIC 16F877A

[menuju akhir]


MODUL IV 
Mikrokontroller PIC 16F877A

1. Tujuan kembali
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.    Module PIC 16F877A
          b.    LED
          c.    Seven Segment
          d.    Buzzer
          e.    LCD
          f.    Jumper

3. Dasar Teori kembali
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 PIC
  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.

Prosedur Percobaan
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip k78erja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply


4. Hardware kembali




5. Rangkaian Simulasi kembali

6. Prinsip Kerja kembali
Pada percobaan ini komponen yang digunakan adalah PIC16F877A sebagai mikrokontroler dan switch sebagai input serta LCD sebagai output. Tombol reset digunakan untuk memulai program. Saat salah satu tombol pada keypad ditekan maka akan menampilkan angka bergerak dari kanan ke kiri pada LCD. Pada praktikum ini ditentukan angka yang ditekan adalah angka 2 pada keypad dan pada LCD akan menampilkan angka 2 bergerak dari kana kekiri.

7. Flowchart kembali

8. Listing Program kembali

unsigned short kp;
int i;
char  keypadPort at PORTD;
sbit LCD_RS at RC0_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D4 at RC2_bit;
sbit LCD_D5 at RC3_bit;
sbit LCD_D6 at RC4_bit;
sbit LCD_D7 at RC5_bit;
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D4_Direction at TRISC2_bit;
sbit LCD_D5_Direction at TRISC3_bit;
sbit LCD_D6_Direction at TRISC4_bit;
sbit LCD_D7_Direction at TRISC5_bit;

void main()
{ Keypad_Init();
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  while(1)
  {kp = 0;
  kp = Keypad_Key_Press();
  i=16  ;
  if(kp==2)
  {while (i>=1)
   {Lcd_Out(1,i,"2");delay_ms(100) ;Lcd_Cmd(_LCD_CLEAR); i--;}
  }
  }

}

9. Video kembali
10. Link Download kembali
file rangkaian >>download<<
video >>download<<
listing program >>download<<
kembali

Tidak ada komentar:

Posting Komentar