Modul LED Matrix 8x8

download Modul LED Matrix 8x8

of 18

description

led matrix 8x8

Transcript of Modul LED Matrix 8x8

  • Ngobrol Dunia Biner Forum Alternatif

    Selamat datang, Pengunjung. Silahkan masuk atau

    mendaftar. Apakah anda lupa aktivasi email?

    Selamanya Masuk

    Masuk dengan nama pengguna, kata sandi dan lama sesi

    Cari

    Berita:Mau replay/jawab atau sekedar kasih komen ??

    AYO gabung, registrasi mudah. Seindah ucapan terima kasihmu.

    Undanglah kawan2mu jd anggota, dan jadilah moderatormereka.

    !! NEW !! Simpan gambarmu di >> Image Uploader

    Ngobrol Dunia Biner Elektronika Mikrokontroler C51 Modul & Aplikasi (Moderator: budi sutomo) Modul LED Matrix 8x8

    CETAKHalaman: [1] 2 3

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Modul LED Matrix 8x8 pada: Maret 20, 2012, 11:50:22 PM

    Modul LED Matrix 8x8x10Oleh Dhanny Dhuzell (2010-08-10)

    Tanpa basa basi kita segera membuatnya....

    Lebih lengkapnya adalah begini.

    Bagian-bagian Dasar

    Terus bagaimana dengan bagian-bagian dasar terpenting dari System ini.

    Kita dapat membagi system menjadi 3 bagian. Bagian pertama adalah

    Display. Yakni yang bertanggung jawab dengan menampilkan LED. Bagian

    ini akan selalu mengacu pada memory 15 byte yang disebut dengan Buffer.

    Atau dengan kata lain, Display akan selalu menampilkan isi dari Buffer ke

    LED. tentu saja dengan parameter, Running atau Still. Normalnya adalah still

    (diam) namun jika dika parameter diubah, maka Display akan berlarian ke

    kiri. Agar Display dapat lari ke kiri,m maka dubutuhkan parameter tambahan

    yakni long buffer, atau juga disebut dengan karakter array. Lokasinya bisa

    sebelumnya berikutnya

    Penulis Topik: Modul LED Matrix 8x8 (Dibaca 3025 kali)

    Home Bantuan Cari Masuk Registrasi

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    1 of 18 7/20/2013 11:50 AM

  • ditujuan pada memory EEPROM. Terus bagian ini juga dilengkapi dengan 1

    parameter lagi. Yakni parameter Mode Data Karakter dan Dot. Defaultnya

    adalah Mode Data Karakter, Yakni data yang diberikan pada buffer adalah

    data ASCII maksimum 15 karakter. Kemudian bagian LED inilah yang akan

    menterjemahkan karakter ASCII untuk ditemukan LED mana saja yang

    hendak dinyalakan seperti pada Table Lookup. Seperti yang sudah

    dijelaskan di atas, Table Lookup disusun dengan format 7x5. Sehingga

    dibutuhkan tugas tambahan yakni memnterjemahkan format 7x5 menjadi

    5x7. Untuk Mode Dot ini hanya dalam pengembangan. Yakni membutuhkan

    buffer bit sebanyak 8 x 8 x 10 = 640 bit. Dengan demikian user dapat

    mengendalikan setiap dot dengan mudah. Dalam mode ini buffer Dot yang

    dipilih untuk ditampilkan, dan tidak mengenal Mode Running.

    Kemudian bagian kedua adalah bagian Karakter Array, yang sempat

    disinggung sebelumnya. Lokasinya bisa ditujukan pada memory EEPROM

    misalnya. Array memorty ini adalah array karakter "Null Terminated". Karena

    Null ini sebagai tanda akhiran Array.

    Bagian ke 2 ini juga dilengkapu dengan Counter yang akan menyuplai

    karakter2 utk diberikan kepada Buffer di bagian 1. Karakter2 yg diberikan

    bersusunan dan berurutan. Khususnya untuk keperluan Mode Running.

    Sedang bagian ketiga adalah bagian Edit. ada banyak cara melakukan edit.

    Misalnya secara langsung dengan menggunakan Keypad. atau secara remote

    dengan menggunakan remote kontrol milik TV. Atau menggunakan ponsel

    sehingga dapat di edit dari jarak yang sangat jauh.

    Pada bagian ke 3 ini setiap edit yang diberikan oleh user datanya akan

    ditampilkan pada LED. Bagaimana caranya agar datanya bisa ditampilkan?

    Pertama LED (bagian 1 ) akan mematikan mode Running. Dan dia akan

    berubah menjadi Mode Still. Kemudian Bagian 3 ini akan mengupdate isi dari

    Buffer setiap tombol edit ditekan oleh user. Begitu seterusnya sampai adanya

    tombol Enter yang menyatakan bahwa edit selesai dan Data yang sudah

    diberikan oleh Edit kemudian disalin oleh EEPROM di bagian 2.

    skema rangkaian idealnya

    Adapun rangkaian idealnya adalah sebagaimana berikut ini. Klik gambar utk

    memperbesar...

    (a)

    (b)

    (c)

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    2 of 18 7/20/2013 11:50 AM

  • bagian pertama adalah yang paling esensial. Yakni modul LED itu sendiri.

    Modul LED ini terdiri dari sebuah papan PCB dengan komponen utama

    HEF4094 dan blok LED.

    Perhatikan gambar (a) dan klik untuk memperbesar. Nampak di sana adalah

    sebuah kotak dengan garis putus-putus. Blok tersebut adalah ilustrasi untuk

    driver seperti yang digambarkan pada gambar (c), dan bukanlah sebuah

    modul khusus dengan papan PCB khusus pula. Perhatikan pula jalur data

    yang didapatkan dari port P1.1. Sinyal Data tersebut menuju pin D milik

    HEF4094(U1). Dan U1 ini memiliki keluaran serial pin Qs yang digunakan

    untuk memberikan data pada Pin Data chip selanjutnya, yakni HEF4094(U2).

    Dan seterusnya saling sambung menyambung sampai pada gambar (b) yang

    berisi 6 Chip berikutnya.

    Perhatikan pula Chip U1 adalah untuk mengaktfikan jalur Baris.

    (d)

    (c)

    Keterangan Program

    Kami akan menjelaskan sat upersatu dengan singkat

    Prinsip Dasar

    Dalam dasain kita kali ini adalah menggunakan 10 blok LED 8x8. Sehingga

    total terdapat 640 buah lampu. Di Surabaya harga blok LED semacam ini

    sekitar 15-35 ribu rupiah. Dalam penyusunannya adalah berderet, horisontal.

    Sehingga hasilnya adalah sebuah tampilan LED dengan organisasi 8 baris

    dan 80 kolom. CPU akan menyalakan lampu-lampu secara bergantian mulai

    dari deretan baris terbawah selama beberapa saat (sekitar 3-5mS), dan

    dilanjutnya pada deretan lampu pada beriks berikutnya, juga dalam lama

    waktu yang sama. Demikian seterusnya sampai semua baris dinyalakan dan

    diulangi dengan menyalakan mulai baris terbawah kembali. Hasilnya adalah

    sebuah display yang seolah-olah semua baris menyala secara bersama-sama.

    Adapun kolom adalah yang menentukan lampu mana yang saat itu hendak

    dinyalakan. Prosesnya adalah dilakukan dengan cara shifting 4094 yang akan

    dijelaskan nanti. Setelah CPU sudah menentukan lampu mana yang hendak

    dinyalakan (melalui kolom dengan shifting). Maka tugas CPU kemudian

    adalah menetukan Baris mana yang hendak dinyalakannya. Lampu akan

    segera menyala atau berganti status, begitu sinyal STR diberikan pulsa

    tinggi.

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    3 of 18 7/20/2013 11:50 AM

  • HEF4094

    HEF4094 adaah sebuah shift register 8-bit yang digunaan secara luas untuk

    keperluan shifting berkecepatan tinggi data serial dengan keluaran data

    parallel. Belum lgi kemampuan Chip ini yang bisa dicascading untuk

    menghubungkan beberapa buah 4094 menjadi 1 rangkaian. Dengan tetap

    menegakkan asas kesederhanaan pengendalian. Yakni untuk mengendalikan

    11 buah (atau lebih) HEF4094, kita cukup membutuhkan 3 sinyal, yakni

    sinyal CP dan STR yang dihbungkan pada semua HEF4094 yang terhubng.

    Sedang Snyal D yang dihubungkan pada HEF45094 pertama, yang memiiliki

    keluaran Os untuk dihubngkan pada input D Chip HEF4094 beriktunya.

    Demikiat terus sambung menyambung di antara 11 buah Chip HEF4094

    tersebut.

    Beberapa kelebihan 4094 ini adalah kemampuannya dalam menggerakkkan

    sebuah LED secara lagsung tanpa dibutuhkan resistor tambahan untuk

    mengurang arus LED. Sehingga solusi HEF4094 adalah solusi ideal, yang

    membuat desain mejadi semakin ringkas karena semakn sedikit komponen

    yang dibutuhkan.

    Dalam rancangan kita kali ini. 1 buah HEF4094 digunakan utuk mengakses

    Baris. Bukan sebuah kebetulan baris LED yang kita gunakan juga dalam

    bentuk 8 baris sehinggga 1 buah HEF4094 8-bit sudah cukup untuk

    menangani baris tersebut. Dalma prakteknya, agar arus yang diberikan

    kepada anoda LED mencukupi, maka pilihan menggunakan transistor

    eksternal untuk meningkatkan jumlah arus yang bisa diberikan adalah solusi

    terbaik. Kita menggunakan transistor PNP seperti 2SA1015 (atau BD140)

    yang dapat melewatkan arus sebesar 500mA lebih merupakan pilihan yang

    baik karena transisitor dengan kemasan TO-92 ini berharga murah dan

    sangat mudah ditemukan. Agar tansistor tidak terkunci atau bahkan rusak

    akibat arus basis yang terlalu besar, maka kita perlu memasang seri sebuah

    resistor antara output HEF4094-baris dengan basis-Transisitor. Selanjutnya

    Colektor masing-masing transistor ini bisa langsung dihubungkan pada

    anoda baris LED.

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    4 of 18 7/20/2013 11:50 AM

  • HEF4094 ini memiliki register Shiift yang digunakan untuk proses Shifting.

    Kemudian saat pin STR dikenakan pulsa tinggi, maka isi dari register shift

    tersebut akan segera dipindah ke register Storage yang statusnya bisa

    dikeluarklan melalui pin keluaran dengan mengangkat status dari pin OE.

    asdasdasd need update

    System

    Setelah bicara tentang LE, maka kta akan bicara ternatng bagaimana system

    tersebtu dapat bekerja sehingga membeeutk rungingi text.

    asdasdasd need update

    System . Karakter

    Karakter yang kita gunakan adalah karakter yang mengacu pada ASCII. Dan

    menggunakan tampilan font yang digunakan untuk display-display matrix

    7x5. Font ini bisa kita temui pada tampilan LCD. Dalam hal ini kami

    membatasi karater yang bisa ditampilkan adalah dimulai dari karakter $20 -

    $7F. Diluar itu akan dibuatkan karakter blank atau karkter yang tidak

    didefinisikan sebelumnya, atau karakter yang tidak ada maknanya.

    Dalam program, kami menyusun karakter-karakter tersebut sebagai Table

    Look-up. Sehingga program akan dapat mengakses bentuk karakter tersebut,

    yakni lampu mana yang nanti dihidupkan sebagai representasi dari karakter

    yng diinginkan. karena Tabel Look-up adalah merupakan data yang berada

    pada memory program maka untuk membacanya cukup dengan

    menggunakan instruksi seperti "MOVC A,@A+DPTR".

    Setidaknya ada 5 bagian dari karkter, yang disesuaikan dengan lebar matrix

    font. Yakni 7 x 5. Jadi setiap karakter menggunaan memory 5 bytes untuk

    menyimpan 35 titik-titik pembentuk karakter itu. Sedang 5 titik sisanya

    dibiarkan kosong. Biasanya titik kosong ini digunakan untuk kursor.

    Kode: [Pilih]

    Misalnya untuk karakter huruf A

    Char: db 01111110b ;Matrix 7 x 5

    db 00001001b

    db 00001001b

    db 00001001b

    db 01111110b

    Char: db 01110000b ;Matrix 5 x 7

    db 10001000b

    db 10001000b

    db 11111000b

    db 10001000b

    db 10001000b

    db 10001000b

    Perhatikan bit-bit 1 di dalam box di atas, yang membentuk huruf "A". Ada 2

    contoh model menyimpanan karakter dalam ROM. Yang pertama adalah

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    5 of 18 7/20/2013 11:50 AM

  • karakter dibuat miring untuk mengemat memory. Sementrara contoh yang ke

    2 adalah karakter yang disusun tegak untuk tujuan kemudahan dan

    performance. Dalm program kami, kmi menggunakan contoh menyimpanan

    yang pertama untuk kemudian melalu iprogram sususan bit-bit tersebut akan

    diubah menjadi susuan tegak seperti yang ke dua sehingga dapat denga

    mudha dtampilkan pada LED. DAlam hal in mksudnya adalah byte-1 adalah

    adalah menympan element kolom pertama, byte 2 menyimpn element kolom

    ke 2 dan seterusnya sampai byute-5 menyimpan element kolom ke 5 dari

    huruf A.

    Dalam program kami Tabel-tabel Loop-up in dapat ditumi di modul

    "Char.inc".

    System.Stream

    Stream karena terjadi perubahan proses yang terus menerus dalam jumah

    besar. Yakni bagaimana sebuah karakter hendak ditampilkan pada media LED

    dengan menggunakan Shoft Register semacam ni. maslaah timbul karena

    kita tidak mengirimkan kan karakter dengan cara eleemt kolom. karena yang

    ditampilkn atau diyalakan lampunya dalah pada bagian baris. Sementara kita

    tidak menyusun data berdasar baris, karena hal itu akan sngat

    memborosolkan memory. Justru kita menysusn bit-bit karkter tersebut dalam

    bentuk kolom. Akhirnya bentuk kolom tersebtu vbia program haru sdiubah

    kemabli mejdi bentuk baris agar program dapat memidhkan data langsung

    kepada HEF4094.

    Dengan melakukan Stream setiapproses penyalaan lampu baris, maka tidak

    dibutuhkaan sebuah RAM yang besar untuk menyimpaninformasi titik/ampu

    untuk setiap barisnya. Bukannkah tujuannn adalah skesederhanaan rangkaian

    yang harus kita pentingkan. Penggunaan RAM eksternal dengan ukuran besar

    untuk meyimpan insformas titik-titik atau lampu saat proses penyalaa lampu

    ini akan sangat embatu progam dalam melaukan ugas. Cukup dilakukan

    sekali menterjemana karakter dari Table look-up dan kemudan rutin cshiftng

    tinggal menggunanan memory bris untuk melaukan tugasnya.

    Namun sebuah RAM eksternal memiliki pin yang panyak dengan komneksi

    yang tidakgampag. belum lgi haragay yag sangat mahal. Ditambah dibtuhkan

    perlaatan lain yakni sebauh Latch. Dan pada kesimpulan akhir biaya yang

    ditambahkan untuk RAM eksternal in itidak sebandig denga peningkatanb

    unjuk kerja yang kan kita dapatkan,. Membuta kami berkesimpulan cuku

    mengoptimalkan program, dan membuang pilihan untuk menggnaan RAM

    eksternal ini.

    asdasd

    System.Shifting

    Sifting dilakuakn dengan mengirimkan data barsi masing-masing karakter.

    Mulai dari karakter yang paling pertama (sebeah kiri), yakni 5 kali sifting

    (5-bit). kemduain ditambah dengan separator (blan k 1-bit). Dan diikuiti

    karakter berikutnya. Demikian seterunya sampai ternjadi 80 kali shifting. Jika

    saat itu Display dalam mode Running Text maka shifting akan

    ditambahakanlagi denganhitung shiftng yang saat itu ada. Baru emudian

    melakukan 8-kalu Shiofting untuk menghidupkan lampu baris mana yang

    henda dinyalakan. 8-bit baris ini adlaah yang paling penting dilakuak pada

    akhir shftng.

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    6 of 18 7/20/2013 11:50 AM

  • Selanjutnya proses selanjutnya adalah memberikan pulsa pada STR. Dan

    lampu menyalalah.

    Karakter yang hendak dishftng aalah karakter-krakter yang tersimpan pada

    memory buffer. Dalam program yang kami buat ada setidaknya 15 byte

    beffer untuk menampung 15 karkter dlam display. Termasuk untuk kelebihan

    saat shfting terjadi pada mode running text.

    Kode: [Pilih]

    SendChar6bit: Clr F0

    ;---

    MOV R7,A

    MOV A,#80

    ADD A,Shift

    Clr C

    SUBB A,ClockCtr

    JC SendChar6bit_X

    JZ SendChar6bit_X

    CJNE A,#6,$+4

    Clr C

    JC SendChar6bit_0

    MOV R6,#6

    Sjmp SendChar6bit_1

    SendChar6bit_0: MOV R6,A

    SetB F0

    System.Buffer

    Buffer in i kedudukannya adah sangat penting. Karena isi buffer inilah yang

    selalu dtampulkan pada Display. Jika kta emgubah isis dari bufer ini. maka

    Display aka segera berbah. Buffer ini adalah data yang berformata ASCII. hal

    ini karena rutin Shifting-lah yang melakukan konvfersi dari ASCII ke lamp

    baru setiap 3-5 mS.

    Kami mengunakan memory RAM yang terdapat pada AT89C51 untuk

    dguakan sebagai buffer. Dengan demikian model pengaamat langsung dan

    tidak langsung dapat dikenakanpada buffe rini.

    System.EEPROM

    Kita membtukan media menyimpanan yag tidka menguap. Memory tidak

    meguap hanya disedikan oleh AT89C5, hanya dalam bentuk ROM program

    yang harus diakses melalu programmer. Sehingga tidak menggkin

    menggunakan space memeory tersebut dari program. Tentu jatuhklah pilihan

    kita pada sebuah ROM eksternal yakni AT24C04. Chip ini mimiliki kapasitas

    512 Bytes, yang dirasas cukup untuk menampung sejumlah karaktyer yag

    dita butuhkan. Chip AT24C04 ini dapat dibaca dan dihapus dengan mudah

    memlaui porogram dngn menggunakan protolkol IIC (Inter Integrated

    Cuircuit). Tidak dibutuhkan tegangana Vpp lain, kecualai tegangan Vcc 5

    Volt. Dan cukup digunakan 2 buah kabel untuk mengkontrol nya. hal ini

    cukup hemat dalam penggunaaan Port. Dalam prakternya chip EEPROM pada

    system yang kami buat ini, dapat diganti-ganti dengan chip yang ukuruannya

    lebih besar atau lebih kecil sesua deng selera.

    asdasd

    Protokol IIC

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    7 of 18 7/20/2013 11:50 AM

  • Edit Terakhir: Mei 27, 2012, 10:17:55 PM oleh DhannyDhuzell

    IIC adalah protokol canggih yang dapat menghubungkanbeberaa chip IC di

    dalam satu system PCB dengan koneksi yang sangat sederhna untuk

    menghepmat biaya progduksi dan mengembangannya. Dalmahal in cukup

    dibtuhkan 2 kabel saja untuk menyelenggarakan protrokol ini. Yakn kabel

    SDA dan SCL. SDA digunakna sebagai jaur data 2 arah. Sedang SCL

    digunanauntuk meentukan validitas data yang ditentukan dengan clock yang

    konstamn. Prinsip kerja nya mirirp dengan komunikasi serial shincronous.

    yangs ealalu membuthkan Clk.

    Dengan masig-masing menggunakan shoft register maka data yang diterima

    maupun yang dikiri akan selalu berbenetuk serial. namun dalam protokol IIC

    ada beberapa atura dasar yang harus diikuti oleh program aplikasi yang

    meggunakan protkol ini.

    1. proses START

    2. Pegriman Slave Address 7-bit + 1 bit Statu Read/Write

    3. Pengiriman Alamat

    4. Pengrianan data

    5. Pengirima STOP

    [hide]

    Setiap Chip dengan kemampuan IIC, selau memiiki alamat Slave yang sudah

    ditentukan oleh pabrik. Misalnya untuk AT2 C04 mememiliki iSlave ddress

    1010xxxd yang selalu diberikan pada AT24C04. Begitu dia merespon alamat

    ini, maka chip akan segera ,elaksanakan perintak yang diberika kepadanaya.

    Semenyata "xxx" adalah alamat atas untuk AT24C04. Mengingat chip ini

    memmeiik memory lebih dari 256 bytes. Semeatra "d" penunjuk arah data,

    apakah dikirim ke chip atau dibaca dari Chip.

    STRAT perlu dikirikan untukmemluia protokol ini. Dan diakhiri dengan STOP.

    Penjelasan lebih lanjut ttg IIC baca pada Modul IIC

    [/hide]

    Like 0 Tweet 0

    0

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Re:Modul LED Matrix 8x8 Jawab #1 pada: Maret 20, 2012,

    11:57:13 PM

    (lanjutan)

    [hide]

    System.Streaming 2

    Ini adalah hal yang paling rumit dilakuakn, seklaigus paling menentukan.

    EEPROM haya digunaan saat mode runing text. Setiap 6 kal shifting, program

    akan meng-update isi buffer untuk diisi data dari memory EEPROM. Yakn i

    dengan menambahkn nili pointer EEPROM, untuk menunjuk nilai offset

    berikutnya. Kemudain program akan menyalin 15 byte ke dalam buffer.

    Hasilnya solah-olah karakter berlalrian ke kiri degan ampilanyang tak

    terpurutus-[putus. Padaha sesungguhnya pinter EEPROM inilah yang

    mengambil peranan penting.

    tentang Modul LED C51 adalah komputer dengan memory terbatas, dan

    waktu proses yang juga terbatas maka diputuskan untuk melakukan stream

    secara terus menerus, setiap akan menampilkan data pada LED. Jadi

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    8 of 18 7/20/2013 11:50 AM

  • dengan memanfaat resource yang ada.

    System.KeyPad

    Stream karena terjadi perubahan proses yang terus menerus dalam jumah

    besar. Yakni bagaimana sebuah karakter

    asdasd

    System.ModeEdit

    Stream karena terjadi perubahan proses yang terus menerus dalam jumah

    besar. Yakni bagaimana sebuah karakter

    asdasd

    Saya lengkapi pada update berikutnya. Tapi aneh sampai sekarang belum

    update juga

    Download : Running Text desain 2 : c51_project_runtext_desain2.zip.htm

    kode di modifikasi dari desain-1 yang di sana terdapat source kode lengkap

    kap kap. Sementara desain ini adalah perbaikan sedikit. Kalau anda

    memahami sedikit alur porogramnya maka tidaklah sulit untuk memahani

    apa isi di desain-2 ini. Tapi kalo ada yg memaksa mendapatkan source kode,

    maka silahkan email saya. Kalo hati saya lagi baik, maka akan saya berikan

    itu source kode.

    Halaman ini memiliki rating yang cukup tinggi. Aneh..

    masalah-masalah yang ditemui pembaca khusus dalam artikel ini, klik di sini

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    9 of 18 7/20/2013 11:50 AM

  • Edit Terakhir: April 06, 2013, 02:30:59 PM oleh DhannyDhuzell

    modul_matrix_faq.htm

    [/hide]

    http://www.youtube.com/watch?v=VYPU1MbNwME#

    Permintaan contoh kode langkap bahasan ini hanya diberikan melalui PM ..

    itu kalo suasana hati lagi baik .. paling disukai yang punya minat tinggi

    untuk belajar assembler.

    download all :: http://duniabiner.web.id/zips/rt_2b.zip

    Kutip

    Isi artikel dalam halaman ini , milik Dhany Dhuzell. Isi dalam halaman ini adalah terbuka. Tidak

    ada larangan bagi yang menyalin halaman ini, dengan satu catatan, yakni Barang siapa yang

    mengubah isinya dan kemudian mengganti dengan namanya sendiri atau nama oramg lain,

    lebih-lebih dilakukan untuk diperdagangkan tanpa se-ijin pemilik artikel atau pemilik situs,

    adalah merupakan tindakan pelanggaran hak cipta yang dapat dituntut secara hukum. Dan

    tindakan tersebut dapat saya laporkan pada Rois Suryo, Mbah Marijan,atau Mbah Surip

    budi sutomo

    Global Moderator

    Full Member

    Tulisan: 104

    Citra: 2

    Re:Modul LED Matrix 8x8 Jawab #2 pada: April 14, 2012,

    12:40:34 PM

    klo sendainya ...rakternya ditambah lg 10... kira2 mikronya mampu gk mas?

    DhannyDhuzell

    Administrator

    Sr. Member

    Re:Modul LED Matrix 8x8 Jawab #3 pada: April 15, 2012,

    10:13:55 PM

    Kutip dari: budi sutomo pada April 14, 2012, 12:40:34 PM

    klo sendainya ...rakternya ditambah lg 10... kira2 mikronya mampu gk mas?

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    10 of 18 7/20/2013 11:50 AM

  • Tulisan: 376

    Citra: 0

    Tentu bisa...Tapi harus ubah sedikit misalnya jumlah buffernya.. yang tadnya

    15 bytes menjadi 30 byes.. trus harus mulai menggunakan C52 atau S52,

    stack di pindah ke Upper.

    Untuk kawan-kawan ini sejatinya kode yang update bellum di rilis. nanti

    akan ane rilis kok dan ente sekalian bisa mengedit untuk digunakan sesuai

    dengan kebutuhan... Tapi nanti ya ...

    luthfan

    Newbie

    Tulisan: 18

    Citra: 0

    Selamat bergabung Gan

    Re:Modul LED Matrix 8x8 Jawab #4 pada: Oktober 18, 2012,

    10:07:42 PM

    salam, mas tanya, saya mencoba membuat modul led matrixnya, tapi knapa

    nyalanya ga membentuk huruf sama sekali, hanya garis-garis saya

    menggunakan led yang saya susun sendiri, yang baris kumpulan anoda dan

    yang kolom kumpulan katodanya, mohon bantuannya, terima kasih.

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Re:Modul LED Matrix 8x8

    Jawab #5 pada: Oktober 19, 2012,

    12:51:23 PM

    Kutip dari: luthfan pada Oktober 18, 2012, 10:07:42 PM

    salam, mas tanya, saya mencoba membuat modul led matrixnya, tapi knapa nyalanya ga

    membentuk huruf sama sekali, hanya garis-garis saya menggunakan led yang saya susun

    sendiri, yang baris kumpulan anoda dan yang kolom kumpulan katodanya, mohon

    bantuannya, terima kasih.

    Itu sudah benar .. yakni pengaturan baris dan kolom .. ane gak ngerti kode

    yang ente pake yang bagaimana .. sbb sebaiknya untuk uji coba memang

    harus di uji 1 per satu.

    luthfan

    Newbie

    Tulisan: 18

    Citra: 0

    Selamat bergabung Gan

    Re:Modul LED Matrix 8x8 Jawab #6 pada: Oktober 19, 2012,

    08:57:32 PM

    Edit Terakhir: Oktober 19, 2012, 09:23:33 PM oleh luthfan

    code yang saya pake, hasil download Running Text desain 2 yang di sini

    mas, kan ada beberapa tahapan untuk uji. test 1 - test 4 dan yg terakhir test

    jadi. tapi baru sya coba test1 saja lampu nyala membentuk 4 garis dengan

    spasi padam. berhenti tidak bergerak dan saya telusuri saya coba tanpa

    driver bisa jadi, hanya saja huruf terbalik, yang padam membentuk huruf.

    Klo ada file listcodenya saya minta mas, biar saya bisa edit untuk karakter

    fontnya. Trims........

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Re:Modul LED Matrix 8x8 Jawab #7 pada: Oktober 20, 2012,

    04:05:58 PM

    Kutip dari: luthfan pada Oktober 19, 2012, 08:57:32 PM

    code yang saya pake, hasil download Running Text desain 2 yang di sini mas, kan ada

    beberapa tahapan untuk uji. test 1 - test 4 dan yg terakhir test jadi. tapi baru sya coba test1

    saja lampu nyala membentuk 4 garis dengan spasi padam. berhenti tidak bergerak dan saya

    telusuri saya coba tanpa driver bisa jadi, hanya saja huruf terbalik, yang padam membentuk

    huruf. Klo ada file listcodenya saya minta mas, biar saya bisa edit untuk karakter fontnya.

    Trims........

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    11 of 18 7/20/2013 11:50 AM

  • Edit Terakhir: April 06, 2013, 02:33:07 PM oleh DhannyDhuzell

    Wah ane menduga sangat mungkin ini karena driver LED anda terbalik ...

    kode ini dibuat beberapa tahun yang lalu dan sudah diuji berkali-kali .. dan

    tidak menemukan masalah. Sekarang kawan-kawan malah lebih suka pake

    AVR .. yang kode nya juga sudah ane share ...

    PENGUMUMAN ... !!!

    bagi yang penasaran dengan source code nya .. silahkan download di sini ..

    Selamat berekperiment dan sampaikan pertanyaan di sini jika menemukan

    masalah .. dan sebisa mungkin ane jawab ..

    budi sutomo

    Global Moderator

    Full Member

    Tulisan: 104

    Citra: 2

    Re:Modul LED Matrix 8x8 Jawab #8 pada: Oktober 31, 2012,

    01:22:30 PM

    sy gk mudeng2 ya mas led matrix ini cara kerjanya..apa pada dsarnya hanya

    penggeseran ram aja..llu setiap pegeseran ram dikirim ke led...??

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Re:Modul LED Matrix 8x8 Jawab #9 pada: November 04, 2012,

    12:48:53 AM

    Kutip dari: budi sutomo pada Oktober 31, 2012, 01:22:30 PM

    sy gk mudeng2 ya mas led matrix ini cara kerjanya..apa pada dsarnya hanya penggeseran

    ram aja..llu setiap pegeseran ram dikirim ke led...??

    Kalo pergeseran sih udah pasti .. karena kita menggunakan Shift Register

    Serial-In Pararel-out. Namun yang digeser sejatinya hanya lah yang di

    register dalam Shift-register tersebut. Data akan bergeser setiap ada data

    baru yang dimasukkan pada salah satu ujungnya. Sedangkan di RAM hanya

    tempat menampung karakter apa yang hendak ditampilkan...

    Namun kalo untuk desain yang rumit yang menggunakan RAM eksternal

    berukuran besar.. Isi dalam RAM adalah informasi setiap titik pada matrik...

    CPU tidak perlu membuat logika untuk mengeser bit... tapi dapat langsun

    memanipulasi bit-bit data yang ada di RAM. Misalnya untuk membuat

    karakter indah atau gambar atau simbol-simbol unik. Dan saat CPU hendak

    menampilkan baris yang ditentukan, CPU tinggal menyalin isi baris dalam

    RAM ke Shift register... Jadi untuk menampilkan 1 baris hanya dibutuhkan

    satu proses, CPU dapat langsung men shift sebanyak 80 kali (untuk 10 blok

    LED)

    Namun sekali lagi ... desain di atas tidak begitu .. krn targetnya adalah

    kesederhanaan. Jadi CPU akan sibuk untuk mengkonversi karakter apa yang

    hendak ditampilkan kemudian dicari data titik nya.. kemudian di berikan

    pada proses shofting sebnyak 5 kali shift, dan ditambah kolom separasi 1

    titik. Proses ini diulang sampai 15 karakter yang hendak ditampikan selesai

    di shift. (memang sedikit/banyak menjadi lebih ribet). Jadi untuk

    menampikan 1 baris dibutuhkan banyak proses. Sederhana, ribet, rumit,

    terbatas.

    luthfan

    Newbie

    Re:Modul LED Matrix 8x8 Jawab #10 pada: November 21, 2012,

    11:08:23 AM

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    12 of 18 7/20/2013 11:50 AM

  • Tulisan: 18

    Citra: 0

    Selamat bergabung Gan

    mas Dhanny, gmana cara ngrubah input teksnya dari keypad menjadi input

    teks dari keyboard ps2, trima kasih

    DhannyDhuzell

    Administrator

    Sr. Member

    Tulisan: 376

    Citra: 0

    Re:Modul LED Matrix 8x8 Jawab #11 pada: November 21, 2012,

    03:15:27 PM

    Kutip dari: luthfan pada November 21, 2012, 11:08:23 AM

    mas Dhanny, gmana cara ngrubah input teksnya dari keypad menjadi input teks dari keyboard

    ps2, trima kasih

    Maksudnya yang mana nih Keypad apa Keyboard ??

    luthfan

    Newbie

    Tulisan: 18

    Citra: 0

    Selamat bergabung Gan

    Re:Modul LED Matrix 8x8

    Jawab #12 pada: November 22, 2012,

    12:37:48 PM

    maksudnya, modul LED Matrix 8x8 di atas kan menggunakan keypad untuk

    input teksnya, nah kalau input teksnya diganti dengan keyboard PS2

    bagaimana source codenya, trimakasih

    JokoTingkir

    Newbie

    Tulisan: 39

    Citra: 0

    Main Serong

    Re:Modul LED Matrix 8x8 Jawab #13 pada: November 22, 2012,

    07:34:55 PM

    Kutip dari: luthfan pada November 22, 2012, 12:37:48 PM

    maksudnya, modul LED Matrix 8x8 di atas kan menggunakan keypad untuk input teksnya, nah

    kalau input teksnya diganti dengan keyboard PS2 bagaimana source codenya, trimakasih

    coba kode ini di analisis gan :

    Kode: [Pilih]

    ' ===================================================================================

    '

    ' Program: ATPCKBD.BAS

    ' Author: Dusko Djuricin

    ' E-mail: [email protected]

    '

    ' This program demonstrates how to interface AT PC keyboard to 8031 microcontrollers

    ' Program was originally written and tested for ATMEL 89C2051. For keyboard interfaci

    ' uses only two I/O lines with two pull up resistors. At the output, through serial c

    ' it sends ASCII code of pressed key. Other used I/O lines are not necessary.

    ' Complete description of PC keyboard operation, could be found at the following addr

    '

    ' http://www.geocities.com/SiliconValley/Bay/8302/keybrd.htm#1

    '

    ' ===================================================================================

    Dim B1 As Byte , B2 As Byte , N As Byte , Status As Byte , Key As Byte

    Dim Caps As Bit , Caps_lock As Bit , Ctrl As Bit , Alt As Bit , Tmp As Bit

    Dim Temp As String * 1

    Declare Sub Tx_byte(b1 As Byte)

    Declare Sub Rx_byte

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    13 of 18 7/20/2013 11:50 AM

  • Declare Sub Kbd_status

    Kbd_data Alias P1.1 ' connected with 4K7 pull up resistor

    Kbd_clk Alias P1.0 ' connected with 4K7 pull up resistor

    Buzzer Alias P3.7 ' for details see BASCOM51 documentation

    Res_sw Alias P3.5 ' optional output (see code)

    Dim Frequency As Const 2048

    Dim Duration As Const 50

    Dim L_shift As Const &H12

    Dim R_shift As Const &H59

    Dim Ctrl_key As Const &H14

    Dim Alt_key As Const &H11

    Dim Caps_key As Const &H58

    Dim Scroll_key As Const &H7E

    '---------------------------[Beginning of Program]-------------------------------

    Reset Kbd_clk ' disable the Keyboard

    Waitms 100

    Do

    Tx_byte &HFF ' reset the Keyboard and wait

    Rx_byte ' till the Keyboard answer with

    If B1 = &HFA Then Exit Do ' acknowledge byte

    If B1 = &HAA Then Exit Do ' or Power On Self Test OK code

    Loop

    Print

    Print "*** AT PC Keyboard Interface ***"

    Print " author: Dusko Djuricin"

    Print " E-mail: [email protected]"

    Print "********************************"

    Print

    ' KBD LED: Status.0 - Scroll Lock, Status.1 - Num Lock, Status.2 - Caps Lock

    Status = 2 ' initially Num Lock On

    Kbd_status

    Do

    ' KEY variable will hold ASCII value of pressed key

    Key = 0 ' initial value

    Rx_byte ' read scan code from PC keyboard into B1

    Select Case B1

    Case Ctrl_key:

    Set Ctrl ' mark that CTRL key is pressed

    B1 = 0

    Case Alt_key:

    Set Alt ' same as above but for ALT key ...

    B1 = 0

    Case L_shift:

    Set Caps ' same as above but for Left SHIFT key ...

    B1 = 0

    Case R_shift:

    Set Caps ' same as above but for Right SHIFT key ...

    B1 = 0

    Case &HE0: ' extended codes are not handled!

    B1 = 0

    Case &HF0: ' BREAK CODE is detected (key depressed)

    Rx_byte ' read again to see which key is depressed

    If B1 = L_shift Then ' and keep tracking flags...

    Reset Caps

    Elseif B1 = R_shift Then

    Reset Caps

    End If

    If B1 = Ctrl_key Then

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    14 of 18 7/20/2013 11:50 AM

  • Reset Ctrl

    Elseif B1 = Alt_key Then

    Reset Alt

    End If

    B1 = 0

    Case Caps_key: ' in a case of CAPS LOCK key

    Caps_lock = Caps_lock Xor 1 ' there must be calculated status of it's LED

    Status = Status Xor 4

    Kbd_status ' and then we must send it to keyboard

    B1 = 0

    Case Scroll_key: ' I use combination of Ctrl + Alt + ScrLock

    Tmp = Ctrl And Alt ' keys to generate reset signal...

    If Tmp = 1 Then

    Reset Res_sw ' ...for my host controller

    Status = Status Xor 1 ' (Scroll Lock LED will lit and buzzer beeps)

    Kbd_status

    Sound Buzzer , Duration , 512

    Waitms 100

    Sound Buzzer , Duration , 512

    Waitms 100

    Sound Buzzer , Duration , 512

    Waitms 100

    Set Res_sw

    Status = Status Xor 1 ' turn off Scroll Lock LED

    Kbd_status

    End If

    B1 = 0

    Case Else: ' handling of "printable" characters

    If B1 > 131 Then ' this program handles only lower part

    B1 = 0 ' of ASCII code table (with exception of

    End If ' function keys - see lookup table)

    If Caps = 1 Then

    Key = Lookup(b1 , With_shift) ' one table is for SHIFT + key combination

    Else

    Key = Lookup(b1 , No_shift) ' and another is for key WITHOUT SHIFT

    End If

    If Caps_lock = 1 Then

    If Caps = 0 Then ' if CAPS LOCK was ON and there is no

    Temp = Chr(key) ' SHIFT + key combination, then convert

    Temp = Ucase(temp) ' pressed key into upper case letter

    Key = Asc(temp)

    End If

    End If

    End Select

    If B1 0 Then

    Sound Buzzer , Duration , Frequency ' beep

    Print Chr(key); ' and print pressed key

    End If

    Waitms 10 ' dummy delay ...

    Loop

    '-----------------------[Receive Byte from Keyboard]----------------------------

    Sub Rx_byte

    Set Kbd_clk ' enable Keyboard

    mov {n},#0

    jb Kbd_clk,*+0 ' wait CLK to become zero

    ' START bit

    jnb Kbd_data,L_cont ' if START bit is zero continue

    sjmp .L_error ' if not exit via error label

    ' DATA bits

    !L_cont:

    Incr N ' this is counter of received bits

    acall zero2one

    mov a,{b1} ' prepare buffer

    mov c,Kbd_data ' read DATA bit

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    15 of 18 7/20/2013 11:50 AM

  • rrc a ' read it into the buffer

    mov {b1},a ' store buffer value

    mov a,{n}

    cjne a,#8,L_cont ' if it isn't last bit repeat

    ' PARITY bit

    acall zero2one

    mov a,{b2} ' prepare buffer

    mov c,Kbd_data ' read ODD PARITY bit

    rrc a ' store it into the buffer

    ' STOP bit

    acall zero2one

    mov c,Kbd_data ' read STOP bit

    rrc a ' store it into the buffer

    rrc a ' now align bits to right...

    rrc a

    rrc a

    rrc a

    rrc a

    rrc a

    anl a,#3 ' extract valuable bits and

    mov {b2},a ' store to buffer

    ' check STOP bit

    anl a,#2

    jz .L_error

    ' PARITY checking

    mov a,{b1}

    mov c,psw.0 ' this is EVEN PARITY

    rlc a

    anl a,#1

    xch a,{b2}

    anl a,#1

    xrl a,{b2}

    jz .L_error

    sjmp .L_end

    L_error: ' exit in case of an error

    Waitms 1 ' wait end of transmission

    mov a,#0

    mov {b1},a

    L_end:

    Reset Kbd_clk ' stop the Keyboard

    End Sub

    '------------------------[Transmit Byte to Keyboard]----------------------------

    Sub Tx_byte(b1 As Byte)

    B2 = 8

    Reset Kbd_clk ' break the Keyboard

    Delay ' (safety reasons)

    Delay

    Delay

    Delay

    Delay

    Delay

    Reset Kbd_data ' request to send

    Set Kbd_clk ' enable the Keyboard

    ' START BIT

    acall zero2one

    ' DATA BITS

    mov a,{b1}

    !L_tx_data:

    rrc a

    mov Kbd_data,c

    acall zero2one

    djnz {b2},L_tx_data

    ' PARITY BIT

    mov a,{b1} ' calculate parity bit

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    16 of 18 7/20/2013 11:50 AM

  • mov c,psw.0 ' this is Even parity

    cpl c ' and Keyboard needs Odd parity

    mov Kbd_data,c ' send parity bit

    acall zero2one

    ' STOP BIT

    Set Kbd_data ' send stop bit

    acall zero2one

    ' KBD ACK BIT

    acall zero2one

    Reset Kbd_clk ' stop the keyboard

    End Sub

    '------------------[ASM Subroutine wait for falling edge]-----------------------

    !zero2one:

    jnb Kbd_clk,*+0 ' wait till CLK rise

    jb Kbd_clk,*+0 ' now wait till CLK fall down

    ret

    '------------[Subroutine for sending LED status to the Keyboard]----------------

    Sub Kbd_status:

    Tx_byte &HED

    Rx_byte

    Tx_byte Status

    Rx_byte

    End Sub

    '---------------------[Scan Code to ASCII conversion table]---------------------

    ' Here are two lookup tables, one for handling ordinary keys and other for

    ' handling combination of SHIFT + key. I gave (under block remark) same tables

    ' written as strings, so matching with ASCII codes could be easier.

    '

    ' Note that function keys (F1 to F12) are coded as one byte. F1 is coded as 129,

    ' F2 gives 130, F3 gives 131 and so on. This was OK for my application and it is

    ' because of simplicity.

    '

    ' Gray keys are not handled (INS, DEL, HOME, ARROWS etc)! These keys returns ASCII

    ' value of appropriate key on numeric keypad (HOME will give 7, END gives 1, etc).

    '

    ' Pressing of Num Lock key have no effects. Num Lock LED is always ON and serves

    ' as indicator that controller is turned on (if the keyboard is connected).

    '

    ' Keyboard mapping is for ordinary 101 keys keyboard (standard US layout).

    '

    No_shift:

    '(

    Data ""

    Data "F9" , "" , "F5" , "F3" , "F1" , "F2" , "F12" , "" , "F10" , "F8"

    Data "F6" , "F4" , "TAB" , "`" , "" , "" , "LAlt" , "LSh" , "" , "LCtr" , "q"

    Data "1" , "" , "" , "" , "z" , "s" , "a" , "w" , "2" , ""

    Data "" , "c" , "x" , "d" , "e" , "4" , "3" , "" , "" , " "

    Data "v" , "f" , "t" , "r" , "5" , "" , "" , "n" , "b" , "h"

    Data "g" , "y" , "6" , "" , "" , "" , "m" , "j" , "u" , "7"

    Data "8" , "" , "" , "," , "k" , "i" , "o" , "0" , "9" , ""

    Data "" , "." , "/" , "l" , ";" , "p" , "-" , "" , "" , ""

    Data "'" , "" , "[" , "=" , "" , "" , "Caps" , "RSht" , "Enter" , "]"

    Data "" , "" , "" , "" , "" , "" , "" , "" , "" , ""

    Data "BkSp" , "" , "" , "1" , "" , "4" , "7" , "" , "" , ""

    Data "0" , "." , "2" , "5" , "6" , "8" , "ESC" , "NumLck" , "F11" , "+"

    Data "3" , "-" , "*" , "9" , "ScrLck" , "" , "" , "" , "" , "F7"

    ')

    Data 0

    Data 137 , 0 , 133 , 131 , 129 , 130 , 140 , 0 , 138 , 136

    Data 134 , 132 , 9 , 96 , 0 , 0 , 0 , 0 , 0 , 0 , 113

    Data 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0

    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    17 of 18 7/20/2013 11:50 AM

  • Data 118 , 102 , 116 , 114 , 53 , 0 , 0 , 110 , 98 , 104

    Data 103 , 121 , 54 , 0 , 0 , 0 , 109 , 106 , 117 , 55

    Data 56 , 0 , 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0

    Data 0 , 46 , 47 , 108 , 59 , 112 , 45 , 0 , 0 , 0

    Data 39 , 0 , 91 , 61 , 0 , 0 , 0 , 0 , 13 , 93

    Data 0 , 92 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

    Data 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0

    Data 48 , 46 , 50 , 53 , 54 , 56 , 27 , 0 , 139 , 43

    Data 51 , 45 , 42 , 57 , 0 , 0 , 0 , 0 , 0 , 135

    With_shift:

    '(

    Data ""

    Data "F9" , "" , "F5" , "F3" , "F1" , "F2" , "F12" , "" , "F10" , "F8"

    Data "F6" , "F4" , "TAB" , "~" , "" , "" , "LAlt" , "LSh" , "" , "LCtr" , "Q"

    Data "!" , "" , "" , "" , "Z" , "S" , "A" , "W" , "@" , ""

    Data "" , "C" , "X" , "D" , "E" , "$" , "#" , "" , "" , " "

    luthfan

    Newbie

    Tulisan: 18

    Citra: 0

    Selamat bergabung Gan

    Re:Modul LED Matrix 8x8 Jawab #14 pada: November 28, 2012,

    07:35:39 AM

    contoh yang menggunakan bahasa Asm nya ada gak gan? karena modul

    8x8x10 diatas menggunakan asm. trims

    CETAKHalaman: [1] 2 3

    Ngobrol Dunia Biner Elektronika Mikrokontroler C51 Modul & Aplikasi (Moderator: budi sutomo) Modul LED Matrix 8x8

    sebelumnya berikutnya

    Lompat ke: ===> Modul & Aplikasi ayo

    'SMF 2.0.4 | SMF 2011, Simple Machines

    Enotify by CreateAForum.com'

    XHTML RSS WAP2

    Halaman dibuat dalam 0.427 detik dengan 21 queri.

    Modul LED Matrix 8x8 http://duniabiner.web.id/index.php?topic=25.0

    18 of 18 7/20/2013 11:50 AM