<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機-紅外遙控解碼

51單片機-紅外遙控解碼

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏
這段代碼仍然有問(wèn)題,正在調試中,路過(guò)的大牛希望給與指導:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint irtime,startflag,i,bitnum,decodeok,receiveok;
uchar irdata[33],disp[8],vcode[4];
unsigned char code duan[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char code wei[]={ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
void delay(int k){
int i,j;
for(i = 0; i < k; i++)
for(j = 0; j < 0xff; j++)
;
}
void Time0_Init(){
EA = 1;
ET0 = 1;
TH0 = 0x00;
TL0 = 0x00;
TMOD = 0x02;
TR0 = 1;
}
void Int0_Init(){
EA = 1;
IT0 = 1;
EX0 = 1;
}
void Irpro(){
disp[0] = vcode[0] / 16; //把十六進(jìn)制的數轉化成兩位顯示
disp[1] = vcode[0] % 16;
disp[2] = vcode[1] / 16;
disp[3] = vcode[1] % 16;
disp[4] = vcode[2] / 16;
disp[5] = vcode[2] % 16;
disp[6] = vcode[3] / 16;
disp[7] = vcode[3] % 16;
}
void display(){
for(i = 0; i < 8; i++){
P1 = wei[ i];
P2 = duan[disp[ i]];
delay(1);
}
}
void decode(){
uint k,i,j;
uchar value;
j = 1;
for(k = 0; k < 4; k++){
value = 0;
for(i = 0; i < 8; i++){
if(irdata[j]>6) //如果大于6個(gè)irtime是高電平
value |= 0x01 << i; j++;
}
vcode[k] = value;
}
decodeok = 1;
}
void main(){
Time0_Init(); //對定時(shí)器中斷進(jìn)行初始化
Int0_Init(); //對下降沿中斷進(jìn)行初始化
while(1){
if(receiveok == 1){ //如果接受成功進(jìn)行解碼
receiveok = 0;
decode();
}
if(decodeok == 1){ //如果解碼成功,轉換一下格式準備顯示
decodeok = 0;
Irpro();
}
display();
}
}
void time0() interrupt 1{ //由于是模式2,8位自動(dòng)重裝,所以一個(gè)irtime為256us
irtime++;
}
void int0() interrupt 0{
if(startflag){
if(irtime > 32){ //如果是引導信息,則bitnum清零
bitnum = 0;
}
irdata[bitnum] = irtime; //裝載數據,包括1位引導位,16位用戶(hù)碼,8位數據碼和8位數據碼反碼
irtime = 0;
bitnum++;
if(bitnum == 33){ //裝載數據完成
bitnum = 0;
receiveok = 1;
}
}
else{
startflag = 1; //遇到第一個(gè)下降沿讓irtime為0,遇到第二個(gè)時(shí)計算用了多少個(gè)irtime
irtime = 0;
}
}
上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 51單片機紅外遙控解

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>