Ðăng Nhập

View Full Version : hỏi về dspic


trinhdieuhvktqs
13-10-2010, 05:00 PM
các bạn ơi...giúp mình về lập trình cho dspic30f4011 với
cụ thể bài toán của mình là:
ấn 1 phím để hiển thị 1 kí tự bất kì nào đó lên lcd (16x2) ở chế độ xuất 4 bít.
với bài của mình thì mình đặt là :khi ấn phím thì phím hiển thị là A,còn khi k ấn thì lcd sẽ hiển thị là B.
mình đã viết code dựa vào code quét bàn phím của anh Nam nhưng k hiểu sao code của mình khi nạp vào và cấp nguồn thì lại k hoạt động như mình mong muốn.khi cấp nguồn thì lcd hiển thị "B" nhưng khi ấn phím thì k có 1 phản ứng gì cả..tóm lại là switch chưa có tác động j đến chip cả.
mình up code và sơ đồ mạch của mình lên rồi đó.mong các bạn dành chút thời gian test code guíp mình với nhé....cảm ơn rât nhiều

hang1988
19-10-2010, 09:19 AM
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ì?
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