導航:首頁 > 操作系統 > 遙控器里的單片機圖片

遙控器里的單片機圖片

發布時間:2022-07-22 11:11:40

A. 用51單片機做紅外遙控器的電路圖,只要將紅外發射管上拉,然後連到單片機管腳上就行嗎

如果你的紅外發射二極體的發射電流小於20mA 可以 VCC接電阻連接到二極體的陽極,二極體陰極直接連接在單片機的IO口上。你的圖紙上用三極體驅動的那個LED 你不接限流電阻不怕燒壞了嗎?
還有你的單片機能復位嗎??

B. 用51單片機製作紅外線遙控器需要哪些元器件,電路圖怎麼畫有程序更好

一個89C51,一個三極體8050,一個紅外發射管,很容易的。

C. 這是一段51單片機的紅外遙控代碼,主要就是用了遙控器上的三個鍵。看不懂呀,求大神幫助注釋或解釋下

這就是一個紅外解碼程序,按標准來做就行了。普及一下紅外解碼知識:
採用脈寬調制的串列碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制
的"0";以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的"1,;上述"0"和
"1"組成的32位二進制碼經38kHz的載頻進行二次調制以提高發射效率,;達到降低電源功耗的
目的。然後再通過紅外發射二極體產生紅外線向空間發射,;遙控編碼是連續的32位二進制碼
組,其中前16位為用戶識別碼,能區別不同的電器設備,;防止不同機種遙控碼互相干擾。該
晶元的用戶識別碼固定為十六進制01H;後16位為8位操作碼(功能碼)及其反碼。
當一個鍵按下超過36ms,振盪器使晶元激活,將發射一組108ms的編碼脈沖,這108ms發射代碼
由一個起始碼(9ms),一個結果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼
(9ms~18ms),8位數據碼(9ms~18ms)和這8位數據的反碼(9ms~18ms)組成。如果鍵按下超
過108ms仍未松開,接下來發射的代碼(連發代碼)將僅由起始碼(9ms)和結束碼(2.5ms)
組成。
解碼的關鍵是如何識別"0"和"1",接收端而言,"0"是0.56ms的高+0.56ms的低。"1"是1.68ms
的高+0.56ms的低。所以可以根據高電平的寬度區別"0"和"1"。當高電平出現時開始延時,
0.56ms以後,若讀到的電平為低,說明該位為"0",反之則為"1",為了可靠起見,延時必須
比0.56ms長些,但又不能超過1.12ms,否則如果該位為"0",讀到的已是下一位的高電平,因此
取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。

D. 51單片機遙控器 這里有遙控器的鍵碼圖,求大神寫一個點亮led燈的常式,

//紅外一體化接收頭接P3.2外部中斷0負邊沿觸發
//採用外部中斷0因此IRIN必須使用p3.2
#include<reg51.h>
#include<intrins.h>

#defineucharunsignedchar
#defineuintunsignedint
sbitIRIN=P3^2;//紅外接收器數據線
sbitled=P1^5;//蜂鳴器驅動線
ucharkey=0;//鍵值儲存
ucharx=4;//遙控器一般為4個數據不同時修改此處
ucharIRCOM[7];
voiddelay1(intms);
voidbeep();
voiddelay(unsignedcharm)//x*0.14MS
{
unsignedinttime;
while(m--)
{
for(time=0;time<100;time++);
}
}

/*******************************************************************/
main()
{
delay1(10);//延時

IE=0x81;//允許總中斷中斷,使能INT0外部中斷
TCON=0x01;//觸發方式為脈沖負邊沿觸發
SCON=0x50;//REN=1允許串列接受狀態,串口工作模式2

while(1)
{
switch(key)
{
case0x45:led=~led;key=0;break;//鍵值0x45其他鍵值自己加
default:break;
}
}
}//endmain
/**********************************************************/
voidIR_IN()interrupt0using0
{
unsignedcharj,k,N=0;
EX0=0;
delay(15);
if(IRIN==1)//確認IR信號出現
{
EX0=1;
return;
}
while(!IRIN)delay(1);//跳過9ms的前導低電平信號,等IR變為高電平。
/***收集數據*******************************/
for(j=0;j<x;j++)//收集x組數據
{
for(k=0;k<8;k++)//每組數據有8位
{
while(IRIN);//delay(1);//等IR變為低電平,跳過4.5ms的前導高電平信號。
while(!IRIN);//delay(1);//等IR變為高電平
while(IRIN)//計算IR高電平時長
{
delay(1);
N++;
if(N>=30)
{
EX0=1;
return;
}//0.14ms計數過長自動離開。
}//高電平計數完畢

IRCOM[j]=IRCOM[j]>>1;//數據最高位補「0」
if(N>=8){IRCOM[j]=IRCOM[j]|0x80;}//數據最高位補「1」
N=0;
}//endfork
}//endforj
/***數據收集完畢*****************************/
if(IRCOM[0]=~IRCOM[1])
key=IRCOM[2];

N=0;
for(k=0;k<100;k++)//長按不使用時可屏蔽此處
{
delay(10);
if(IRIN==0)
{
k=0;N++;
if(N>60)
{
N=0;
SendString("長按");
}
}
}
SendOneByte(0x0d);SendOneByte(0x0a);
beep();
EX0=1;
}

E. 紅外遙控器控制單片機

這個問題你還是自己解決比較好,不要忘了你買單片機學習板的目的是學習,學習單片機是要多實踐的,先試著自己寫,實在寫不出來的時候在發出來問下
這里給你點建議:
電機硬體驅動做成H型橋接電路比較簡單。
遙控器如果不是自帶的,請選用彩電的或是DVD、機頂盒的,不要選用空調的做解碼,空調的編碼是隨模式的變化而變化的。

F. 遙控電子玩具里有單片機嗎單片機與電路板有什麼關系

簡單的可以沒有,一般的都有。

單片機就是一片集成電路構成的計算機,簡單的只有8腳,復雜的有64腳,尤其是專用單片機,性價比更高。

單片機是智能玩具的大腦,是電路板上的核心器件,其他外圍元器件都受單片機控制,完成各自的功能。

電子循跡小車,有單片機。

G. 電視機遙控器上有單片機嗎聽說買一塊單片機要很貴的呀為什麼一個遙控器那麼便宜

電視搖控器是專用的微處理器價格很便宜.與一般工業控制的單片機不同.一般的只需要幾元錢.

H. 家電遙控器里是單片機控制嗎,大才小用了吧

現在 很多 家用電器,都用單片機來做控制系統,少數也用專用晶元,
其實 單片機 根本不是 大才, 現在價格 也很便宜, 一元 左右的 單片機 很多。
單片機 可以 靈活應用 ,想怎麼控制 都行 ,只要編好程序 就可以了。

I. 紅外遙控器原理 遙控器原理圖

遙控器是一種用來遠控機械的裝置。現代的遙控器,主要是由集成電路電板和用來產生不同訊息的按鈕所組成。下面一起來看看紅外遙控器原理以及遙控器原理圖吧。


紅外遙控器原理


紅外線遙控系統一般由發射器和接收器兩部分組成。發射器由指令鍵、指令信號產生電路、調制電路、驅動電路及紅外線發射器組成。當指令鍵被按下時,指令信號產生電路便產生所需要的控制信號,控制指令信號經調制電路調制後,最終由驅動電路驅動紅外線發射器,發出紅外線遙控指令信號。


接收器由紅外線接收器件、前置放大電路、解調電路、指令信號檢出電路、記憶及驅動電路、執行電路組成。當紅外接收器件收到發射器的紅外指令信號時,它將紅外光信號變成電信號並送到前置放大電路進行放大,再經過解調器後,由信號檢出電路將指令信號檢出,最後由記憶電路和驅動電路驅動執行電路,實現各種操作。


控制信號一般以某些不同的特徵來區分,常用的區分指令信號的特徵是頻率和碼組特徵,即用不同的頻率或者編碼的電信號代表不同的指令信號來實現遙控。所以紅外遙控系統通常按照產生和區分控制指令信號的方式和特徵分類,常分為頻分制紅外線遙控和碼分制紅外線遙控。



1紅外遙控系統發射部分


紅外遙控發射器由鍵盤矩陣、遙控專用集成電路、驅動電路和紅外發光二極體三部分組成,結構如圖1所示。

當有鍵按下時,系統延時一段時間防止干擾,然後啟動振盪器,鍵編碼器取得鍵碼後從ROM中取得相應的指令代碼(由0和1組成的代碼),遙控器一般採用電池供電,為了節省電量和提高抗干擾能力,指令代碼都是經32~56kHz范圍內的載波調制後輸出到放大電路,驅動紅外發射管發射出940nm的紅外光。當發送結束時振盪器也關閉,系統處於低功耗休眠狀態。載波的頻率、調制頻率在不同的場合會有不同,不過家用電器多採用的是38kHz的,也就是用455kHz的振盪器經過12分頻得到的。


遙控發射器的信號是由一串0和1的二進制代碼組成的,不同的晶元對0和1的編碼有所不同,現有的紅外遙控包括兩種方式:脈沖寬度調制(PWW)和脈沖位置調制(PPM或曼徹斯特編碼)。兩種形式編碼的代表分別是NEC和PHILIPS的RC-5。


2紅外遙控系統接收部分


接收部分是由放大器、限幅器、帶通濾波器、解調器、積分器、比較器等組成的,比如採用較早的紅外接收二極體加專用的紅外處理電路的方法,如CXA20106,此種方法電路復雜,現在一般不採用。但是在實際應用中,以上所有的電路都集成在一個電路中,也就是我們常說的一體化紅外接收頭。一體化紅外接收頭按載波頻率的不同,型號也不一樣。由於與CPU的介面的問題,大部分接收電路都是反碼輸出,也就是說當沒有紅外信號時輸出為1,有信號輸出時為0,它只有三個引腳,分別是+5V電源、地、信號輸出。



系統的設計


1單片機編碼發射部分


①鍵盤部分

紅外遙控器的發射器電路比較簡單,由一個4×4矩形鍵盤、一個PNP驅動三極體、一個紅外線發光二極體和兩個限流電阻組成。要遙控哪台接收器由鍵盤輸入,即由鍵盤輸入要紅外遙控的地址,地址經過編碼、調制後通過紅外發光二極體發射出去。

矩陣鍵盤部分由16個輕觸按鍵按照4行4列排列,將行線所接的單片機的I/O口作為輸出端,而列線所接的作為輸入。當沒有鍵被按下時,所有輸出端都是高電平,代表沒有鍵按下。有鍵按下時,則輸入線就會被拉抵,這樣,通過讀入輸入線的狀態就可以知道是否有鍵被按下。

鍵盤的列線接到P1口的低4位,行線接到P1口的高4位,列線P1.0~P1.3設置為輸入線,行線P1.4~P1.7設置為輸出線。

檢測當前是否有鍵被按下。檢測的方法是使P1.4~P1.7輸出為0,讀取P1.0~P1.3的狀態,若P1.0~P1.3為全1,則無鍵閉合,否則有鍵閉合。

去除鍵抖動。當檢測到有鍵按下後,延時一段時間再做下一步檢測判斷。

若有鍵按下,應該識別出是哪一個鍵閉合。方法是對鍵盤的行線進行掃描。P1.4~P1.7按下面4種組合依次輸出1110,1101,1011,0111,在每組行輸出時讀取P1.0~P1.3,若全為1,則表示0這行沒有鍵輸入,否則有鍵閉合。由此得到閉合鍵的行值和列值,然後採用計算的方法或者查表的方法將閉合鍵的行值和列值轉換成所定義的值。

為了保證每閉合一次CPU僅作一次處理,必須去除鍵釋放時的抖動。產生的鍵值放在發送資料庫區,30H存放的是產生的鍵值,即要遙控的8位地址共1位元組,31H放的是和30H中的相同的8位地址,地址碼重發了一次,主要是加強遙控器的可靠性,如果兩次地址碼不相同,則說明本幀數據有錯,應該丟棄。32H放的是00H(為了編程簡單),33H放的是0FFH,一共32位數據。要發送數據時,只要到那裡讀取數據即可,然後調用發射子程序發送。



②載波部分


根據前面介紹的紅外遙控的基本原理,紅外遙控器編碼調制的方法其實很簡單,只要生成一定時間長的電平就可以。再通過一個38kHz載波調制便可以發射編碼。載波的產生方法有多種,可以由CMOS門電路RC振盪器構成,或者由555時基電路構成等。

在此次設計中採用的是CPU延時,即用定時器中斷完成,用單片機的T0定時產生38kHz載波。設定定時器為方式2,即自動恢復初值的8位計數器。TL0作為8位計數器,TH0作為計數初值寄存器,當TL0計數溢出時,一方面置1溢出標志位TF0,向CPU請求中斷,同時將TH0內容送入TL0,使TL0從初值開始重新加1計數。因此,T0工作於方式2,定時精度比較高。根據計算,設定38KHz的定時初值,採用12kHz晶振的定時初值為0F3H,用11.0592kHz晶振時的初值為0F4H,設定好定時器中斷,在中斷程序中只寫入取反P2.0(CPLP2.0),當要發送數據1時,前面560μs高電平發送時,先打開定時器中斷,再啟動定時器,允許定時器工作,延時560μs再關定時器,後面1690μs的低電平因為不發送信號,所以可以直接置P2.0高電平後,延時1690μs即可;數據0前面的560μs高電平和數據1的一樣,後面560μs的低電平因為不發送信號,所以可以直接置P2.0高電平後,延時560μs即可。




2紅外接收解碼電路


紅外遙控接收採用一體化紅外接收頭,它將紅外接收二極體、放大器、解調、整形等電路安裝在一起,只有三個引腳。紅外接收頭的信號輸出端接單片機的INT0端,單片機中斷INT0在紅外脈沖下降沿時產生中斷。電路如圖3.3所示,圖中增加一隻PNP三極體對輸出信號放大,R和C組成去耦電路抑制電源干擾。


3遙控信號的解碼演算法


平時,遙控器無鍵按下時,紅外發射二極體不發出信號,遙控接收頭輸出信號1,有鍵按下時,0和1的編碼的高電平經遙控接收頭反相後會輸出信號0,由於與單片機的中斷腳相連,將會引起單片機中斷(單片機預先設定為下降沿產生中斷)。


遙控碼發射時由9ms的高電平和4.5ms的低電平表示引導碼,用560μs的高電平和560μs的低電平表示數據「0」,用560μs的高電平和1690μs的低電平表示數據「1」,引導碼後面是4位元組的數據。接收碼是發射碼的反向,所以判斷數據中的高電平的長度是讀出數據的要點,在這里用882μs(560~1690μs之間)作為標尺,如果882μs之後還是高電平則表示是數據1,將1寫入寄存器即可(數據為1時還需要再延時一段時間使電平變低,用來檢測下一個低電平的開始)。882μs後電平為低電平則表示是數據0,則將0寫入寄存器中,之後再等待下一個低電平的到來。


繼續接收下面的數據,當接收到32位數據時,說明一幀數據接收完畢,然後判斷本次接收是否有效,如果兩次地址碼相同並且等於本系統的地址碼,數據碼和數據反碼之和等於0FFH,則接收的本幀數據有效,點亮一隻發光二極體,否則丟棄本次接收到的數據。


接收完畢後,初始化本次接收到的數據,准備下次遙控接收。


以上就是小編為大家介紹的遙控器原理,希望能夠幫助到您。更多關於遙控器原理的相關資訊,請繼續關注土巴兔學裝修。

閱讀全文

與遙控器里的單片機圖片相關的資料

熱點內容
電腦怎麼找到雲伺服器 瀏覽:871
微信怎麼發應用app 瀏覽:776
花生殼dns伺服器地址 瀏覽:648
squad伺服器一般什麼時候人多 瀏覽:479
程序員戰門課 瀏覽:474
config保存伺服器地址 瀏覽:317
預訂網吧座位的app叫什麼 瀏覽:416
香港伺服器主機地址 瀏覽:640
網店美工pdf 瀏覽:447
一堆文件夾怎麼弄出來 瀏覽:743
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:504
電池消耗演算法 瀏覽:394
伺服器中斷連接怎麼處理 瀏覽:222
上世紀互聯網不發達程序員很難 瀏覽:841
語音識別android開源 瀏覽:762
地埋式垃圾壓縮中轉站 瀏覽:902
apachehttpdlinux 瀏覽:944
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:857