Chào chúng ta trong bài 3 tôi đã giới thiệu cùng với các bạn về kiểu cách tiếp xúc cùng với nút ít dìm rồi các bạn làm sao không xem thì coi lạitrên đâyđể hiểu rõ hơn về cấu tạo với phân các loại của chính nó nha !Còn vào bài đăng này mình vẫn gợi ý chúng ta thêm 1 phần nữa cũng chính là giao tiếp với nhút ít dìm nhưng nó đã nặng nề hơn bài xích trước bởi vào bài trước chúng ta chỉ sử dụng lại ngơi nghỉ bài toán giao tiếp thôi còn vào bài này thì chúng ta đang ứng dụng nó vào bài bác này nhằm đổi khác cảm giác LED cần sử dụng 1 nút ít dấn cụ thể là lúc chúng ta không thừa nhận nút ít thì lịch trình đang chạy thông thường còn ví như họ nhận nút ít thì nó đang đưa sang cảm giác không giống mang đến chúng ta tức thì mau lẹ ! Chúng ta sẽ có được đoạn công tác nlỗi sau !

Bạn đang xem: Lập trình nút nhấn cho pic16f877a

unsigned char KiemTraPhim() unsigned char i; for(i=0;i delay_ms(10); if(input(pin_a0)==0) if(kiểm tra == 0) kiểm tra = 1; return 1; else kiểm tra = 0; return 0;
- Đoạn công tác trên dùng làm delay cùng chất vấn nút nhấn của họ cụ thể là lúc nhận nút ít thì nó sẽ khám nghiệm loại bit kiểm tra của họ nếu mà bit kiểm tra = 1 thì tất cả nghĩa nút dìm của bọn họ được dấn nó vẫn return 1 còn còn nếu không nhận thì nó đã return 0 . Và đoạn chương trình vào void main (void) được viết nlỗi sau :
while(true) LED = 0x00; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED; LED = 0x55; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED; LED = 0x0F; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED;
- Giải mê say đoạn công tác trên nhỏng sau : Mỗi cảm giác LED thông thường chúng ta sẽ mang lại nó chạy đôi mươi lần giả dụ nlỗi họ nút dấn nó sẽ lặp tức thoát ra khỏi chương trình đã xúc tiến cùng nhẩy vào lịch trình tiếp sau !- Ảnh tế bào bỏng protues.
*

#include #include #use delay(clock=800000)#fuses HS,NOWDT#byte portb=0x06#define LED portbint kiemtra;#bit kiểm tra = kiemtra.0unsigned char i;unsigned char KiemTraPhim() unsigned char i; for(i=0;i delay_ms(10); if(input(pin_a0)==0) if(kiểm tra == 0) check = 1; return 1; else check = 0; return 0;void main(void) trisa = 0xff; TRISB = 0X00; while(true) LED = 0x00; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED; LED = 0x55; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED; LED = 0x0F; for(i=0;i if(KiemTraPhim()) break; delay_ms(1000); LED = ~LED;
*

October 16, năm 2016 at 6:08 AMdelete

Anh cho em hỏi sao đề nghị quét chất vấn phím sử dụng vòng for cho tới 50 lần vậy ạ .

Reply

Xem thêm: 5 Loài Quái Vật Đáng Sợ Và Ám Ảnh Nhất Trong Các Truyền Thuyết Đô Thị

*

October 16, 2016 at 6:37 AMdelete

Đó là thời gian quan trọng nhằm nó soát sổ nút ít dấn của họ ak ? ví như nkhô cứng quá thì cũng không được nhưng mà quá lâu thì cũng không được !