Tuesday, December 13, 2016

Mikrokontroller ATMEGA 8535




a.    Mempelajari aplikasi output pada mikrokontroller ATMEGA 8535
b.    Mempelajari aplikasi input pada mikrokontroller ATMEGA 8535
c.    Mempelajari aplikasi I/O pada mikrokontroller ATMEGA 8535

a.   Module Atmega 8535
b.   LCD
c.   Jumper
d.   LED
e.   LM35

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  :


  • ·         LCD

LCD adalah suatu display dari bahan cairan Kristal yang pengoperasiannya menggunakan system dot matriks. LCD banyak digunakan sebagai display dari alat-alat elektronik seperti kalkulator, multitester digital, jam digital dan sebagainya. LCD dapat dihubungkan dengan mikrokontroller AVR ATMEGA 8535. LCD yang digunakan dalam percobaan adalah LCD 2x16, lebar display 2 baris 16 kolom, yang mempunyai 16 pin konektor. Adapun fitur yang terdapat dalam LCD ini adalah:
1. Terdiri dari 16 karakter dan 2 baris.
2. Mempunyai 192 karakter tersimpan.
3. Terdapat karakter generator terprogram.
4. Dapat dialamati dengan mode 4-bit dan 8-bit.
5. Dilengkapi dengan back light.
  • ·         Sensor LM35
Hasil gambar untuk lm35
Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain. LM35 juga memiliki keluaran impedansi yang rendah dan linieritas tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan ke sensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 uA. Hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah kurang dari 0.5 0C pada suhu 25 0C. Berikut karakteristik LM35:
       1. Memiliki sensitivitas suhu, dengan faktor skala linear antara tegangan dan suhu 10 mV/0C. 
       2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0.5 0C pada suhu 25 0C. 
       3. Memiliki jangkauan maksimal operasi suhu antara -55 0C sampai +150 0C. 
       4. Bekerja pada tegangan 4 sampai 30 volt. 
       5. Memiliki arus rendah yaitu dari 60uA. 
       6. Memiliki pemanasan yang rendah (low-heating) yaitu kurang dari 0.10C pada udara diam.
       7. Memiliki impedansi keluaran yang rendah yaitu 0.1 W untuk beban 1mA. 
       8. Memiliki ketidaklinieran hanya sekitar + 1/4 0C. 


PRINSIP KERJA :
Pada percobaan ini kamai menggunakan mikrokontroller ATMEGA 8535 sebagai otaknya dan LCD dan LED sebagai output serta LM35 sebagai sensor suhu. LM 35 terhubung ke ADC pin 3, LCD terhubung ke  PORT B dan LED terhubung ke PORT C. LM35 akan membaca suhu dari luar, dimana ketika suhu berada diantara 15-19 maka 2 buah LED dari kanan dan 2 buah LED dari kiri akan hidup dan pada LCD akan tampil tulisan “Suhu Mulai Turun”. 

3.6 Flowchart [kembali]
 
3.7 Listing Program [kembali]


$regfile = "m8535.dat"               'Mengaktifkan Library Atmega 8535
$crystal = 1600000                    'Mengatur Kecepatan Clock Dari Mikrokontroller

Config Lcd = 16 * 2                    'Mengaktifkan LCD 16*2 yang akan digunakan
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.1                 'konfigurasi lcd
Config Adc = Single , Prescaler = Auto , Reference = Avcc                      'Inisialisasi nilai analog to digital
Ddrc = &HFF                               'Mendelarasikan port c sebagai output

Dim A As Word                           'Mendeklarasikan variabel A sebagai word
Dim B As Word                           'Mendeklarasikan variabel B sebagai word
Dim C As Word                           'Mendeklarasikan variabel C sebagai word

Start Adc                          'Memulai pembacaan ADC
Cursor Off                                   'Menghilangkan cursor pada layar LCD
Cls                                                'Membersihkan layar LCD

Do                                     'Memulai kondisi yang akan dijalankan
A = Getadc(3)                              'Membaca nilai analog dari pin 3 adc
B = A * 500                                  'Proses konversi nilai analog to digital
C = B / 1024                                'Proses konversi nilai analog to digital

If C > 14 AND C < 20 Then      'Jika nilai C besar dari 14 dan kecil dari 20
Portc = &HC3                              'Kondisi port C
Waitms 200                                 'Delay 200ms
Portc = &H00                              'Kondisi port C mati
Waitms 200                                 'Delay 200ms
Locate 2 , 1                                  'Menampilkan pada LCD baris 2 kolom 1
Lcd "Suhu Mulai Turun"                      'Yang ditampilkan pada LCD
End If                                           'Mengakiri if

Loop                                             'Melakukan perulangan program
End                                               'Mengakhir program


3.9 Kondisi [kembali]
Apabila suhu 15-19 maka 2 buah led dari kanan dan 2 buah led dari kiri berkedip dan di LCD ditampilkan tulisan “Suhu Mulai Turun”
3.10 Link Download [kembali]
 File HTML             
(Download)
 File Proteus            (Download)
 File Program          (Download)
 Video Rangkaian   (Download)

Tuesday, December 6, 2016

Mikrokontroller PIC 16F877A






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
a.    Module PIC 16F877A
b.    Switch
c.    Seven Segment
d.    Jumper

  • ·        PIC 16F877A

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.
  • ·         Seven Segment
Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan angka koma decimal.  Terdapat beberapa jenis Seven Segment Display, diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display (LCD) dan Light Emitting Diode (LED).
LED 7 Segmen (Seven Segment LED)
Salah satu jenis Seven Segment Display yang sering digunakan adalah 7 Segmen yang menggunakan LED (Light Emitting Diode) sebagai penerangnya.  LED 7 Segmen ini umumnya memiliki 7 Segmen atau elemen garis dan 1 segmen titik yang menandakan “koma” Desimal. Jadi Jumlah keseluruhan segmen atau elemen LED sebenarnya adalah 8. Cara kerjanya pun boleh dikatakan mudah, ketika segmen atau elemen tertentu diberikan arus listrik, maka Display akan menampilkan angka atau digit yang diinginkan sesuai dengan kombinasi yang diberikan.
Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah “LED 7 Segmen common Cathode” dan “LED 7 Segmen common Anode”.
LED 7 Segmen Tipe Common Cathode (Katoda)
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED.  Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.
LED 7 Segmen Tipe Common Anode (Anoda)
Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masing-masing Kaki Katoda Segmen LED.
Prinsip Kerja Dasar Driver System pada LED 7 Segmen
Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur yaitu “a” sampai “g” dan poin decimal (koma) untuk meng-ON-kan segmen sehingga menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b, dan c, maka Segmen LED akan menyala menjadi angka “7”.   Jika Sinyal Input adalah berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus menggunakan ADC.
Fungsi daripada Blok Driver adalah untuk memberikan arus listrik yang cukup kepada Segmen/Elemen LED untuk menyala. Pada Tipe Dekoder tertentu, Dekoder sendiri dapat mengeluarkan Tegangan dan Arus listrik yang cukup untuk menyalakan Segmen LED maka Blok Driver ini tidak diperlukan. Pada umumnya Driver untuk menyalakan 7 Segmen ini adalah terdiri dari 8 Transistor Switch pada masing-masing elemen LED.


PRINSIP KERJA :
Pada percobaan ini kamai menggunakan PIC 16F877A  sebagai mikrokontroller dengan switch sebagai input dan seven segment sebagai output. Switch terhubung ke pin RD.2 dan RD.3 serta  seven segment terhubung ke PORT B, pin RD.0 dan RD.1. ketika switch kedua yang terhubung ke pin RD.3 aktif HIGH, maka seven segment akan counter down 2 digit dari 9 hingga 0.

void main(void)              //Fungsi utama program
{                                         //Pembuka program utama
  int i,j[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67};     //Deklarasi varaiabel i dan array j bertipe int
  PORTB=0x00;              //Deklarasi PORT B dengan kondisi awal LOW
  TRISB=0x00;                //Deklarasi PORT B secara keseluruhan sebagai OUTPUT
  PORTD=0x00;               //Deklarasi PORT D dengan kondisi awal LOW
  TRISD=0x0F;               //Deklarasi PORT B sebagai OUTPUT dan INPUT

  while(1)                       //Fungsi perulangan
  {
    if(PORTD.RD3==1)         //Jika pin RD.3 aktif HIGH
    {
      for(i=9;i>=0;i--)              //7-segment counter down dari 9-0
      {
        PORTB=j[i];                //Kondisi PORT B sesuai array j dengan urutan i
        delay_ms(100);          //Delay selama 100ms
       }
    }
       else                             //Jika kondisi if tidak terpenuhi
       {
        PORTB=0x00;          //Kondisi PORT B mati
        }
  }
}                                        //Akhir program


Ketika ditekan switch 2 maka seven segment akan counter down 2 digit dari 9 sampai 0 

File HTML            (Download)
File Proteus          (Download)
File Program        (Download)
Video Rangkaian (Download)