Early game which is always done by people who are just learning the microcontroller is lit the LED. Although the first time we usually just turn on the LEDs moving to the right or left only, and usually things like that would be boring, but it is very important to understand how to program the microcontroller. Besides, if we want to develop programs that not only lit the LED which is lit only shifted to the right or left, then this game could get very interesting.

For example, the LED experiment using the table ie LED5.A51 in the Easy and Fun Learning microcontroller book, is a very interesting LED game. The picture above shows how the LED game if run on the simulator which is connected to VLED.

All you need to do to use VLED.exe when running simulations for LED5.A51 is connecting the P1 by Link Message with Message to be sent = WM_USER (1024), then fill Handle by Capture Handle to the running VLED.

Link setting is done by clicking the Option-Port menu of the simulator window. After that, the Port Settings window will appear. In this window, there are four tabs, the tab for Port 0 to Port 3. The contents of each tab are the same, that govern how the ports are connected. If you do not want to connect the ports anywhere, then choose None Link. Then Link Port is chosen if simulation port will be linked with the physical ports, such as parallel port or installed PPI port. Meanwhile, Link Message is used if the simulator is connected to another program via the Window Message. And the last is the Link File, that is if the port will be connected to a file.

If the Link Message selected, you must specify the Message to be sent, lParam to be sent, also Handle of the Window of the program receives the message. This parameter depends on the program that you want to link. For example, VLED received a WM_USER message, i.e. 1024. So the Message to be sent will also have to be 1024. While the lParam is not taken into account by VLED, so let it be what it is. And that should not be forgotten is to fill the Window Handle of the linked program.

To fill this Handle value can be done by clicking on the Capture Handle button, then click on the program that you want to link. Remember! After you click on the Capture Handle button should not click on anything other than the program that you want to link. Because the Capture Handle will fetch the handle of any clicked after this button is clicked. If the handle filling was done, then the Caption will usually appear the words as in the linked program. For example if the linked is VLED, then it would appear the words “Virtual LED”. After that, close the Port Setting window and enjoy the simulation.

You can also see how the LEDs run on the real LED by linking Port1 using the Link Port, then fill out the Address to 378, i.e. the address for the port. And you must install the LEDs on the parallel port as shown here:

Installation of the LED display on the parallel port.
Installation of the LED display on the parallel port.

To try the program, you can download the source code written either using assembly language and c language. And remember! You should discard the checkmark on the Option-Update Display menu in the simulator to make the simulator run faster. LED running speed may be not the same between your computer with the animation above. The speed of simulation depends on the speed of your computer.

Demo using TB-7S-8L board

Happy trying.

Source
Source

47 thoughts on “Running LED simulation on Microcontroller

  1. mas tolong dong kirimi saya program bahasa C untuk membuat
    reks berjalan, saya memakai lcc-win32…tolong ya..mas
    Sulhan.Saya tunggu lho ..
    thanks…

    1. Harap diperhatikan bahwa web site ini adalah tempat untuk tanya jawab yang bersifat pembelajaran, bukan tempat untuk minta dibuatkan atau dirancangkan software atau apapun itu namanya. Anda boleh mendownload secara cuma-cuma semua yang ada di sini. Lihat juga pada Software Gratis.
      Akan tetapi jika Anda menginginkan untuk dibuatkan software secara khusus untuk keperluan Anda, Anda bisa meminta melalui email [email protected]. Tentu saja disertai dengan penawaran Anda 🙂

  2. Mas tolong dimuat juga tutorial pembuatan PCB. Gak lengkap dong jika kita hanya bisa buat software tanpa dukungan pembuatan hardwarenya. Makasih ya…. atas bagi-bagi ilmunya…

  3. Pak…. saya ini pendatang baru di dunia mikrokontroller…
    kalau saya boleh tahu… hal apa yang paling utama saya ketahui sebagai seorang pemula.

    saya senang dengan elektronika… tapi dengan mikrokontroller saya masih buta.

    terima kasih

    1. mmm, sebenernya banyak hal yg harus diketahui. misalnya paham tentang konsep digital, bahwa dalam digital hanya ada dua keadaan yaitu rendah dan tinggi, 0 dan 1, atau benar dan salah. trus 0 dan 1 ini kalau diterjemahkan ke dalam rangkaian elektronika adalah menjadi tegangan 0 dan tegangan catu. wah, banyak deh. just read my book. disitu km akan diajari dari yg paling sederhana sampai km bs bikin beberapa alat yg km inginkan. dan satu lagi, jangan terpancing untuk mempelajari banyak macam mikrokontroler. cukup pelajari satu saja hingga km kuasai itu. setelah itu, akan sangat mudah untuk menguasai mikrokontroler yang lain. pilihlah yang paling mudah didapat ditempatmu dan yang paling murah 🙂 jadi km tidak terlalu menyesal jika karena sebuah kesalahan, chip percobaanmu terpaksa harus rusak 😀

  4. Sundul lagi ah..
    yup.. mantap nih, saya juga ikutan order bukunya om Sulhan..
    udah login n tinggal nunggu konfirmasi, mudah2an masih kebagian.
    Sbelumnya salam kenal dulu..
    N kebetulan saya ada modul AT89s52, n saya tertarik dgn aplikasi Running Led nya.
    Mohon informasi, kira2 suport gak ya.? saya jg baru blajar, jadi blum begitu paham..
    So yg saya temui sebagian banyak aplikasi Running Led pake modul PIC (koreksi klo salah).

    Salam..

    1. AT89s52? ya support banget lah, bahkan listing program yg ada di sini juga dibuat untuk itu. buruan donlot aja, trus dicoba.

    2. betul skali om, udah saya coba, ternyata emang benar2 suport..
      suer deh, mantap bgt, variasinya juga oke..
      saya coba download pke AVR Studio, karna modulnya pke USB.
      Langsung maknyusss… hehe..
      8x led run nyala pada port1.
      Mohon petunjuk om, gimana untuk nambah 1 led lagi, biar jadi 9x dgn variasi yg sama, yg di edit/ditambah dipoint mana.?
      n gimana untuk memindahkan agar led yg nyala misalnya ke port0 / port1 / port3.?

      trimakasih om Sulhan, asli maknyusss..

    3. blum sampe om, tadi pagi baru dikirim..

      hehe.. menghibur jg ya mainan led kelap kelip..
      klo mindahin nyala led ke port 1/2/3/0 udah bisa.. yg diubah set pd Mov..
      tapi klo mau nambah jumlahnya 8 biar jadi 9 / 10 blum bisa ni om..
      maksudnya nambah tapi biar tetap masuk dalam 1 urutan run nya..
      misal: 10x led

      1000000001
      1100000011
      1110000111
      1111001111
      1111111111

      yg urutan 9 n 10 mungkin bisa walau nyalanya diport lain, bantuin settingnya ya om..?
      sambil nunggu paket utak atik dulu aj.. hehe.

    4. klo mo ngubah jumlah led, karena ukuran mikro yg digunakan adalah 8 bit, maka setiap entri pada tabel harus dibuat agar mencukupi ukuran led yg diinginkan. misalkan ingin ukuran 10 led, maka setiab enti tabel harus berukuran 2 byte. jd nantinya gak ada bedanya antara mo pake 10 led atau 16 led. demikian jg dengan port yg digunakan juga harus 2. Nah, bagaimana membuat tabelnya ini yg terlalu panjang untuk dijelaskan di sini, makanya sabar aja nunggu bukunya sampe ya 😀

    5. siap komandan..
      dalam bukunya dijelasin juga ya, wah mantap bgt deh..
      8 10 16 bisa 32 juga nih.. makin seru aje.. hehe..

      thanks om..

    6. SUNDUL LAGI AH..

      hampir putus asa..
      otak atik akhirnya untuk jalankan 9 led, ketemu pake cara ini om..
      hehe.. tapi gak tau ni bahasa apa ya.?
      cuma masih kesulitan untuk buat variasi biar kaya LED5 di bab 6.

      klo gini buat control jalankan 9 huruf berjalan gak terbaca.
      bantuin sempurnakan dong om..? hehe..

      modul at89s52
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;RUNNING 9 HURUF 1 KATA;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      include REG_51.PDF

      ORG 0000H
      …diedit
      DELAY: MOV R0,#0FFH
      INLOP: MOV R1,#0FFH
      DJNZ R1,$
      DJNZ R0,INLOP
      RET

      END

    7. @Yoko: Sepertinya sudah pernah aku kasih tau klo mo bikin 9 LED, maka kita harus membuat ukuran tabelnya menjadi 2 byte. Dan karena 2 byte=16bit dan kita hanya pake 9, maka kita tidak menggunakan yang 7 byte. Cara mengganti program agar bisa menggunakan tabel 2 byte jg sudah pernah aku kirim via imel kan? Jd yg perlu km lakukan adalah baca buku lg dg lebih seksama sehingga benar2 paham bagaimana tabel tersebut disusun.

  5. mas aku tertarik deh belajar mikrokontroler tapi ku masih sangat awam bahkan NOL BESAR, adakah buku2 yg cocok buat saya?
    thx dari wong Aceh

  6. Pak, saya mau tanya apakah ada perbedaan baik instruksi kerja ataupun yang lain untuk 89C51 dengan 89S51??
    soalnya saya sudah buat listing program sesuai dengan buku dan di simulasikan dengan Vled berjalan baik cuma waktu saya rangkai pada papan circuitnya tidak berjalan dengan baik waktu berjalan ke kiri LED pada P0.7 tidak bekerja, dan waktu berjalan ke kanan LED pada P0.0 dan P0.7 tidak bekerja serta untuk kedipan LED tidak nyala sama sekali
    Mohon bimbingannya?

    nb: kristal saya gunakan 12 Mhz. pemasangan LED tidak ada yang terbalik, di cek hubungan/ jalurnya tidak ada yang putus

    Thk’S

    1. 89S51 bisa menggantikan 89C51 sepenuhnya, tp tidak sebaliknya. Jadi program yang ditulis untuk 89C51 pasti bisa digunakan untuk 89S51. Jadi kesalahan terjadi bukan karena penggantian chip menjadi 89S51. Oia, semua permainan LED itu ditulis untuk dikirim ke P1, bukan ke P0.

    2. ops… ya maksud saya P1 bukan P0 (salah ketik) ^_^
      nanti saya coba cek ulang lagi circuitnya

      Thk’S

    3. Terima kasih pak, setelah di cek dan ricek pemasangan LEDnya terbalik ^_^
      sekarang uda bisa jalan
      nanti kalau ada problem lagi boleh tanya lagi ya pak ^_^

      Thk’S

  7. Ass W W
    Mas saya sudah beli buku Mudah dan Menyenangkan Belajar Mikrokontroler dari toko buku online.
    Cuma sekarang saya agak bingung untuk down loader/programer hardwarenya apa supaya pas dengan MCS-51 t/u 89c2051 atau 89C51.
    Yang ada dipasaran sekarang programer/downloadernya hanya untuk 89S51 dll.K 127, K 51 (made in Kitsrus ; DIY )
    Apaka software yg dibuku dan hardware ini dapat cocok.
    Dan apakah programer yg untuk 89S51 dapat dipakai untuk 89C51.
    Terima kasih

    Gunawan.S.A

    1. 89C51 tu produk lama, sedangkan 89S51 tu versi barunya dan bisa dibilang 100% bisa menggantikan 89C51. Dan memang produk baru disarankan untuk menggunakan 89S51 karena lebih bagus dan kemungkinan 89C51 akan dihentikan produksinya.

      Untuk downloader yg km punya, semoga dia bisa dijalankan secara command line agar bisa diintergrasi dengen IDE. Jika tidak, coba hubungi pembuatnya dan tanyakan bagaimana cara untuk melakukan download secara command line. Semoga mereka bisa menyediakannya.

      Sayangnya IDE yg disertakan di buku belum bisa mengintegrasikan custom downloader. Jadi sebaiknya km donlot dulu IDE versi terbaru

  8. dear pak…
    pak saya bertanya tentang running test: saya menggunakan running test model LED,bisa nga di control pakai HP,bagaimana cara pak..??boleh nga kirim rangkaianya pak,,???
    thanks before

  9. Maaf mas saya belum bisa menjalankan simulator vled.Setelah saya masukan file led5.A51 dari direktori demo saya klik SIM stlh itu saya klik option setelah muncul tabel port seting ssya klik p1, klik link masage, klik wm user, terakir klik capturhandel setelah saya tunggu beberapa menit demo vled tetap tidak muncul yg saya juga nggak ngerti cara menghubungkan dgn windows massage sebab aplikasi windows masage saya tidak pernah menggunakan.tolong mas tutorianya yg to the point saja agar saya tidak bingung terima kasih sebelumnya.

    1. Sebelum melakukan capture handle, program yang handle-nya mau di-capture harus berada pada posisi paling atas dan tidak tertutup oleh program apapun. lihat penjelasan di atas. Jadi, pengaturan port itu tidak secara otomatis mangaktifkan VLED. Ingat bahwa pengaturan link itu bisa ke program apapun, tidak hanya VLED. VLED bisa dijalankan dengan klik pada menu Tool dari program Microcontroller Project, bukan pada menu simulatornya.

    2. Terimakasih mas saya berhasil menjalankan simulator. Tapi
      saya mencoba file lain diluar direktory demo tidak bisa apa karena type filenya tidak sama? karena saya amati untuk direktory demo menggunakan type M51 sedangkan diluar direktori
      demo menggunakan type A51 gimana cara merubah type A51 menjadi
      M51?

    3. Tidak masalah apakah filenya A51 atau M51, atau bahkan C, semuanya bisa. Jika mencoba file lain tidak bisa, mungkin masalahnya ada pada program yg di file lain. Apa sudah benar2 diperhatikan logika programnya? Merancang program tidak hanya sekedar mencoba file yg sudah ada, tp harus memahami logika pemrogramannya.

  10. saya sudah lama cari link yang mengupas masalah running teks dan ada disini rupanya ohya buku panduan bikin running teks berapa yah harganya serta program dan downloadernya jika berkenan tolong konfirmasikan ke email saya ,

  11. mas Sul,untuk mendptkan komponen (89S51) di mna? soalnya di tempatku gak ada.
    bisa pesen sama situ gak.

  12. ..met siang gan..ane dah sukses praktekin led berjalan 5 di bab 6 dngan menggabungkan ke scr tuk menswitch ke lampu ac..pertanyaan ane..jk ane mau mengatur speed nyala led tersebut via potensio..apa yg harus di dirubah gan?mohon clue nya gan… Q(^-^Q)

    1. ngubah kecepatan pake potensio? wah, sebenernya ini justru jd kurang canggih ya, masa rangkaian digital masih pake potensio analog? mendingan pake tombol aja. kasih 2 tombol untuk menambah kecepatan dan mengurangi kecepatan. di dalam program, kedua tombol tersebut digunakan untuk mengubah parameter tundaan. penggunaan tombol ada di bab selanjutnya.
      tetapi jika mo maksa pake potensio, ganti aja kristalnya dg sumber clock lain yg kecepatannya diatur pake potensio. XTAL1 sebagai masukan clock, sedangkan XTAL2 dibiarkan aja. sumber clock bisa pake IC555 atau bisa jg dg 2 buah gerbang NOT.

    2. ..wah..jd kurang canggih ya gan (â—Ļ’īš’â—Ļ)…hehehe..td nya ane mau pakai tombol gt gan..tapi msh blm ngerti benar tentang bhs program..maklum gan..ane belajar dan praktek dr internet dan buku2..pertama praktek tentang microcontroller ya lewat buku agan edisi pertama…kata2 nya mudah dicerna..hehehe..ane jg dah praktek bikin jam dr buku agan..sukses jg gan..kembali tentang pengaturan speed td gan..ane mau coba dngan ic 555 dl sbgai sumber clock nya..apa dngan cara ini nda di perlukan lg crystal yg 12mhz itu ya gan? Apa jg ane nda perlu ngerubah program nya ya gan? Tengkyu atas respon nya gan…ntar ane kbari hasil percobaan ane..

    3. klo pake sumber clock lain ya berarti ga pake kristal lg. yg hrs diperhatikan adalah bahwa kecepatan aslinya pake kristal 12MHz, klo pake 555 bisa sampe 12MHz ga? klo ga bisa berarti dlm program harus diubah parameter tundaannya biar sesuai.

      tunda:
                mov   R6,#20 ;ubah yg ini
      l1:       mov   R5,#255
      l2:       djnz  R5,l2
                djnz  R6,l1
                ret
    4. ..okay gan…tengkyu atas clue nya gan…ane praktekin dl…ntar ane laporkan hasil nya..salam kenal dr samarinda yo gan..

    1. Di help ada demo cara menggunakan simulator. Silakan coba dari demo yang pertama, kemudian demo-demo selanjutnya. Petunjuk diterangkan secara urutan dari demo pertama hingga demo terakhir. Jadi kalau mencobanya tidak urut, mungkin ada penjelasan yang terlewat yang menyebabkan percobaan tidak berjalan sebagaimana mestinya.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.

Notify me of followup comments via e-mail. You can also subscribe without commenting.