![]() |
|
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 |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2010
Bài gửi: 6
: |
giai ma remote tv sony
Cac anh oi giup e voi.
e lam de tai ve giai ma remote tv sony day la doan code cua e: #include <16F877.h> #fuses HS, NOWDT, NOLVP, NOBROWNOUT, NOPROTECT, NOPUT #use delay(clock=12000000) #include <ctype.h> #use Fast_IO(B) #use Fast_IO(D) #byte portB=6 #byte portd=8 #define tinhieu input(PIN_B0) int16 ccp1; #locate ccp1=15 int i,tinhieuluu; void xuat (int16 x); void xulydulieu (); void main() { set_tris_d(0); set_tris_b(1); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); while(1) { xulydulieu(); xuat(ccp1); } } #INT_EXT void xulydulieu() { int8 i; i=1; while(input(PIN_B0)) { delay_us(200); i++; } if((i>7)||(i<9)) { for(i=0;i<11;i++) { while(input(PIN_B0)); { delay_us(800); tinhieuluu=input(PIN_B0); ccp1<<=1; if (tinhieuluu) { bit_set(ccp1,0); while(!input(PIN_B0)); } else bit_clear(ccp1,0); } } } else output_d(63); } void xuat (int16 dat) { if(dat==8)// vi thanh ghi ccp1 luc nay co gia tri la 00000001000=8 output_d(6);// kenh 1 else if(dat==1032)// vi thanh ghi ccp1 luc nay co gia tri la 10000001000=8 output_d(91);//kenh 2 else if(ccp1==520)// vi thanh ghi ccp1 luc nay co gia tri la 01000001000=8 output_d(79);// kenh 3 else if(ccp1==1544)// vi thanh ghi ccp1 luc nay co gia tri la 11000001000=8 output_d(102);// kenh 4 else if(ccp1==264)// vi thanh ghi ccp1 luc nay co gia tri la 00100001000=8 output_d(109);// kenh5 else if(ccp1==1288)// vi thanh ghi ccp1 luc nay co gia tri la 10100001000=8 output_d(125);// kenh 6 else if(ccp1==776)// vi thanh ghi ccp1 luc nay co gia tri la 01100001000=8 output_d(7);//kenh 7 else if(ccp1==1800)// vi thanh ghi ccp1 luc nay co gia tri la 11100001000=8 output_d(127);// kenh 8 else if(ccp1==136)// vi thanh ghi ccp1 luc nay co gia tri la 00010001000=8 output_d(111);// kenh 9 else if(ccp1==1160)// vi thanh ghi ccp1 luc nay co gia tri la 10010001000=8 output_d(63); // kenh 0 else if(ccp1==1134)// vi thanh ghi ccp1 luc nay co gia tri la 10101001000=8 output_d(0);// power } e để tín hiệu vào ở chân Rb0. bây giờ e muốn thiết lập ngắt cho chân RB0 thi phải làm sao ha mấy anh. vì theo e biết chân RB0 là chân ngắt khi co sự thay đổi xung, nhưng mà e không biết set up nó nhu the nao het. mong cac` anh giup voi |
![]() |
![]() |
![]() |
|
|