人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線(xiàn): 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶(hù)產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

PIC單片機(jī)的無(wú)線(xiàn)、紅外解碼程序

更新時(shí)間: 2019-03-26
閱讀量:2397

void Decoder() {unsigned char SignalW,CodeTotal; SignalW=0; do { //9+66=75us delay(20);//delay 66us SignalW++; if(SignalW>120) return; // 如果引導(dǎo)碼長(zhǎng)度超出范圍則退出程序 }while(IRin);//判斷引導(dǎo)碼是否正確 if(SignalW<60) return;//若引導(dǎo)碼長(zhǎng)度太短同樣退出程序 CodeTotal=12; //一共解碼12次,因?yàn)?/span>510412bitdo{ //delay 11+21=32us SignalW=0; do{ delay(5);//delay 21us SignalW++; 

if(SignalW>makuan) return; //如果低電平時(shí)間超過(guò)1bit的長(zhǎng)度則認(rèn)為是干擾 }while(!IRin); if(SignalW<6) return;//如果寬度低于6*32=192us,則認(rèn)為是干擾 SignalW=SignalW-fenjie;//寬度大于800US時(shí)為1,否則為0 asm("RLF _CodeBuff,F"); asm("RLF _CodeBuff+1,F");//將解得的碼移入存儲(chǔ)器 //CODE_TOTAL++; asm("CLRWDT"); SignalW=0; //對(duì)高電平進(jìn)行監(jiān)視 do{ delay(5); SignalW++; if(SignalW>makuan) break; //請(qǐng)注意,因?yàn)樽詈笠晃皇歉唠娖?。所以此出?/span>break//如果該為return的話(huà)則解碼錯(cuò)誤 }while(IRin); CodeTotal--; }while(CodeTotal); //12bit全部解完后進(jìn)行處理 

if((IRData[0]==CodeBuff[0])&&(IRData[1]==CodeBuff[1])) if(bFirstIR) //判斷是否連續(xù)2次解得同一碼 { Timer=0; bFirstIR=0; if(bHaveKey) return; asm("RLF _IRData,f"); asm("RLF _IRData+1,f"); asm("RRF _IRData,f"); IRData[0]&=0x7f; IRData[1]&=0x1b; if(IRData[1]==IRAddress) { if(IRData[0]==Key1) PortBuff^=Key1; if(IRData[0]==Key2) PortBuff^=Key2; if(IRData[0]==Key3) PortBuff^=Key3; if(IRData[0]==Key4) PortBuff^=Key4; if(IRData[0]==Key5) PortBuff^=Key5; if(IRData[0]==Key6) PortBuff=0; bHaveKey=1; } return; } bFirstIR=1; //否則保存當(dāng)前的碼值 IRData[0]=CodeBuff[0]; IRData[1]=CodeBuff[1]; }



武陟县| 色达县| 盐山县| 湘潭市| 武穴市| 夏津县| 遂平县| 青岛市| 安阳市| 禹州市| 南涧| 庆城县| 罗平县| 华坪县| 沛县| 读书| 浪卡子县| 金堂县| 永安市| 南溪县| 瑞安市| 安陆市| 汤阴县| 罗江县| 哈密市| 婺源县| 吐鲁番市| 义马市| 耒阳市| 拉萨市| 海晏县| 漳州市| 资阳市| 碌曲县| 措美县| 阿荣旗| 平乡县| 蚌埠市| 清河县| 台前县| 常德市|