紅外遙控接收;=================================================;; zsMCU51實驗板配套學習例程;; 中山單片機學習網 智佳科技;; 作者:逸風 QQ:105558851;; http://www.zsmcu.com; E-mail:info@zsmcu.com;=================================================ORG 0000HLJMP START;轉入主程序ORG 0010HSTART:MAIN:JNB P2.2,IRLJMP MAIN;以下為進入P3.2腳外部中斷子程序,也就是解碼程序IR:MOV R6,#9SB:ACALL DELAY882 ;調用882微秒延時子程序JB P2.2,EXIT ;延時882微秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序DJNZ R6, SB ;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序;以上完成對遙控信號的9000微秒的初始低電平信號的識別。JNB P2.2, $ ;等待高電平避開9毫秒低電平引導脈沖ACALL DELAY2400JNB P2.2,IR_Rp ;ACALL DELAY2400 ;延時4.74毫秒避開4.5毫秒的結果碼MOV R1,#1AH ;設定1AH為起始RAM區MOV R2,#4PP:MOV R3,#8JJJJ:JNB P2.2,$ ;等待地址碼第一位的高電平信號LCALL DELAY882 ;高電平開始后用882微秒的時間尺去判斷信號此時的高低電平狀態MOV C,P2.2 ;將P3.2引腳此時的電平狀態0或1存入C中 JNC UUU ;如果為0就跳轉到UUULCALL DELAY1000UUU:MOV A,@R1 ;將R1中地址的給ARRC A ;將C中的值0或1移入A中的最低位MOV @R1,A ;將A中的數暫時存放在R1中DJNZ R3,JJJJ ;接收地址碼的高8位INC R1 ;對R1中的值加1,換下一個RAMDJNZ R2,PP ;接收完16位地址碼和8位數據碼和8位數據,存放在1AH/1BH/1CH/1DH的RAM中MOV P1,1DH ;將按鍵的鍵值通過P1口的8個LED顯示出來!CLR P2.3 ;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功LCALL DELAY2400LCALL DELAY2400LCALL DELAY2400SETB P2.3;蜂鳴器停止LJMP MAINIR_Rp:LJMP MAINEXIT:LJMP MAIN ;退出解碼子程序;=============================882DELAY882: ;1.085x ((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET;=============================1000DELAY1000: ;1.085x ((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET;=============================2400
上傳時間: 2013-11-01
上傳用戶:2525775
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
AD接收UART發送模塊
上傳時間: 2013-10-28
上傳用戶:zhang_yi
帶解碼四路無線遙控接收模塊
上傳時間: 2013-11-13
上傳用戶:小眼睛LSL
光纖收發模塊接收部分原理
上傳時間: 2013-11-20
上傳用戶:yimoney
在擴頻通信中,Rake接收是抵抗多徑衰落的有效方法。本文首先介紹無線移動通信的信道特性,然后對Rake接收的基本原理和接收機結構進行詳細描述,并對Rake接收性能進行了仿真比較。仿真結果表明,在多徑信道條件下,Rake接收方式能很好的改善接收系統誤碼性能;采用GOLD序列擴頻比m序列擴頻方式時,Rake接收方法性能提高的更明顯。
上傳時間: 2013-11-16
上傳用戶:whenfly
本文介紹了一種由低次級聯形式構成的W波段寬帶六倍頻器。輸入信號先經過MMIC得到二倍頻,再由反向并聯二極管對平衡結構實現寬帶三倍頻,從而將Ku波段信號六倍頻到W波段。該倍頻器的輸入端口為玻璃絕緣子同軸轉換接頭,輸出為 WR-10 標準矩形波導結構。仿真結果表明當輸入信號功率為20dBm時,三倍頻器在整個W波段的輸出三次諧波功率為4.5dBm左右,變頻損耗小于17dB。該設計可以降低毫米波設備的主振頻率,擴展已有微波信號源的工作頻段。
上傳時間: 2013-11-16
上傳用戶:qingzhuhu
由于電子對抗技術的飛速發展,低頻段電子干擾設備已經非常完善,低頻段主動雷達的工作效能相應地大幅度降低。為了提高雷達系統的抗干擾能力,通過對國內外雷達技術發展趨勢的研究,以及影響雷達系統抗干擾能力主要因素的分析,說明了采用更高頻段的雷達導引頭技術發展的重要性。以W波段雷達導引頭技術發展及應用為前提,對其中需要解決的關鍵技術進行了分解,論述了W波段雷達導引頭的基本實現方案、關鍵技術解決途徑,得出W波段雷達導引頭技術發展具有策略上的必要性和技術上的可行性的結論。
上傳時間: 2013-12-04
上傳用戶:mikesering
51單片機的nRF905無線發射接收程序
上傳時間: 2013-10-23
上傳用戶:oooool
隨著數字電視機頂盒接收節目的增加,條件接收顯得越來越重要,但是在實際情況下,一個發射塔會供給許多區域接收節目,而具體的區域應有具體的區域限制,智能卡也應有區域性的選擇解擾。本文提出了一種在NIT表中添加描述子以確定具體區域,解擾該區域特定節目的方法,實際應用證明,該方法操作簡單,修改容易,實用性較強。
上傳時間: 2013-12-18
上傳用戶:JIMMYCB001