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
-
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 -
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -

Comment