Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Bài này hay đó...pót cả codientu.org và dientuvietnam.net cơ ak..mình mang về pót blog phát nhé..cho anh em cùng học hỏi..còn mạch mình sẽ vẽ lại làm thử xem chạy ngon không..hí hí...có chỗ DS18B20 mình thấy sao không có thêm con ADC0804 nhỉ...vì 8051 không có ADC..
dùng ds18b20 thì không cần con ADC0804.
code mở bạn tùy ý sử dụng.
Haibk91 cho mình hỏi xí,mình thấy trong file hex nó có dung lượng là lớn hơn 8k của con chip 89s52 thì làm sao mà nạp được vậy. Bạn trả lời giúp mình với.hi.
Haibk91 cho mình hỏi xí,mình thấy trong file hex nó có dung lượng là lớn hơn 8k của con chip 89s52 thì làm sao mà nạp được vậy. Bạn trả lời giúp mình với.hi.
file hex do máy tính hiển thị dung lượng khác với file hex nạp cho VDK. Nguyên nhân tại sao thì mình ko rành lắm..>khi bạn nap bằng mạch nạp, thì nó hiển thị dung lượng nạp cho rom chính xác hơn. Lúc trước, mình cũng có file nạp 23k. nhưng khi nạp vào VDK, thì chương trình nạp hiển thị dung lượng có 5K ak.
}
adate = numDateDl - ((sttAmon*59)/2); // Ngay Al
}
// chon che do -- dua du lieu ra bo dem hien thi
void chonCheDo(void)
{
if(mode == 0)
{
rtcReadTime(&hour,&min,&sec);
rtcReadDate(&date,&mon,&year);
if((hour==0)&(min==0)&(sec<3))amLich();
}
if(chedo==1)
{
ledData[0] = ma_bcd[hour/10];
ledData[1] = ma_bcd[hour%10];
ledData[2] = ma_bcd[min/10];
ledData[3] = ma_bcd[min%10];
ledData[4] = ma_bcd[sec/10];
ledData[5] = ma_bcd[sec%10];
ledData[6] = 0xFF;
ledData[7] = 0xFF;
}
if(chedo==2)
{
ledData[0] = ma_bcd[date/10];
ledData[1] = ma_bcd[date%10];
ledData[2] = ma_bcd[mon/10];
ledData[3] = ma_bcd[mon%10];
ledData[4] = ma_bcd[2];
ledData[5] = ma_bcd[0];
ledData[6] = ma_bcd[year/10];
ledData[7] = ma_bcd[year%10];
}
if(chedo==3)
{
tempx = readAdc()/2;
ledData[0] = ma_bcd[adate/10];
ledData[1] = ma_bcd[adate%10];
ledData[2] = ma_bcd[amon/10];
ledData[3] = ma_bcd[amon%10];
ledData[4] = ma_bcd[temp/10];
ledData[5] = ma_bcd[temp%10];
ledData[6] = 0x9c; // o
ledData[7] = 0xC6; // C
}
if (bit_nhay&(mode>0))
{
switch (mode)
{
case 1: ledData[0] = ledData[1] = 0xFF; break;
case 2: ledData[2] = ledData[3] = 0xFF; break;
case 3: ledData[4] = ledData[5] = 0xFF; break;
case 4: ledData[0] = ledData[1] = 0xFF; break;
case 5: ledData[2] = ledData[3] = 0xFF; break;
case 6: ledData[6] = ledData[7] = 0xFF; break;
}
}
}
// quet phim
void scanKey(void)
{
if (MODE == 0) // Nhan phim MODE
{
while(!MODE)quetLed(); // Cho nha phim
mode++;
chedo = 1;
if(mode>3)chedo = 2;
if (mode > 6)
{
mode = 0;
chedo = 1;
rtcWriteTime(hour,min,sec);
rtcWriteDate(date,mon,year);
}
}
if (mode != 0)
{
if(UP == 0) // Nhan phim UP
{
dem=0;
while(!UP)quetLed();// Cho nha phim
switch (mode)
{
case 1: hour++; if (hour > 23)hour = 0; break;
case 2: min++; if (min > 59)min = 0; break;
case 3: sec++; if (sec > 59)sec = 0; break;
case 4: date++; if (date > 31)date = 1; break;
case 5: mon++; if (mon > 12)mon = 1; break;
case 6: year++; if (year > 99)year = 0; break;
}
}
if(DOWN == 0) // Nhan phim Down
{
dem=0;
while(!DOWN)quetLed(); // Cho nha phim
switch (mode)
{
case 1: if (hour == 0)hour = 23; else hour --; break;
case 2: if (min == 0)min = 59; else min --; break;
case 3: if (sec == 0)sec = 59; else sec--; break;
case 4: if (date == 1)date = 31; else date --; break;
case 5: if (mon == 1)mon = 12; else mon --; break;
case 6: if (year == 0)year = 99; else year--; break;
}
}
}
if (SET == 0)
{ // Nhan phim set
while(!SET)quetLed(); // Cho nha phim
mode = 0; // Thoat che do dat thoi gian
rtcWriteTime(hour,min,sec);
rtcWriteDate(date,mon,year);
}
}
Có thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%): * Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...
Thực tế bạn nào không tải được tệp nén thiết kế thì căn cứ theo ảnh sơ đồ mạch có thể vẽ lại sơ đồ bằng chương trình EDA nào đó rồi làm mạch được mà. Càng thêm quen thuộc với sơ đồ. Sau đó tùy ý chuyển sang TinySwitch-III hoặc TinySwitch-4.
Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...
Comment