国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

用增強(qiáng)型51單片機(jī)實(shí)驗(yàn)板實(shí)現(xiàn)紅外線遙控

發(fā)布時(shí)間:2015-10-29 15:39    發(fā)布者:designapp
關(guān)鍵詞: 紅外線 , uPD6121G
  紅外線遙控是目前使用最廣泛的一種通信和遙控手段。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。
  1.紅外遙控系統(tǒng)
  通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,使用編/解碼專用集成電路芯片來進(jìn)行控制操作。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)射器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼部分電路
  2.遙控發(fā)射器及其編碼
  下面以日本NEC的uPD6121G組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:
  采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其”0”、“1”定義波形如圖2所示。
  


  上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kt_{z的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖3所示為最終發(fā)射出去的紅外信號(hào)波形。
  uPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識(shí)別碼固定為十六進(jìn)制0仆1.;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45~63ms之間,圖4為發(fā)射波形圖。
  當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms)。8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。
  


  3.接收頭及解碼
  一體化紅外線接收頭是一種集紅外線接收和放大于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號(hào)兼容的所有工作,而體積較小,很多家電中都采用此類紅外接收頭,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸,如圖1左下角所示為增強(qiáng)型51實(shí)驗(yàn)板上的一體化紅外線接收頭。
  下面我們就來一起看一下增強(qiáng)型51實(shí)驗(yàn)板是如何來解uPD6121紅外線編碼及如何使用紅外線來進(jìn)行各式各樣的控制。
  學(xué)習(xí)了紅外發(fā)射原理后,可以想到解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)”0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為”0”,反之則為“1”,為了可靠起見,延時(shí)必須比0.56ms長(zhǎng)些,但又不能超過1.12ms,否則如果該位為”0”,讀到的已是下一位的高電平,因此取(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。同時(shí),我們還應(yīng)注意的是,根據(jù)碼的格式,應(yīng)該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。
  學(xué)習(xí)板上的一體化紅外接收頭一共有3個(gè)腳,分別是“地”、“電源”、“數(shù)據(jù)”,其“數(shù)據(jù)”腳與51單片機(jī)的“INTO”腳,整個(gè)過程可以分成兩步,第一步是讀取并判斷引導(dǎo)碼是否正確,如果不是則直接返回并初始化檢測(cè)參數(shù);第二步是連續(xù)4次,按照每次8bit讀取4個(gè)字節(jié)的后續(xù)數(shù)據(jù),其中,檢測(cè)過程里對(duì)”0”和“1”的判斷必須是在開啟計(jì)時(shí)之后,以減少因?yàn)槌绦驁?zhí)行而導(dǎo)致的測(cè)量時(shí)間長(zhǎng)度上誤差。
  解碼過程關(guān)鍵是使用單片機(jī)的定時(shí)器,我們可以用引導(dǎo)碼的下降沿來觸發(fā)單片機(jī)的定時(shí)器開始計(jì)時(shí)處理,這樣就可以獲得電平的時(shí)間長(zhǎng)度了,一般的遙控器編碼在長(zhǎng)按按鍵的時(shí)候,會(huì)連續(xù)發(fā)數(shù)據(jù),可能是同樣的數(shù)據(jù),也有可能是個(gè)特定的所謂的重復(fù)幀,但大致上15ms之內(nèi)沒有信號(hào)收到就表示當(dāng)前的數(shù)據(jù)幀已經(jīng)接收完畢。
  解碼部分程序代碼如下:
  unsignedcharuPD6121_read_code_8(void){unsignedchartemp=0;unsignedchari;for(i=0;0x4e){decode_error=1;return0;}//超時(shí)出錯(cuò),返回}
  TR1=0;//低電平測(cè)試結(jié)束Iow_level_time=TH1*256+TL1;//保存低電平的數(shù)據(jù)TH1=0;TL1=0;TR1=1;//如果電平長(zhǎng)度不在合理的范圍內(nèi),則認(rèn)為出錯(cuò)if((high_level_time700)II(Iow_level_time1900)){decode_error=1;returnO;}
  if((Iow_level_time>400)&&(Iow_level_time1400)&&(Iow_level_time0x4e)return1://測(cè)試超時(shí)后直接初始化相關(guān)變量,開始下次測(cè)試}
  TR1=0://低電平(對(duì)發(fā)射電路而言)測(cè)試結(jié)束Iow_level_time=TH1*256+TL1:
  //保存低電平的數(shù)據(jù)TH1=0;TL1=0;TR1=1;//為增加計(jì)時(shí)的準(zhǔn)確性,數(shù)據(jù)的處理都是在計(jì)時(shí)過程里//判斷引導(dǎo)碼(或重復(fù)碼)是否正確,如果不正確,則設(shè)置出錯(cuò)標(biāo)志位,并退出中斷程序if((high_level_time9500)II(Iow_level_time5000)){return1://因是引導(dǎo)碼出錯(cuò),所以直接初始化后重新開始測(cè)試}
  //——————————————————//對(duì)是引導(dǎo)碼還是重復(fù)碼進(jìn)行判斷。如果是重復(fù)碼,就跳過后面數(shù)據(jù)的讀取if((Iow_level—time>1000)&&(Iow_level_time4000)&&(Iow_level_time<5000))Ioad_code_detected=1;if(repeat_code_detected==1)return1;//直接結(jié)束,temp1=uPD6121_read_code_8();//讀后面的系統(tǒng)、按健等數(shù)據(jù),temp2=uPD6121_read_code_8();teMP3=uPD6121_read_code_8();temp4=uPD6121_read_code_8();TR1=0:
  if(decode_error==1)return1://無論是哪部分解碼出錯(cuò),都是重新開始if((temp1!=Ntemp2)II(temp3!
  =~temp4)){return1;}
  sys_code=temp1:
  key_code=temp3;data_available=1;return0:
  如圖5所示,是我們完成紅外線實(shí)驗(yàn)所必需的設(shè)備,準(zhǔn)備好硬件設(shè)備后,我們將紅外線解碼控制程序通過A51編程器燒入AT89S51單片機(jī)芯片,然后將芯片插到增強(qiáng)型51實(shí)驗(yàn)板上通電運(yùn)行即可。
  圖6為增強(qiáng)型51實(shí)驗(yàn)板做紅外解碼電路,從而進(jìn)行數(shù)碼管顯示的實(shí)驗(yàn)電路板。
  最后,要提醒大家一下,在做紅外實(shí)驗(yàn)需要注意的是:不同的紅外線遙控器編碼方式可能不同,你可能會(huì)發(fā)現(xiàn)有很多紅外線遙控器的外表幾乎都一樣。
  但對(duì)于同一電器設(shè)備卻有些能用,有些不能用,這就是因?yàn)檫b控器內(nèi)部使用了不同的編碼芯片的原因,或許你會(huì)想到用家中的電視機(jī)或空調(diào)的遙控器來完成紅外線解碼的實(shí)驗(yàn),但你必須得事先知道該遙控器的紅外線編碼芯片是什么類型的,否則就比較麻煩了,而現(xiàn)在眾多紅外線遙控器廠商為了保護(hù)自己的知識(shí)產(chǎn)權(quán)已將編碼芯片打磨,這對(duì)我們DIY愛好者來說就不太有利了。
                               
               
本文地址:http://m.qingdxww.cn/thread-155073-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • PIC32CK SG單片機(jī)——輕松滿足新型網(wǎng)絡(luò)安全要求
  • dsPIC® DSC:攻克各種觸摸傳感挑戰(zhàn)的電容式觸摸解決方案
  • PIC32CM LS00 Curiosity Pro評(píng)估工具包
  • 實(shí)時(shí)控制解決方案的正確選擇——數(shù)字信號(hào)控制器(DSC)或通用MCU
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成a人片在线观看精品| 天天天操| 四虎影视国产精品| 亚洲成a人片在线观看播放| 欧美日韩国产另类一区二区三区 | 天天草综合| 亚洲天堂国产| 青青草国产免费国产是公开| 香蕉色综合| 亚洲视频在线观看视频| 亚洲国产成人综合| 欧美日韩综合网在线观看| 亚洲免费一区| 日韩精品视频美在线精品视频| 午夜操操操| 亚洲精品毛片久久久久久久| 日韩在线影视| 全国最大色| 午夜久久久精品| 天天涩综合| 天码毛片一区二区三区入口| 日本免费黄色网址| 日韩avav| 特级淫片国产免费高清视频| 天天操天天操天天射| 亚洲精品www久久久久久| 亚洲精品在线网址| 欧美在线视频a| 亚洲天天综合| 天天色天天| 四虎色| 日本乱人伦片中文三区| 日本加勒比高清一本大道| 亚洲一区二区三区视频| 亚洲国产精品一区| 婷婷四房综合激情五月性色| 日韩毛片| 手机在线黄色| 欧美色图你懂的| 性色生活免费看性大片| 色吊丝最新网址|