Laporan Push Button dan Saklar Mikrocontroller

download Laporan Push Button dan Saklar Mikrocontroller

of 20

Transcript of Laporan Push Button dan Saklar Mikrocontroller

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    1/20

    G. LANGKAH KERJA

    Pembuatan script (dalam ekstensi .hex) program menggunakan

    BASCOM-AVR

    1. Jalankan software BASCOM

    2. Berikut tampilan awal BASOM-AVR

    3. Ketikkan script program mengatur arah gerak LED ke Kanan-Kiridengan saklar Push Button

    $regfile = m16def.datDim A As ByteDoPortb = &B00000001

    Bitwait Pinc.6DoFor A = 1 To 7Rotate Portb, LeftWaitms 100If Pinc.1 = 1 ThenExit DoEnd If

    NextFor A = 1 To 7Rotate Portb, Right

    Waitms 100

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    2/20

    If Pinc.1 = 1 ThenExit DoEnd If

    Next

    If Pinc.1 = 1 ThenExit DoEnd IfLoopLoopEnd

    4. Kompile script program dengan cara mengklik ikon5. Tunggu beberapa saat porgram sedang di kompile (diubah dari bahasa

    .bas atau basic menjadi ekstensi .hex)

    6. Kemudian ketikkan program mengambil data saklar geser danmengeluarkan ke LED

    $regfile "m16def.dat"$crystal = 1000000$hwstack = 32$swstack = 8$framesize = 24Config Portb = OutputConfig Portc = InputPortc = &HFFDo Portb = PincLoop

    End

    7. Kompile script program dengan cara mengklik ikon ataumenekan (f7).

    8. Tunggu beberapa saat porgram sedang di kompile (diubah dari bahasa.bas atau basic menjadi ekstensi .hex)

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    3/20

    9. Kemudian ketikkan program tantangan Program untuk menyalakan ledpada portB dan portD dengan ketentuan (Jika pushbuttons 1 ditekan,

    maka semua led pada portB dan portD menyala kedap-kedip, jika

    pushbuttons 2 ditekan, maka led pada portB dan portD akan menyala

    secara zig-zag)

    $regfile "m16def.dat"$crystal = 1000000Config Portb = OutputConfig Portd = OutputDim A As Integer, C As ByteC = &B10000000Do

    Bitwait Pinc.0, SetBitwait Pinc.0, ResetDoPortb = &B11111111Portd = &B11111111Waitms 30Portb = &B00000000Portd = &B00000000Waitms 30If Pinc.1 = 1 Then go to ArEnd If

    ArDoPortb = CWaitms 1000Shift C, Right, 1Portd = CWaitms 1000Shift C, Right, 1Loop Until Portb = &B00000000LoopEnd

    10.Kompile script program dengan cara mengklik ikon ataumenekan (f7).

    11.Tunggu beberapa saat porgram sedang di kompile (diubah dari bahasa.bas atau basic menjadi ekstensi .hex)

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    4/20

    Melakukan Percobaan di Lab menggunakan Mikrokontroler AVR

    PERCOBAAN PROGRAM MENGATUR ARAH GERAK LED KE

    KANAN-KIRI DENGAN SAKLAR PUSH BUTTON1. Klik Start --- AVRprog.

    2. Kemudian akan muncul tampilan awal AVRprog. Untuk melakukanpercobaan, klik browse untuk memasukkan file sintax-nya.

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    5/20

    3. Kemudian arahkan ke direktori tempat file tersebut. Select dan Klik Open.

    4. Setelah file sintaxnya telah masuk di AVRprog, klik program untukmenjalankannya.

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    6/20

    PROGRAM MENGAMBIL DATA SAKLAR GESER DAN

    MENGELUARKAN KE LED

    1. Klik Advanced untuk melakukan percobaan berikutnya.

    2. klik Chip Erase. dan Klik Close

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    7/20

    3. Kemudian Klik Browse untuk memasukkan file sintax-nya.

    4. kemudian arahkan ke direktori tempat file tersebut. klik open.

    5. setelah file sintaxnya telah masuk di avrprog, klik program untukmenjalankannya.

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    8/20

    PROGRAM TANTANGAN

    Program untuk menyalakan led pada portB dan portD dengan ketentuan (Jika

    pushbuttons 1 ditekan, maka semua led pada portB dan portD menyala kedap-

    kedip, jika pushbuttons 2 ditekan, maka led pada portB dan portD akan

    menyala secara zig-zag)

    1. Klik Advanced untuk melakukan percobaan berikutnya

    2.

    Klik Chip Erase. dan Klik Close

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    9/20

    3. Kemudian Klik Browse untuk memasukkan file sintax-nya.

    4. Kemudian arahkan ke direktori tempat file tersebut. Klik Open.

    5. Setelah file sintaxnya telah masuk di AVRprog, Klik program untukmenjalankannya.

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    10/20

    H. HASIL PERCOBAAN

    PERCOBAAN PROGRAM MENGATUR ARAH GERAK LED KE

    KANAN-KIRI DENGAN SAKLAR PUSH BUTTON

    Keadaan awal Keadaan awal setelah programdijalankan

    LED bit tujuh pada portB, menyala LED bit enam pada portB, menyala

    LED bit lima pada portB, menyala LED bit empat pada portB, menyala

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    11/20

    LED bit tiga pada portB, menyala LED bit dua pada portB, menyala

    `

    LED bit satu pada portB, menyala LED bit nol pada portB, menyala

    LED bit satu pada portB, menyala LED bit dua pada portB, menyala

    LED bit tiga pada portB, menyala LED bit empat pada portB, menyala

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    12/20

    LED bit lima pada portB, menyala LED bit enam pada portB, menyala

    LED bit tujuh pada portB, menyala

    PERCOBAAN PROGRAM MENGAMBIL DATA SAKLAR GESER DAN

    MENGELUARKAN KE LED

    Keadaan awal Keadaan awal setelah programdijalankan

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    13/20

    Saklar tiga ditekan, LED bit tiga pada

    portb dan portd, menyalaSaklar nol ditekan, LED bit nol pada

    portb dan portd, menyala

    Saklar satu ditekan, LED bit satupada portb dan portd, menyala

    Saklar dua ditekan, LED bit dua padaportb dan portd, menyala

    Saklar empat ditekan, LED bit empatpada portb dan portd, menyala

    Saklar lima ditekan, LED bit limapada portb dan portd, menyala

    Saklar enam ditekan, LED bit enampada portb dan portd, menyala

    Saklar tujuh ditekan, LED bit tujuhpada portb dan portd, menyala

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    14/20

    PROGRAM TANTANGAN

    Program untuk menyalakan led pada portB dan portD dengan ketentuan (Jika

    pushbuttons 1 ditekan, maka semua led pada portB dan portD menyala kedap-

    kedip, jika pushbuttons 2 ditekan, maka led pada portB dan portD akan

    menyala secara zig-zag)

    Keadaan awal Push button 1 ditekan, LED padaportb dan portd menyala

    Kemudian LED portb dan portd mati Dan LED portb dan portd menyalakembali (proses berkedip)

    push button 2 ditekan, LED bit tujuhpada portb menyala (proses awal zig-

    zag)

    Kemudian LED bit enam pada portdmenyala

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    15/20

    Kemudian LED bit lima pada portb

    menyalaKemudian LED bit empat pada portd

    menyala

    Kemudian LED bit tiga pada portbmenyala

    Kemudian LED bit dua pada portdmenyala

    Kemudian LED bit satu pada portbmenyala

    dan LED bit nol pada portd menyala

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    16/20

    I. ANALISIS DATAMengatur Arah Gerak LED ke Kiri-Kanan Dengan Saklar Push Button

    Program ini merupakan program mengatur arah gerak LED kekiri dan

    kekanan dengan saklar push button, dengan menggunakan instruksi awal

    $regfile = "m16def.dat" merupakan pendeklarasian atau library yang

    menyatakan bahwa mikrokontroller yang digunakan adalah ATMega16.

    Selanjutnya instruksi $crystal = 1000000merupakan kecepatan kristal 1 juta

    baris perclock.instruksi Dim A As Byte merupakan perintah dimana A

    dideklarasikan dalam bentuk byte kemudian dilanjutkan dengan instruksi Do

    merupakan Perintah Perulangan, program utama dimulai.selajutnya Portb =

    &B00000001 merupakan suatu perintah dimana portb diset dengan nilai byte

    dalam bilangan biner yaitu &B00000001artinya biner yang bersimbol 1 akan

    menyala pada bit pertama(portB.0).Untuk mengatur LED berjalan kekiri dan

    kekanan terlebih dahulu kita mengeset push button 2 (Q1) sebagai tombol

    tekan yang akan memulai eksekusi maka digunakan instruksiBitwait Pinc.6 ,

    Set, dan Bitwait Pinc.6 , Reset merupakan instruksi push button dimana

    portc.6 sebagai push button 2 ketika diset/tekan kemudian direset/lepasprogram akan mulai melakukan eksekusi.kemudian dilanjutkan kembali

    dengan instruksi Do sebagai penunjuk Perintah Perulangan.Untuk membuat

    LED menyalah dari bit pertama sampai pada bit kedelapan (portB.0-portB.7)

    ataupun dari bit kedelapan kebit pertama (portB.7-portB.0) digunakan

    instruksi For A = 1 To 7 merupakan suatu perintah dimana variabel A

    dijadikan sebagai penghitung Loop, sehingga akan terjadi proses Loop

    sebanyak 7 kali.kemudian, dilanjutkan dengan instruksi Rotate Portb , Left

    merupakan suatu perintah dimana setelah setiap kali proses looping nilai bit

    dari portB = &B00000001 akan digeser kekiri sehingga nantinya akan menjadi

    portB= &B00000010 kemudian lagi akan dirotate( putar) sehingga nantinya

    akan menjadi portB= &B00000100, instruksi tersebut akan menampilkan LED

    berjalan dari kiri ke kanan (bawah ke atas)dilanjutkan pada instruksi Waitms

    100 merupakan Delay 100 milisecond, artinya perintah untuk memberi jeda

    selama 100 ms. Sehingga ketika program dijalankan, tampilan tiap perubahan

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    17/20

    memiliki jeda selama 100 ms.Instruksi If Pinc.1 = 1 Then, merupakan

    instruksi dimana ketika kita menekan push button 2 (Q1) maka program akan

    melakukan reset atau berhenti, selanjutnya instruksi Exit Do, dan End If

    merupakan perintah memberhentikan program running LED sedangkan

    instruksi Next merupakan perintah dimana ketika menekan push button 1

    (Q0) program akan tetap berjalan. Selanjutnya kembali ke instruksi For A = 1

    To 7 merupakan suatu perintah dimana variabel A dijadikan sebagai

    penghitung Loop, sehingga akan terjadi proses Loop sebanyak 7 kali.

    kemudian, dilanjutkan dengan instruksi Rotate Portb , Right merupakan

    suatu perintah dimana setelah setiap kali proses looping nilai bit dari portB=

    &B00000001 akan digeser kekanan sehingga nantinya akan menjadi portB=

    &B10000000 kemudian lagi akan dirotate( putar) sehingga nantinya akan

    menjadi portB= &B01000000, instruksi tersebut akan menampilkan LED

    berjalan dari kanan ke kiri (atas ke bawah) dilanjutkan pada instruksi Waitms

    100 merupakan Delay 100 milisecond, artinya perintah untuk memberi jeda

    selama 100 ms. Sehingga ketika program dijalankan, tampilan tiap perubahan

    memiliki jeda selama 100 ms.Selanjutnya kembali ke nstruksi If Pinc.1 = 1

    Then,Exit Do, danEnd If sebagai perintah untuk memberhentikan programrunning LED. instruksi LoopmerupakanPerintah perulangan, ulangi ke awal

    (mulai dari do) dan instruksi terakhir adalah End merupakan proses telah

    selesai.

    Mengambil Data Saklar Geser Dan Mengeluarkan ke LED

    Program ini merupakan program mengambil data saklar geser dan

    mengeluarkan ke LED, dengan menggunakan instruksi awal $regfile =

    "m16def.dat" merupakan pendeklarasian atau library yang menyatakan

    bahwa mikrokontroller yang digunakan adalah ATMega16. Selanjutnya

    instruksi $crystal = 1000000 merupakan kecepatan kristal 1 juta baris

    perclock. instruksi $hwstack = 32 merupakannilai default 32 yang dimiliki

    hardware stack/tipe data abstrak . sama dengan instruksi $wstcak = 8

    merupakan nilai default 32 yang dimiliki hardware stack/tipe data abstrak

    Sedangkan instruksi $framesize = 24 merupakan framesize dengan nilai

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    18/20

    default 24 perclock. Selanjutnya dilanjutkan instruksi Config Portb = Output

    yang mengkonfigurasikan bahwa Port B menjadi output dan instruksi Config

    Portc = Input merupakan suatu perintah dimana mengkonfigurasikan portC

    sebagai input penghubung pada saklar.Selanjutnya instruksi Portb= &HFF

    merupakan suatu perintah mengeset nilai pada portb yaitu 11111111 dengan

    instruksi ini semua lampu nantinya akan menyalah pada portb,dilanjutkan

    dengan instruksi Do merupakan Perintah Perulangan, program utama

    dimulai.Instruksi Portb = Pinc merupakan suatu perintahdimana LED pada

    portB dan LED pada PortC akan menyalah secara bersamaan ketika

    menekan saklar S0 sampai saklar S7 atau terakhir. Begitupun sebaliknya,

    ketika menonaktifkan saklar, maka LED pada portB dan portC akan mati

    secara bersamaan. instruksi Loop merupakanPerintah perulangan, ulangi ke

    awal (mulai dari do) dan instruksi terakhir adalah Endmerupakan proses telah

    selesai.

    Tantangan

    Program untuk menyalakan led pada portB dan portD dengan ketentuan

    (Jika pushbuttons 1 ditekan, maka semua led pada portB dan portD

    menyala kedap-kedip, jika pushbuttons 2 ditekan, maka led pada portB

    dan portD akan menyala secara zig-zag)

    Dengan menggunakan instruksi awal $regfile = "m16def.dat"

    merupakan pendeklarasian atau library yang menyatakan bahwa

    mikrokontroller yang digunakan adalah ATMega16. Selanjutnya instruksi

    $crystal = 1000000 merupakan kecepatan kristal 1 juta barisperclock.instruksi Config Portb = Outputdan Config Portd = Output suatu

    perintah mengkonfigurasikan Port B menjadi output.instruksi Dim A As

    Integer , C As Byte merupakan suatu perintah dimana A dideklarasikan

    sebagai integer dan C dideklarasikan sebagai Byte ,kemudian instruksi C =

    &B10000000 merupakan suatu instruksi dimana c sebagai byte diset dengan

    nilai awal &B10000000 dilanjutkan dengan instruksi Domerupakan Perintah

    Perulangan, program utama dimulai.instruksi Bitwait Pinc.0 , Setdan Bitwait

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    19/20

    Pinc.0 , Reset merupakan instruksi push button dimana portc.0 sebagai push

    button 1(Q0) ketika diset/tekan kemudian direset/lepas program akan mulai

    melakukan eksekusi.kemudian dilanjutkan kembali dengan instruksi Do

    sebagai penunjuk Perintah Perulangan.Selanjutnya instruksi Portb =

    &B11111111 dan Portd = &B11111111 merupakan suatu peruntah mengeset

    nilai &B11111111 pada portb dan portd sehingga kedua LED pada port

    nantinya akan menyalah. selanjutnya, instruksi Waitms 30 merupakan Delay

    30 milisecond, artinya perintah untuk memberi jeda selama 30 ms. Sehingga

    ketika program dijalankan, tampilan tiap perubahan memiliki jeda selama 30

    ms.selanjutnya instruksi Portb = &B00000000 dan Portd = &B00000000

    merupakan suatu perintah mereset nilai dengan &B00000000 pada portb dan

    portd sehingga kedua LED pada port nantinya akan mati/nonaktif. instruksi

    Waitms 30 merupakan Delay 30 milisecond, artinya perintah untuk memberi

    jeda selama 30 ms. Sehingga ketika program dijalankan, tampilan tiap

    perubahan memiliki jeda selama 30 ms,selanjutnya instruksi If Pinc.1 = 1

    Then merupakan instruksi dimana ketika kita menekan push button 2 (Q1)

    maka program akan melakukan reset atau berhenti.Instruksi A=1 ,End if dan

    Loop until A=1 merupakan suatu perintah untuk memberhentikan programrunning LED dilanjutkan dengan instruksi Do sebagai perintah perulangan.

    Untuk membuat LED menyalah secara zig-zag digunakan instruksi portb= c

    merupakan suatu perintah mengeset nilai portb dengan nilai C(byte) dimana

    nilai C adalah &B10000000 dilanjutkan dengan instruksi Waitms 1000

    merupakan Delay 1000 milisecond, artinya perintah untuk memberi jeda

    selama 1000ms. Sehingga ketika program dijalankan, tampilan tiap perubahan

    memiliki jeda selama 1000 ms dilanjutkan dengan instruksi Shift C,Right ,1merupakan suatu perintah dimana nilai C=&B10000000 akan digeser satu kali

    kekanan sehingga nilai C = &B01000000.Selanjutnya instruksi portd=C

    merupakan suatu perintah dimana portd akan diset dengan nilai pada C

    sehingga nilai portd sekarang adalah &B01000000 kemudian kembali

    dilanjutkan dengan instruksi Waitms 1000 merupakan Delay 1000

    milisecond, artinya perintah untuk memberi jeda selama 1000ms. Sehingga

    ketika program dijalankan, tampilan tiap perubahan memiliki jeda selama

  • 7/22/2019 Laporan Push Button dan Saklar Mikrocontroller

    20/20

    1000 ms.selanjutnya kembali keinstruksi Shift C,Right ,1 merupakan suatu

    perintah dimana nilai C=&B01000000 akan digeser satu kali kekanan

    sehingga nilai C = &B00100000. Instruksi Loop Until Portb = &B00000000

    merupakan suatu perintah perulangan dimana apabila nilai

    portb=&B00000000 maka akan lanjut ke instruksi berikutnya, instruksi Loop

    merupakanPerintah perulangan, ulangi ke awal (mulai dari do) dan instruksi

    terakhir adalah Endmerupakan proses telah selesai.

    J. KESIMPULAN