Modul 4

[KEMBALI KE MENU SEBELUMNYA]
MODUL IV
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

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
  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. 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.

8. Link Download [kembali] 

Read More

Modul 3

[KEMBALI KE MENU SEBELUMNYA]
MODUL III
MIKROKONTROLLER ATMEGA 8535


1. Tujuan [kembali]

a. Merangkai dan menguji output pada mikrokontroller ATMEGA 8535
b. Merangkai dan menguji input pada mikrokontroller ATMEGA 8535
c. Merangkai dan menguji I/O pada mikrokontroller ATMEGA 8535

2. Dasar Teori [kembali]

A. Mikrokontroller AVR

Mikrokontroller AVR (Alf and Vegard’s Risc processor) memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 siklus clock atau dikenal dengan teknologi RISC (Reduced Instruction Set Computing). Secara umum, AVR dapat dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing-masing adalah kapasitas memori, peripheral dan fungsinya.Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hamper sama. Pada praktikum kali ini yang membedakan antara ATMEGA 128 dengan ATMEGA 8535 selain pada kapasistas memori, jug dari Bahasa program yang digunakan.


Berikut gambar dari ATMEGA8535 :
Berikut merupakan gambar konfigurasi pin pada ATMEGA8535  :


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.

 

 

3. Tugas Pendauluan & Rangkaian [kembali]

Kondisi : Ketika switch 1 dan 2 hidup bersamaan, 7 segment akan menampilkan angka 6


 

4. Flowchart [kembali]

 

5. Listing Program [kembali] 

$regfile = "m8535.dat"                                      'aktifkan library atmega 8535
$crystal = 16000000                                         'kristal eksternal 16 MHz
Portb = &B00000000                                          'portb aktif low
Ddrb = &B11111111                                           'setting portb sebagai output
Porta = &B11111111                                          'porta aktif high
Ddra = &B1110000                                            'setting porta sebagai input

Do                                                          'lakukan perulangan
If Pina.0 = 1 And Pina.1 = 1 Then                           'jika ditekan pina.0 dan pina.1 dengan aktif high, maka
Portb = &B11111101                                          'portb sebagai 7segment akan menampilkan angka 6
Waitms 10                                                   'delay 10 ms
End If                                                      'program berakhir jika
Pina.0 = 0                                                  'pina.0 akitf low
Portb = &B10000000                                          'portb sebagai 7segment akan mati
Pina.1 = 0                                                  'pina.1 aktif low
Portb = &B10000000                                          'portb sebagai 7segment akan mati
Loop                                                        'akhir perulangan
End                                                         'akhir program

6. Video [kembali]



 

7. Analisa [kembali]

Prinsip Kerja :

Pada percobaan ini, terdapat beberapa komponen yaitu switch, sevensegment , reset, crystal dan atmega 8535. Pada percobaan diatas kita menghubungkan switch ke PORT A sebagai input dari rangkaian. Selanjutnya output dari rangkaian ini adalah Seven Segmen. Seven segmen yang kita gunakan terdapat satu buah yang dihubungkan ke PORT B. Pada rangkaian ini Ketika switch 1 dan 2 hidup bersamaan, 7 segment akan menampilkan angka 6.
Pada rangkaian ini PORT A disetting sebagai input dengan Ddra = &B1110000, dengan logika high Porta = &B11111111, PORT B disetting sebagai output dengan Ddrb = &B11111111 dengan logika low Portb = &B00000000
Pada program dilakukan pengulangan, jika ditekan pina.0 dan pina.1 dengan aktif high maka portb sebagai 7segment akan menampilkan angka 6. Jika pina.0 akitf low dan pina.1 aktif low maka seven segment mati. Dan program berakhir.

8. Link Download [kembali] 

Read More
Diberdayakan oleh Blogger.

Text Widget

Rangkaian dan Program Sistem Minimum 8086 untuk Aplikasi

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1.Tujuan 2.Alat 3. Dasar Teori 4. Rangkaian 5. Flowchart  6. Listing Program 7. Vide...

Formulir Kontak

Nama

Email *

Pesan *

Cari Blog Ini

Blogroll

Blogger templates

Pages

Boxed / Fluid

Pages - Menu