欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
關(guān)于51單片機(jī)紅外接收高速解碼問題
[打印本頁]
作者:
kiki900330
時(shí)間:
2019-9-25 16:10
標(biāo)題:
關(guān)于51單片機(jī)紅外接收高速解碼問題
本帖最后由 kiki900330 于 2019-9-25 16:17 編輯
/*****紅外接收中斷*****/
使用24MHz晶振,單片機(jī)STC8A4KS2A12
條件:
1;100ms為1幀的紅外脈沖,1幀總共有5個(gè)脈沖,1個(gè)脈沖持續(xù)20uS,用下降沿捕獲
2;第1個(gè)下降沿與第2個(gè)下降沿之間寬度記為a,第2個(gè)下降沿與第3個(gè)下降沿之間寬度記為b,第3個(gè)下降沿與第4個(gè)
下降沿之間寬度記為c,現(xiàn)在要求只判斷a與b之間的關(guān)系
3;任何時(shí)候,a<=b,a=50uS,并且b最大不超過100uS,b=50uS到b=100uS兩者之間變化
問題:
如下,我不知道程序哪里出問題了,LED指示燈沒有變化(示波器測(cè)量到只有一種狀態(tài))
判斷程序:
void PCA_Isr() interrupt 7
{
if(CF)
{
CF=0;
cnt++; //PCA計(jì)時(shí)溢出次數(shù)+1
}
if(CCF1)
{
CCF1=0;
count0=count1; //備份上一次的捕獲值
((unsigned char*)&count1)[3]=CCAP0L;
((unsigned char*)&count1)[2]=CCAP0H;
((unsigned char*)&count1)[1]=cnt;
((unsigned char*)&count1)[0]=0;
}
switch(a)
{
case 2:if(count1>count0+count0/2) //判斷a和b的關(guān)系
{
LED=0;
}
else
{
LED=1;
}break;
case 4:count1=count0=a=b=0;break; //每一幀接收完成后,所有中間變量初始化
default:break;
}
a++;
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1