版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)論文</b></p><p> 設(shè)計(jì)題目: 紅外線遙控插座的設(shè)計(jì) </p><p> 系 別: 電子與信息工程系 </p><p> 專 業(yè): 應(yīng)用電子技術(shù)
2、 </p><p><b> 摘 要</b></p><p> 晚上在床上看完電視后順手一按就可關(guān)斷電視機(jī)的交流電源。這樣電視的待機(jī)電源燈就不會(huì)亮了{(lán)特難受}、夏天天氣熱的時(shí)候不用跑到電風(fēng)扇傍才可以開電風(fēng)扇和一些自己平常不想跑到它們面前開或關(guān)的電器,我們可以用紅外遙控插座來控制。我們可以用單片機(jī)等軟件和硬件來實(shí)現(xiàn)這一功
3、能。單片機(jī)的集成度很高,它具有體積小、質(zhì)量輕、價(jià)格便宜、耗電少等突出特點(diǎn),尤其耗電少,又可使供電電源體積小、質(zhì)量輕。本課程設(shè)計(jì)介紹了基于單片機(jī)的一種學(xué)習(xí)型紅外線遙控插座的設(shè)計(jì)與實(shí)現(xiàn),可以對(duì)各種紅外線遙控器發(fā)射的信號(hào)進(jìn)行識(shí)別、存儲(chǔ)和再現(xiàn)等功能,從而實(shí)現(xiàn)對(duì)各類家電的控制。紅外遙控插座由單片機(jī)、遙控、紅外線發(fā)射、顯示、存儲(chǔ)、按鍵和欠電壓指示等部分組成。本設(shè)計(jì)詳細(xì)介紹了紅外遙控插座的軟硬件設(shè)計(jì)方法,并給出了具體的各單元電路設(shè)計(jì)、程序設(shè)計(jì)及主程序
4、流程圖。在硬件設(shè)計(jì)中,我們選取AT89C52型號(hào)單片機(jī)為核心器件,并給出外圍電路模塊如紅外接收模塊、紅外發(fā)射模塊、顯示模塊、以及外部控制模塊等組成部分的設(shè)計(jì)實(shí)現(xiàn)。軟件部分采用keil進(jìn)行C程序設(shè)計(jì)與編譯,并將編譯后產(chǎn)生的hex文件通過STC_ISP_V479下載到單片機(jī)中,進(jìn)行調(diào)試。本紅外遙控插座采用最</p><p> 關(guān)鍵詞:遙控學(xué)習(xí);紅外解碼;單片機(jī)控制;紅外遙控插座</p><p&g
5、t;<b> 目 錄</b></p><p><b> 設(shè)計(jì)要求1</b></p><p><b> 前言1</b></p><p><b> 1、方案論證1</b></p><p> 2、基本功能模塊設(shè)計(jì)與說明2</p>
6、<p> 2.1.初始化模塊2</p><p> 2.2遙控碼讀入處理模塊2</p><p> 2.3 LCD5110液晶顯示屏程序的編寫3</p><p><b> 2.4 主模塊3</b></p><p> 3、調(diào)試與操作說明4</p><p> 3.1紅外遙
7、控插座的電路原理圖的設(shè)計(jì)4</p><p> 3.2 程序的編譯及下載5</p><p> 3.3實(shí)際電路的測(cè)試7</p><p> 4、課程設(shè)計(jì)心得體會(huì)8</p><p> 5、元器件及儀器設(shè)備明細(xì)9</p><p><b> 6、參考文獻(xiàn)10</b></p>
8、<p><b> 7、致謝10</b></p><p><b> 8、附錄11</b></p><p> 學(xué)習(xí)型紅外遙控器的設(shè)計(jì)</p><p><b> 設(shè)計(jì)要求</b></p><p><b> 設(shè)計(jì)任務(wù)和要求:</b><
9、;/p><p> 設(shè)計(jì)并制作一個(gè)智能遙控插座。要求:</p><p> ?。?)能用按鍵和彩電遙控器進(jìn)行設(shè)定和控制。</p><p> ?。?)能遙控開、關(guān)小家電,如電風(fēng)扇、電視機(jī)、飲水機(jī)等。</p><p> ?。?)能夠設(shè)定開關(guān)開啟時(shí)間的長(zhǎng)短,如設(shè)定開啟時(shí)間為半小時(shí),時(shí)間到后立即切斷開關(guān)。(4)能顯示遙控狀態(tài),如開關(guān)的開合、所設(shè)定的時(shí)間等。
10、</p><p><b> 前言 </b></p><p> 本課程設(shè)計(jì)是一個(gè)基于單片機(jī)的紅外遙控插座,能夠?qū)W習(xí)紅外遙控插座的某功能。利用單片機(jī)AT89C52對(duì)多個(gè)紅外遙控編碼的脈沖寬度進(jìn)行測(cè)量,并原封不動(dòng)地把發(fā)射信號(hào)中高、低電平的時(shí)間寬度記憶至擴(kuò)展存儲(chǔ)區(qū)的指定地址。通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼芯片來進(jìn)行控制操作,發(fā)射部分包括鍵盤矩陣
11、、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。專用集成電路</p><p><b> 1、方案論證</b></p><p> 為了實(shí)現(xiàn)紅外遙控插座的功能,系統(tǒng)應(yīng)具有紅外線的接收解碼、紅外線調(diào)制、操作按鍵和功能控制功能等單元。由于功能定為能用按鍵和彩電遙控器進(jìn)行設(shè)定和控制。,因此決定采用STC89C52單片機(jī)作為控制器。STC89C52
12、單片機(jī)中具有256字節(jié)的內(nèi)存單元,可存儲(chǔ)遙控碼脈寬的數(shù)據(jù)。遙控碼的脈寬數(shù)據(jù)可用紅外線接收器解碼后送單片機(jī)讀入,發(fā)射時(shí)有單片機(jī)產(chǎn)生40kHZ紅外調(diào)制信號(hào)送紅外發(fā)射管發(fā)射.紅外遙控插座的實(shí)現(xiàn)方案框圖如圖1所示。</p><p> 圖1 紅外遙控插座系統(tǒng)框圖</p><p> 2、基本功能模塊設(shè)計(jì)與說明</p><p><b> 2.1.初始化模塊<
13、/b></p><p> 初始化模塊的主要任務(wù)時(shí)清存放脈寬數(shù)據(jù)單元,,將定時(shí)器設(shè)為T0模式,設(shè)置中斷。</p><p> 2.2遙控碼讀入處理模塊</p><p><b> 紅外遙控編碼的研究</b></p><p><b> 步驟: </b></p><p>
14、 1、了解紅外遙控編碼的編碼及解碼:</p><p><b> ?。?)紅外遙控系統(tǒng)</b></p><p> 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼芯片來進(jìn)行控制操作,發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。專用集成電路</p><p> ?。?)紅外編碼的特征:&l
15、t;/p><p> 采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如下圖所示:</p><p> 2、使用數(shù)字示波器獲取彩電遙控器并實(shí)現(xiàn)解碼:</p><p> ?。?)首先學(xué)習(xí)和了解數(shù)字示波器</p&g
16、t;<p> ?。?)應(yīng)用數(shù)字示波器的觸發(fā)方式和存儲(chǔ)功能進(jìn)行對(duì)波形的獲取;</p><p> 繪制自己在示波器看到的波形,并解碼;</p><p> 2.3:LCD5110液晶顯示屏程序的編寫</p><p> 步驟: 1、了解LCD5110的使用資料及使用手冊(cè)</p><p> (1)LCD5110的特征</p&
17、gt;<p> 單色、單芯片 LCD 控制/驅(qū)動(dòng)</p><p> 48 行,84 列輸出</p><p> 顯示數(shù)據(jù) RAM 48*84 位</p><p><b> 芯片集成:</b></p><p> ——LCD電壓發(fā)生器(也可以使用外部電壓供應(yīng))</p><p>
18、 ——LCD偏置電壓發(fā)生器</p><p> ——振蕩器不需要外接元件(也可以使用外部時(shí)鐘)</p><p> 外部 RES(復(fù)位)輸入引腳</p><p> 串行界面最高4.0Mbits/S </p><p><b> CMOS兼容輸入</b></p><p><b> 混合
19、速率:48</b></p><p> 邏輯電壓范圍VDD到 VSS:2.7V~3.3V</p><p> 顯示電壓范圍VLCD到 VSS:</p><p> ——6.0~8.5V LCD內(nèi)部電壓發(fā)生器(充許電壓發(fā)生器)</p><p> ——6.0~9.0V LCD外部電壓供應(yīng)(電壓發(fā)生器關(guān)閉)</p>&l
20、t;p> 低功耗,適用于電池供電系統(tǒng)</p><p> 關(guān)于VLCD的溫度補(bǔ)償</p><p> 使用溫度范圍:-25~70℃</p><p><b> 2.4 主模塊</b></p><p> 主程序在完成上電初始化后進(jìn)行按鍵查詢,當(dāng)確認(rèn)有鍵按下時(shí)將編碼發(fā)出去。主程序流程圖4所示</p>
21、<p><b> 圖4 主程序圖 </b></p><p><b> 3、調(diào)試與操作說明</b></p><p> 3.1紅外遙控插座的電路原理圖的設(shè)計(jì)</p><p> 圖4所示為該紅外遙控插座的電路原理圖,單片機(jī)使用STC89C52,還用了cx20106芯片,其中:</p><p
22、> P0.1、P0.2口是控制繼電器的端口;</p><p> P1.0、P1.1、P1.2、P1.3口是用來控制按鍵的端口;</p><p> P2.4口是片選端口;</p><p> P2.3為單片機(jī)的復(fù)位腳,采用0電復(fù)位電路;</p><p> P2.5端口1寫數(shù)據(jù),0寫指令;</p><p>
23、 P2.6為數(shù)據(jù)端口;</p><p> P2.7為控制時(shí)鐘的端口。</p><p> 圖4 紅外遙控插座電路原理圖</p><p> 3.2 程序的編譯及下載</p><p> 1、創(chuàng)建工程并選擇AT89C52型號(hào)芯片。</p><p> 2、新建L5-6.c文件。</p><p>
24、 3、編寫源程序并編譯,如圖6所示。</p><p> 圖5 紅外遙控插座的程序編譯圖</p><p> 3、打開STC-ISP下載軟件,選擇STC89C52RC型號(hào)的芯片,選擇串口1并導(dǎo)入編譯生成的hex文件。</p><p> 4、將單片機(jī)與計(jì)算機(jī)的串口相連,并將程序下載至單片機(jī),如圖7所示。</p><p> 圖6 紅外遙控插
25、座程序下載圖</p><p> 3.3實(shí)際電路的測(cè)試</p><p> 程序下載進(jìn)單片機(jī)后,打開單片機(jī)開發(fā)板上電源接口開關(guān)以及電源切換開關(guān),再把芯片AT89C52放入電路,按下遙控,看看能補(bǔ)能實(shí)現(xiàn)功能;再按下按鍵看看是否也能實(shí)現(xiàn)功能,若都能實(shí)現(xiàn),說明達(dá)到了預(yù)期目的。</p><p> 4、課程設(shè)計(jì)心得體會(huì)</p><p> 本次課程設(shè)
26、計(jì)的基于單片機(jī)學(xué)紅外遙控插座,在keil軟件上進(jìn)行了進(jìn)行C程序的設(shè)計(jì)、編譯,并將輸出的的hex文件通過STC_ISP_V479下載到單片機(jī)中,最后在單片機(jī)開發(fā)板上進(jìn)行調(diào)試,測(cè)試硬件電路功能。經(jīng)過實(shí)踐驗(yàn)證,本設(shè)計(jì)是正確的。測(cè)試中,我們選取了電視機(jī)的遙控器作為學(xué)習(xí)對(duì)象,通過學(xué)習(xí)紅外遙控插座,能實(shí)現(xiàn)單片機(jī)對(duì)電器的控制。達(dá)到預(yù)期目的, 設(shè)計(jì)完全成功。本文給出的設(shè)計(jì)思想也適用于其他基于單片機(jī)的系統(tǒng)設(shè)計(jì)。</p><p>
27、 我們這次課程設(shè)計(jì)是通過小組的討論與實(shí)驗(yàn)所完成的,在進(jìn)行過程中碰到了一些困難。然而我們并沒有因?yàn)橛龅嚼щy而放棄過,我們不斷的相互學(xué)習(xí)、討論研究,我們沒有因?yàn)檎l不懂做而嘲笑他,而是耐心的幫助他。在有些問題實(shí)在補(bǔ)懂的時(shí)候,我們就會(huì)積極的問老師,老師也會(huì)耐心的教我們。通過這次實(shí)驗(yàn)我們感覺到動(dòng)手能力及思維方式得到很大的加強(qiáng)。在這次課程設(shè)計(jì)中,我們學(xué)會(huì)了怎樣去根據(jù)課題的要求運(yùn)用學(xué)過的知識(shí)去設(shè)計(jì)電路和調(diào)試電路。從中我們發(fā)現(xiàn)了實(shí)踐的重要性,在以后的學(xué)
28、習(xí)生活中我們要加強(qiáng)理論與實(shí)際的結(jié)合。而且這次實(shí)驗(yàn)也體現(xiàn)了團(tuán)隊(duì)合作的重要性與探索精神的必要性。這讓我明白了很多事要通過努力才能夠獲得成功的。只要你不放棄,成功也不會(huì)放棄你的。</p><p> 5、元器件及儀器設(shè)備明細(xì)</p><p> 表1 元器件及儀器設(shè)備明細(xì)表</p><p><b> 6、參考文獻(xiàn)</b></p>&l
29、t;p> ?、?《集成電子基礎(chǔ)教程》,鄭家龍、王小海、章安元編,高教出版社,2002年5月</p><p> ?、?《電子系統(tǒng)設(shè)計(jì)》,何小艇等編,浙江大學(xué)出版社,2000年</p><p> ?、?《現(xiàn)代電子學(xué)及應(yīng)用》,童詩白、徐振英編,高等教育出版社,1994年 </p><p> ?、?《新編555集成電路應(yīng)用800例》 陳永甫編著 電子工業(yè)出版社 20
30、00年</p><p><b> 7、致謝</b></p><p> 本次課程設(shè)計(jì)主要由我、潘勝穩(wěn)、賴祖鵬3人共同完成,其間當(dāng)然老師也同樣是付出了大量的時(shí)間和精力來幫助我們。不論結(jié)果怎樣,我們都會(huì)欣然接受,因?yàn)槲覀兣^了。同時(shí)我們也要衷心地感謝我們所有的老師,以及幫助我們的同學(xué),要是沒你們的幫助我們是不能這么好的完成這次課程設(shè)計(jì)的。</p><
31、;p><b> 8、附錄</b></p><p> /*------------------------------</p><p><b> 主程序</b></p><p> -------------------------------*/</p><p><b> m
32、ain()</b></p><p> {unsigned char k;</p><p> TMOD = 0x01;</p><p> TH0 = 0x3c;</p><p> TL0 = 0xb0;</p><p><b> EA=1;</b></p>
33、<p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p> Counter=0x00; </p><p><b> res=0;</b></p><p> for(k=0;k<250;k++);<
34、/p><p> res=1; </p><p> LCD_init(); //初始化LCD模塊 </p><p> LCD_clear(); //清屏幕</p><p><b> IRInit();</b></p><p><b> while(1)</b>&
35、lt;/p><p><b> {</b></p><p><b> dings();</b></p><p> display();</p><p> while(k11==1) //調(diào)分</p><p> {LCD_write_hanzi(1,0,0);<
36、;/p><p> LCD_write_hanzi(3,0,1);</p><p> tiaozheng();</p><p> display();</p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> L
37、CD_clear();</p><p><b> }</b></p><p><b> }</b></p><p> while(k11==2) //調(diào)時(shí)</p><p> {LCD_write_hanzi(1,0,0);</p><p> LCD_wri
38、te_hanzi(3,0,2); </p><p> tiaozheng();</p><p> display();</p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_clear();</p>&l
39、t;p><b> }</b></p><p><b> }</b></p><p> while(k11==3) //定分1</p><p> {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi(3,0,1);</p>
40、;<p> LCD_write_shu(5,0,1); </p><p> tiaozheng();</p><p> LCD_write_shu(0,2,shi/10); </p><p> LCD_write_shu(1,2,shi%10); </p><p> LCD_write_shu(2,2,10
41、); </p><p> LCD_write_shu(3,2,fen/10); </p><p> LCD_write_shu(4,2,fen%10); </p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_
42、clear();</p><p><b> }</b></p><p><b> }</b></p><p><b> //定時(shí)1</b></p><p> while(k11==4)</p><p> {LCD_write_hanzi(1,0
43、,3);</p><p> LCD_write_hanzi(3,0,2);</p><p> LCD_write_shu(5,0,1); </p><p> tiaozheng();</p><p> LCD_write_shu(0,2,shi/10); </p><p> LCD_write_shu
44、(1,2,shi%10); </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen/10); </p><p> LCD_write_shu(4,2,fen%10); </p><p> if(ss==15) </p><p
45、><b> { k11=0; </b></p><p> LCD_clear();</p><p><b> }</b></p><p><b> }</b></p><p> while(k11==5) //定分2</p><p&g
46、t; {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi(3,0,1);</p><p> LCD_write_shu(5,0,2); </p><p> tiaozheng();</p><p> LCD_write_shu(0,2,shi1/10); </p>
47、<p> LCD_write_shu(1,2,shi1%10); </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen1/10); </p><p> LCD_write_shu(4,2,fen1%10); </p><p> if
48、(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_clear();</p><p><b> }</b></p><p><b> }</b></p><p><b> //定時(shí)2&l
49、t;/b></p><p> while(k11==6)</p><p> {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi(3,0,2); </p><p> LCD_write_shu(5,0,2); </p><p> tiaozheng();&
50、lt;/p><p> LCD_write_shu(0,2,shi1/10); </p><p> LCD_write_shu(1,2,shi1%10); </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen1/10); </p><
51、;p> LCD_write_shu(4,2,fen1%10); </p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_clear();</p><p><b> }</b></p><p
52、><b> }</b></p><p> while(k11==7) //定分3</p><p> {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi(3,0,1);</p><p> LCD_write_shu(5,0,3); </p&g
53、t;<p> tiaozheng();</p><p> LCD_write_shu(0,2,shi2/10); </p><p> LCD_write_shu(1,2,shi2%10); </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,
54、2,fen2/10); </p><p> LCD_write_shu(4,2,fen2%10); </p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_clear();</p><p><b> }&
55、lt;/b></p><p><b> }</b></p><p><b> //定時(shí)3</b></p><p> while(k11==8)</p><p> {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi
56、(3,0,2); </p><p> LCD_write_shu(5,0,3); </p><p> tiaozheng();</p><p> LCD_write_shu(0,2,shi2/10); </p><p> LCD_write_shu(1,2,shi2%10); </p><p> L
57、CD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen2/10); </p><p> LCD_write_shu(4,2,fen2%10); </p><p> if(ss==15) </p><p><b> { k11=0; </b><
58、/p><p> LCD_clear();</p><p><b> }</b></p><p><b> }</b></p><p> while(k11==9) //定分4</p><p> {LCD_write_hanzi(1,0,3);</p>
59、<p> LCD_write_hanzi(3,0,1);</p><p> LCD_write_shu(5,0,4); </p><p> tiaozheng();</p><p> LCD_write_shu(0,2,shi3/10); </p><p> LCD_write_shu(1,2,shi3%10)
60、; </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen3/10); </p><p> LCD_write_shu(4,2,fen3%10); </p><p> if(ss==15) </p><p><b>
61、; { k11=0; </b></p><p> LCD_clear();</p><p><b> }</b></p><p><b> }</b></p><p><b> //定時(shí)4</b></p><p> while(k
62、ey()==10)</p><p> {LCD_write_hanzi(1,0,3);</p><p> LCD_write_hanzi(3,0,2); </p><p> LCD_write_shu(5,0,4); </p><p> tiaozheng();</p><p> LCD_write_shu
63、(0,2,shi3/10); </p><p> LCD_write_shu(1,2,shi3%10); </p><p> LCD_write_shu(2,2,10); </p><p> LCD_write_shu(3,2,fen3/10); </p><p> LCD_write_shu(4,2,fen3%10);
64、 </p><p> if(ss==15) </p><p><b> { k11=0; </b></p><p> LCD_clear();</p><p><b> }</b></p><p><b> }</b></p>
65、;<p><b> }</b></p><p><b> }</b></p><p> /********************************************************************************</p><p> * 描述:
66、 *</p><p> * 數(shù)碼管顯示 遙控鍵值讀取器 *</p><p> * 遙控器接p3.2
67、 *</p><p> * 現(xiàn)象:當(dāng)按遙控器時(shí),按下事 數(shù)碼管會(huì)有閃爍,為什么會(huì)閃爍呢 *</p><p> * *</
68、p><p> * 連接方法:使用紅外功能時(shí) J1跳線短接 *</p><p> *****************************************************************************8**/</p><p> #include &
69、lt;reg51.h></p><p> sbit IRIN = P3^2; //紅外接收器數(shù)據(jù)線</p><p> void IRdelay(char x); //x*0.14MS</p><p> void beep();</p><p> unsigned char IRCOM[7];</p>
70、;<p> unsigned char Y0;</p><p> /*******************************************************************/</p><p> void IRInit()</p><p><b> {</b></p><p&
71、gt; IE |= 0x81; //允許總中斷中斷,使能 INT0 外部中斷</p><p> TCON |= 0x01; //觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)</p><p> IRIN=1; //I/O口初始化</p><p><b> } </b&
72、gt;</p><p> /**********************************************************/</p><p> void IR_IN(void) interrupt 0 </p><p><b> {</b></p><p> unsigned char j,
73、k,N=0;</p><p> EX0 = 0; </p><p> IRdelay(5);</p><p> if (IRIN==1) </p><p><b> { EX0 =1;</b></p><p><b> return;</b></p>
74、<p><b> } </b></p><p> //確認(rèn)IR信號(hào)出現(xiàn)</p><p> while (!IRIN) //等IR變?yōu)楦唠娖?,跳過9ms的前導(dǎo)低電平信號(hào)。</p><p> {IRdelay(1);}</p><p> for (j=0;j<2;j++)
75、 //收集2組數(shù)據(jù)</p><p><b> { </b></p><p> for (k=0;k<13;k++) //每組數(shù)據(jù)有13位</p><p><b> {</b></p><p> while (IRIN) //等 IR 變?yōu)?/p>
76、低電平,跳過4.5ms的前導(dǎo)高電平信號(hào)。</p><p> {IRdelay(1);}</p><p> while (!IRIN) //等 IR 變?yōu)楦唠娖?lt;/p><p> {IRdelay(1);}</p><p> while (IRIN) //計(jì)算IR高電平時(shí)長(zhǎng)</p>&
77、lt;p><b> {</b></p><p> IRdelay(1);</p><p> N++; </p><p> if (N>=30)</p><p><b> { EX0=1;</b></p><p> return;}
78、 //0.14ms計(jì)數(shù)過長(zhǎng)自動(dòng)離開。</p><p> } //高電平計(jì)數(shù)完畢 </p><p> IRCOM[j]=IRCOM[j] >> 1; //數(shù)據(jù)最高位補(bǔ)“0”</p><p> if (N>
79、=8) {IRCOM[j] = IRCOM[j] | 0x80;} //數(shù)據(jù)最高位補(bǔ)“1”</p><p><b> N=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> for (j=2;j<4;j++
80、) //收集2組數(shù)據(jù)</p><p><b> { </b></p><p> for (k=0;k<8;k++) //每組數(shù)據(jù)有8位</p><p><b> {</b></p><p> while (IRIN) //等 IR 變
81、為低電平,跳過4.5ms的前導(dǎo)高電平信號(hào)。</p><p> {IRdelay(1);}</p><p> while (!IRIN) //等 IR 變?yōu)楦唠娖?lt;/p><p> {IRdelay(1);}</p><p> while (IRIN) //計(jì)算IR高電平時(shí)長(zhǎng)</p>
82、<p><b> {</b></p><p> IRdelay(1);</p><p> N++; </p><p> if (N>=30)</p><p><b> { EX0=1;</b></p><p> return;}
83、 //0.14ms計(jì)數(shù)過長(zhǎng)自動(dòng)離開。</p><p> } //高電平計(jì)數(shù)完畢 </p><p> IRCOM[j]=IRCOM[j] >> 1; //數(shù)據(jù)最高位補(bǔ)“0”</p><p> if (N>
84、;=8) {IRCOM[j] = IRCOM[j] | 0x80;} //數(shù)據(jù)最高位補(bǔ)“1”</p><p><b> N=0;</b></p><p> }//end for k</p><p> }//end for j</p><p> if (IRCOM[2]!=~IRCOM[3])</p>
85、<p><b> { EX0=1;</b></p><p><b> return; </b></p><p><b> }</b></p><p><b> EX0 = 1; </b></p><p><b> } &l
86、t;/b></p><p> /**********************************************************/</p><p> void IRdelay(unsigned char x) //x*0.14MS</p><p><b> {</b></p><p>
87、; unsigned char i;</p><p> while(x--)</p><p><b> {</b></p><p> for (i = 0; i<13; i++) {}</p><p><b> }</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---紅外線遙控插座的設(shè)計(jì)
- 紅外線遙控器畢業(yè)設(shè)計(jì)
- 紅外線遙控電風(fēng)扇畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---紅外線遙控系統(tǒng)的應(yīng)用設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-紅外線遙控窗簾電路
- 畢業(yè)設(shè)計(jì)---紅外線遙控電燈開關(guān)設(shè)計(jì)制作
- 紅外線窗簾遙控控制器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)紅外線遙控電燈開關(guān)設(shè)計(jì)制作
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)設(shè)計(jì)的紅外線遙控器
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)設(shè)計(jì)的紅外線遙控器
- 紅外線遙控密碼鎖的設(shè)計(jì)
- 紅外線遙控插座電路設(shè)計(jì)10級(jí)應(yīng)用電子技術(shù)
- 紅外線遙控系統(tǒng)外文翻譯
- 紅外線遙控電源開關(guān)
- 外文翻譯(紅外線遙控系統(tǒng))
- 紅外線水龍頭畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----紅外線自動(dòng)水龍頭
- 【畢業(yè)設(shè)計(jì)】智能紅外線防盜報(bào)警系統(tǒng)
- 畢業(yè)設(shè)計(jì)--熱釋紅外線電子哨兵
- 紅外線遙控電子密碼鎖設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文開題報(bào)告
評(píng)論
0/150
提交評(píng)論