Nguyên văn bởi aladin_09
Xem bài viết
Thông báo
Collapse
No announcement yet.
[Hiển thị] LED Matrix Display (tập 2)
Collapse
X
-
tiện đây xin hỏi các bác, lập trình trên con 18f4550 có cho phép chứa mảng dữ liệu font rất lớn không? Em tạo mảng font chữ tiếng Việt Arial cho 16F877A dựa theo RTB cua BVHoang, ép theo bảng mã VISCII mà thấy chật vật khi hiển thị nhiều dòng nội dung quá (phỏng theo các hàm của LinhNC). Thanks các bác!Nguyên văn bởi mocdailam Xem bài viếtmấy bảng quang báo nó cả mấy ngàn con led bạn quét kiểu đó e đuối!
mình từng làm con 18f4550 40M quuet 64 x 4 x 24 con led don xử lý tốt các hiệu ứng dịch, chữ lượn sóng , lá rơi ...
mình nói chỉ mang tính chất góp ý thôi! Còn bạn làm thế nào thì tùy. bạn có biết nó dịch chỉ số mảng theo nguyên tắc gì không? view code hợp ngữ để xem đi!Last edited by bravesoldier; 06-01-2010, 15:33.Manchester United FC forever!
Comment
-
e có một thắc mắc thế này mong các bác giúp đỡ,e có một module 2x10matrix(16hang và 80 cột),lúc đầu e dùng quét cột để dịch chử tử phải sang trái hoặc ngược lại, nhưng cũng với phần cứng đó, e chuyển qua quét hàng thì có thể làm dịch chử từ trái qua phải hoặc ngược lại được kô,tại e làm mà nó toàn dịch từ trên xuống hoặc dưới lên thôi,cảm ơn các bác
Comment
-
hihi,mới độ xong cái bảng matrix của thằng TQ.đây là code mình viết cho nó,mình chỉ mới thử viết xong một module cho nó thoi,
đây là link của nó,(chỉ phần mềm thoi) còn phần cứng thì mình sử dụng module của thằng TQ nó ráp bằng led rời (16X32) nhưng chỉ quét 4 hàng thoi
http://www.mediafire.com/?zjdhjyimmn3
Comment
-
mong các anh giúp mình
Mình không học chính quy về điện tử, nhưng vì sờ thích nên tự học hỏi để thỏa mãn sự đam mê.Mình sưu tầm được một mạch matrix16x64 và code, mình đã mở rộng bảng thành 16x128,nhưng khi chạy mô phòng thì chữ chạy bị giât và chữ chạy không liên tục được,mình gửi file code,mong các anh giúp mình nha.chân thành cảm ơn
;************************************************* *******************************
;**************//////------------ MATRIX 16x64 ----------\\\\\\******************
;**------------------------------------------------------------------------------
;**////////////////__ Chuong trinh chay chu tren bo led ___\\\\\\\\\\\\\\\\\\\\\\
;**///////////////__ ma tran 8x8 loai 1 mau ________________\\\\\\\\\\\\\\\\\\\\\
;**//////////////___ Su dung vi dieu khien 89C52 cua ATMEL __\\\\\\\\\\\\\\\\\\\\
;**<<<<<<<<<<<<<---------------------------------------------->>>>>>>>>>>>>>>>>>>
;**\\\\\\\\\\\\\\ __ Thuc hien bien doi du lieu noi tiep ____////////////////////
;**\\\\\\\\\\\\\\\ ___ sang song song roi dua ra day led ___/////////////////////
;**\\\\\\\\\\\\\\\\ ---------- By Tien Huy ---------- //////////////////////
;************************************************* *******************************
;*****
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@ CAC TEN BIT DUNG TRONG CHUONG TRINH @@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
en_hc154 bit p3.3
sh_cp BIT P3.0
data_serial BIT P3.1
st_cp BIT P3.2
f_run BIT 7FH
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@ CAC TEN BYTE DUNG TRONG CHUONG TRINH @@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
data_row equ p2
index_byte_row equ 30h
num_row equ 16
num_byte_collum equ 32
index_point equ 31h
index_reg1 equ 32h
index_reg2 equ 33h
num_bit equ 34h
width_byte equ 35h
buffer_dptrh equ 36h
buffer_dptrl equ 37h
buffer_dptrh1 equ 38h
buffer_dptrl1 equ 39h
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@ start@@@
;@@@ OSC 12Mhz@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
org 0000h
ljmp main
org 000bh
ljmp ngat_timer0
org 0030h
main:
clr f_run
mov num_bit,#0
mov dptr,#string_code+2
mov a,#0
movc a,@a+dptr
mov width_byte,a
mov dptr,#string_code-5
lcall set_index_dptr
mov buffer_dptrh1,dph
mov buffer_dptrl1,dpl
mov dptr,#string_code+3
mov buffer_dptrh,dph
mov buffer_dptrl,dpl
mov index_point,#0
mov index_byte_row,#0
lcall init_interrupt
ljmp begin
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin:
___here:
mov ie,#82h
jnb f_run,___here
mov ie,#0
clr f_run
inc num_bit
mov a,num_bit
cjne a,#9,___here
;mov ie,#0
mov num_bit,#0
mov a,dpl
cjne a,buffer_dptrl1,___skip3
mov a,dph
cjne a,buffer_dptrh1,___skip3
mov dptr,#string_code+3
mov buffer_dptrh,dph
mov buffer_dptrl,dpl
mov index_byte_row,#0
sjmp ___here
___skip3:
inc dptr
mov buffer_dptrh,dph
mov buffer_dptrl,dpl
;mov ie,#82h
sjmp ___here
sjmp $
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
init_interrupt:
mov tmod,#01h
setb tr0
setb tf0
mov ie,#82h
ret
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ngat_timer0:
mov th0,#0f3h
mov tl0,#0a8h ;12^6/12/50hz/16=1250(fb1e)
lcall shift_data
lcall set_index_dptr
inc index_byte_row
mov a,index_byte_row
cjne a,#num_row,___exit
mov index_byte_row,#0
mov dph,buffer_dptrh
mov dpl,buffer_dptrl
setb f_run
___exit:
reti
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
shift_data:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov index_reg1,#num_byte_collum
___loop1:
mov index_reg2,#8
mov a,index_point
movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
___loop2:
clr c
rlc a
mov data_serial,c
clr sh_cp
setb sh_cp
djnz index_reg2,___loop2 ;dich du 8 bit
inc index_point
djnz index_reg1,___loop1 ;dich du 8 byte
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov a,num_bit ;de kiem tra co zero
jz ___skip1
mov index_reg2,num_bit
mov a,index_point
movc a,@a+dptr ;LAY DU LIEU TRONG BO NHO CT
___loop3:
clr c
rlc a
mov data_serial,c
clr sh_cp
setb sh_cp
djnz index_reg2,___loop3 ;dich du 8 bit
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
___skip1:
setb en_hc154 ;ta't ma`ng hi`nh de^? cho^'ng lem led
clr st_cp
setb st_cp
mov data_row,index_byte_row ;chon hang va tich cuc hc154
clr en_hc154
mov index_point,#0
ret
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set_index_dptr:
mov a,dpl
add a,width_byte
mov dpl,a
jnc ___skip2
inc dph
___skip2:
ret
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;################################################# ######################################
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
string_code:
;unsigned char code Bmp002:
;-------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text : Líp ®iÖn tö K2
; Width x Height (pixels) :243X16
; Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/496Byte
; Font make date : 10/11/2009 7:37:17 AM
;-------------------------------------------------------------------------------
DB 0F3H,010H,01FH;Width pixels,Height pixels,Width bytes
DB 000H,000H,000H,000H,000H,000H,000H,000H,001H,080H, 000H,000H,001H,000H,000H,000H
DB 000H,000H,007H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,001H,0FEH,001H,080H,000H, 000H,01FH,03CH,038H,000H,000H
DB 000H,001H,000H,03FH,09FH,01FH,080H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,0F8H,003H,000H,000H,000H, 07FH,0BCH,028H,000H,000H,002H
DB 002H,018H,01FH,008H,063H,0C0H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,0F8H,004H,038H,000H,000H,00FH, 03CH,064H,000H,000H,006H,004H
DB 038H,01FH,010H,07BH,0E0H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,0F8H,000H,038H,000H,000H,04FH,000H, 000H,000H,000H,00EH,000H,03CH
DB 01FH,030H,07BH,0E0H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,0F8H,007H,0F3H,0EEH,001H,0FFH,07CH,07CH, 07DH,0C0H,03FH,0FFH,0F0H,01FH
DB 078H,003H,0E0H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,0F8H,00EH,079H,0FFH,001H,0EFH,03CH,0EEH,03FH, 0E0H,01EH,03DH,0E0H,01FH,0F8H
DB 003H,0C0H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 0F8H,01EH,079H,0EFH,083H,0EFH,03DH,0EFH,03DH,0E0H, 01EH,03DH,0E0H,01FH,07CH,00EH
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,0F8H
DB 05EH,079H,0EFH,083H,0EFH,03DH,0FFH,03DH,0E0H,01EH, 03DH,0E0H,01FH,07EH,010H,020H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,0F8H,05EH
DB 079H,0EFH,003H,0EFH,03DH,0E0H,03DH,0E0H,01EH,0BDH, 0E0H,01FH,03EH,02FH,0E0H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,0F8H,0CEH,071H
DB 0EFH,001H,0EFH,03CH,0E1H,03DH,0E0H,01EH,0BDH,0E0H, 01FH,01FH,07FH,0E0H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,001H,0FFH,0C7H,0E1H,0FEH
DB 000H,0FFH,0FEH,076H,07DH,0F0H,01FH,03FH,0F0H,03FH, 0BFH,0FFH,080H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,001H,0E0H,000H
DB 000H,000H,008H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,001H,0E0H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,001H,0E0H,000H,000H,000H
DB 038H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 003H,0F0H,000H,000H,000H,038H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H, 000H,000H,000H,000H,000H,000H
end
Comment
-
Mong các sư huynh giúp đỡ.. Em cũng đang làm cái quang báo này.. Của em nhỏ thôi có 16x40 àh.. Của em dùng 2 port là portb và portd để quét 16 hàng (Hix.. dùng 75154 qua con uln2803 nó kg ra gì cả).. 5 con 74595 dùng để đưa dữ liệu vào. Thuật toán quét của em như sau : ( mấy anh xem sai chỗ nào sửa giùm em nha)
- 1 ký tự là 16x8 16 byte cho 1 ký tự.
- Em dùng 1 mảng đệm 80 phần tử ( để trống ) dem[80]=();
đầu tiên : hàng 1 : đưa dữ liệu của các phần tử 0, 16, 32,48,64 trong mảng đệm qua 595
hàng 2 : các phần tử 1,17,33,49,65 ..............
.............................................
.............................................
hàng 16 : 15,31,47,63,79.....
Vậy mỗi hàng gửi ra là 40 bít.
Em quét như vậy có đúng không ? ... để chữ chạy sang trái thì làm sao nữa..? còn cách nào nữa kg ? (quét hàng nha ) ...
Mong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..
Comment
-
Nguyên văn bởi phulam007 Xem bài viếtMong các sư huynh giúp đỡ.. Em cũng đang làm cái quang báo này.. Của em nhỏ thôi có 16x40 àh.. Của em dùng 2 port là portb và portd để quét 16 hàng (Hix.. dùng 75154 qua con uln2803 nó kg ra gì cả).. 5 con 74595 dùng để đưa dữ liệu vào. Thuật toán quét của em như sau : ( mấy anh xem sai chỗ nào sửa giùm em nha)
- 1 ký tự là 16x8 16 byte cho 1 ký tự.
- Em dùng 1 mảng đệm 80 phần tử ( để trống ) dem[80]=();
đầu tiên : hàng 1 : đưa dữ liệu của các phần tử 0, 16, 32,48,64 trong mảng đệm qua 595
hàng 2 : các phần tử 1,17,33,49,65 ..............
.............................................
.............................................
hàng 16 : 15,31,47,63,79.....
Vậy mỗi hàng gửi ra là 40 bít.
Em quét như vậy có đúng không ? ... để chữ chạy sang trái thì làm sao nữa..? còn cách nào nữa kg ? (quét hàng nha ) ...
Mong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..box hay không có bạn hiềnNguyên văn bởi phulam007 Xem bài viếtMong đc hồi âm từ mấy anh.... dạo này thấy box này vắng hoe,, kg thấy đại ca nào vào..
không vô không phải không ghiền không vô
mà vì chủ đề này đã thảo luận quá nhiều rồi!
xem đây thử có giúp ích gì không?
http://dientuvietnam.net/forums/showthread.php?p=90829
----^..^----
Comment
-
Thiệt, mới đây mà 20 pages rùi.
Đây là vấn đề của mình. Việc hiển thị chữ trên quang báo thì đã xong. Nhưng còn hình ảnh & các chuyển động phức tạp thì chưa được. Nếu có 1 file Image, mình phải làm gần đúng là ngồi vẽ lại nó rùi lấy từng tọa độ, màu sắc rùi đưa hết thông tin vào bộ nhớ ngoài. Thông tin này không ít tí nào.
Lần trước có đi ngang Quốc Lộ 13, chỗ cây xăng, thấy họ làm bảng quang báo rất hay. Trên quang báo có hình cây dừa đưa qua đưa lại, rồi xe cộ chạy ngược lại (từ phải sang trái), người đi bộ từ (trái qua phải). Nghĩ mãi mà không chắc là mình có thể làm được, vì làm theo cách cổ điển thì hơi "NGU" sao ấy. Nếu là cây dừa không thì làm được, thêm người & xe cộ đi ngược nhau kèm với cây dừa thì bó tay. Nghĩ đây là chén cơm của người ta nên không dám hỏi, nhưng nếu mấy bác có chủ ý muốn chỉ thì mình rất muốn tham khảo..
Comment
-
Nghiền mấy trăm trang diễn đàn mà vào đâu được ít quá!!!! các bác toàn đưa code vè cái led matrix này em đọc cũng rất khỏ hiểu!!! bác nào có thể giúp em giải thích cách lập trinh led matrix được ko??
1, Đâu tiên các bác giúp em đưa ra cái sơ đồ thuật toán .
2, Sau đó dến code
3, Và có cả phần cứng chạy mô phỏng nữa nhé
Cứ lan man thế này chắc em vỡ đầu mất, hy vọng các bác quan tâm giúp đỡ em cái phần điện tử lập trình này em khoai lắm!!!
Comment
-
chào các bác đam mê matrix_led!
các bác chắc hẳn cũng không lạ với con ic 4953 , em kiếm chỗ bán nó khó quá, bác nào bán hay biết chỗ bán pm cho em nha, mail của em: duythien88hn@gmail.com,nick yahoo:matrix010988.
Thanks các bác nhiều!
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
hôm nay, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
Hôm qua, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment