|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
17-08-2012, 01:53 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Aug 2012
Bài gửi: 1
: |
Dùng Pic 16F877A thay cho bàn phím
Em đang làm một bảng mạch với tác dụng như sau :
- Nhấn phím 1 delay 200 - Nhấn phím 2 delay 200 - Nhấn phím 3 delay 200 sau 40 lượt thì nhấn phím P. Em dùng con Pic 16F877A để thực hiện thao tác đóng mở mạch trên vi mạch gốc của 1 cái bàn phím. Nhưng sau khi làm em thấy hệ thống dây dợ lằng nhằng quá. Bây giờ em muốn dùng trực tiếp con Pic 16F877A để thực hiện việc kia mà không cần qua bo mạch của bàn phím. Lúc này Pic sẽ xuất dữ liệu như 1 bàn phím vậy Liệu có làm được không ạ, nếu có thì mấy bác hỗ trợ em với chứ em gà lắm, đang bắt đầu học và tìm hiểu về Pic CODE hiện tại em dùng để các bác dễ hình dung ah: #include <16F887.h> #fuses HS #use delay(clock=20M) int8 value; void main() { output_D(0); value=0; while(true) { IF(value<40) { /////////////////////// Phim 1 output_high(Pin_D4); delay_ms(200); output_low(Pin_D4); delay_ms(200); output_high(Pin_D4); delay_ms(200); output_low(Pin_D4); delay_ms(200); output_high(Pin_D4); delay_ms(200); output_low(Pin_D4); ////////////////////// Phim 2 delay_ms(200); output_high(Pin_D5); delay_ms(200); output_low(Pin_D5); delay_ms(200); output_high(Pin_D5); delay_ms(200); output_low(Pin_D5); delay_ms(200); output_high(Pin_D5); delay_ms(200); output_low(Pin_D5); delay_ms(200); ////////////////////// value=value+1; /// Tang bien dem len 1 } else { output_high(Pin_D7); /// Bam P delay_ms(500); /// output_low(Pin_D7); /// delay_ms(500); output_high(Pin_D7); delay_ms(500); output_low(Pin_D7); delay_ms(500); output_high(Pin_D7); delay_ms(500); output_low(Pin_D7); /// delay_ms(500); value=0; /// Reset bien dem delay_ms(17000); /// Thoi gian cho van khi } } } |
Ðiều Chỉnh | |
Xếp Bài | |
|
|