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
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 09:09 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -
-
Trả lời cho Máy đo khuôn mẫubởi vi van phamQuá dễ, Mua cái máy xq quét tòan thân, lấy bàn và khung di chuyển. Tháo đầu xquang ra bán ve chai, mua cái máy siêu âm gắn vào vị trí đầu đèn. Setup máy là chạy chính xác, còn file Setup thì chưa nghĩ ra....
-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 08:49 -
-
Trả lời cho Máy Phun sương tạo ầm Trung Quốc.bởi nguyendinhvanMạch tạo sương là tự dao động.
Mach 555 là đóng mở chu kỳ tần số thấp.
IC 555 giá rẻ, chỉ chạy lên tần số vài trăm ki lô hẹc thôi. Thăng cao hơn là méo dạng rồi tịt.
Mach sương thì dao động tần số tầm 2 mê ga hẹc cơ !...-
Channel: Tâm tình dân kỹ thuật
07-06-2026, 00:09 -
-
bởi nguyendinhvan
Cái máy đo này mắc tiền quá !
Anh em dtvn có giải pháp nào tự chế được không ?...-
Channel: Đo lường và điều khiển dùng máy tính
07-06-2026, 00:00 -
-
bởi nguyendinhvanOi giời.
Thơi buổi PLC rồi, cậu còn hỏi mấy thứ cổ lỗ sĩ này nữa.-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 22:59 -
-
bởi nguyendinhvanChuyện này cũ rồi.
Họ trả lương cho CN, sau đó lại bán hàng thu tiền về. Họ còn cấp các dịch vụ như chỗ ăn ở, quán cafe , giải trí, phương tiện giao thông. Mục đích là thu tối đa số tiền đã chi trả.
Hàng hóa sx ra, chuyển...-
Channel: Tìm mua
06-06-2026, 22:56 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phambao nhiêu năm quên bẳng đi, là mình còn có 1 chút xíu nghệ thuật bài bản, đã dạy cho con cháu chơi đàn, dù bố mẹ và chúng không xem là quan trọng. Hôm qua ngày bế mạc lớp lá, bỗng dưng thằng cháu ngoại thấy con bé được sơ giới thiệu...
-
Channel: Tâm tình dân kỹ thuật
06-06-2026, 21:58 -

Comment