Một thuật toán như sau : đưa tín hiệu thu được từ hồng ngoại vào chân CNx ( CN0,1,2....)
Code:
void Init_IO(); // cai I/O
void Init_timer1(); // cai dat timer
void Init_CNx(); // cai dat ngat CNx
void main()
{
Init_IO();
Init_timer1();
Init_CNx();
.......
.....
while(1)
{
// your code
................
}
}
void interruptCNx()
{
if(b1==0) chi xet neu chan nhan duoc o muc thap {Chan CNx la chan b1 chang han)
{
- tat timer1
- kiem tra timer : kiem tra thoi gian tu luc bat timer den luc tat timer ( bien dem chang han)
- neu thoi gian 100us < t < 1200us thi ket luan : da nhan bit 0
- neu thoi gian > 1200us thi ket luan : da nhan bit 1
- reset lai timer1
- bat timer1
}
xoa co ngat CNx
}
..........
..........