導航:首頁 > 操作系統 > 單片機紅外發射與接收

單片機紅外發射與接收

發布時間:2023-03-22 23:39:35

A. 如何用單片機紅外發射頭自己發射數據,並自己接收數據,用c怎麼編寫,謝謝

跟你說說方法吧
1,用單片機的某一個你要用作紅外發射的埠(假設P0.0)產生一個38K的載波,即用定時器做一個13us的定時,每進一次定時器改變一次P0.0埠的狀態。
2,接收埠設為外部中斷,中斷一開就開始接收數據
3,自己定義一個紅外發射的協議,我是這么定義的
/**紅外發射協議:先發頭碼,再發16位地址高8位,再發低8位,再發8位數據,在發8位數據反碼,在發結束碼
***頭碼 :0.5ms高0.25ms低
***地址及數據段:2ms高0.5ms低代表1, 0.5ms高2ms低代表0
***結束碼:大約3.3ms低
***/
具體這個協議你只要你不是做成標準的模式就可以自己定義
4,接收的話你就可以根據每一次進入中斷的時間判斷當前接收的是0還是1
5,需要注意的地方時發射出去的數據和接收到的數據時相反的,即你發0xf0接收到的就是0x0f
這些希望對你有幫助

B. 單片機紅外發射接受的中斷問題

你上面畫的圖是計算接收二進制0或者返並1的一個周期時間,引導碼計算是直接計算下升沿持續時間和漏脊跡上升沿持續時間如下圖:


計算二進制1或者0的時間野談周期

C. 單片機紅外發射信號的問題(怎麼讓單片機發射一個頻率的紅外波呢能不能具體說怎麼實現啊)謝謝了

【0】看問題的意思,好像是兩個單片機電路構成的系統。
其中一個,按鍵發出指定頻率的紅外光,另一個接收紅外後根據頻率顯示鍵值。
【1】通常一體化紅外接收頭,都是固定頻率的,如常用的38KHz調制,這樣可以提高抗干擾能力,以濾掉環境的紅外光。
【2】因此紅外發射管,應按照接收頭頻率,調制發射38KHz。
【3】按鍵按下後,再次按您所述的頻率再次調制。
【4】實現方法:
a、按鍵發射機,開雙定時器。一個調制38KHz,一個根據按鍵產生對應的8種頻率。
b、按鍵發射機,8種頻率,可以預先計算8個定時器初值,放在數組ModemFreq[8]中。
c、按鍵按下後,根據鍵值i,裝載ModemFreq[i],打開兩個定時器。對38KHz方波個數計數,如16次後停發。等待下次按鍵。
d、紅外接收機,對38KHz解調輸出,利用外部中斷觸發,啟動定時器進行脈寬測量。
e、紅外接收機,用定時器對低電平的寬度測量。根據寬度換算按鍵調制頻率。
f、根據得到的頻率,顯示鍵值i。

D. 單片機紅外發射與接收電路電路搭接

紅外管的陽極接單片機,陰極對地串聯一個510歐姆電阻。
接收光電二極體的陽極接地,陰極接一個10K電阻,電阻另一段接電源5V,從陰極於電阻之間引線出來就是信號線,可以輸出高低電平。

E. 求單片機C51紅外線收發方案(最好有詳細解釋)

紅外線遙控器解碼程序
2007-02-07 18:52 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由於紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之後,在錄音機、音響設備、空凋機以及玩具等其它小型電器裝置上也紛紛採用紅外線遙控。現在工業設備中,也已經廣泛在使用。。。。。

1 紅外遙控系統
通用紅外遙控系統由發射和接收兩大部分組成,應用編/解碼專用集成電路晶元來進行控制操作,如圖1所示。發射部分包括鍵盤矩陣、編碼調制、LED紅外發送器;接收部分包括光、電轉換放大器、解調、解碼電路。
2 遙控發射器及其編碼
遙控發射器專用晶元很多,根據編碼格式可以分成脈沖寬度調制和脈沖相位調制兩大類,這里我們以運用比較廣泛,解碼比較容易的脈沖寬度調制來加以說明,現以3310組成發射電路為例說明編碼原理。當發射器按鍵按下後,即有遙控碼發出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特徵:
採用脈寬調制的串列碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的「0」;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的「1」
上述「0」和「1」組成的42位二進制碼經38kHz的載頻進行二次調制以提高發射效率,達到降低電源功耗的目的。然後再通過紅外發射二極體產生紅外線向空間發射,
3310產生的遙控編碼是連續的42位二進制碼組,其中前26位為用戶識別碼,能區別不同的紅外遙控設備,防止不同機種遙控碼互相干擾。後16位為8位的操作碼和8位的操作反碼用於核對數據是否接收准確。
當遙控器上任意一個按鍵按下超過36ms時,LC7461晶元的振盪器使晶元激活,將發射一個特定的同步碼頭,對於接收端而言就是一個9ms的低電平,和一個4.5ms的高電平,這個同步碼頭可以使程序知道從這個同步碼頭以後可以開始接收數據。
解碼的關鍵是如何識別「0」和「1」,從位的定義我們可以發現「0」、「1」均以0.56ms的低電平開始,不同的是高電平的寬度不同,「0」為0.56ms,「1」為1.68ms,所以必須根據高電平的寬度區別「0」和「1」。如果從0.56ms低電平過後,開始延時,0.56ms以後,若讀到的電平為低,說明該位為「0」,反之則為「1」,為了可靠起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為「0」,讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右即可。
根據紅外編碼的格式,程序應該等待9ms的起始碼和4.5ms的結果碼完成後才能讀碼。

接收器及解碼
LT0038是塑封一體化紅外線接收器,它是一種集紅外線接收、放大、整形於一體的集成電路,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,沒有紅外遙控信號時為高電平,收到紅外信號時為低電平,而體積和普通的塑封三極體大小一樣,它適合於各種紅外線遙控和紅外線數據傳輸。

下面是一個對51ISP編程實驗開發板配套的紅外線遙控器的解碼程序,它可以把紅外遙控器每一個按鍵的鍵值讀出來,並且通過實驗板上P1口的8個LED顯示出來,在解碼成功的同時並且能發出「嘀嘀嘀」的提示音。
ORG 0000H
AJMP MAIN;轉入主程序
ORG 0003H ;外部中斷P3.2腳INT0入口地址
AJMP INT ;轉入外部中斷服務子程序(解碼程序)
;以下為主程序進行CPU中斷方式設置
MAIN:SETB EA ;打開CPU總中斷請求
SETB IT0 ;設定INT0的觸發方式為脈沖負邊沿觸發
SETB EX0 ;打開INT0中斷請求
;以下對單片機的所有引腳進行初始化,全部設置成高電平
MOV P2,#11111111B
AJMP $
;以下為進入P3.2腳外部中斷子程序,也就是解碼程序
INT: CLR EA ;暫時關閉CPU的所有中斷請求
MOV R6,#10
SB: ACALL YS1;調用882微秒延時子程序
JB P3.2,EXIT;延時882微秒後判斷P3.2腳是否出現高電平如果有就退出解碼程序
DJNZ R6, SB;重復10次,目的是檢測在8820微秒內如果出現高電平就退出解碼程序
;以上完成對遙控信號的9000微秒的初始低電平信號的識別。
JNB P3.2, $ ;等待高電平避開9毫秒低電平引導脈沖
ACALL YS2 ;延時4.74毫秒避開4.5毫秒的結果碼
MOV R7,#26;忽略前26位系統識別碼
JJJJA:JNB P3.2,$;等待地址碼第一位的高電平信號
LCALL YS1;高電平開始後用882微秒的時間尺去判斷信號此時的高低電平狀態
MOV C,P3.2;將P3.2引腳此時的電平狀態0或1存入C中
JNC UUUA;如果為0就跳轉到UUUA
LCALL YS3;檢測到高電平1的話延時1毫秒等待脈沖高電平結束
UUUA: DJNZ R7,JJJJA
MOV R1,#1AH ;設定1AH為起始RAM區
MOV R2,#2;接收從1AH到1BH的2個內存,用於存放操作碼和操作反碼
PP: MOV R3,#8;每組數據為8位
JJJJ: JNB P3.2,$;等待地址碼第一位的高電平信號
LCALL YS1;高電平開始後用882微秒的時間尺去判斷信號此時的高低電平狀態
MOV C,P3.2;將P3.2引腳此時的電平狀態0或1存入C中
JNC UUU;如果為0就跳轉到UUU
LCALL YS3;檢測到高電平1的話延時1毫秒等待脈沖高電平結束
UUU: MOV A,@R1;將R1中地址的給A
RRC A;將C中的值0或1移入A中的最低位
MOV @R1,A;將A中的數暫時存放在R1數值的內存中
DJNZ R3,JJJJ;接收滿8位換一個內存
INC R1;對R1中的值加1,換下一個RAM
DJNZ R2,PP ;接收完8位數據碼和8位數據反碼,存放在1AH/1BH中
MOV A,1AH
CPL A;對1AH取反後和1BH比較
CJNE A,1BH,EXIT;如果不等表示接收數據發生錯誤,放棄
MOV P1,1AH;將按鍵的鍵值通過P1口的8個LED顯示出來!
CLR P2.0;蜂鳴器鳴響-嘀嘀嘀-的聲音,表示解碼成功
LCALL YS2
LCALL YS2
LCALL YS2
SETB P2.0;蜂鳴器停止(使用時可以將J2的YINYUE腳用跳線接J4 的XS1腳才可以使用蜂鳴器)可以看原理圖
EXIT: SETB EA ;允許中斷
RETI ;退出解碼子程序
YS1: MOV R4,#20 ;延時子程序1,精確延時882微秒
D1: MOV R5,#20
DJNZ R5,$
DJNZ R4,D1
RET
YS2: MOV R4,#10 ;延時子程序2,精確延時4740微秒
D2: MOV R5,#235
DJNZ R5,$
DJNZ R4,D2
RET
YS3: MOV R4,#2;延時程序3,精確延時1000微秒
D3:MOV R5,#248
DJNZ R5,$
DJNZ R4,D3
RET
END
以上程序緊供參考。

0A 01
11 12 13 14
15 16 17 18
19 10 1A 1B
0E 02 03 1C
06 04 05 0C
0D 08 09 1D
00 1F 1E 0B
07 0F
這是按照紅外遙控器按鍵的實際位置給出的32個按鍵的鍵值(16進制)

F. 單片機的紅外遙控的原理

1、發送端由單片機和紅外發光二極體組成。
單片機控制紅外發光二極體發射38KHz左右的紅外光,這個紅外光就可能起到傳遞信號的作用。你可以在你的程序中規定發射紅外線時表示二進制的一個位『1』無紅外線時表示二進制的『0』。這樣你就可以發出一系列由『1』和『0』所級成的信號。
2、接收端是由紅外接收二極體和單片機組成。
前面我們讓發射端發出信號,現在接收頭就開始收信號。

G. 單片機中紅外通信TXD和RXD怎麼使用

是這樣的,一般的紅外通信模塊使用38kHz的載頻,所以你必須提供一個38kHz的信號。
根據你的描述,可以這樣設計:555產生38kHz的載波信號;該載波信號和單片機的TXD輸出信號經過一個與門;那麼與門輸出的就是經過調制的信號;最後通過紅外二極體將此信號發射出去。
接收端就很簡單了,直接把紅外接收模塊的輸出腳接RXD即可。

H. 請問一下這個電路中的紅外發射和接收電路能否用同一塊單片機控制。

AT89S52單片AT89C2051單片機控制紅外發射和接收電路

AT89S52紅外遙控密碼鎖發射模塊電路原理圖

紅外發射模塊僅僅是一手持遙控器,由AT89C2051單片機及鍵盤電路、按鍵K及紅外發光二極體組成。發射電路原理圖如圖2所示。

發射模塊設置的密弊灶碼必須與本機接收模塊相同(設置密碼方法見2.2.1節),所設密碼保存在RAM存儲器的31H~38H單元。在待機狀態下,系統工作在空閑方式,當按鍵K按下時,系統上電工作,依次發送密碼信號。這樣做的優點是,密碼不但能跟隨主機任意改動,而且遙控開鎖時,僅按一鍵就可完成開鎖,方便了用戶

紅外接收電路的設計

紅外接收電路中使用一體化紅外接收頭TLl838接收紅外信號。TLl838集紅外接收和放大於一體,不需任何外接元件,就能完成從紅外接收到輸出與TTL電平兼容的所有工作,而體積和普通的塑封三極體大小一樣。TL1838的輸出波形如圖4所示。當接收到頻帶內的紅外信號時,TLl838會輸出低電平,否則數據高電平,從而將「時斷時續」的紅外信號解調成原來的連續方波信號。

報警電路的設計

報警電路採用了蜂鳴器發聲模擬報警,蜂鳴器接在CPU的引腳P2.1上,通過NPN型三極體做電流放大,通過單片機控制蜂鳴器的頻率及蜂鳴時間。當輸入錯誤的密碼進行開鎖時,由P2.1口輸出高電平使得NPN型三極體9014導通,蜂鳴器兩端加電,由蜂鳴器發出3s的報警咐喚聲,當連續三次出現密碼錯誤時,系統將長租簡扮時間報警,有效起到了防盜作用。

I. 基於單片機的紅外遙控收發系統的設計與實現

紅外遙控一般採用38KHz載波

閱讀全文

與單片機紅外發射與接收相關的資料

熱點內容
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:365
魔獸60宏命令大全 瀏覽:479
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:497
dbug命令 瀏覽:352