【正文】
ol=keyvol+1。break。 case 14:keyvol=keyvol+1。break。 case 13:keyvol=keyvol+1。break。 case 12:keyvol=keyvol+1。break。 case 11:keyvol=keyvol+1。break。 case 10:keyvol=keyvol+1。break。 case 9:keyvol=keyvol+1。break。 case 8:keyvol=keyvol+1。break。 case 7:keyvol=keyvol+1。break。 case 6:keyvol=keyvol+1。break。 case 5:keyvol=keyvol+1。break。 case 4:keyvol=keyvol+1。break。 case 3:keyvol=keyvol+1。break。 case 2:keyvol=keyvol+1。break。 case 1:keyvol=keyvol+1。break。 case 0:keyvol=keyvol+1。}//tx(){switch(keyvol)//40KHZ發(fā)1毫秒TR1=0。delay1ms(1)。 ET1=1。 //停1毫秒 delay1ms(1)。 {m0。remoteout=0。ET1=0。TR1=1。EA=1。TMOD=0x22。 //關(guān)遙控輸出IE=0x00。 。j++) for(j=0。i++)///////*********1毫秒延時程序**********/delay1ms(uint t){for(i=0。 //鍵值存放uchar // 遙控輸出口////uint i,j,m,n,k,s。 //鍵行線//sbit延時函數(shù)用//define uchar unsigned chardefine uint unsigned intdefine key0 P0 LRM // 以下是遙控器及接收系統(tǒng)單片機控制C源程序清單:/*********************************************************************///本單片機遙控編碼及解碼方案適合一切需要應用到遙控的電器系統(tǒng),是自行設(shè)計帶遙控功能的控制系統(tǒng)首選理想方案。 性能指標調(diào)試后系統(tǒng)性能指標測試如下:: 10米:水平最大90度: 8 mA: 調(diào)試系統(tǒng)在完成硬件的檢查后主要進行軟件的調(diào)試,另外調(diào)整發(fā)射電阻的大小可以改變紅外線發(fā)射的作用距離。在數(shù)據(jù)幀接收時,將對第一位(起始位)碼的碼寬進行驗證,若第一位低電平碼的脈寬小于2mS,將作為錯誤碼處理,當間隔位的高電平脈寬大于3mS時,結(jié)束接收,然后根據(jù)累加器A中的脈沖個數(shù),執(zhí)行相應輸出口的操作。(2)遙控碼的發(fā)射當某個操作按鍵按下時,單片機先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個數(shù),再調(diào)制成40KHZ方波由紅外線發(fā)光管發(fā)射出去。最小為2個脈沖,最大為17個脈沖。,9012三極管導通,三極管集電極電流驅(qū)動光電耦合器導通,使可控硅的G極產(chǎn)生脈沖信號觸發(fā)可控硅導通;,9012三極管、光電耦合器、可控硅都處于截止狀態(tài)。也可由可控硅的導通角控制