View Single Post
Old 17-08-2012, 01:53 AM   #1
apolis89
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

}
}
}
apolis89 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn