Traffic Light Lp

Embed Size (px)

Citation preview

  • 7/25/2019 Traffic Light Lp

    1/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    PRAKTIKUM VII

    TRAFFIC LIGHT

    I. Tujuan

    Setelah melakukan percobaan ini, siswa diharapkan dapat membuat

    program pengontrolan lampu lalu lintas dengan menggunakan

    mikrokontroler

    II. Teori Dasar

    !ada percobaan ini akan dibuat suatu program "ang mengontrol lampu

    lalu lintas pada#alan simpang tiga $ambar %& memperlihatkan #alan

    simpang tiga berikut letak lampulalulintasn"a

    $ambar '&

    (rutan pen"alaan lampu lalu lintas $ambar %& ditun#ukkan seperti pada

    Tabel %& berikut ini

    Tabel %&

  • 7/25/2019 Traffic Light Lp

    2/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    III.Daftar Alat dan Baan

    (tama) '*+& central proccessing unit

    !arallel InputOutput

    Trafc light

    Kabel SerialKabel (S- ke Serial

    Kabel penghubung secukupn"a

    Komputer program aplikasi SciTE .!T/'&%*0 Microcontroller Trainer1

    23or 4indows5

    IV.Kesela!atan Kerja

    (ntuk melaksanakan praktikum Mikrokontroler ini diperlukan langkah6

    langkah untuk keselamatan)a Sebelum praktikum dimulai, masing6masing praktikan men"iapkan

    #obsheetb !astikan hubungan kabel power pada komputer laptop sudah

    tersambung dan tidak ada kabel "ang terbuka, kemudian hidupkan

    2turn on5 M7- panel pada me#a praktikumc !astikan hubungan komputer dengan peralatan lainn"a, seperti

    ke"board dan mouse sudah terhubungd 8idupkan komputer, dan tunggu sampai sistem operasi selesai loading

    dan sudah dapat digunakan

    V. Lan"#a Kerja

    &5 Siapkan peralatan "ang diperlukan05 Rangkai peralatan seperti pada $ambar %0

  • 7/25/2019 Traffic Light Lp

    3/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    $ambar %0

    +5 9tur saklar '*+& 7!( pada posisi 77LK:5 9tur saklar nomor & pemilih alamat !arallel InputOutput pada posisi

    ON;5 -uat program berikut ini pada editor program aplikasi SciTE

    . !T/'&%*0Microcontroller Trainer1 Simpan 5 Kompilasikan

  • 7/25/2019 Traffic Light Lp

    4/9

    MIKROKONTROLER

    TRAFFIC LIGHT

  • 7/25/2019 Traffic Light Lp

    5/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    &*5 Reset '*+& 7!(&&5 9mati dan catat pada tabel %0 keadaan lampu lalu lintas dimulai saat

    LEA hi#au & men"ala&05 (langi langkah : sampai dengan ' tetapi ubah perintah rr a pada

    baris Sembilanmen#adi rl a&+5 Reset '*+&7!(

    &:5 9mati dan catat pada Tabel %+ keadaan LEA stepping motor dan arah

    putarmotor dimulai saat LEA 4& men"ala

    VI. Analisa

    org **h men"iapkan program dimulai dari alamat **h

  • 7/25/2019 Traffic Light Lp

    6/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    Lcall dela"ppi memanggil subrutin Bdela"ppiC dalam program ber3ungsisebagai #eda waktu, untuk mempersiapkan !!I

    2!rogrammable !eripheral Inter3ace5mo@

    dptr,D:**+hmengisi register data pointer 2penun#uk data5 dengan data:**+h

    mo@ a,D'*h mengisi register accumulator dengan data '*hmo@ Fdptr,a memindahkan data memori eksternal, isi data dari register

    accumulator dipindahkan ke alamat "ang ditun#ukkan olehregister data pointer 2:**+h5

    ulang) subrutin BulangCmo@

    dptr,D:***hmengisi register data pointer dengan data :***h

    mo@a,D**&*&&**b

    urutan $, mengisi register accumulator dengan data**&*&&**b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&&*bmengisi register accumulator dengan data &&&&*&&*b

    mo@ Fdptr,a G mengakses memori eksternal, mengisi alamat"angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &hcall dela" memanggil subrutin Bdela"C

    mo@dptr,D:***h

    mengisi register data pointer dengan data :***h

    mo@a,D**&*&*&*b

    urutan %, mengisi register accumulator dengan data&&&&*&&*b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    Inc dptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&&*bG mengisi register accumulator dengan data &&&&*&&*b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "ang

    ditun#ukkan oleh register data pointer dengan data "angberada pada register accumulatormo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

    sebagai #eda waktu5mo@

    dptr,D:***hmengisi register data pointer dengan nilai :***h

    mo@a,D**&*&**&b

    urutan &, mengisi register accumulator dengan data**&*&**&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&*&bmengisi register accumulator dengan data &&&&*&*&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "ang

  • 7/25/2019 Traffic Light Lp

    7/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    ditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

    sebagai #eda waktu5mo@

    dptr,D:***hmengisi register data pointer dengan nilai :***h

    mo@a,D&**&***&b

    urutan :

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&*&bmengisi register accumulator dengan data &&&&*&*&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

    sebagai #eda waktu5mo@

    dptr,D:***hmengisi register data pointer dengan nilai :***h

    mo@a,D*&*&***&b

    urutan ', mengisi register accumulator dengan data*&*&***&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&*&bmengisi register accumulator dengan data &&&&*&*&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

    sebagai #eda waktu5mo@dptr,D:***h

    mengisi register data pointer dengan nilai :***h

    mo@a,D**&&***&b

    urutan >,G mengisi register accumulator dengan data**&&***&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&*&*&bmengisi register accumulator dengan data &&&&*&*&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "ang

    ditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

  • 7/25/2019 Traffic Light Lp

    8/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    sebagai #eda waktu5mo@

    dptr,D:***h

    mengisi register data pointer dengan nilai :***h

    mo@a,D**&&***&b

    urutan (, G mengisi register accumulator dengan data**&&***&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointermo@

    a,D&&&&&*&*bmengisi register accumulator dengan data &&&&&*&*b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin dela" 2dalam program ber3ungsi

    sebagai #eda waktu5mo@

    dptr,D:***hmengisi register data pointer dengan nilai :***h

    mo@a,D**&*&**&b

    urutan ), G mengisi register accumulator dengan data**&*&**&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    incdptr menambahkan nilai & ke register data pointer

    mo@a,D&&&&*&*&b

    mengisi register accumulator dengan data &&&&*&*&b

    mo@ Fdptr,a mengakses memori eksternal, mengisi alamat "angditun#ukkan oleh register data pointer dengan data "angberada pada register accumulator

    mo@ r*,D& mengisi register r* dengan nilai &call dela" memanggil subrutin Bdela"Cl#mp ulang melompat ke subrutin BulangCdela") subrutin Bdela"Cmo@ r&,D&** mengisi register r& dengan data &**dela"0) subrutin Bdela"0C

    mo@ r0,D&** mengisi register r0 dengan data &**dela"&) subrutin Bdela"&Cmo@ r+,D&** mengisi register r+ dengan data &**d#nH r+, mengurangi isi register r+ dengan &, #ika r+ belum nol

    maka ulangi perintah tersebut 2tanda dalam instruksi inimaksudn"a adalah ker#akan kembali instruksi ini5

    d#nH r0,dela"& mengurangi isi register r0 dengan &, #ika r+ belum nolmaka melompat ke subrutin Bdela"&C

    d#nH r&,dela"0 mengurangi isi register r& dengan &, #ika r& belum nolmaka melompat ke subrutin Bdela"0C

    d#nH r*,dela" mengurangi isi register r* dengan &, #ika r* belum nolmaka melompat ke subrutin Bdela"C

    ret kembali ke subrutin utama, tempat instruksi dipanggil2subrutin5

    dela"ppi) subrutin Bdela"ppiCmo@ r:,D0* mengisi register r: dengan nilai 0*h

  • 7/25/2019 Traffic Light Lp

    9/9

    MIKROKONTROLER

    TRAFFIC LIGHT

    delppi) subrutin BdelppiCmo@ r;,D&* mengisi register r; dengan nilai &*h

    d#nH r;, mengurangi isi register r; dengan &, #ika belum nol makaulangi instruksi

    d#nH r:,delppi mengurangi isi register r: dengan &, #ika belum nolmelompat ke subrutin delppi

    Ret kembali ke subrutin utama, tempat instruksi dipanggil2subrutin5

    ENA akhir program

    VII.K*+IMPULA,

    TraJc light dikendalikan melalui sistem kendali, dan Berdasarkan hasilpercobaan dan analisis rangkaian di atas maka dapat disimpulkan bahwa pada kontrol

    lampu lalu lintas (traffic light), lampu akan menyala bergantian secara otomatis.jeda

    waktu antara lampu tergantung pada program