Thứ nhất bạn phải có 1 điện trở treo ở nút nhấn lên VCC
Thứ 2 code của bạn có vấn đề : Không biêt bạn khai báo biến sw_old và temp thuộc loại biến gì?
Code:
SW=sw_old & 0x0010;
Delay_ms(500); //Vong lap chinh
temp=SW;
while (1) {
if(temp & 0x0010)
{
Delay_ms(1);
LCD_dat4 ('A');
Delay_ms(1);
}
else {
LCD_dat4 ('B');
Delay_ms(1);
}
while (sw_old == SW); //Kiem tra cho den khi co su thay doi trang
sw_old = SW; //thai cua cac switch thi doc trang thai moi
}
}
Code trên không biết có bắt sườn xung ko? Nhìn code trên có thể thấy thì lúc nào cũng hiện thị chữ B. Bạn cần xem lại code của mình!
SW=sw_old & 0x0010;
Delay_ms(500); //Vong lap chinh
temp=SW
nó không nằm trong vòng lặp liên tục nên các giá trị của các bién luôn bằng 0