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);
}
}
Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
Chuyện là mình mới đập hộp con loa kéo Sony SRS-XV900. Do khu vực mình k có sẵn hàng để trải nghiệm thực tế nên chỉ tham khảo các kênh revew online.
Mua về sử dụng thì thấy hơi buồn về chất âm, Mở max k to bằng cái loa kéo china, bass...
Dạ nếu chú đã viết được chương trình cho vđk thì thêm 1 chương trình con chạy động cơ bước chỉ đơn giản là copy phát. Về phần cứng thì vài con cách ly quang, vài con mosfet thôi ạ. thực sự là dễ dàng như bài tập bình thường của sinh viên thôi ạ...
Comment