modul led matrix 8x8
Post on 29-Oct-2015
442 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
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: djdusko@eunet.yu
'
' 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: djdusko@eunet.yu"
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
top related