MXLED controlled using two ports, a port as a data port and another as a control port. Both the data port and control port are received as a WM_USER message at the wParam. To determine that the received signal is a data or control, MXLED will look at the lParam. If lParam = 2, then the received signal is a signal to the data. Whereas if lParam = 1, then the received signal is a control signal.

There are six sizes provided by MXLED, ie 8 × 16, 8 × 32, 8 × 48, 16 × 16, 16 × 32, and 16 × 48. For each size there are two choices of orientation, ie landscape and portrait.

Control signals only use bit.0 and bit.1. Bit.0 used to reset the counter, while bit.1 used to increase the counter.

Data signal used to determine which LED where lit and LED where off. For each time, there were only eight LED that are controlled, which LED on the current column. To determine which columns is active, we use a counter. At the time counter is reset, then the column 0 is active. then if we provide the clock signal, the signal on bit.1, then the active column will move to column 1. Then if given the clock signal again, the active column will be column 2. and so on.

There are two choices of the clock signal, ie the L to H transition or the H to L transition.

The arrangement of the columns of LEDs depends on the size and orientation. For landscape orientation, then the left column is a lower column and the right column is a higher column. This applies to the size of 8x. As for the size of 16x, then the LED array is divided into two blocks of rows. The first column number of the second row block is the column number of the last column of the first row block plus 1.

More details are as follows:

16 x 16

Row 0..7 : 0  1  2  ......15

Row 8..15: 16 17 18 ......31

16 x 32

Row 0..7 : 0  1  2  ......31

Row 8..15: 32 33 34 ......63

16 x 48

Row 0..7 : 0  1  2  ......47

Row 8..15: 48 49 50 ......95

For each block row, bit.0 will control the LED at the top, while bit.7 will control the LED at the bottom.

For portrait orientation, we divide the LED into a column or a block of columns and rows. Counter will determine which row is active. Top row is row 0, and will be active if the reset signal is activated. The active row increase along with the clock signal acquisition.

For the 8x size, column 0 is the leftmost column and activated by bit.0. Whereas column 7 is the rightmost column and activated by bit.7

Rule for the 16x size could be analogous to the position of landscape orientation.

MXLED simulated on the system to work like a real matrix. If we managed to change the active row or column slowly, then it can be seen only eight moving lights jumping around. However, if the changes is fast enough, then the lit changes of the LED will be seen steady not blinking. So the simulation MXLED will feel like a real LED matrix.

You can see examples of the use of this MXLED in the example Showing Images on LED Matrix using Simulator

43 thoughts on “Using MXLED.EXE for LED matrix simulation

  1. assalamualaikum,
    wah dulu pertama saya masuk masih sepi. pagi ini sy buka udah rame. belum sempat buka dan baca semua.
    trima kasih ilmunya pak Sulhan Setiawan

  2. Mau tanya.kalo di bikin PCBnya Keluaran dari pin yang berlabelkan nextcol dan reset col kayaknya harus pake IC tambahan ya? yaitu IC yang bisa mengeser 0 atau 1 untuk menyalakan kolom led yang aktif.
    Kalu Ya IC nya tipe berapa? terus gimana cara penyambungannya? Kalo pake IC 74HC595 bisa ngak?

    1. Ya, seratus untuk Daine 🙂

      Jadi, IC yg dibutuhkan adalah IC counter. NextCol itu dihubungkan dengan input clock dari IC, sedangkan ResetCol tentu saja dihubungkan dengan reset dari counter tsb.

      Sebagai contoh aja, jika kita cuma pake ukuran 8×10 -bukan pilihan yg disediakan MXLED- , maka kita cukup menggunakan 4017. Pin15(reset) dihubungkan ke ResetCol, Pin14(clock) dihubungkan ke NextCol, Pin13(clock enable) digroundkan, dan output counter digunakan untuk mengendalikan kolom-kolom dari matriks.

      Nah, kalo mau pake jumlah kolom yg lebih banyak, berarti kita harus menggunakan counter yg lebih besar atau menggunakan counter kecil yg dikaskade. Misalnya kita mau pake yg 16 kolom, maka kita bisa pake 7493(counter 4 bit) trus keluarannya dihubungkan ke 74154, nah, keluaran dari 74154 ini yg kita gunakan sebagai pengendali kolom dari matriks.

      Mau pake 74HC595? itu shift register kan? bisa sih, tapi itu bukan ide yang bagus, banyak kerepotan yg akan ditimbulkan jika pake itu.
      Jelas kan?

  3. bang aku cari bukunya di kota saya (tulungagung) gak dapet, untuk simulator led aku bisa download dimana,gak buka kursus private-lah, apalagi klo di tulungagung he…he….

    1. Untuk buku, akan lebih tersedia jika beli lewat toko buku online, banyak yang menyediakan ko, pilih yang berani jual paling murah ya 🙂
      Trus untuk simulator, coba liat IDE mikrokontroler trus donlot tu IDE. Nah di dalamnya udah lengkap, ada IDE dan banyak simulatornya.

  4. bang aku lagi belajar pemula banget untuk awal apa dasarnya untuk bisa belaja r microkontrol berhubung ga ngerti elektronik hanya sekedar hobi trims

    1. Belajar dari yang paling mudah dulu, misalnya mengendalikan led pada port, trus bertambah ke yang lebih rumit. Untuk elektronika, minimal ya ngerti seperti apa komponen-komponen dasar seperti resistor, kapasitor, kristal, dll. Tapi itu semua gampang ko. Coba deh baca buku saya Mudah dan Menyenangkan Belajar Mikrokontroler Insya 4JJI belajar mikrokontroler akan terasa mudah bahkan walaupun belum ngerti elektronika. OK bro 🙂

  5. Selamat sore bang. saya mau tanya MXLED.EXE itu program darimana ya? saya perlu software yang bisa digunakan untuk mensimulasikan LED running text. tetapi data yang digunakan untuk mengontrolnya saya masukkan dari luar ke dalam PC menggunakan port Serial (COM2). apakah MXLED.EXE ini bisa digunakan seperti itu? ada saran?

    best regards,
    Okky Kusuma

    1. Sebenernya MXLED dirancang untuk simulator tambahan bagi simulasi mikrokontroler yang merupakan paket dari Microcontroller Project. Jadi kalau digunakan untuk program lain ya mungkin kurang sesuai. Akan tetapi MXLED berkomunikasi dengan “SimulatorInDLL – Simulator Mikrokontroler MCS-51” menggunakan window message. Jadi asalkan Mas Okky bisa membuat program yang membaca data dari COM2 kemudian mengirimkan data yang sesuai dengan format yang dimegerti oleh MXLED menggunakan window message, maka tentu saja ya bisa.

      Saya tidak tahu bagaimana rencana komunikasi yang ingin Mas Okky lakukan menggunakan COM2 tersebut. Data apa yang dikirim ke PC melalui COM2, apakah itu berupa perintah perintah yang bisa dimengerti oleh modul matriks LED? ataukah itu adalah data ASCII text yang harus ditampilkan oleh modul? Nah tentu saja modul tersebut juga akan dibuat sendiri oleh Mas Okky kan? Jadi kalau memang begitu, maka Mas Okky bisa membuat program (tentu saja program untuk mikrokontroler MCS-51) dari modul matriks LED tersebut menggunakan Micro v6.11, kemudian menjalankan simulatornya. Nah, kan simulatornya bisa menerima data dari COM2 dan juga bisa berkomunikasi dengan MXLED.

      Apakah ini bisa membantu? Semoga bisa 🙂

    1. ok mas. saya sudah pesan bukunya. klo entar ada pertanyaan2 dari saya jangan bosan ya mas untuk menjawabnya.

  6. mau tanya mas, rangkaian skema writer via com gmn ya?? kalo boleh cari dimana ya Mas?? sebelumnya maturnuwun.

  7. Assalamualaikum,mas saya sangat mengharapkan artikel petunjuk penggunaan tool simulator serta contoh software led matrik

  8. mat kenal.. mohon bantuannya.. sata punya tugas sekolah untuk menyalakan 4 buah led… waktu alat hidup, led 1 menyala, 5 detik kemudian led 2 menyala (led 1 tetap menyala), 5 detik kemudian led 3 menyala (led 1 dan2 tetap menyala).
    hingga ke led ke 4.
    setelah semua menyala, led mati.. dan 5 detik kemuadian berulang lagi dari awal..
    tolong bantuannya untuk bentuk skemanya.. dgn ketentuan tidak boleh pake mikro…
    tolong dikirim ke emaol ku yah..
    [email protected]

    1. @Iwan: Ga boleh pake mikro? Wah berarti salah masuk forum deh 🙂 Tp klo cuma begitu sih gampang, pake aja IC 4017 dg masukan clock 0,2Hz. Output 0 dr 4017 dihibungkan ke LED 1 melalui dioda. Output 1 ke LED 1 dan LED 2, juga melalui dioda. Dg demikian, LED 1 menyala oleh output 0 maupun output 1. Dan karena melalui dioda, maka keadaaan low oleh output 0 tidak menghalangi output 1 untuk menyalakan LED 1. Begitu tekniknya, rancangan selengkapnya bisa dilakukan dg teknik yg sama.

  9. mas,aku adalah pemula jadi aku gak bisa buat led matrix….ada gak rangkaian led matrx scrolling teks yang sederhana…kalau ada kirim ke e-mail saya ya mas…aku mohoooon aku pengen bangettt

  10. mbak mau tanya…saya membuat tulisan USD dari led..cuman saya tidak memakai micro saya memakai ic 4017..namun kendalanya disin saya belum mampu menghubungkan tulisan U ke S dan D…saya terus mencoba namun selalu short…mohn sarannya..

  11. Mas Sulhan ….saya lagi order buku “mudah menyenangkan belajar mikrokontroller”…jadi mohon penjelasannya,jika saya mengalami kesuliatan nantinya…..saya akan bertanya kepada mas sulhan…mohon pengertiannya…karna saya masih pemula…tapi saya merasa mampu untuk membuat “running text”

  12. asss,pak saya mau minta tolong gmn cra nya buat program mic at89s51 untuk running led 5 port trus komponen ap yang di btuh kan dlm sistem minimum ny?
    klo bisa minta rangkaian nya ya,,,,

    terimakasih.

  13. assalammualaikum om…..
    da software nya ng om……??
    tolong bantuin saya dapetin software nya donk om..
    terima kasih sebelumnya om

  14. maaf..sebelum’a saya masih pemula..saya udah download micro V6.11.1 nya tp stelah d extract kq g mau djalanin ya mxled.exe nya??
    muncul “this action violates the acceptable use policy” gitu..
    maaf klo pertanyaan’a kurang bagus soal’a saya msih bngung make’a..saya jg pegen beli buku mas sulhan nanti

  15. malem mas,aq dah dowload microV7nya.dan coba jalankan demo.apa benar yg sy jalan kan: microV7 dah buka,trus aku ambil file demo led5.A51. yg jd problem waktu capture handlenya sy dpt nilai 2098502 (start:mov dptr.#data_varasi…..). apa sy ada kesalahan menjalankannya. maaf sy pemula mengenal microcontrol.

    tlong pencerahannya.atas waktunya sy ucahpan Thanks

    1. ya ampun andayu, coba baca helpnya yg teliti deh. Jd, waktu mau klik tombol capture handle, pastikan target yg dituju tidak tertutup oleh program lain. setelah tombol itu diklik, maka pada bagian handle akan muncul angka2 yg menunjukkan handle dari window yg berada di bawah cursor. pada bagiah caption, akan tertulis caption dari window yg berada dibawah cursor. sekali kita klik, maka handle dari window yg diklik itu yg diambil. makanya window target ga boleh tertutup program lain. dalam hal mau mencoba simulasi VLED, maka VLED harus tidak tertutup program lain. begitu tombol capture handle diklik, arahkan cursor ke VLED hingga bagian caption di PortSetting muncul tulisan Virtual LED, setelah itu baru klik. pada kasus andayu, pasti andayu klik bukan pada VLED tp pada editor Micro7.
      trus yg namanya handle itu angkanya akan selalu berubah setiap kali program dijalankan, jd jangan menggunakan angka pada handle sebagai patokan.

  16. ya 4JJI dari smenjak SMA aku pengen banget bisa merancang led matrik, tapi apa daya dulu modal pas-pasan. mau nyari buku ga ada, nyari komponennya pun harus prgi ke bandung, cZ di Cianjur mah Teu aya,
    dan sekarang saya ingin mencoba menggali kembali, kalo dasar-dasarnya bisa ga ya saya mendownload buku nya??

  17. mlm mas,, saya baru dpat recomendasi dari tmn untuk buka web ini,,,
    pertama sya ucapkan salam knl dlu,,,
    saya mau tanya cara penggunaan dari software MXLED.exe, imgtable
    makasi atas jawabannya,,,,

  18. LedMatriks.7z contoh program diatas kan untuk mengaktifkan led berlogika 1, saya mau tahu bisa ga ya.. program tersebut dibalikkan menjadi berlogika 0, program yg mana aja yg dirubah
    makasih ya mas…

    1. Hanya ada sekitar 140 baris dari contoh program ini, itupun sudah termasuk komentar-komentarnya. Sangat mudah untuk mencari baris mana yang seharusnya diganti untuk membalik logika. Cara belajar program yang benar adalah mencoba untuk memahami maksud dari setiap barisnya.

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.