View Single Post
Old 11-09-2007, 03:59 PM   #24
tinhthanthep
Đệ tử 6 túi
 
tinhthanthep's Avatar
 
Tham gia ngày: Jun 2005
Bài gửi: 141
:
Vậy ta làm nốt bài toán sau là xong hẳn về cái nút bấm: Bài toán là ta bấm phím RB1 thì LEd1 sáng, bấm phát nữa thì nó tắt....Chương trìng như sau:

Code:
void MAIN() {
PORTB = 0; // Xoá dữ liệu cổng B
TRISB = 0xFF; // Định nghĩa cổng B là input 

PORTE = 0; 
TRISE = 0;
ADCON1 = 0xE;

Loop:
if (PORTB.F1 == 0) {                   // Kiểm tra nút ấn RB1 có bấm không? Nếu bấm thì
if (PORTE.F0 == 0)  PORTE.F0 = 1 // kiểm tra xem đèn đang tắt không? nếu đúng thì bật lên
else PORTE.F0 = 0; // nếu sai thì tắt nó đi
Delay_ms(50);  // Tạo trễ 50ms để khử hết hiện tượng rung phím
Loop1:
if (PORTB.F1 == 0) goto Loop1;   // chạy lòng vòng đợi đến khi tay người nhá hẳn nút bấm ra
}
goto Loop; // Lặp lại vòng lặp kiểm tra nút bấm

}

thay đổi nội dung bởi: namqn, 19-09-2007 lúc 02:47 AM. Lý do: định dạng lại code
tinhthanthep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn