![]() |
ban có thể dùng cách này để chống nhiễu và chống dội
int1 key1Test() { if(input(key1)==0) { delay_ms(30); if(input(key1)==0) { delay_ms(300); return 1; } else return 0; } return 0; } ở đây mình dung CCS. bạn có thể viết lại bằng HTC |
1 Attachment(s)
#include <16f877a.h> //PIC utilizado
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP #use delay(clock=20000000) #include <lcdd.c> #define use_portb_kbd TRUE #INCLUDE "kbdd.c" int8 k; void main() { port_b_pullups(TRUE); lcd_init(); kbd_init(); while(1) { k=kbd_getc(); if (k!=0) { lcd_putc(k); } } } cái code này đơn giản viết bằng ccs c. thay hai thư viên lcdd.c == lcd.c và kbdd.c == kbd.c là biên dịch được tại cái này mình viết cho 16 phím. bạn chỉ cần sửa đôi chút trong file kbd.c là có thể xài với 16 phím thân......! |
thực ra trong chíp đã có sẵn phần smith triger rồi các bạn cũng không cần phải tạo delay làm gi.
|
Cậu ơi tui k dùng Hi tech mà dùng ccs thi chỗ cậu lệnh ANSEL = ANSELH=0; viết thay thế như thế nào. cậu giúp tui với nha.
|
Trích:
|
Múi giờ GMT. Hiện tại là 02:59 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam