Rabu, 25 April 2012

Belajar Mikrocontroller - Latihan Input Dasar

Setelah kita mempelajari Latihan Output Dasar sekarang kita akan membahas fungsi input dasar dimana mikrocontroller akan bekerja berdasarkan perintah yang langsung diinputkan melalui jalur port input yang sudah dikonfigurasikan sebelumnya.

Komponen yang digunakan untuk latihan ini diantaranya :
  1. 1 buah mikrocontroller type Atmega 16
  2. 8 buah dioda led warna kuning
  3. 1 buah crystal 10MHz
  4. 2 buah kapasitor @ 22pF
  5. 1 buah kapasitor 10nF
  6. 1 buah resistor 100 Ohm
  7. 1 buah resistor 10 Kohm
  8. 9 buah tombol


Software yang digunakan diantaranya:
  1. Bascom AVR sebagai kompiler (Download Bascom AVR )
  2. Proteus – ISIS sebagai schematic dan simulator (Download Proteus)
Ada tiga langkah pokok untuk memulai latihan memprogram mikrocontroller dasar yang akan diterangkan dalam  artikel ini.

Langkah membuat rangkaian elekronika di Proteu-ISIS
Buka program Proteus-ISIS  pastikan software tersebut sudah terinstal di komputermu, pilih komponen dengan cara klik tool Component  Mode yang ditandai lingkaran merah kemudian klik tombol  P  yang ditandai dengan lingkaran hijau seperti pada Gambar.1 dibawah ini.

Gambar.1
Pada jendela Pick Devices dibagian Category pilih kategori komponen yang diperlukan lihat Gambar.2, kemudian pada sub-category pilih keluarga  komponennya lihat Gambar.3 dan dibagian Results doble klik pada type Mikrocontroller  yang dipilih lihat Gambar.4. Untuk komponen Resistor dan Capasitor pilih Generic dibagian Sub-category, untuk Tombol pilih Switches & Relays dibagian Category dan untuk Crystal pilih Miscellaneous dibagian Category.
Gambar.2
Gambar.3

Gambar.4

Setelah semua komponen dipilih, dibagian Devices terlihat daftar  komponen yang diperlukan, sedangkan untuk memasukan Power dan Ground gunakan tombol Terminals Mode yang diberi lingkaran merah lihat Gambar.5, kemudian  rangkaian komponen sesuai dengan Gambar.6. Pilih port yang akan kita gunakan sebagai input  dan output, dalam contoh ini kita pilih PortB sebagai inptut dan PortC sebagai output. Berbeda dengan artikel mengenai Latihan Output Dasar yang hanya menggunakan dua buah pin dari PortC sebagai output tapi di artikel ini kita akan membuat semua PortC menjadi output dan PortB menjadi input.  

Gambar.5
Gambar.6
Langkah membuat program di Bascom AVR    

Buka program Bascom AVR dan tulis program atau sintak seperti Gambar.7 dibawah ini.

Gambar.7
Keterangan Gambar.7 :

