mọi người cho em hỏi với. bây h em muốn dùng bàn phím 6 nút ấn để điêu khiển 8 led đơn thì làm thế nào ạ. vd ấn phím 1 thì led 1 sáng,phím 2 thì led 2 sáng... đến phím 6 thì led 6 sáng, còn led 7,8 thì làm thế nào nữa ạ. mọi người giúp em với
điều khiển led đơn bằng bàn phím
Collapse
X
-
Tags: None
-
Bạn có thể dùng các phím từ 1 đến 4 để tương ứng với các số 1,2,3,5. Phím số 5 làm phím 4+, phím số 6 là on/off.
Ví dụ muốn led 8 sáng thì bạn ấn phím 4+, rồi ấn tiếp phím 4. lúc này phím on/off sẽ được dùng để điều khiển trạng thái của led 8.
-
[#include <REGX52.H>
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
sbit led7=P2^6;
sbit led8=P2^7;
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
sbit key5=P3^6;
sbit key6=P3^7;
void main(void)
{
while(1)
{
if(key1==0)
led1=0;
if(key2==0)
led2=0;
if(key3==0)
led3=0;
if(key4==0)
led4=0;
if(key5==0)
led5=0;
if(key6==0)
led6=0;
}
}
] chương trình của mình thế này dk dc 6 led. 2 led còn lại thì thế nào nhỉ. mình gà mờ lắm
Comment
-
Phang thử cái này vào đi bạn.
[#include <REGX52.H>
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
sbit led7=P2^6;
sbit led8=P2^7;
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;
sbit key5=P3^6;
sbit key6=P3^7;
char dem;
char cong4;
void demled()
{
if (key1==0) {if (cong4==1) dem=5; else dem=1;cong4=0;While(key1==0);}
if (key2==0) {if (cong4==1) dem=6; else dem=2;cong4=0;While(key2==0);}
if (key3==0) {if (cong4==1) dem=7; else dem=3;cong4=0;While(key3==0);}
if (key4==0) {if (cong4==1) dem=8; else dem=4;cong4=0;While(key4==0);}
if (key5==0) {cong4=1;dem=0;While(key5==0);}
}
void dieukhienled()
{
if(key6==0)
{
if (demled==1) led1=!led1; // neu dem=1 thi dao trang thai cua led1
if (demled==2) led2=!led2; // neu dem=2 thi dao trang thai cua led2
if (demled==3) led3=!led3; // neu dem=3 thi dao trang thai cua led3
if (demled==4) led4=!led4; // neu dem=4 thi dao trang thai cua led4
if (demled==5) led5=!led5; // neu dem=5 thi dao trang thai cua led5
if (demled==6) led6=!led6; // neu dem=6 thi dao trang thai cua led6
if (demled==7) led7=!led7; // neu dem=7 thi dao trang thai cua led7
if (demled==8) led8=!led8; // neu dem=8 thi dao trang thai cua led8
dem=0;
cong4=0;
while(key6==0);
}
}
void main(void)
{
while(1)
{
demled();
dieukhienled();
}
}
Nếu chạy code này, giải sử bạn muốn điều khiển led8 thì phải bấm phím 4+ (tức là key5) trước, rồi mới bấm phím 4 (tức là Key4). Lúc này biếm đếm mới có giá trị 8, nếu bạn làm ngựoc lại thì biến đếm chỉ có có giá trị 4 thôi. Phím key6 của bạn để đảo trạng thái led.
Bạn thử đi, có gì lên hỏi tiếp.Last edited by NinoNguyen_; 12-12-2013, 15:48.
Comment
-
Bài viết mới nhất
Collapse
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -
-
bởi dinhthuong92Không biết nó thiết kế kiểu gì mà dùng chung được cuộn cảm L cho cả mạch Buck hạ áp để sạc pin và Boost nâng áp cho Led. Muốn vẽ mạch để xem mà nhiều linh kiện quá, e không kham nổi!
Bác nào có sơ đồ xin up lên cho mọi người tham khảo nhé!...-
Channel: Nguồn!
04-09-2026, 11:09 -
-
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
30-08-2026, 21:08 -

Comment