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.
Thông báo
Collapse
No announcement yet.
Hỏi code đếm số lần bấm phím hiển thị trên LED 7 thanh
Hỏi code đếm số lần bấm phím hiển thị trên LED 7 thanh
Mình đang có bài tập đếm số lần bấm phím hiển thị trên LED 7 thanh. Nhưng ko biết code viết thế nào.. Bạn nào biết chỉ mình với. Mình cần gấp lắm
Thx các bạn
Sơ đồ của bạn post lên có nhiều điều đáng nói:
+ Thứ nhất : Chân EA\ phải treo lên nguồn để vi điều khiển đọc bộ nhớ nội.
+ Thứ hai : Bạn nên mắc thêm con 74HC245 để đệm dòng cho P0.
+ Thứ ba : Dùng transistor A1015 để điều khiển cột.
+ Thứ tư : mạch reset không cần mắc diode gì cả.
Nếu bạn làm đúng như thế thì độ sáng của led mới được đảm bảo. Tuổi thọ của mạch mới cao.
Việc dịch qua File.Hex không được là do trình biên dịch chứ không phải do phần cứng.
Đây là chương trình tham khảo dùng 8501 lập trình C.
với nút ấn đcj gắn vào P1.0 và LED đc găn vào P2
unsigned char i=0;// Khai bao them bien toan cuc de dem so lan an nut
unsigned char Doccongtac(void)// Ham tra lai gia tri unsigned char
{
if( P1_0 ==0)// Neu nut duoc bam
{
delay(300);// Tre 1 khoang thoi gian qua xung nhieu
while(P1_0 ==0) // Cho toi khi nha tay khoi nut bam
{
;//Khong lam gi
}
i++;// Nha ty thi tang i
if( i ==10) i=0;// Quay vong gia tri cua i
}
return i;
}
void hienthisolannhanphim(unsigned char solan)
{
switch(solan)// Tuy vao so lan
{
case 0: { so0(); break; }// Neu so lan =0 hien so 0 thoat khoi switch
case 1: { so1(); break; }// Neu so lan =1 hien so 1 thoat khoi switch
case 2: { so2(); break; }// ....
case 3: { so3(); break; }
case 4: { so4(); break; }
case 5: { so5(); break; }
case 6: { so6(); break; }
case 7: { so7(); break; }
case 8: { so8(); break; }
case 9: { so9(); break; }// Neu so lan =9 hien so 9 thoat khoi switch
}
}
void main(void)
{
while(1)
{
Doccongtac(); // Goi ham doc so lan nhan phim
hienthisolannhanphim(i);// Hien thi so lan nhan phim, bien i la bien toan cuc
}
}
Đây là chương trình tham khảo dùng 8501 lập trình C.
với nút ấn đcj gắn vào P1.0 và LED đc găn vào P2
unsigned char i=0;// Khai bao them bien toan cuc de dem so lan an nut
unsigned char Doccongtac(void)// Ham tra lai gia tri unsigned char
{
if( P1_0 ==0)// Neu nut duoc bam
{
delay(300);// Tre 1 khoang thoi gian qua xung nhieu
while(P1_0 ==0) // Cho toi khi nha tay khoi nut bam
{
;//Khong lam gi
}
i++;// Nha ty thi tang i
if( i ==10) i=0;// Quay vong gia tri cua i
}
return i;
}
void hienthisolannhanphim(unsigned char solan)
{
switch(solan)// Tuy vao so lan
{
case 0: { so0(); break; }// Neu so lan =0 hien so 0 thoat khoi switch
case 1: { so1(); break; }// Neu so lan =1 hien so 1 thoat khoi switch
case 2: { so2(); break; }// ....
case 3: { so3(); break; }
case 4: { so4(); break; }
case 5: { so5(); break; }
case 6: { so6(); break; }
case 7: { so7(); break; }
case 8: { so8(); break; }
case 9: { so9(); break; }// Neu so lan =9 hien so 9 thoat khoi switch
}
}
void main(void)
{
while(1)
{
Doccongtac(); // Goi ham doc so lan nhan phim
hienthisolannhanphim(i);// Hien thi so lan nhan phim, bien i la bien toan cuc
}
}
mình dùng keil c dịch ra hex thì bão lỗi ở phần 04 " if(p1_0==0)// Neu nut duoc bam"
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...
Như tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn
Comment