




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、*用單片機(jī)代替PT2272解碼PT2262的程序*晶振: 12MHz*接收到的信號(hào)為發(fā)送信號(hào)的反碼因?yàn)槊繖z測(cè)到按鍵有效一次 PT2262 都發(fā)送四 次編碼我們可以 利用這一特點(diǎn)來解碼先檢測(cè)有沒有接收到信息當(dāng)有的時(shí)候我們就去掉第一次編 碼的信號(hào)檢測(cè) 5ms 的高電平來檢測(cè)編碼的開始信號(hào)接收到 5ms 的高電平后才開始解碼我們可以發(fā)現(xiàn) 每個(gè)碼的長(zhǎng)度都是 1.2ms左右每一個(gè)編碼都是由低電平開始然后到高電平又到低電平又回到高電平我們 從第一個(gè)高電平的寬度可以把 1 碼區(qū)分出來剩下的懸空碼和 0 碼可以從第二個(gè)高電平的寬度區(qū) 分出來 具體的單片機(jī)譯碼方法如下 由高電平開始檢測(cè)到下降沿時(shí)就延時(shí) 300u
2、s 讀取接收的狀態(tài)記為 A0 然后再檢 測(cè)下一個(gè)下降沿 降沿后又延時(shí) 300us 讀取接收的狀態(tài)記為 A1 這樣就把一個(gè)編碼給譯出來了A0 A1 和懸空 1 碼 0 碼的關(guān)系如下 :A0 A1 代碼0 0 1 碼0 1 錯(cuò)誤1 0 懸空1 1 0 碼* i nclude #define uchar unsigned char #define uint unsigned int/ 定義共用體unionuint word;struct / 結(jié)構(gòu) bytes uchar byte_addr;uchar byte_data; bytes;a_0,a_1;/ 位定義sbit W_REM =P3A3; /
3、遙控接收輸入腳 sbit LEDO =P1A0;sbit LED2 =PM2;bit bdata recv_flg, / 接收正確位標(biāo)志 (1: 正確 O: 錯(cuò)誤 )/因?yàn)楫?dāng)按住PT2262的按鍵不放的時(shí)候PT2262會(huì)把編碼不斷的送出/ 設(shè)置 lianji_flg 位用來檢測(cè)按鍵有沒有放開過如果沒有放開則不再響應(yīng) lianji_flg; / 按鍵沒有放開過標(biāo)志 (1: 連接 O: 點(diǎn)擊) uchar TOC o 1-5 h z / addr_aO, /接收的8 位地址編碼AO/ addr_a1, /接收的8 位地址編碼A1/ data_aO, /接收的4 位數(shù)據(jù)編碼AO/ data_a1,
4、/接收的4 位數(shù)據(jù)編碼A1addr_user_aO, / 設(shè)定的 8 位地址密碼 AO addr_user_a1; / 設(shè)定的 8 位地址密碼 A1/ led_out; / 輸出控制/ subfuncton/ subfuncton/ subfuncton/ subfuncton/ subfuncton / /void d1ms (uint ljh_in)/*1mS 延時(shí)函數(shù) */ uint data ljh_i;/ uchar data ljh_j;/ for(ljh_i=O;ljh_iljh_in;ljh_i+)/ for(ljh_j=O;ljh_j1O8;ljh_j+)/ _nop_();
5、 _nop_();/ _nop_(); _nop_();/ _nop_(); _nop_();/ / /- - void d50us(uchar n) /50uS延時(shí)uchar data i,j;for(j=n;j;j-) /1T+2T+(2i+2)T+1T+2T*n+1T+2T+2T=(2i+8)*n+5Tfor(i=21;i;i-) ;/延時(shí) 2T+2T*i=(2i+2)T/- PT2272_deco() / 解碼uchar i,cnt;if(recv_flg) ;else / 清除上次解碼內(nèi)容cnt =12; / 接收 12 位編碼/ 解碼/先找出接收碼的開頭即5ms左右的高電平 / 設(shè)
6、置高電平時(shí)間為 46ms/檢測(cè)和等待4ms的高電平 for(i=80;i;i-) /延時(shí) 4mSif(!W_REM) i=80;else d50us(1);/等待在2ms內(nèi)接收到的低電平for(i=40;i;i-) /延時(shí) 4mS if(!W_REM) break; else d50us(1);/4ms到6ms內(nèi)接收到下降沿則跳去解碼否則返回 /超出6ms接收錯(cuò)誤返回if(i) recv_flg =0; / 清按鍵沒有放開過標(biāo)志 goto PT2272_deco_exit; / 返回 / 等待 300us 后采集接收信號(hào) d50us(6);/ 采集接收信號(hào)并記錄 a_0.word=a_1.wo
7、rd=0; for(i=0;i6;i+) if(W_REM) a_0.word |=0 x01;a_0.word =1;/ MOV C,W_REM /讀 A0 數(shù)據(jù)/ MOV A,DATA_A0/ RLC A/ MOV DATA_A0,A / 保存相應(yīng)位的 A0/ MOV A,ADD_A0/ RLC A/ MOV ADD_A0,A / 高位轉(zhuǎn)移/ 等待第二個(gè)下降沿 while(!W_REM) ; while(W_REM) ;/ JNB W_REM,$/ JB W_REM,$/ 等待 300us 后采集接收信號(hào) d50us(6);/ MOV 40H,#150 /2T/ DJNZ 40H,$ /2
8、T延時(shí) :2T+2T*150=302Tif(W_REM) a_1.word |=0 x01;a_1.word =1;/ MOV C,W_REM /讀 A1 數(shù)據(jù)/ MOV A,DATA_A1/ RLC A/ MOV DATA_A1,A / 保存相應(yīng)位的 A1/ MOV A,ADD_A1/ RLC A/ MOV ADD_A1,A / 高位轉(zhuǎn)移/ 等待第二個(gè)碼值的下降沿 while(!W_REM) ; /_wd_ while(W_REM) LED2=LED2;/ JNB W_REM,$/ JB W_REM,$/ DJNZ 34H,REMOTE6 / 接收 12 位編碼 / 把接收的編碼左移 4 位
9、將 8 位密碼放在同一字節(jié)上a_0.word =4;a_1.word =4;/ MOV 40H,#4 /REMOTE7: / CLR C / MOV A,DATA_A0/ RLC A / 送出低 8 位的 bit7/ MOV DATA_A0,A / 低 8 位的 AO 左移 1 位/ MOV A,ADD_A0/ RLC A / 接收低 8 位的 bit7/ MOV ADD_A0,A / 高 8 位的 A0左移 1 位/ CLR C/ MOV A,DATA_A1/ RLC A / 送出低 8 位的 bit7/ MOV DATA_A1,A / 低 8 位的 A1 左移 1 位/ MOV A,ADD
10、_A1/ RLC A / 接收低 8 位的 bit7/ MOV ADD_A1,A / 高 8 位的 A1 左移 1 位/ DJNZ 40H,REMOTE7 / 左移 4位/ / 把 4 位數(shù)據(jù)編碼由高 4 位移到低 4 位上/ MOV A,DATA_A0/ SWAP A/ MOV DATA_A0,A /把4位數(shù)據(jù)編碼A0由高4位移到低4位/ MOV A,DATA_A1/ SWAP A/ MOV DATA_A1,A / 把 4 位數(shù)據(jù)編碼 A1 由高 4 位移到低 4 位/ 比較密碼if(a_0.bytes.byte_addr=addr_user_a0)&(a_1.bytes.byte_addr
11、=addr_us er_a1) recv_flg =1;lianji_flg =1; else recv_flg =0;lianji_flg =0;/ MOV A,ADD_A0/ XRL A,ADD_USER_A0/ JNZ REMOTE8 / 密碼不正確則跳轉(zhuǎn) / MOV A,ADD_A1/ XRL A,ADD_USER_A1/ JNZ REMOTE8 / 密碼不正確則跳轉(zhuǎn) / / 置接收正確位/ SETB RECEIVE/ /置ENABLE用于檢測(cè)按鍵有沒有放開 / SETB ENABLE/ RET / 接收正確返回 /REMOTE8:/ CLR ENABLE/ CLR RECEIVE/
12、RET / 接收不正確返回 PT2272_deco_exit: return;/- - void remote_2272_deco() / 接收遙控碼 ( 解碼程序 )uint i;/檢測(cè)50ms內(nèi)有沒有編碼接收for(i=1000;i;i-) if(!W_REM) PT2272_deco(); / 解碼break;else d50us(1); /50uS 延時(shí)recv_flg =0; / 清按鍵沒有放開過標(biāo)志/- - void work()/控制輸出/把選中的LED取反if(recv_flg) / 接收不正確 , 退出 recv_flg=0; / 清接收正確標(biāo)志位 a_0.bytes.byt
13、e_data =a_0.bytes.byte_data;P1 =PMa_O.bytes.byte_data;/WORK:/ JNB RECEIVE,WORK_END /接/ 收不正確 , 退出/ / 每次按鍵都一次響應(yīng)/ CLR RECEIVE / 清接收正確標(biāo)志位/ MOV A,DATA_A1/ CPL A/ ORL A,#OFH / 屏蔽低 4 位/ MOV DATA_A1,A/ MOV A,LCD_OUT/ XRL A,DATA_A1/ ORL A,#OFH/ MOV LCD_OUT,A/ MOV P1,LCD_OUT/ NOP/WORK_END:/ RET/ END /- -/ = main function/ = main function/ = main function/ = main function/ = main function/ = main function void main (void)/ 上電初始化+ P1 =0 xff;P3 =0 x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度家居建材配送承包服務(wù)協(xié)議
- 2025年度智能設(shè)備租賃合同中發(fā)票開具、技術(shù)支持及維護(hù)服務(wù)的約定
- 2025年度校地合作框架協(xié)議-現(xiàn)代服務(wù)業(yè)合作開發(fā)合同
- 二零二五年度股東借款給公司長(zhǎng)期投資及收益共享協(xié)議
- 二零二五年度業(yè)主委托物業(yè)公共區(qū)域清潔維護(hù)合同
- 二零二五年度醫(yī)療機(jī)構(gòu)崗位聘用協(xié)議書(臨床醫(yī)學(xué)專業(yè))
- 2025年度新能源項(xiàng)目墊資合作協(xié)議
- 2025年度無財(cái)產(chǎn)分割協(xié)議及離婚后共同財(cái)產(chǎn)管理協(xié)議
- 二零二五年度新型商業(yè)綜合體門面租賃服務(wù)合同
- 2025年度輔導(dǎo)班知識(shí)產(chǎn)權(quán)與品牌使用權(quán)轉(zhuǎn)讓合同
- 畢業(yè)設(shè)計(jì)工程造價(jià)預(yù)算書
- 英語(yǔ)七年級(jí)下冊(cè)u(píng)1-u8 2b翻譯
- 《大學(xué)英語(yǔ)教學(xué)大綱詞匯表》(1~4級(jí),5~6級(jí))
- 2022年在戲劇家協(xié)會(huì)會(huì)員大會(huì)上的講話
- DB11-T1630-2019城市綜合管廊工程施工及質(zhì)量驗(yàn)收規(guī)范
- 茂名市2008-2016年土地增值稅工程造價(jià)核定扣除標(biāo)準(zhǔn)
- 部編版語(yǔ)文九年級(jí)下冊(cè)《棗兒》公開課一等獎(jiǎng)教案
- L阿拉伯糖與排毒課件
- 《現(xiàn)代交換原理》期末考試試習(xí)題和答案(免費(fèi))
- 手機(jī)開發(fā)流程圖
- 隊(duì)列隊(duì)形比賽評(píng)分標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論