Như vầy o biết đc chăng:
Nếu N=6 ta sẽ dựng 1 mảng dây gồm 6 hàng và 6 cột.
- Từ mỗi hàng dây thứ i qua cột dây thứ j (j !=i; i,j<=6) ta sẽ đấu 1 led. Vậy ta có tổng cộng 6x6-6=30(led)
- Từ mỗi hàng dây thứ i qua cột dây thứ j( j > i; i,j<=6) ta sẽ đấu 1 trở R (4k7) nối tiếp với 1 nút nhấn. Vậy ta có tổng cộng 5+4+3+2+1=15(nút nhấn).
Giải thuật quét led như cũ. Với phím: trước hết cho tất cả các chân làm ngõ vào rồi lần lượt cho từng chân hàng làm ngõ ra p(i)=0; và đọc các chân tiêp theo, tức p(j), nếu p(j)=0 => phím(i,j) được nhấn.
for(i=1;i<6;i++)
{
...P(123456)=vào;
...P(i)=ra;
...P(i)=0;
...for(j=i+1;j<7;j++)
...{
......if(P(j)==0) Phím(i,j)=1; //phím nhấn.
...}
}
Nếu N=6 ta sẽ dựng 1 mảng dây gồm 6 hàng và 6 cột.
- Từ mỗi hàng dây thứ i qua cột dây thứ j (j !=i; i,j<=6) ta sẽ đấu 1 led. Vậy ta có tổng cộng 6x6-6=30(led)
- Từ mỗi hàng dây thứ i qua cột dây thứ j( j > i; i,j<=6) ta sẽ đấu 1 trở R (4k7) nối tiếp với 1 nút nhấn. Vậy ta có tổng cộng 5+4+3+2+1=15(nút nhấn).
Giải thuật quét led như cũ. Với phím: trước hết cho tất cả các chân làm ngõ vào rồi lần lượt cho từng chân hàng làm ngõ ra p(i)=0; và đọc các chân tiêp theo, tức p(j), nếu p(j)=0 => phím(i,j) được nhấn.
for(i=1;i<6;i++)
{
...P(123456)=vào;
...P(i)=ra;
...P(i)=0;
...for(j=i+1;j<7;j++)
...{
......if(P(j)==0) Phím(i,j)=1; //phím nhấn.
...}
}
Comment