Pada Gambar.7 bagian pertama ini merupakan komentar yang berisi informasi nama program, jenis mikrocontroller, frekuensi clock dan apa saja yang kita ingin tulis termasuk nama kita sebagai programer. Cara penulisan komentar harus diawali dengan tanda petik ( ) dan komentar tidak termasuk program yang akan dieksekusi, sifatnya hanya untuk memberi informasi atau keterangan tentang program atau sintak yang kita tulis.
Pada Gambar.7 bagian kedua ini merupakan deklarasi mikrocontroller yang berisi mengenai type mikrocontroller yang digunakan [ Cara penulisannya :  $regfile = “m16def.dat” ], apabila type mikrocontroller yang dideklarasikan tidak sama dengan type yang dibuat dirangkaian elektronikanya maka program tidak akan bekerja. Kemudian frekuensi clock dalam satuan Herz , jadi kalau frekuensinya 10MHz ditulis dalam programnya  menjadi 10000000 [ Cara penulisannya :  $crystal = 10000000 ] dan baud rate atau kecepatan bit per detik [  Cara penulisannya :  $baud = 9600 ] digunakan pada saat melakukan komunikasi serial dengan komputer. Deklarasi mikrocontroller ini wajib ditulis diawal pembuatan program karena program yang kita buat tidak akan dimengerti oleh mikrocontroller apabila deklarasinya tidak disertakan.
Pada Gambar.7 bagian ketiga ini merupan konfigurasi port yang akan kita gunakan sebagai output . Disini kita pilih PortC kemudian dihubungkan ke delapan buah dioda led [Cara penulisannya : Config  PORTC = Output ] untuk mempermudah dalam menulis program kita bisa mengganti nama portnya dengan nama led yang terhubung ke port,  kita gunakan perintah  Alias [ Cara Penulisannya : Led Alias PORTC  ].      
Pada Gambar.7 bagian keempat ini merupan konfigurasi port yang akan kita gunakan sebagai input . Disini kita pilih PortB kemudian dihubungkan ke delapan buah tombol  [ Cara penulisannya : Config  PORTB = Input ] untuk mempermudah dalam menulis program kita bisa mengganti nama portnya dengan nama tombol yang terhubung ke port,  kita gunakan perintah  Alias [Cara Penulisannya  : tombol Alias PINC
khusus untuk konfigurasi port yang digunakan sebagai input penulisannya menjadi “PIN” bukan “PORT”.
Pada Gambar.7 bagian kelima ini merupakan deklarasi resistor pull up internal diaktifkan, fungsinya untuk memberi status awal berupa logika 1 atau hight dibagian input PortB [ Cara penulisannya : PORTB = &B11111111 ]. Penulisan "&B11111111" ini merupakan format nilai untuk bilangan biner, untuk format nilai menggunakan bilangan hexadecimal penulisannya menjadi "&HFF" sedangkan untuk desimal penulisannya menjadi "255"
Pada Gambar.7 bagian keenam ini merupakan program utama  dengan diawali  perintah “Do”, ini merupakan awal dari perintah pengulangan dan diakhiri dengan perintah “Loop”, ini merupakan perintah untuk mengulang kembali program utama. Kemudian diantara perintah Do” dan Loopkita tulis statement  dengan perintah “ Led = Tombol “, maksud dari statement  tersebut  menyatakan  bahwa kondisi atau status logika dibagian output ( PortC ) sama dengan kondisi atau status logika dibagian input ( PortB ).

Setelah membuat program, simpan program tersebut sesuai dengan folde yang telah dibuat untuk latihan ini.Kemudian kita cek apakah penulisan program yang kita tulis sudah benar atau ada kesalahan,  untuk mengeceknya kita gunakan tombol  Check syntax (Ctrl+F7) yang ditandai kotak warna merah lihat Gambar.8  dan apabila ada kesalahan dalam menulis sintaknya maka akan ada jendela Errors dibagian bawah lembar kerja lihat Gambar.9. Untuk mengetahui letak kesalahannya, dibagian jendela Errors doble klik pesan yang ditampilkan maka akan ditunjukan letak kesalahannya dengan garis berwarna merah, lihat Gambar.10  contoh kesalahannya yaitu pada tulisan "Alias" tidak terdapat huruf "s", apabila sudah di perbaiki maka pesan Errors  tersebut akan hilang ketika menekan kembali tombol Check syntax (Ctrl+F7)

Gambar.8

Gambar.9

Gambar.10

Setelah proses cek sintaknya selesai dan tidak ada lagi kesalah, langkah selanjutnya yaitu mengkompilasi program yang sudah dibuat  karena file program tersebut masih berformat “.bas” ( Basic ) sedangkan file yang akan didownload ke mikrocontroler harus berformat  .hex”( Hexadecimal ). Tombol yang digunakan yaitu Compile Program (F7) lihat Gambar.8 yang ditandai kotak warna hijau, klick sekali dan prosesnya sama seperti saat mengecek sintak. Hasil dari kompilasinya  secara otomatis akan disimpan di folder tempat menyimpan file program yang kita buat, untuk nama file hasil kompilasinya akan sama cuma berbeda formatnya menjadi “.Hex” .

Langkah medownload program hasil kompilasi ke dalam Proteus – ISIS
Buka kembali file yang berisi rangkaian mikrocontroller yang telah dibuat di Proteus-ISIS. Letakkan pointer di komponen mikrocontrollernya lalu doble klik atau klik kanan kemudian pilih Edit Properties maka akan muncul jendela  Edit Component  lihat  Gambar.11 dibawah ini.

Gambar.11
Untuk memulai medownload atau memasukan program yang sudah dikompilasi di  Bascom AVR  tadi, tinggal klik folder yang diberi lingkaran merah dijendela  Edit Component  kemudian cari file hasil kompilasi yang berformat “.hex” dijendela Select File Name dan klik Open. Dibagian Program File akan terlihat nama file dan lokasi dari program yang sudah dikompilasi atau berformat “.Hex” kemudian klik OK dan peroses medownload pun selesai. Setelah peroses medownload ke mikrocontrollernya selesai langkah selanjutnya tinggal melakukan percobaan atau memulai simulasi. Untuk memulai simulasi dibagian bawah kiri lembar kerja di Proteus-ISIS klik tombol Play  yang diberi tanda merah lihat Gambar.12.                                  

Gambar.12
Gambar.13
Dari Gambar.13 bagian pertama terlihat kondisi atau status logika input pada saat sebelum tombol ditekan, dimana dalam program Bascom AVR sudah dideklarasikan status atau nilai inputnya dengan mengaktifkan resistor Pull Up internal  [ PORTB = &B11111111 ], logika 1 atau positif ditandai titik kotak warna merah. Pada bagian outputnya atau PORTC juga sama status logikanya dengan input yaitu positif atau logika 1, ini menybabkan arus tidak mengalir ke dioda led.

Gambar.14
Dari Gambar.14 bagian pertama terlihat tombol satu ditekan. Dibagian kedua, nilai awal PORTB berubah menjadi “11111110”, nilai 0  ditandai titik kotak berwarna biru. Karena ada perubahan status di PORTB.0 maka status dari PORTC juga sama menjadi “11111110” ( bagian ketiga ) ini menyebabkan arus mengalir melalui dioda Led1 dan Led1 pun menyala, R2 berfungsi untuk membatasi arus yang mengalir ke dioda led. Untuk tombol yang lainnya akan sama prosesnya. Hasil dari latihan ini bisa dilihat di video tutorial berikut.

                    
                           SEMOGA BERMANFAAT!

5 komentar:

  1. sangat bermanfaat mas

    BalasHapus
  2. bermanfaat sekali master,trima kasih

    BalasHapus
  3. Sangat jelas dan bermanfaat mas.

    BalasHapus
  4. terima kasih banyak, sangat bermanfaat buat saya.

    BalasHapus
  5. Trimakasih banyak, sangat bermanfaat buat saya.

    BalasHapus