?? timer.c
字號:
#include "config.h"
sbit IR_Line = P3^7;
sbit KEY = P1^1;
bit REC_IR_STA=0;
unsigned int IR_cnt=0;
uchar Rev_IR_DAT[60];
uchar Rev_Byte= 0;
uchar Rev_bit = 0;
bit Rev_OK = 0;
bit Rcv_Flag=0;
uchar Rcv_cnt_Flag=0;
uchar Rcv_cnt=0;
uchar IR_Key=0;
void init_timer0(void) //初始化
{
TMOD &= 0XF0;
TMOD |= 0X1;
TL0 = 0x80;
TH0 = 0xFF;
TR0 = 1;
PT0 = 1;
ET0 = 1;
IR_Line=1;
EA = 1;
}
void timer_isr() interrupt 1 //中斷函數
{
DISABLE;
if(IR_Line==REC_IR_STA)
{
IR_cnt++;
if(IR_cnt>200)
IR_cnt=200;
}
else
{
REC_IR_STA=IR_Line;
// if((IR_cnt>2)&&(IR_cnt<0x0d))
// {
Rev_IR_DAT[Rev_bit] = IR_cnt;
Rev_bit++;
/*
Rev_IR_DAT[Rev_Byte]<<=1;
if(IR_cnt>7)
Rev_IR_DAT[Rev_Byte]|=1;
if(Rev_bit==8)
{
Rev_bit=0;
Rev_Byte++;
}
if((Rev_Byte==2)&&(Rev_bit==5))
{
Rcv_Flag=1;
Rcv_cnt_Flag=0;
}
*/
// }
// else
// {
// Rev_Byte =0;
// Rev_bit =0;
// }
/*
if(Rcv_Flag)
{
Rcv_cnt_Flag++;
if(Rcv_cnt_Flag==3)
{
Rcv_cnt_Flag=0;
Rcv_Flag=0;
Rcv_cnt++;
if(Rcv_cnt==2)
{
Rcv_cnt=0;
Rev_OK=1;
Rev_Byte =0;
Rev_bit =0;
if((Rev_IR_DAT[1]==0x00)&&(Rev_IR_DAT[2]==0x80))
IR_Key=1;
else if((Rev_IR_DAT[1]==0x00)&&(Rev_IR_DAT[2]==0x83))
IR_Key=2;
else if((Rev_IR_DAT[1]==0x00)&&(Rev_IR_DAT[2]==0x02))
IR_Key=3;
}
}
}
*/
// {
// Rev_IR_DAT[Rev_Byte]=0xFF;
// Rev_Byte++;
if(Rev_bit>59)
{
Rev_OK=1;
Rev_bit=0;
}
// }
IR_cnt=0;
}
TL0 = 0x80;
TH0 = 0xFF;
ENABLE;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -