Blog Fisika Inovatif SMA Doro Pekalongan merupakan wadah untuk memberikan bimbingan online kepada siswa-siswi maupun khalayak umum yang masih awam baik bimbingan konsep fisika murni maupun fisika terapan untuk mendalami inovasi Fisika khususnya di bidang Elektronika Digital Otomasi dan Robotika tingkat dasar untuk dikembangkan di dunia masing-masing....


Showing posts with label mikrokontroler. Show all posts
Showing posts with label mikrokontroler. Show all posts

Friday, 12 April 2013

Sismin AT89S51_AT89S52

IC AT89C51 ini mempunyai empat buah port input dan output. Port tersebut adalah P0, P1, P2, dan P3. Sebelum menggunakan IC Mikrokontroler AT89C51 ini langkah yang harus dipersiapkan adalah membuat rangkaian sistem minimum AT89C51. Setelah membuat sebuah rangkaian sistem minimum, kita dapat mencoba untuk belajar memprogram . Tentunya masih dalam tingkat dasar. Berikut merupakan gambar sistem minimum rangkaian mikrokontroler :
Jika anda telah memprogram dan mendapatkan file hexa dalam compilasinya, anda dapat menggunakan downloader paralel port untuk AT89S51 pada pembahasan sebelumnya untuk mengirim file hexa ke IC mikro tersebut. Yang perlu diperhatikan adalah IC mikro AT89S51 active low. Artinya kita kita gunakan logika 0 untuk mengidupkan LED dan logika 1 untuk mematikan LED pada pin output IC mikro, kaki LED yang satunya dihubungkan ke vcc melalui resistor pullup.


Gb. AT89S51 aktif low

ISP Downloader untuk AT89S51/AT89S52 melalui port paralel

Bagi Anda pecinta mikrokontroler, tentu pernah memakai mikrokontroler MCS-51 produksi Atmel AT89S51 atau AT89S52. Mikrokontroler ini tergolong mikrokontroler yang paling murah jika dibanding dengan kualitas yang dimilikinya.

Untuk memrogram mikrokontroler tersebut, kita bisa menggunakan downloader paralel maupun downloader serial atau yang sering disebut dengan ISP. Nah, kita juga bisa membuat downloader ISP ini dengan biaya yang sangat murah. Yang Anda butuhkan cuma konektor DB25 male dan beberapa dioda, itupun tidak harus pake dioda, artinya dioda hanya merupakan pilihan saja. Kebutuhan lainnya adalah kristal dan dua buah kondensator. Akan tetapi kristal dan kondensator ini adalah memang kebutuhan dari mikrokontroler. Jadi kristal dan kondensator ini tidak dihitung sebagai bagian dari downloader.

Rangkaian downloader ISP untuk AT89S51/AT89S52 adalah seperti berikut:



Nah, jika Anda sudah membuat rangkaian seperti gambar di atas, maka Anda tinggal menancapkan konektor DB25 tersebut ke port paralel, kemudian jalankan program SDownldr.exe yang tampilannya adalah seperti berikut:



Rangkaian Serial Downloader di atas menggunakan catu daya dari port paralel. Akan tetapi tidak semua port paralel mampu memberikan arus yang cukup untuk keperluan tersebut. Jika port paralel Anda tidak cukup kuat untuk keperluan ini, maka Anda harus memberikan catu daya +5V tambahan.
Jika program ini dijalankan dari IDE, maka semua pengaturannya akan dilakukan oleh IDE. Sedangkan jika dijalankan secara standalone, maka pengaturannya adalah sebagai berikut:
  • Default Hex File
    Jika Anda menggunakan IDE “Microcontroller Poject”, maka setiap kali dilakukan kompilasi yang sukses, sebuah file hex akan dibuat pada direktori temp, yaitu TMPFILE.HEX. Jika “Default Hex File” di-cek, maka file yang akan dikirimkan jika tombol Send diklik adalah file hex hasil kompilasi yang sukses tersebut. Perlu diingat bahwa file hex tersebut hanya akan ada jika IDE masih dijalankan.
    Jika “Default Hex File” tidak di-cek, maka Anda bisa menentukan file mana yang akan dikirimkan dengan klik pada tombol Browse.
  • Send
    Gunakan tombol ini untuk memulai pengiriman file hex yang telah ditentukan.
  • Read
    Gunakan tombol ini untuk membaca kode yang berada pada chip. Pembacaan hanya akan berhasil jika chip belum di-lock.
  • Lock
    Gunakan tombol ini untuk lock chip sehingga kode pada chip tidak bisa dibaca lagi.
  • Port
    Pilih alamat port yang sesuai dengan port yang digunakan. Biasanya port pararel ditempatkan pada alamat 378H.
  • Auto Lock
    Jika di-cek, maka setelah pengiriman data selesai dan setelah dilakukan verifikasi, chip akan di-lock secara otomatis.
  • Browse
    Gunakan tombol ini untuk memilih file hex yang akan dikirimkan. Tombol ini hanya akan aktif jika “Default Hex File” tidak di-cek.
  • Read data count
    Digunakan untuk menentukan jumlah data yang akan dibaca jika tombol Read diklik. Penulisan angka bisa menggunakan desimal atau hexadesimal, yaitu jika “Hex” di-cek.
Nah, tertarik untuk menggunakan SDownldr.exe? Silakan,  download dan Selamat mencoba.

Sunday, 10 March 2013

Modul Proteus77


Proteus professional 7.7 merupakan kelompok software elektronik yang digunakan untuk membantu para desainer dalam merancang dan mensimulasikan suatu rangkaian elektronik. Software ini memiliki dua fungsi sekaligus dalam satu paket, paket satu sebagai software untuk menggambar skematik dan dapat disimulasikan yang diberi nama ISIS. Paket kedua digunakan sebagai merancang gambar Printed Circuits Board (PCB) yang diberi nama ARES. Secara langsung, pengubahan dari skematik ke PCB dapat dilakukan dalam software Proteus Prof 7.7 ini. Proteus Prof ISIS memiliki versi yang selalu diperbarui, mulai dari versi 7.0 sampai dengan 7.10. Setiap kenaikan versi memiliki penambahan akan library komponen yang dapat diambil dan digunakan dalam penggambaran atau perancangan. Sebagai perancang rangkaian elektronik terlebih dahulu menggunakan ISIS sebagai media yang memudahkan dalam peranangan dan simulasi. Banyaknya library dari Proteus Prof. 7.7 ISIS membuat software ini dikatakan software simulasi lengkap, yaitu dari komponen-komponen pasif, Analog, Trasistor, SCR, FET, jenis button/tombol, jenis saklar/relay, IC digital, IC penguat, IC programmable (mikrokontroller) dan IC memory. Selain didukung dengan kelengkapan komponen, juga didukung dengan kelengkapan alat ukur seperti Voltmeter, Ampere meter, Oscilloscope, Signal Analyzers, serta pembangkit Frekuensi. Kelengkapan fitur yang disediakan ini menjadikan Proteus Prof. 7.7 ISIS menjadi salah satu software simulasi elektronik terbaik.

Setelah  program proteus terisntall bukalah dengan mengklik icon isis, kemudian akan tampil seperti pada gambar dibawah ini:


Klik huruf (P) yang merupakan  “Pick device” untuk mengambil komponen apa saja yang dibutuhkan:


Nah disini tempat untuk mengambil komponen yang dibutuhkan dalam perancangan simulasi…
Caranya sangat mudah tinggal menulis komponen yang kita butuhkan pada list keyword… sebagai contoh kita ingin merancang mikrokontroler Atmega16 dengan LED
List komponen yang dibutukan…
  • mikrokontroler Atmega16  ketik saja keywordnya dengan “Atmega16” maka komponen ATmega16 akan diload dan siap digunakan..lalu klik ok.
  • sama halnya dengan cara mengambil komponen mikro…untuk mengambil LED kita juga hanya dengan cara menuliskan keywordnya dengan “LED” .
catatan : untuk kasus simulasi komponen yang kita reload adalah library dengan  kondisi “active” agar saat disimulasikan seolah-olah LED tersebut mengeluarkan cahaya  sesuai dengan warna led yang kita gunakan….
ini hasil reload komponen….

Setalah itu kita tinggal rancang susunan komponen, seperti gambar berikut :


 Catatan: untuk rancangan cristal mikro dan rangkaian reset mikro gak perlu dirancang lagi (tinggal diinputkan saja) dan pencatuan mikro juga begitu.. secara default  vcc dan ground mikro telah terdefinisikan oleh software proteus ini… sebagai contoh pada rancagaan LED disusun  dengan kondisi common anode dimana anode led terhubung oleh vcc, label vcc tersebut haruslah kita buat sendiri dengan cara  klik pada “wire label” lalu isi label dengan “vcc”, begitu juga sebaliknya untuk membuat grounding… dgn menuliskan “gnd”. Oiya rangkaian LED nya jika dirancang pada real sistem harus dipasang resistor (470Ω) gunanya untuk membatasi arus yang melewati LED (sebesar 10mA).
Nach selain itu kita juga harus mengetahui.. fungsi tools laenya… seperti gambar berikut:

Tidak semua tools saya jelaskan sebagian tools lainnya sampai sekarang ada juga yang belum saya pake, tapi yang sedikit ini sudah cukup untuk bermain-main dengan PROTEUS, nah Untuk lebih jelasnya sebagai berikut:
  1. List komponent … tools ini digunakan untuk melihat list komponent yang kita gunakan pada rancangan kita, untuk menambahkan komponen klik dulu  tools ini setelah itu baru klik pick device (P).
  2. Junction dot…kalo tools yang ini berguna untuk memberi tanda penghubung suatu wire (kabel), jika ada dua wire dan ingin kita hubungkan nach gunakan tools ini, begitu juga untuk kondisi sebaliknya jika kita ingin menghilangkan sambungan kabel tersebut maka kita tinggal klik juntion dot pada sambungan kabel tersebut agar sambungannya menjadi terputus.
  3. Label wire…untuk tools yang ini penting untuk digunakan sebab kita tinggal memberi label pada wire tersebut apakah terhubung vcc ataukah gnd
  4. Bus…tools ini digunakan untuk rancangan jalur yang menggunakan jalur bus D0-D7 sehingga sangat hemat pengkabelan.
  5. Instant edit mode…nich tools digunakan untuk mengedit komponen yang kita rancang, contoh kita menggunakan mikro, untuk mendonload file .hex dari pemrograman kompiler kita gunakan tools ini atau dengan cara klik kanan pada komponen (setelah komponen berwarna merah) klik kiri maka box edit komponent akan muncul seperti gambar berikut ini:

Nah disini kita tinggal memasukkan nilai clock frekuensi dari mikro atau cristal luar mikro sebagai contoh 12Mhz dan disini juga tempat mendonload file .hex dengan cara klik icon folder pada program file dan browse file hexa yang akan  kita masukkan  kedalam mikrokontroler…
6.   Simulation graph… nach ni tools untuk mensimulasikan grapik sinyal analog,digital, frekuensi, distorsi,fourier.dan lain sebagainya.
7.   Tape recorder… apa lagi tools yang satu ini… ane belum pernah menggunakan ni tools… dari bahasanya jika diterjemahkan sebagai perekam.. mungkin mirip ma perekam radio tape kali…hehe….
8.   Generator… nach kalo tools yang ini mau gak mau sering  kita gunakan, Generator berarti pembangkit… jadi tools ini digunakan untuk pembangkit  berbagai macam sinyal baik analog maupun digital dengan berbagai macam bentuk  sinus, segitiga, denyut  dan sebagainya bahkan secript program untuk menghasilkan kondisi sinyal tertentu.
9.   Virtual instrument… tools yang ini merupakan virtual alat pengukuran seperti osiloskop, virtual terminal, ac/dc voltmeter, ac/dc ammeter, dan sebagainya… nah jika pada rancangan kita ingin mengetahui tegangannya berapa, arusnya berapa, atau bentuk sinyal keluaranya seperti apa, maka gunakan tools ini,…

Jika rangkaian sudah jadi dan telah dimasukkan file hexa maka simulasi dapat kita jalankan dengan mengklik tombol play di bagian bawah dan mengakhirinya dengan klik tombol stop.
Semoga informasi ini bermanfaat :) 

Download : Proteus77

Saturday, 9 March 2013

Membuat USB Downloader

Membuat USB Downloader untuk Mikrokontroler AVR Atmega8/16/32/8535




Downloader yang menggunakan port paralel ( yang pinnya 25 buah) memang hanya membutuhan sedikit biaya, namun sekarang kebanyakan orang sudah beralih ke laptop dimana port paralel sudah sudah jarang ditemui lagi . Alternatifnya yaitu menggunakan port USB. USB downloader dibuat dengan komponen utama yaitu atmega8,Sebelumnya membuatnya sediakan berikut ini:

Software:
  • Deeptrace ( untuk membuat pcb atau kalau malas buat pcb pake pcb bolong)
  • PonyProg ( untuk mendownload program)
  • Downloader yang menggunakan port paralel
  • Download Drivernya disini
Komponen elektronik
  1. AVR atmega8
  2. kristal 12 MHz
  3. kapasitor 22pF
  4. konektor USB dan kabel USB
  5. soket IC 14pin 2 buah
  6. resistor 10k, 68ohm atau 100 ohm, 2k2, 1K
  7. elko 10 uF/16 V dan kapasitor 100nF
  8. LED 3 buah
  9. housing 5 pin dan 4 pin
  10. Dioda zener 3.6 volt 2 buah
Rangkai komponen diatas sesuai rangkain berikut ini:



rangkaian di pcbnya:

C1, C2       =  22pF        
C3              = 10µF          
C4              = 100nF       
D1, D2       =  Z-Diode 3V9           
IC1             =  ATMEGA8                        
LED1          =  LED               
LED2          =  LED              
Q1              = 12Mhz   
R1, R2        = 68 Ohm       
R3              = 2,2 kOhm        
R4, R5        = 470 Ohm          
R6              = 10 kOhm             
R7              = 1 kOhm                     
X1              = USB     


     Rangkai komponen elektronik seperti gambar rangkaian diatas, setelah selesai program terlebih dahulu Atmega8 dengan program yang  didownload disini,  menggunakan downloader paralell. 

Atur fusbitnya seperti gambar berikut :

Jika men-downloadnya sudah, pasangkan ATMEGA 8 ke soket, kemudian masukan tancapkan kabel usb ke komputer. Jika benar akan muncul tampilan seperti ini.


Sebentar lagi akan minta driver, next next next aja, kemudian pilih folder tempat win-driver berada.

Kemudian tinggal menunggu finish.Jika sudah finish, lepas kembali kabel usbnya,sesudah itu, masukan kembali kabel usb. Ketika dimasukan akan ada suara, seperti suara ketika kita memasukkan flash disk. Lihat led, led ada yang hidup (led power) dan ada yang mati (led untuk tanda busy).Sekarang USB downloader sudah jadi langka selanjutnya kita memerlukan software untuk menggunakan downloader ini, salah satu yang bisa digunakan yaitu Khazama, khazama saya pilih karena software ini memiliki ukuran yang kecil, dan kecepatan ketika memprogram mikrokontroler lebih tinggi daripada software yang lain seperti extreme burner avr, ataupun avrdude. Anda pun bisa menggunakan semua software tersebut untuk downloader USB ini. Untuk mendownload Khazama klik disini. Berikut Tampilan khazama
Menurut pengalaman saya mikrokontroler yang akan kita program menggunakan downloader USB ini harus menggunakan kristal external (misalnya kristal 12 Mhz) dan fuse bitnya diatur agar mikrokontroler mengunakan external clock (pengaturannya sama seperti diatas tadi). Ketika saya coba tanpa memkai kristal, USB downloader ini ternyata tidak bisa dipakai. Sedangkan untuk pengaturan fuse bit ini dilakukan dengan menggunakan downloader paralel menggunakan software ponyprog.
Cara menggunakannya:
  • Hubungkan USB downloader yang kita buat tadi kekomputer
  • Hubungkan downloader dengan mikrokontroler
  • Buka khazama, pilih file, klik load flash file to buffer, 
  • pilih file hex yang akan diisikan ke mikro, 
  • setelah itu klik command dan pilih write flash buffer to chip, jika berhasil akan muncul seperti ini:
Jika mikrokontroler yang akan didownload menggunakan usb downloader ini tanpa memakai kristal, terlebih dahulu ubah setingan fuse bit pada mikrokontroler target dengan setingan fuse bit seperti dibawah ini

Selamat Mencoba .....

Downloader Menggunakan Parallel Printer Port

Downloader Twin AVR Dan AVRdude

TwinAVR 1.1.0.2 adalah software downloader chip mikrokontroler AVR yang bersifat freeware oleh Roland Walter (www.rowalt.de/mc/).
system operasi Windows 3.x,9x,Me,Windows NT/2000/xp (dengan driver LPT)

format file : Biner, Generic HEX, dan intel HEX
file program biner ".bin"
File program Generic/intel HEX ".hex"

gambar rangkaian twin AVR/AVRdude

Instalasi Twin AVR

    Program twinAVR merupakan program aplikasi siap pakai, tidak diinstall ke dalam operasi. Namun, untuk pengguna Ms XP/W2000 perlu mengisntall driver LPT dengan cara :
1. Copy UserPort.sys ke windows\system32\drivers
2. Buka UserPort.exe
3. Klik "Update" klik "Start" hingga ok
4. Siap digunakan

  Kanda System STK200+/300.

Berikut adalah rangkaian downloader AVR menggunakan port parallel (biasa disebut LPT). Downloader ini support dengan Codevision AVR dan Ponyprog,  serta mendukung Atmega8535, Atmega8, Atmega16, dan Atmega32. (mungkin mendukung beberapa jenis Atmega lainnya). Downloader parallel ini biasa disebut Kanda System STK200+/300.


CATATAN: dikarenakan tidak menggunakan IC buffer jadi disarankan agar kabel yang berasal dari port parallel ke mikrokontroler tidak terlalu panjang, yaitu sekitar maksimal 0,5 meter, karena dikhawatirkan terjadi drop tegangan dan data yang dikirimkan menjadi rusak.

Cara mensetting di CodeVision adalah sebagai berikut:
SETTING PROGRAMMER pilih Kanda System STK200+/300 dengan Port LPT1:378h

Cara mensetting di Ponyprog adalah sebagai berikut:
SETUP → INTERFACE SETUP → PARALLEL → pilih AVR ISP I/O → LPT1 → OK

Tuesday, 5 March 2013

Bahasa Pemrograman Mikrokontroler

      Mikrokontroler AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.
      Mikrokontroler AVR ATmega16 adalah salah satu dari keluarga ATmega dengan populasi pengguna cukup besar. Memiliki memori flash 16k dan 32 jalur input output, serta dilengkapi dengan ADC 8 kanal dengan resolusi 10-bit dan 4 kanal PWM. Sebuah chip dengan fitur cukup lengkap untuk mendukung beragam aplikasi, termasuk robotik.
      Pemrograman mikrokontroler AVR (Atmega16) menggunakan beberapa bahasa program seperti bahasa Basic, C atau Assembler. Untuk bahasa basic kita gunakan Software Bascom AVR sedang bahasa C dan Assembler kita gunakan WinAVR. Program aplikasi yang kita susun dalam software setelah di kompilasi akan dihasilkan file dengan ekstensi heksa. File heksa inilah yang akan kita tuliskan ke memori flash mikrokontroler AVR melalui sebuah alat yang disebut Downloader. Rangkaian Downloader ada yang sederhana dan dapat kita buat sendiri. Anda juga dapat mendownload di internet skema PCB Downloader kemudian membuatnya sendiri. Pada postingan berikutnya akan saya bahas secara khusus mengenai Downloader.

Pemrograman Dengan Bascom AVR

       Pada umumnya bahasa yang dipergunakan untuk memprogram mikrokontroler adalah bahasa Assembly. Bahasa Assembly adalah bahasa pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal, namun di sisi lain pemrogramannya menjadi relatif sulit. Karena bahasa yang dipergunakan Bascom, yaitu Basic, adalah bahasa tingkat tinggi, maka pemrograman menggunakan Bascom sangatlah mudah untuk dipelajari. Sintaksnya tidak jauh berbeda dari Basic pada umumnya, misalnya do-loop, for-next, while-wend, goto, gosub dan sebagainya. Selain itu Bascom dilengkapi dengan fungsifungsi khusus, misalnya LCD untuk menampilkan karakter pada LCD, PRINT untuk mengirimkan karakter ke PC melalui kabel RS232, SHIFTIN dan SHIFTOUT untuk komunikasi serial sinkron dan lain sebagainya. Fungsi-fungsi khusus tersebut jika dituliskan dalam bahasa Assembly akan menjadi lebih panjang dan rumit, terutama karena kita harus mengetahui register-register yang ada pada mikrokontroler.

Kontruksi bahasa BASIC pada BASCOM-AVR
Setiap bahasa pemprograman mempunyai standar penulisan program. Konstruksi dari  program bahasa BASIC harus mengikuti aturan sebagai berikut:
$regfile = "header"
'inisialisasi
'deklarasi variabel
'deklarasi konstanta
Do
'pernyataan-pernyataan
Loop
end
Pengarah preprosesor
$regfile = "m16def.dat" merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat yang berisi deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan ialah sebagai berikut:
$crystal = 12000000  'menggunakan crystal clock 12 MHz
$baud = 9600             'komunikasi serial dengan baudrate 9600
$eeprom                     'menggunakan fasilitas eeprom

Karakter Pada Bascom


Karakter pada Bascom dipergunakan untuk membentuk label, keyword, variabel, dan operator, yang kesemuanya akan membentuk suatu program. Pada dasarnya karakter pada Bascom terdiri dari karakter huruf (A-Z) dan karakter angka (0-9). Beberapa karakter pada Bascom yang dipergunakan secara khusus terdapat pada tabel 2-1.


Tipe Data


Setiap variabel pada Bascom mempunyai tipe data yang menunjukkan kapasitas dan jenis data yang dapat disimpan pada variabel tersebut. Hal ini berpengaruh pada seberapa besar memori yang diperlukan untuk menyimpan variabel tersebut. Tabel 2-2 menunjukkan tipe data pada Bascom beserta ukuran dan rentangnya.

Variabel

     Variabel adalah simbol yang digunakan untuk mewakili suatu nilai. Variabel digunakan sebagai tempat penyimpanan data atau penampung data sementara. Variabel numerik hanya dapat diisi nilai numerik (bit, byte, integer, word, long, dan single). Isi dari suatu variabel numerik dapat berupa :
· Suatu nilai konstan
       A = 5
       C = 1.1
· Nilai variabel numerik lain
       A = B
· Nilai yang didapat dengan mengkombinasikan variabel, konstan, dan operator
      Temp = A + 5
Pada Bascom terdapat beberapa aturan mengenai penamaan suatu variabel, yaitu :
· Nama suatu variabel maksimum terdiri atas 32 karakter dan dapat berupa huruf ataupun angka.
· Karakter pertama variabel haruslah berupa huruf.
· Nama variabel tidak boleh menggunakan kata-kata yang dipergunakan Bascom sebagai perintah, pernyataan, register dan operator (misal AND, OR, DIM, P1 TIMER0 dan lain sebagainya)
Sebelum digunakan suatu variabel haruslah dideklarasikan terlebih dahulu tipe data yang dipergunakan dengan menggunakan pernyataan DIM
      DIM A As Byte
      DIM Nama1 As Byte, Nama2 As Integer
      DIM Kata As String*10
Selain menggunakan DIM, variabel dapat juga ditentukan tipe datanya menggunakan
     DEFBYTE, DEFINT, DEFBIT, dan DEFWORD
     DEFBYTE A
     DEFWORD B;C;D
Suatu variabel dapat mempunyai nama lain atau alias. Umumnya alias digunakan untuk mengganti variabel standar dengan nama yang lebih mudah diingat. Hal ini akan berguna pada saat membuat program yang panjang dan kompleks, jika terdapat perubahan penggunaan pin atau port, cukup diganti pada pernyataan Alias.
     Saklar1 Alias PB.0
     LED1 Alias PD.0

Konstanta

Konstanta adalah variabel yang mempunyai nilai konstan selama program dijalankan. Untuk mendeklarasikan suatu konstanta dapat digunakan dua cara, yaitu menggunakan Dim atau Const
      Dim A As Const 5
      Dim B1 As Const &B1001
      Const Cbyte = &HF
      Const Cint = -1000
      Const Csingle = 1.1
      Const Cstring = "tes"

Larik

Larik atau array adalah kumpulan variabel dengan nama dan tipe data yang sama. Untuk membedakan satu variabel dengan variabel lainnya digunakan indeks. Indeks haruslah berupa angka dengan tipe data byte, integer atau word, dengan nilai minimal 1 (bukan 0). Pendeklarasian larik mirip seperti variabel biasa, hanya ditambahkan jumlah komponen lariknya.
      Dim a(10) as byte

Sistem Bilangan

Pada pemrograman mikrokontroler terdapat 3 sistem bilangan yang sering digunakan, yaitu desimal (basis 10), biner (basis 2), dan heksadesimal (basis 16). Cara penulisan bilangan pada Bascom disesuaikan dengan sistem bilangan yang digunakan,
yaitu :
· Untuk bilangan desimal tidak didahului angka ataupun huruf lain
· Untuk bilangan biner didahului dengan &B
· Untuk bilangan heksadesimal didahului dengan &H
      Contoh : 240 (bilangan desimal), &B11110000 (bilangan biner), &HF0 (bilangan heksadesimal)

Operator

Operator digunakan untuk melakukan operasi terhadap bilangan. Pada Bascom operator dibedakan menjadi operator aritmetik, operator relasional, dan operator logika. Operator aritmatik adalah operator yang digunakan dalam kalkulasi, yaitu + (penjumlahan), - (pengurangan), * (perkalian, / (pembagian), \ (pembagian integer), MOD (modulo = sisa dari pembagian). Operator relasional digunakan untuk membandingkan dua nilai, yang memberikan hasil benar (1) atau salah (0) dan dapat digunakan untuk membuat keputusan.


Operator logika digunakan untuk menguji suatu pola bit tertentu, manipulasi bit atau operator Boolean. Misal operator AND dapat digunakan untuk mengabaikan semua bit dalam suatu byte kecuali satu bit untuk memantau status bit tersebut


Pernyataan Bersyarat

Pada Bascom terdapat beberapa pernyataan bersyarat yang sering digunakan yaitu If – Then, If – Then – Elseif, dan Select – Case

Syntaksis If – Then

   If <syarat> Then
   <Pernyataan 1>
   <Pernyataan 2>
   Else
   <Pernyataan 3>
   <Pernyataan 4>
   End If

Sintaksis If – Then – Elseif

    If <syarat1> Then
    <Pernyataan 1>
    <Pernyataan 2>
    Elseif <syarat2>Then
    <Pernyataan 3>
    <Pernyataan 4>
    Else
   <Pernyataan 5>
   <Pernyataan 6>
   End If

Sintaksis Select – Case

     Select Case < Variabel>
     Case < Nilai 1> : <Pernyataan 1>
     Case < Nilai 2> : <Pernyataan 2>
     Case Else : <Pernyataan 3>
     End Select

Pernyataan Perulangan (Loop)

Loop adalah suatu perulangan terhadap perintah atau instruksi sampai mencapai keadaan tertentu (jumlah perulangan tersebut dapat diketahui). Fungsi dari loop sendiri banyak sekali, dan dapat menghemat dalam penulisan program karena program yang sama dapat dilakukan dengan beberapa perintah dan kemudian diulang-ulang. Terdapat 3 pernyataan perulangan yaitu Do-Loop, While-Wend, dan For-Next.

Sintaksis Do – Loop

     Do
     <Pernyataan 1>
     <Pernyataan 2>
     Loop

Sintaksis While – Wend

     While <Syarat>
     <Pernyataan 1>
     <Pernyataan 2>
     Wend

Sintaksis For – Next

     FOR <Variabel> = <Nilai Awal> TO/DOWNTO <Nilai Akhir>
     <Pertambahan/Pengurangan>
     <Pernyataan 1>
     <Pernyataan 2>
     Exit

Semoga bermanfaat..

Download : BascomAVR 2.0.7.3

Monday, 4 March 2013

Sistem Minimum (Sismin) Atmega 16

Minimum sistem merupakan suatu perangkat sistem yang dapat digunakan untuk belajar mikrokontroler. Perangkat ini memiliki komponen sederhana berupa IC Atmega 16 , external kristal, tombol reset dan sumber tegangan 5 volt. Agar dapat berhubungan dengan perangkat luar sismin ini dilengkapi dengan header port input/output. Dengan perangkat sismin atmega 16 ini anda dapat belajar memrogram IC Atmega 16 untuk membuat aplikasi-aplikasi mikrokontroler seperti mengontrol lampu/LED, alat-alat rumah tangga bahkan robot.

Skema Sismin ATmega16

  gambar skema sismin ATmega16 (proteus77)

PCB sismin ATmega16

gambar skema board sismin ATmega 16

Tampak atas

tampak atas sismin ATmega16

     Pada gambar skema board diatas terdapat terminal mosi,miso,sck, reset dan GND. Kelima terminal ini nantinya dihubungkan ke perangkat Downloader. Downloader berfungsi untuk membaca dan menulis program dari dan ke mikrokontroler. File yang dibaca atau ditulis oleh downloader berekstensi heksa. File heksa tersebut dihasilkan oleh software pemrograman mikrokontroler.
     Nah jika anda telah memiliki rangkaian sismin ATmega 16 seperti di atas saatnya anda untuk berlatih memprogram IC tersebut. Ada beberapa jenis software Pemrograman IC mikrokontroler yang dapat digunakan dan akan di bahas pada postingan berikutnya. Sekian semoga bermanfaat...

Tuesday, 26 February 2013

IC Mikrokontroler Atmega16

Mikrokontroler ATMEGA16


Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa Port masukan maupun keluaran, dan beberapa peripheral seperti
pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx,
ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen prosesornya (in chip).

Arsitektur ATMEGA16

Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent).
Secara garis besar mikrokontroler ATMega16 terdiri dari :
1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.
2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte
3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.
4. CPU yang terdiri dari 32 buah register.
5. User interupsi internal dan eksternal
6. Port antarmuka SPI dan Port USART sebagai komunikasi serial
7. Fitur Peripheral
    • Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode compare
    • Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode capture
    • Real time counter dengan osilator tersendiri
    • Empat kanal PWM dan Antarmuka komparator analog
    • 8 kanal, 10 bit ADC
    • Byte-oriented Two-wire Serial Interface
    • Watchdog timer dengan osilator internal

Gambar 2.1 Blok diagram ATMega16


KONFIGURASI PENA (PIN) ATMEGA16

Konfigurasi pena (pin) mikrokontroler Atmega16 dengan kemasan 40-pin dapat dilihat pada Gambar 2.2. Dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pin untuk masing-masing Gerbang A (Port A), Gerbang B (Port B), Gerbang C (Port C), dan Gerbang D (Port D).

Gambar 2.2 Pin-Pin Atmega16

DESKRIPSI MIKROKONTROLER ATMEGA16

• VCC (Power Supply) dan GND(Ground)
• Port A (PA7..PA0)
Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin - pin Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin–pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

• Port B (PB7..PB0)
Port B adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pena Port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
• Port C (PC7..PC0)
Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pena Port C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
• Port D (PD7..PD0)
Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan
sumber. Sebagai input, pena Port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pena Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
• RESET (Reset input)
• XTAL1 (Input Oscillator)
• XTAL2 (Output Oscillator)
• AVCC adalah pena penyedia tegangan untuk Port A dan Konverter A/D.
• AREF adalah pena referensi analog untuk konverter A/D.

Analog To Digital Converter

AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi, baik single ended input maupun differential input. Selain itu, ADC ATMega16 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega16 memiliki fitur-fitur antara lain :
• Resolusi mencapai 10-bit
• Akurasi mencapai ± 2 LSB
• Waktu konversi 13-260μs
• 8 saluran ADC dapat digunakan secara bergantian
• Jangkauan tegangan input ADC bernilai dari 0 hingga VCC
• Disediakan 2,56V tegangan referensi internal ADC
• Mode konversi kontinyu atau mode konversi tunggal
• Interupsi ADC complete
• Sleep Mode Noise canceler

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews