NEC協(xié)議的紅外遙控器驅(qū)動程序_第1頁
NEC協(xié)議的紅外遙控器驅(qū)動程序_第2頁
NEC協(xié)議的紅外遙控器驅(qū)動程序_第3頁
NEC協(xié)議的紅外遙控器驅(qū)動程序_第4頁
NEC協(xié)議的紅外遙控器驅(qū)動程序_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、69和71686467072109222513122494082890668274rNEC協(xié)議的紅外遙控器按鍵對應(yīng)數(shù)字.覽是不是覺得紅外遙控+51單片機是絕妙組合?但是在編程時才發(fā)現(xiàn)超級糾結(jié)?其實也沒那么糾結(jié),自己摸索摸索,總能找出辦法來的。本程序占用了51單片機的定時器。以及中斷1兩個資源,為的是使單片機能接收到每一個紅外脈沖信號,一個都不能少。如果舍不得用這兩個資源,還有另一種查詢的辦法,就是不一定每個信號都能收到,可自己琢磨一下。需要全套NECB議紅外遙控器資料的,到網(wǎng)上找,到處都有,而且很全。另外,對著資料寫程序如果實在寫不出,可以找個示波器,把波形錄下來好好研究研究。畢竟有些時候資料

2、會過時,只要里面有一點東西變化了,程序就完全不一樣了。這種彎路,盡量少走。本程序只是頭文件,具體到應(yīng)用上還要各位自己動腦筋了,希望對大家有所幫助。共同學(xué)習(xí),共同進步!/*用于NECB議的遙控器,主控器為51單片機。用戶碼8位,分布于2-17個脈沖;按鍵碼8位,分布于18-33個脈沖。皆為前8原碼,后8反碼。注意:本驅(qū)動占用51單片機的外部中斷1以及定時器0兩個資源,編程時注意不要再亂動這兩個資源。*/#include#defineucharunsignedchar#defineuintunsignedintuchar nec_flag=0;/nec_flag:遙控碼的標志位。0:無信號;1、

3、2:信號采集;3、可用信號ucharnec_num=0;/nec_num:紅外碼的序號uintnec_time=0;/nec_time:定時器的計時次數(shù)nec_time*250usuchar nec_cod2=0,1;/遙控器的編號,編號0 為原碼,編號1為反碼uchar nec_dat2=0,1;/遙控器的數(shù)據(jù),數(shù)據(jù)0 為原碼,數(shù)據(jù)1為反碼#ifndef_INF_NEC#define_INF_NECexternvoidnec_init();externvoidnec_act();#endifvoid nec_init() /外中斷 1 及定時器 0 的初始化函數(shù)TMOD=(TMOD&0xf0

4、)|0x02;/定時器0模式2,8位自動重裝TH0=0x19;TL0=0x19;/晶振,計數(shù)230次,大概時間250usET0=1;TR0=0;/定時器0使能,先關(guān)著IT1=1;EX1=1;/外部中斷1使能,用來接收紅外信號EA=1;/開總中斷voidnec_act()/按鍵功能程序if(nec_dat0=nec_dat1)&(nec_flag=3)switch(nec_dat0)case 69: break;case 70: break;case 71: break;case68:break;case64:break;case67:break;case7:break;case21:break

5、;case9:break;case22:break;case25:break;case13:break;case12:break;case24:break;case94:break;case8:break;case28:break;case90:break;case66:break;case82:break;case74:break;voidtimer0(void)interrupt1nec_time+;if(nec_time1000)/長時間無紅外遙控信號時關(guān)定時器nec_time=0;nec_num=0;nec_flag=0;TR0=0;voidexint1(void)interrupt2

6、uintintime=0;/intime:為了不打擾計時器工作,所以用intime把nec_time提出來intime=nec_time;nec_time=0;/nec_time置0,準備計數(shù)if(nec_num=0)TR0=1;/開定時器,開始計數(shù)if(nec_num=1)if(intime50)&(intime2)&(intime=2)&(nec_num2)&(intime6)nec_cod0=nec_cod0&(0x017)&(intime11)nec_cod0=nec_cod0|(0x01=10)&(nec_num2)&(intime6)nec_cod1=nec_cod1&(0x017)&(intime11)nec_cod1=nec_cod1|(0x01=18)&(nec_num2)&(intime6)nec_dat0=nec_dat0&(0x017)&(intime11)nec_dat0=nec_dat0|(0x01=26)&(ne

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論