View Single Post
Old 12-12-2010, 01:01 PM   #1
thanhphuc15
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
thanhphuc15 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn