Nguyên văn bởi namkpac
Xem bài viết
Thông báo
Collapse
No announcement yet.
trục chặc đồng hồ số khi làm mạch thật
Collapse
X
-
thanks bạn nhiều, mình kiểm tra lại mạch thấy chân SDA, SCL bị sai so với mạch nguyên lý mình cắt mạch và đấu lại thì nó chạy ok rồi. thanks các pác nhiều. nhưng mình muốn hỏi thêm một tý, code mình khai báo sử dụng reg51, mình nạp cho con 89S52 thì nó không chạy mà nạp cho con 89C51 thì nó lại chạy, mình không hiểu sao, 2 con này chỉ có dung lượng bộ nhớ thay đổi thôi chứ đúng không các pác.Nguyên văn bởi chung1608 Xem bài viết|
Comment
-
code của 8051 thì nạp cho 8052 hoàn toàn ko vấn đề, nhưng ngược thì thì chưa chắc đcNguyên văn bởi namkpac Xem bài viếtthanks bạn nhiều, mình kiểm tra lại mạch thấy chân SDA, SCL bị sai so với mạch nguyên lý mình cắt mạch và đấu lại thì nó chạy ok rồi. thanks các pác nhiều. nhưng mình muốn hỏi thêm một tý, code mình khai báo sử dụng reg51, mình nạp cho con 89S52 thì nó không chạy mà nạp cho con 89C51 thì nó lại chạy, mình không hiểu sao, 2 con này chỉ có dung lượng bộ nhớ thay đổi thôi chứ đúng không các pác.
Comment
-
em cũng đang làm mạch này nhưng con DS ko chạy thì phải.
chỉnh thời gian xong xuôi, bấm OK cho chạy ko chịu chạy, ngắt nguồn 5p cắm lại vẫn thấy thời gian như cũ, thành ra con DS chỉ lưu chứ ko chạy gì cả.
out 1Hz ra cũng ko thấy tăm hơi đâu. em mô phỏng chạy ngon lành.ai biết chỉ dùm em với.
#include <REGX51.H>
//==========================================
//Cac chan dieu khien
#define SEC 0x00
#define MIN 0x01
#define HOUR 0x02
char sec,hour,min;
sbit L01 = P2^5; //3
sbit L02 = P2^4; //4
sbit L03 = P2^6;
sbit L04 = P2^7;
sbit L05 = P3^0;
sbit L06 = P3^1;
sbit SCL = P3^6; // Dieu khien doc ghi Data
sbit SDA = P3^7; // Dieu khien xung Clock
sbit MENU = P2^0;
sbit OK = P2^3;
sbit DOWN = P2^2;
sbit UP = P2^1;
//************************************************** ****************************
// KHAI BAO BIEN, MANG...
unsigned char led7_data[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }; //Decimal to Led7seg
unsigned char Data,time,index,setx,bat_nhay,read_time=0;
// KHAI BAO HAM, CHUONG TRINH CON
void set_main(void); // Chuong trinh khoi tao main
void setup_timer(void); // Chuong trinh cai dat timer
void delay(unsigned int time); // Delay
void Set_Clock(void); // Kiem tra va hieu chinh gia tri cua gio,phut,giay
void Keypad(void); // Kiem tra xu ly phim nhan
void T1_ISR(void); // Ngat timer 1 de nhay led
void T0_ISR(void); // Ngat timer 0 de quet led
// CAC CHUONG TRINH CON CHO I2C
//************************************************** ****************************
void I2C_start(void)
{
SCL = 1; SCL = 0;
SDA = 1; SCL = 1;
delay(2);
SDA = 0; delay(2);
SCL = 0; delay(2);
}
void I2C_stop(void)
{
SCL = 1; SCL = 0;
SDA = 0; delay(2);
SCL = 1; delay(2);
SDA = 1;
}
bit I2C_write(unsigned char dat)
{
unsigned char i;
for (i=0;i<8;i++)
{
SDA = (dat & 0x80) ? 1:0;
SCL=1;SCL=0;
dat<<=1;
}
SCL = 1; delay(2);
SCL = 0;
return dat;
}
unsigned char I2C_read(void)
{
bit rd_bit;
unsigned char i, dat;
dat = 0x00;
for(i=0;i<8;i++) /* For loop read data 1 byte */
{
delay(2);
SCL = 1; delay(2); /* Set SCL */
rd_bit = SDA; /* Keep for check acknowledge */
dat = dat<<1;
dat = dat | rd_bit; /* Keep bit data in dat */
SCL = 0; /* Clear SCL */
}
return dat;
}
//************************************************** ****************************
// CAC CHUONG TRINH CON CHO DS1307
//************************************************** ****************************
unsigned char DS1307_read(unsigned char addr)
{
unsigned int temp,ret;
I2C_start(); /* Start i2c bus */
I2C_write(0xD0); /* Connect to DS1307 */
I2C_write(addr); /* Request RAM address on DS1307 */
I2C_start(); /* Start i2c bus */
I2C_write(0XD1); /* Connect to DS1307 for Read */
ret = I2C_read(); /* Receive data */
I2C_stop();
//************************************************** ********
temp = ret; /*BCD to HEX*/
ret = (((ret/16)*10)+ (temp & 0x0f)); /*for Led 7seg*/
//************************************************** ********
return ret;
}
void DS1307_Write(unsigned char addr,unsigned char dat)
{
unsigned int temp;
//**********************************************
temp = dat ; /*HEX to BCD*/
dat = (((dat/10)*16)|(temp %10)); /*for Led 7seg*/
//**********************************************
I2C_start(); /* Start i2c bus */
I2C_write(0XD0); /* Connect to DS1307 */
I2C_write(addr); /* Request RAM address on DS1307 */
I2C_write(dat); /* Connect to DS1307 for Read */
I2C_stop();
}
void Out_1Hz()
{
I2C_start(); /* Start i2c bus */
I2C_write(0xD0); /* Connect to DS1307 */
I2C_write(0x07); /* thanh ghi CONTROL */
I2C_write(0x10); /* lay ra xung chuan 1Hz ~ 1s */
I2C_stop();
}
void Read_DS1307()
{
sec = DS1307_read(SEC);
min = DS1307_read(MIN);
hour = DS1307_read(HOUR);
}
void Write_DS1307()
{
DS1307_Write(SEC,sec);
DS1307_Write(MIN,min);
DS1307_Write(HOUR,hour);
}
//************************************************** ****************************
void delay(unsigned int time)
{
while(time--); // chuong trinh con delay
}
void set_main(void) // Chuong trinh khoi tao main
{
P0=P1=P3=0x00;
P2=0xFF;
UP=DOWN=MENU=OK=1;
}
void setup_timer(void) // Setup timer 0;1;
{
TMOD=0x11; // timer0 & timer1 set che do 8 bit tu nap lai
TH0=-1000/256; TL0=-1000%256;
TH1=0x3C; TL1=0xAF;
ET1=1; ET0=1; EA=1;
TF0=0; TF1=0;
TR0=1; TR1=1;
}
void T1_ISR(void) interrupt 3 // Dung ngat Timer0 de doc DS1307
{
TR1=0;TF1=0;
TH1=0x3C; // nap lai gia tri cho thanh ghi
TL1=0xAF;
time++;
if(time==5)
{
time=0; bat_nhay++; read_time=1;
if(bat_nhay==3)
bat_nhay=0; // chop tat khi dieu chinh Clock
}
TR1=1;
}
//*************************************
void T0_ISR(void) interrupt 1 // Dung ngat Timer1 de hien thi 6 Led_7D
{
TR0=0;TF0=0;
TH0=-1000/256; // Nap lai gia tri cho thanh ghi
TL0=-1000%256;
{
index++;
P2=0xFF;L01=L02=L03=L04=L05=L06=1;
if(index==1)
{
Data=sec;
P0=0xff;
if((setx==3 && bat_nhay==1))
{ index++; index++; }
else
{
L01=0; // Giay
P0=led7_data[Data%10];//xuat gia tri hang don vi
}
}
if(index==2)
{
P0=0xff;
L02=0; // Chuc Giay
P0=led7_data[Data/10]; //xuat gia tri hang chuc
}
if(index==3)
{
Data=min;
P0=0xff;
if((setx==1 && bat_nhay==1))
{ index++; index++; }
else
{
L03=0; // phut
P0=led7_data[Data%10];
}
}
if(index==4)
{
P0=0xff;
L04=0; // Chuc phut
P0=led7_data[Data/10];
}
if(index==5)
{
Data=hour;
P0=0xff;
if(setx==2 && bat_nhay==1)
{
index++;
index++;
}
else
{
L05=0; // Gio
P0=led7_data[Data%10];
}
}
if(index==6)
{
P0=0xff;
L06=0; // Chuc gio
P0=led7_data[Data/10];
}
if(index==7) index=0; //reset lai chi so chay index
}
TR0=1;
}
//****************************************
void Set_Clock(void) // Kiem tra va hieu chinh gia tri cua gio,phut,giay
{
//Tang
if(sec ==60) {sec=0; }
if(min ==60) {min =0;}
if(hour==24) {hour=0;}
//Giam
if(min ==-1) {min =59;}
if(hour==-1) {hour=23;}
}
//////////////////////////////////////////////////////
void Keypad(void) // Kiem tra phim bam.
{
//*******SET=0: DONG HO CHAY BINH THUONG****************
//*******SET=1: CHINH PHUT******************************
//*******SET=2: CHINH GIO*******************************
if(MENU==0)
{
while(MENU==0)
{;}
setx++;
if(setx==4)
{ setx=0; Write_DS1307();}
}
if(OK==0)
{
while (OK==0)
{;}
setx=0;
Write_DS1307();
}
if(setx==1)
{
if(UP==0)
{
while(UP==0) {;}
min++;
}
if(DOWN==0)
{
while(DOWN==0) {;}
min--;
}
}
if(setx==2)
{
if(UP==0)
{
while(UP==0) {;}
hour++;
}
if(DOWN==0)
{
while(DOWN==0) {;}
hour--;
}
}
if(setx==3)
{
if(UP==0)
{
while(UP==0) {;}
sec=sec+10;;
}
if(DOWN==0)
{
while(DOWN==0) {;}
sec=sec-10;
}
}
Set_Clock();
delay(1000);
}
//************ CHUONG TRINH CHINH *************
void main()
{
delay(5000);
Out_1Hz();
set_main();
time=index=setx=read_time=0;
setup_timer();
while(1)
{
Keypad();
if((setx==0)&&(read_time==1))
{
read_time = 0;
Read_DS1307();
}
else
{
sec = DS1307_read(SEC);
}
}
}
Comment
-
Bạn post mạch lên để mọi người cùng xem xét vấn đề cho. mấy ngày trước mình cũng bị trường hợp như bạn nhờ các pác trong mod chỉ giúp giờ mình cũng đã làm được rồi, mạch của mình xuất xung 1hz ra ngon lành. bạn xem lại mấy bài trước xem cách reset cho con DS, hôm đó mình cũng phải reset như được chỉ dẫn thì chạy ok. Bạn có pin cho con DS chưa?Nguyên văn bởi pupo Xem bài viếtem cũng đang làm mạch này nhưng con DS ko chạy thì phải.
chỉnh thời gian xong xuôi, bấm OK cho chạy ko chịu chạy, ngắt nguồn 5p cắm lại vẫn thấy thời gian như cũ, thành ra con DS chỉ lưu chứ ko chạy gì cả.
out 1Hz ra cũng ko thấy tăm hơi đâu. em mô phỏng chạy ngon lành.ai biết chỉ dùm em với.
#include <REGX51.H>
//==========================================
//Cac chan dieu khien
#define SEC 0x00
#define MIN 0x01
#define HOUR 0x02
char sec,hour,min;
sbit L01 = P2^5; //3
sbit L02 = P2^4; //4
sbit L03 = P2^6;
sbit L04 = P2^7;
sbit L05 = P3^0;
sbit L06 = P3^1;
sbit SCL = P3^6; // Dieu khien doc ghi Data
sbit SDA = P3^7; // Dieu khien xung Clock
sbit MENU = P2^0;
sbit OK = P2^3;
sbit DOWN = P2^2;
sbit UP = P2^1;
//************************************************** ****************************
// KHAI BAO BIEN, MANG...
unsigned char led7_data[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }; //Decimal to Led7seg
unsigned char Data,time,index,setx,bat_nhay,read_time=0;
// KHAI BAO HAM, CHUONG TRINH CON
void set_main(void); // Chuong trinh khoi tao main
void setup_timer(void); // Chuong trinh cai dat timer
void delay(unsigned int time); // Delay
void Set_Clock(void); // Kiem tra va hieu chinh gia tri cua gio,phut,giay
void Keypad(void); // Kiem tra xu ly phim nhan
void T1_ISR(void); // Ngat timer 1 de nhay led
void T0_ISR(void); // Ngat timer 0 de quet led
// CAC CHUONG TRINH CON CHO I2C
//************************************************** ****************************
void I2C_start(void)
{
SCL = 1; SCL = 0;
SDA = 1; SCL = 1;
delay(2);
SDA = 0; delay(2);
SCL = 0; delay(2);
}
void I2C_stop(void)
{
SCL = 1; SCL = 0;
SDA = 0; delay(2);
SCL = 1; delay(2);
SDA = 1;
}
bit I2C_write(unsigned char dat)
{
unsigned char i;
for (i=0;i<8;i++)
{
SDA = (dat & 0x80) ? 1:0;
SCL=1;SCL=0;
dat<<=1;
}
SCL = 1; delay(2);
SCL = 0;
return dat;
}
unsigned char I2C_read(void)
{
bit rd_bit;
unsigned char i, dat;
dat = 0x00;
for(i=0;i<8;i++) /* For loop read data 1 byte */
{
delay(2);
SCL = 1; delay(2); /* Set SCL */
rd_bit = SDA; /* Keep for check acknowledge */
dat = dat<<1;
dat = dat | rd_bit; /* Keep bit data in dat */
SCL = 0; /* Clear SCL */
}
return dat;
}
//************************************************** ****************************
// CAC CHUONG TRINH CON CHO DS1307
//************************************************** ****************************
unsigned char DS1307_read(unsigned char addr)
{
unsigned int temp,ret;
I2C_start(); /* Start i2c bus */
I2C_write(0xD0); /* Connect to DS1307 */
I2C_write(addr); /* Request RAM address on DS1307 */
I2C_start(); /* Start i2c bus */
I2C_write(0XD1); /* Connect to DS1307 for Read */
ret = I2C_read(); /* Receive data */
I2C_stop();
//************************************************** ********
temp = ret; /*BCD to HEX*/
ret = (((ret/16)*10)+ (temp & 0x0f)); /*for Led 7seg*/
//************************************************** ********
return ret;
}
void DS1307_Write(unsigned char addr,unsigned char dat)
{
unsigned int temp;
//**********************************************
temp = dat ; /*HEX to BCD*/
dat = (((dat/10)*16)|(temp %10)); /*for Led 7seg*/
//**********************************************
I2C_start(); /* Start i2c bus */
I2C_write(0XD0); /* Connect to DS1307 */
I2C_write(addr); /* Request RAM address on DS1307 */
I2C_write(dat); /* Connect to DS1307 for Read */
I2C_stop();
}
void Out_1Hz()
{
I2C_start(); /* Start i2c bus */
I2C_write(0xD0); /* Connect to DS1307 */
I2C_write(0x07); /* thanh ghi CONTROL */
I2C_write(0x10); /* lay ra xung chuan 1Hz ~ 1s */
I2C_stop();
}
void Read_DS1307()
{
sec = DS1307_read(SEC);
min = DS1307_read(MIN);
hour = DS1307_read(HOUR);
}
void Write_DS1307()
{
DS1307_Write(SEC,sec);
DS1307_Write(MIN,min);
DS1307_Write(HOUR,hour);
}
//************************************************** ****************************
void delay(unsigned int time)
{
while(time--); // chuong trinh con delay
}
void set_main(void) // Chuong trinh khoi tao main
{
P0=P1=P3=0x00;
P2=0xFF;
UP=DOWN=MENU=OK=1;
}
void setup_timer(void) // Setup timer 0;1;
{
TMOD=0x11; // timer0 & timer1 set che do 8 bit tu nap lai
TH0=-1000/256; TL0=-1000%256;
TH1=0x3C; TL1=0xAF;
ET1=1; ET0=1; EA=1;
TF0=0; TF1=0;
TR0=1; TR1=1;
}
void T1_ISR(void) interrupt 3 // Dung ngat Timer0 de doc DS1307
{
TR1=0;TF1=0;
TH1=0x3C; // nap lai gia tri cho thanh ghi
TL1=0xAF;
time++;
if(time==5)
{
time=0; bat_nhay++; read_time=1;
if(bat_nhay==3)
bat_nhay=0; // chop tat khi dieu chinh Clock
}
TR1=1;
}
//*************************************
void T0_ISR(void) interrupt 1 // Dung ngat Timer1 de hien thi 6 Led_7D
{
TR0=0;TF0=0;
TH0=-1000/256; // Nap lai gia tri cho thanh ghi
TL0=-1000%256;
{
index++;
P2=0xFF;L01=L02=L03=L04=L05=L06=1;
if(index==1)
{
Data=sec;
P0=0xff;
if((setx==3 && bat_nhay==1))
{ index++; index++; }
else
{
L01=0; // Giay
P0=led7_data[Data%10];//xuat gia tri hang don vi
}
}
if(index==2)
{
P0=0xff;
L02=0; // Chuc Giay
P0=led7_data[Data/10]; //xuat gia tri hang chuc
}
if(index==3)
{
Data=min;
P0=0xff;
if((setx==1 && bat_nhay==1))
{ index++; index++; }
else
{
L03=0; // phut
P0=led7_data[Data%10];
}
}
if(index==4)
{
P0=0xff;
L04=0; // Chuc phut
P0=led7_data[Data/10];
}
if(index==5)
{
Data=hour;
P0=0xff;
if(setx==2 && bat_nhay==1)
{
index++;
index++;
}
else
{
L05=0; // Gio
P0=led7_data[Data%10];
}
}
if(index==6)
{
P0=0xff;
L06=0; // Chuc gio
P0=led7_data[Data/10];
}
if(index==7) index=0; //reset lai chi so chay index
}
TR0=1;
}
//****************************************
void Set_Clock(void) // Kiem tra va hieu chinh gia tri cua gio,phut,giay
{
//Tang
if(sec ==60) {sec=0; }
if(min ==60) {min =0;}
if(hour==24) {hour=0;}
//Giam
if(min ==-1) {min =59;}
if(hour==-1) {hour=23;}
}
//////////////////////////////////////////////////////
void Keypad(void) // Kiem tra phim bam.
{
//*******SET=0: DONG HO CHAY BINH THUONG****************
//*******SET=1: CHINH PHUT******************************
//*******SET=2: CHINH GIO*******************************
if(MENU==0)
{
while(MENU==0)
{;}
setx++;
if(setx==4)
{ setx=0; Write_DS1307();}
}
if(OK==0)
{
while (OK==0)
{;}
setx=0;
Write_DS1307();
}
if(setx==1)
{
if(UP==0)
{
while(UP==0) {;}
min++;
}
if(DOWN==0)
{
while(DOWN==0) {;}
min--;
}
}
if(setx==2)
{
if(UP==0)
{
while(UP==0) {;}
hour++;
}
if(DOWN==0)
{
while(DOWN==0) {;}
hour--;
}
}
if(setx==3)
{
if(UP==0)
{
while(UP==0) {;}
sec=sec+10;;
}
if(DOWN==0)
{
while(DOWN==0) {;}
sec=sec-10;
}
}
Set_Clock();
delay(1000);
}
//************ CHUONG TRINH CHINH *************
void main()
{
delay(5000);
Out_1Hz();
set_main();
time=index=setx=read_time=0;
setup_timer();
while(1)
{
Keypad();
if((setx==0)&&(read_time==1))
{
read_time = 0;
Read_DS1307();
}
else
{
sec = DS1307_read(SEC);
}
}
}|
Comment
-
sax lại reset rồiNguyên văn bởi pupo Xem bài viếtok mạch chạy rồi các bác ạ. reset con DS phát đc ngay
Email:
Gmail:
Comment
-
-
]Nguyên văn bởi pupo Xem bài viếtko hiểu ý bác lắm

vậy mà k hiểu ak
bạn tìm cái chân reset của con DS hộ tui cái

good luck !!!
Email:
Gmail:
Comment
-
thế thì thua rồiNguyên văn bởi pupo Xem bài viếtà thì nói nôm na là reset thôi, chứ set lại con ds = phần mềm.hehe
bó tay
good luck !!!
Email:
Gmail:
Comment
-
biết òy.Nguyên văn bởi coinage_90 Xem bài viếtcác bác thử đi nhé em làm song rùi chay ok lam
làm xong thì quay video up lên chơi.chứ dem mạch thì mọi người chưa tin lắm 
rảnh sang đây ngâm cứumai đy mua đồ rồi ngày kia đc ăn cỗNguyên văn bởi tuankep6 Xem bài viếtsao các bác k sang thảo luận với e cái đề tài led ma trận cho tết nhỉ
chứ làm led đơn đc 1 lần ròi bỏ phí đy hơn nữa nội dung k đổi đc mà led hàn vô cũng phí led nữa
các bác sang bên này nữa xem sao dây của bác hamhochoi http://www.dientuvietnam.net/forums/...-2012-a-93122/
còn luồng này của e http://www.dientuvietnam.net/forums/...ix-8x64-91695/ biết đâu cùng nghiên cứu sẽ sớm ra giải pháp cho tất cả và mọi người sẽ có thứ hay hơn mà dùng đc trong nhiều dịp hơn
và khổ led ở đây phổ biến sẽ là loại trung 16x64 rất phù hợp cho các dịp lễ tết lớn như giáng sinh tết halowen....
good luck !!!
good luck !!!
Email:
Gmail:
Comment
Bài viết mới nhất
Collapse
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
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
15-06-2026, 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
15-06-2026, 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 -

Comment