Menyalakan LED dengan mikrokontroler
01.10
By
wilden
5
komentar
TUJUAN
1. Led menyala
2. Led berkedip
3. Led flip flop
4. Led berjalan ke kanan
5. Led berjalan ke kiri
6. Led bolak balik kanan kiri
Atmega8535/16/32
Untuk menyalakan led dengan mikrokontroler Atmega8535/16/32 pertama kita harus mengetahui dasar-dasar cara kerja dari led, terus dasar pemograman C pada codevision AVR untuk fungsi input output, sedangkan disini hanya pemograman dan cara kerjanya
Beberapa hal yang perlu diingat dalam pemograman nya, yaitu
- DDRx (misal pada port A maka penulisanya DDRA)
DDRx berfungsi untuk dijadikan INPUT atau OUTPUT, MASUKAN atau KELUARAN
contoh:
=Jika dalam bilangan hexadecimal=
=Jika dalam bilangan hexadecimal=
DDRA=0x00
-> artinya semua portA (PA0 - PA7) di fungsikan sebagai MASUKAN/INPUT karena bernilai 00
DDRA=0xFF
->artinya semua portA (PA0 - PA7) difungsikan sebagai KELUARAN/OUTPUT karena bernilai FF
DDRA=0x0F
->karena PA0,PA1,PA2,PA3 bernilai F maka fungisnya sebagai OUTPUT, sedangakan PA4, PA5, PA6, PA7 bernilai 0 maka fungsinya sebagai INPUT
=Jika dalam bilangan biner=
DDRA=0b00000000
-> artinya semua portA (PA0 - PA7) di fungsikan sebagai MASUKAN/INPUT karena bernilai 00000000
DDRA=0b00001111
->karena PA0,PA1,PA2,PA3 bernilai 1 maka fungisnya sebagai OUTPUT, sedangakan PA4, PA5, PA6, PA7 bernilai 0 maka fungsinya sebagai INPUT
DDRA=0b11000101
->PA0=1, PA2=1, PA6=1, PA7=1, fungsinya sebagai OUTPUT, sedangkan sisanya sebagai INPUT
- PORTx (misal pada port A maka penulisannya PORTA)
PORTx fungsinya sebagai inisialisasi awal atau pemberian nilai awal apakah si PORTA ini bernilai HIGH/1 atau LOW/0
Contoh
Jika dalam hexa (misal di port A)
PORTA=0x00
PORTA=0x00
-> artinya dari PA0 - PA7 bernilai 0/LOW
PORTA=0x0F
->Artinya keadaan HIGH pada PA0=1, PA1=1, PA2=1, PA3=1, dan keadaan LOW pada PA4=0, PA5=0, PA6=0, PA7=0
Jika dalam biner (misal di port A)
PORTA=0b00000000
->Artinya dari PA0 - PA7 bernilai 0/LOW
PORTA=0b00001111
->Artinya keadaan HIGH pada PA0=1, PA1=1, PA2=1, PA3=1, dan keadaan LOW pada PA4=0, PA5=0, PA6=0, PA7=0
Kesimpulan
DDRx --> INPUT atau OUTPUT
PORTx --> HIGH (1) atau LOW (0)
Sebelum membuat program langkah pertama yang harus dilakukan adalah membuat rangkaian elektroniknya dulu, disini kita akan merangkainya di software simulasi ISIS proteus. Untuk rangkaianya seperti dibawah ini
Link download rangkaian led di isis proteus --> disiniiii brooo
Jika belum terinstal proteusnya, link buat instal nya ini --> disiniii
Ini dia bagian untuk membuat programnya.,
oke langkah langkahnya sebagai berikut
Langkah langkahnya adalah sebagai berikut
1. Klik file pilih New (Ctrl+N)
3. klik Yes, kenapa? karena dengan codewizard pekerjaan kita menjadi lebih mudah, tidah usah menghafal kode-kode yang diperlukan, misal untuk mengaktifkan LCD, maka kodenya adalah XXXXX misalnya, tapi dengan codewizard cukup centang aja pada tabel yang tersedia
Karena kita menggunakan chip ATmega32, maka pilih chip ATmega32 (bisa diganti dengan atmega apapun, sesuai keinginan)
Clock pake 8 Mhz
Oia untuk clock kita menggunakan clock internal dari atmega32 itu sendiri, jadi ga usah pake clock eksternal
6. Pilih koom Ports
Data Direction adalah DDRx
Bit 0 Out maksudnya adalah PA0 di gunakan sebagai Output
Pullup/Output Value itu adalah PORTx
1 Bit 0 maksudnya PA bernilai awal HIGH/1
Jadi pada PA0 sebagai Output dan nilai awalnya 1/HIGH, begitu pula pada PA1 - PA7
7. Setelah selesai
9. Pada save akan dilakukan save sebanyak 3 kali, sebaiknya simpan file tersebut dalam satu folder yang baru, dengan nama yang sama
COMPILE
Setelah selesai membuat program selanjutanya adalah mengcompile program tersebut
Caranya adalah
1. Klik project pada toolbar
2. Klik Build All / CTRL+F9
Jika hasilnya seperti gambar di atas, dimana tidak ada error maka program sudah siap di download ke mikrokontroler
Klik Ok
CARA MEMASUKAN PROGRAM PADA ISIS PROTEUS
Setelah menyelesaikan program tersebut, terus bagaimana cara memasukan atau mensimulasikan program tersebut pada software isis proteus. Untuk memasukan program yang sudah jadi ke rangkaian yang udah siap adalah sebagai berikut:
1. Buka isis proteus yang sudah ada rangkaian seperti rangkaian di atas
2. Klik 2 kali pada Atmega32
3. Pada tabel Edit Component ubah CKSEL Fuses menjadi Int.RC 8Mhz, karena kita menggunakan kristal internal 8 Mhz
4. Klik icon folder pada kolom Program File sehingga muncul tab baru, cari folder tempat menyimpan file program yang telah di simpan
Nah disini buka folder Exe dan klik file yang berformat .HEX kemudian open dan jika telah selesai klik Ok pada tab Edit Component
6. Led pun menyala
:D
Sekian langkah langkah membuat simulasi nyalain led pake mikrokontroler
Sumber:
www. elektro-kontrol.blogspot.com
buku praktikum AVRmicro PENS (linknya lupa)
ATMEGA8535-CVAVR (linknya lupa)
5 komentar: