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
-
Nguyên văn bởi chung1608 Xem bài viết|
Comment
-
Nguyê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
-
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
-
Nguyê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
-
Nguyê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
-
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
rảnh sang đây ngâm cứuNguyê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
-
Trả lời cho Năm mới dientuvietnam.netbởi mèomướpDạ năm mới cháu xin kính chúc ông, bà, cô, dì, chú, bác, anh, chị, em, các bạn, các cháu... trong diễn đàn sức khỏe dồi dào, gặp nhìu may mắn và thành công...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 05:42 -
-
Trả lời cho Năm mới dientuvietnam.netbởi nhathung1101Chúc cả nhà ăn no mặc ấm, quần lúc có lúc không.
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 00:02 -
-
Trả lời cho Năm mới dientuvietnam.netbởi vandong1111Năm mới 2025 cháu chúc các chú, các bác mạnh khỏe, vui vẻ, gặp nhiều may mắn.
-
Channel: Tâm tình dân kỹ thuật
29-01-2025, 20:59 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi bqvietNói một cách xây dựng thì kiểu đồng hồ kiêm kẹp dòng NJTY3266 mà bạn Mèo đề cập là đúng nhu cầu người hỏi rồi. Một số cửa hàng bán trên 200ng, vài sàn thương mại điện tử bán dưới - thế là đúng nhu cầu về giá. Nếu khéo săn...
-
Channel: Điện tử dành cho người mới bắt đầu
27-01-2025, 20:02 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Đa năng còn chưa dùng hết, nếu không biết cách dùng.
200k thì hơi khó mua, nhưng 50k chắc là có. Cứ bảo bán cho tôi cái đồng hồ hỏng.-
Channel: Điện tử dành cho người mới bắt đầu
26-01-2025, 23:21 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Lão Đinh Vặn học giải phương trình hồi đi trẻ mà. Mẫu giáo học lập trình AI rồi. Lớp lão ấy gần lớp em nên em biết....
-
Channel: Điện tử công suất
26-01-2025, 23:11 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vậy chú đã hỏi hãng SIEMEN chưa? Tại sao cái PLC S7-200 cổ lỗ mà họ vẫn thiết kế riêng cho thị trường TQ với chữ SMART? Thậm chí phần mềm riêng để đọc file ngu.smart?
Vấn đề không còn là công nghệ "cốt lõi" nữa, mà là giá thành quyết định. Ham rẻ là trả giá mà....-
Channel: Điện tử công suất
26-01-2025, 23:01 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi vi van phamĐồng ý với Bqv.
50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
- Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...-
Channel: Điện tử công suất
26-01-2025, 08:09 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
-
Channel: Điện tử công suất
26-01-2025, 06:19 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietCuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
-
Channel: Điện tử công suất
24-01-2025, 19:40 -
Comment