欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機中右移指令先后區別
[打印本頁]
作者:
淡定的牙粉
時間:
2015-4-8 18:21
標題:
51單片機中右移指令先后區別
這是我的關于紅外線接收的程序,其中某一行為什么是這樣,我已用中文標注在下面
#include<reg52.h>
#define uchar unsigned char
sbit ir=P3^2;
sbit FM=P2^3;
uchar num,flag,receive,bite;
uchar irdate[33];
void hwtx_init()
{
TMOD&=0x0f;
TMOD|=0x20;
TH1=0;
TL1=0;
EA=1;
ET1=1;
TR1=1;
EX0=1;
IT0=1;
}
void hwtx_work()
{
uchar i,j,k,value;
uchar irrecorde[4];
k=1;
for(i=0;i<4;i++)
{
value=0;
for(j=0;j<8;j++)
{
value=value>>1 // 一定要在if語句前面,如果放在if語句后面的話,肯定出錯, 為什么
if(irdate[k]>6) value|=0x80;
k++;
}
irrecorde
=value;
}
switch(irrecorde[2])
{
case 0x46:FM=0;break;
case 0x45:FM=0;break;
case 0x47:FM=0;break;
case 0x43:FM=0;break;
default:FM=1;
}
}
void hwtx_recive()
{
if(receive)
{
receive=0;
hwtx_work();
}
}
void main()
{
hwtx_init();
while(1)
{
hwtx_recive();
}
}
void fun1() interrupt 0
{
if(flag)
{
if(num>32&&num<63) bite=0;
irdate[bite]=num;
num=0;
bite++;
if(bite==33)
{
bite=0;
receive=1;
}
}
else
{
flag=1;
num=0;
}
}
void fun2() interrupt 3
{
num++;
}
作者:
零子豐1
時間:
2015-4-9 16:37
void Ircordpro(void)//紅外碼值處理函數
{
unsigned char i, j, k;
unsigned char cord,value;
k=1;
for(i=0;i<4;i++) //處理4個字節
{
for(j=1;j<=8;j++) //處理1個字節8位
{
cord=irdata[k];
if(cord>7)
value|=0x80;
if(j<8)
{
value>>=1;
}
k++;
}
IRcord
=value;
value=0;
}
irpro_ok=1;//處理完畢標志位置1
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1