基于單片機(jī)的電器遙控器的設(shè)計(jì)說(shuō)明_第1頁(yè)
基于單片機(jī)的電器遙控器的設(shè)計(jì)說(shuō)明_第2頁(yè)
基于單片機(jī)的電器遙控器的設(shè)計(jì)說(shuō)明_第3頁(yè)
基于單片機(jī)的電器遙控器的設(shè)計(jì)說(shuō)明_第4頁(yè)
基于單片機(jī)的電器遙控器的設(shè)計(jì)說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE39 / NUMPAGES41 師大學(xué)學(xué)院本科畢業(yè)論文基于單片機(jī)的電器遙控器的設(shè)計(jì)學(xué)生寧學(xué) 號(hào)2008104060所 在 系電子信息工程系專(zhuān)業(yè)名稱電子信息工程(工業(yè)與民用)班 級(jí)2008級(jí)2班指導(dǎo)教師西師大學(xué)學(xué)院二0一二年五月基于單片機(jī)的電器遙控器的設(shè)計(jì)學(xué)生:寧 指導(dǎo)教師:西容摘要:本文介紹了單片機(jī)電器遙控器的基本原理以與工作流程,主要采用最高科技的單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)遙控的目的。該設(shè)計(jì)主要采用了紅外發(fā)射模塊和紅外接收模塊,然后分別對(duì)這兩個(gè)程序模塊進(jìn)行編程。具體說(shuō)明了單片機(jī)在電器遙控器中的作用。單片機(jī)涉與到了電器遙控器工作的絕大部分過(guò)程。從電器遙控器的發(fā)展趨勢(shì)來(lái)看,單片機(jī)的出現(xiàn)給了電器遙

2、控器更大的優(yōu)勢(shì),促進(jìn)了新一代電器遙控器的發(fā)展。將單片機(jī)融入到電器遙控器中,使電器遙控器的使用更加的方便,快捷,也將人們的生活簡(jiǎn)易化。隨著時(shí)代的進(jìn)步,人們對(duì)生活物品的要求也越來(lái)越高,為了滿足消費(fèi)者的需求,所以將先進(jìn)的單片機(jī)加入到家庭中的電器遙控器中是符合大眾要求的。關(guān)鍵詞:?jiǎn)纹瑱C(jī) 電器遙控器 紅外發(fā)射模塊 紅外接收模塊Based on single-chip microcomputer remote controller of electrical appliance designAbstract:This paper introduces the microcomputer electric

3、appliance remote control principle and working process, mainly uses the highest technology, microprocessor technology to achieve the purpose of remote control. Design mainly adopts the infrared emitting module and the infrared receiving module, and then each of the two modules are programmed. Specif

4、y the SCM in electrical remote control in rats. SCM relates to the electric appliance remote control most of the course work. From the view of the development tendency of remote controller for electric appliances, the appearance of single chip microcomputer for electrical remote control of greater a

5、dvantage, promote a new generation of electric appliance remote control development. The single chip integrated into the electrical remote control, so that the electric appliance remote control the use of more convenient, fast, also be people life simple. With the progress of the times, people livin

6、g on items are increasingly high requirements, in order to meet the needs of consumers, so the advanced SCM to join the family electric appliance remote controller is in line with the needs of the public.Keywords:Single chip microcomputerElectrical remote control Infrared emission module Infrared re

7、ceiver module.目 錄TOC o 1-3 h z u HYPERLINK l _Toc320956212 前言 PAGEREF _Toc320956212 h 3 HYPERLINK l _Toc320956213 1紅外遙控的發(fā)展 PAGEREF _Toc320956213 h 4 HYPERLINK l _Toc320956214 1.1紅外遙控的發(fā)展趨勢(shì) PAGEREF _Toc320956214 h 4 HYPERLINK l _Toc320956215 1.2 紅外遙控的功能與特點(diǎn) PAGEREF _Toc320956215 h 4 HYPERLINK l _Toc320

8、956216 1.3 紅外線遙控在技術(shù)上的優(yōu)點(diǎn)和缺點(diǎn) PAGEREF _Toc320956216 h 5 HYPERLINK l _Toc320956217 1.4 紅外遙控的發(fā)展趨勢(shì) PAGEREF _Toc320956217 h 5 HYPERLINK l _Toc320956218 2 總體設(shè)計(jì)方案的論證和選擇 PAGEREF _Toc320956218 h 6 HYPERLINK l _Toc320956219 2.1 方案一 PAGEREF _Toc320956219 h 6 HYPERLINK l _Toc320956220 2.2 方案二 PAGEREF _Toc32095622

9、0 h 6 HYPERLINK l _Toc320956221 2.3 方案三 PAGEREF _Toc320956221 h 7 HYPERLINK l _Toc320956222 2.4 方案的選擇 PAGEREF _Toc320956222 h 8 HYPERLINK l _Toc320956223 3 系統(tǒng)硬件電路設(shè)計(jì) PAGEREF _Toc320956223 h 8 HYPERLINK l _Toc320956224 3.1 發(fā)送部分設(shè)計(jì) PAGEREF _Toc320956224 h 8 HYPERLINK l _Toc320956225 3.1.1 單片機(jī)選擇 PAGEREF

10、_Toc320956225 h 8 HYPERLINK l _Toc320956226 3.1.2 芯片擦除: PAGEREF _Toc320956226 h 9 HYPERLINK l _Toc320956227 3.1.3 按鍵控制選擇 PAGEREF _Toc320956227 h 10 HYPERLINK l _Toc320956228 3.1.4 頻率信號(hào)發(fā)生器選擇 PAGEREF _Toc320956228 h 10 HYPERLINK l _Toc320956229 3.1.5 遙控發(fā)射器電路設(shè)計(jì) PAGEREF _Toc320956229 h 10 HYPERLINK l _T

11、oc320956230 3.2 接收部分設(shè)計(jì) PAGEREF _Toc320956230 h 11 HYPERLINK l _Toc320956231 3.2.1 單片機(jī)的選擇 PAGEREF _Toc320956231 h 11 HYPERLINK l _Toc320956232 3.2.2 顯示設(shè)備選擇 PAGEREF _Toc320956232 h 11 HYPERLINK l _Toc320956233 3.2.3 調(diào)光設(shè)備選擇 PAGEREF _Toc320956233 h 13 HYPERLINK l _Toc320956234 3.2.4 受控電器電源開(kāi)關(guān)的設(shè)計(jì) PAGEREF

12、_Toc320956234 h 14 HYPERLINK l _Toc320956235 3.2.5 調(diào)光電路設(shè)計(jì) PAGEREF _Toc320956235 h 15 HYPERLINK l _Toc320956236 3.2.6 接收頻率部分和紅外接收設(shè)計(jì) PAGEREF _Toc320956236 h 16 HYPERLINK l _Toc320956237 3.2.7 遙控接收器電路原理圖 PAGEREF _Toc320956237 h 16 HYPERLINK l _Toc320956238 4 系統(tǒng)的軟件設(shè)計(jì) PAGEREF _Toc320956238 h 17 HYPERLINK

13、 l _Toc320956239 4.1 遙控發(fā)射部分 PAGEREF _Toc320956239 h 17 HYPERLINK l _Toc320956240 4.2 遙控接收部分 PAGEREF _Toc320956240 h 19 HYPERLINK l _Toc320956241 5 系統(tǒng)調(diào)試 PAGEREF _Toc320956241 h 21 HYPERLINK l _Toc320956242 6 結(jié)束語(yǔ) PAGEREF _Toc320956242 h 22 HYPERLINK l _Toc320956243 附錄1:遙控發(fā)射部分程序 PAGEREF _Toc320956243 h

14、 22 HYPERLINK l _Toc320956244 參考文獻(xiàn) PAGEREF _Toc320956244 h 38基于單片機(jī)的電器遙控器的設(shè)計(jì)前言當(dāng)前社會(huì)是信息化高速發(fā)展的社會(huì),隨著社會(huì)的發(fā)展,中國(guó)的電器市場(chǎng)也在不斷的發(fā)展,不斷的更新交替,從剛開(kāi)始的黑白電視機(jī),到現(xiàn)在的液晶電視等等,還有不斷出現(xiàn)在市場(chǎng)的新型電器,比如從前沒(méi)有的空調(diào),電腦等,這些電器的出現(xiàn),無(wú)疑給中國(guó)的電器帶來(lái)了商機(jī),也給中國(guó)的百姓帶來(lái)了方便,為了滿足廣大消費(fèi)者的需求,電器遙控器的產(chǎn)生也是具有一大重要的意義,而將單片機(jī)融入到遙控器中也是一大突破,有了單片機(jī)的電器遙控器,對(duì)電器的操作將更加的簡(jiǎn)潔化。紅外遙控的發(fā)展1.1 紅

15、外遙控的發(fā)展趨勢(shì)民用產(chǎn)品的遙控技術(shù)在60年代時(shí),在一部分發(fā)達(dá)國(guó)家就開(kāi)始研發(fā),但是由于當(dāng)時(shí)技術(shù)的限制,發(fā)展很緩慢。70年代末,隨著大規(guī)模集成電路和計(jì)算機(jī)應(yīng)用技術(shù)發(fā)展,遙控技迎來(lái)了快速發(fā)展時(shí)期。遙控方式經(jīng)歷了從有線到無(wú)線的超聲波、從振動(dòng)子到紅外線、再到使用總線的微機(jī)紅外遙控三個(gè)歷史性階段。電磁波來(lái)傳輸信號(hào)是最開(kāi)始的時(shí)無(wú)線遙控裝置所采用的,它具有的最大缺點(diǎn),科技總是不斷地進(jìn)步,后來(lái)以紅外線和超聲波為媒介進(jìn)行信號(hào)傳輸就慢慢被采用。雖然這樣在很大程度上避免了電磁波容易被干擾的缺陷,但相比紅外線,由于超聲波傳感器頻帶很窄,所以只能攜帶很少的信息量,容易被干擾而產(chǎn)生錯(cuò)誤。慢慢的紅外線的遙控應(yīng)運(yùn)而生,當(dāng)今時(shí)代

16、的主流也即是紅外線多功能遙控器。1.2 紅外遙控的功能與特點(diǎn)利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)通信的技術(shù)叫紅外線遙控技術(shù),其相應(yīng)的硬件和軟件技術(shù)都相對(duì)成熟。這就是把紅外線作為載體的遙控形式。因?yàn)榧t外線的波長(zhǎng)比無(wú)線電波的波長(zhǎng)小得多,所以在用紅外遙控到時(shí)候,不會(huì)影響臨近的無(wú)線電設(shè)備,也不會(huì)使其他電器產(chǎn)生干擾。紅外線遙控是利用波長(zhǎng)在0.76m-1.5m之間的紅外線來(lái)傳遞控制信號(hào)的。它有下面這些特點(diǎn):a.因?yàn)榧t外線為不可見(jiàn)光,所以,它對(duì)環(huán)境影響小。而且,紅外線的波長(zhǎng)很小很小,因此,紅外遙控不會(huì)使其他電器受到干擾,也不會(huì)影響近鄰的無(wú)線電設(shè)備。b.因?yàn)榧t外線是不可見(jiàn)光,有很強(qiáng)的性和隱蔽性,所以在警戒,防盜這些安全保衛(wèi)裝

17、置中也有廣泛的應(yīng)用。c.紅外遙控的遙控距離一般是幾米至幾十米。d.紅外線遙控具有成本低廉,制作方便,結(jié)構(gòu)簡(jiǎn)單,工作可靠性高,抗干擾能力強(qiáng)等優(yōu)點(diǎn),尤其是室遙控的優(yōu)先遙控方式。因?yàn)槭褂眉t外線遙控器件的時(shí)候,它的功耗很小,外圍線路非常簡(jiǎn)單,工作電壓很低,所以它在日常工作生活中得到了越來(lái)越廣泛的應(yīng)用。1.3 紅外線遙控在技術(shù)上的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):信號(hào)無(wú)干擾,傳輸準(zhǔn)確度高;無(wú)需專(zhuān)門(mén)申請(qǐng)?zhí)囟l率的使用執(zhí)照;具有移動(dòng)通信設(shè)備所必需的體積小、功率低的特點(diǎn)。缺點(diǎn):紅外線遙控距離較短;紅外LED不是十分耐用;兩個(gè)設(shè)備之間傳輸數(shù)據(jù),中間不能有阻擋物;紅外線遙控是一種視距傳輸技術(shù),采用點(diǎn)對(duì)點(diǎn)的連接具有方向性。1.4 紅

18、外遙控的發(fā)展趨勢(shì)在這幾十年里紅外遙控技術(shù)得到了非??焖俚陌l(fā)展,尤其是家電領(lǐng)域如空調(diào)、電視、DVD等,當(dāng)然其他電子領(lǐng)域也有廣泛的應(yīng)用,由于人們生活水平的提高,對(duì)產(chǎn)品的追更方便,更智能,所以更適合紅外遙控技術(shù)發(fā)展方向。為了提高對(duì)紅外遙控產(chǎn)品的開(kāi)發(fā)效率,重點(diǎn)介紹該套紅外遙控編碼分析儀,它好像一臺(tái)示波器,利用最先進(jìn)的電腦技術(shù),對(duì)紅外遙控信號(hào)進(jìn)行分析,顯示出詳盡的編碼、解碼,數(shù)據(jù)信息,使開(kāi)發(fā)人員對(duì)編、解碼情況一看便知,從而使設(shè)計(jì)人員提高了工作的效率,增加了產(chǎn)品的可靠性,穩(wěn)定性。紅外遙控信號(hào)分析儀用的是MCS-51系列單片機(jī)做為外部采樣控制器,并與計(jì)算機(jī)通信完成整個(gè)處理過(guò)程,并由計(jì)算機(jī)完成作圖、數(shù)據(jù)管理。

19、因?yàn)楦魃a(chǎn)廠家生產(chǎn)了大量專(zhuān)用于紅外遙控的集成電路,需要的時(shí)候按圖索驥即可。所以,現(xiàn)在紅外線遙控在家用電器、室近距離遙控中得到了非常廣泛的應(yīng)用。伴隨著大量出現(xiàn)的紅外光電器,紅外遙控在人們?nèi)粘I钪械膽?yīng)用越來(lái)越廣泛了。如電視機(jī)的遙控,音響設(shè)備的遙控,電風(fēng)扇的遙控,遙控空調(diào)器,安全保衛(wèi)報(bào)警器,自動(dòng)門(mén),自動(dòng)水龍頭等都可用紅外遙控技術(shù)來(lái)實(shí)現(xiàn)。在多路控制的紅外發(fā)射部分一般會(huì)設(shè)置有多個(gè)按鍵,每個(gè)按鍵對(duì)應(yīng)有不同的控制功能。接收端不同輸出狀態(tài)取決于發(fā)射端按下不同按鍵。接收端有五種輸出狀態(tài),分別是:數(shù)據(jù)形式、脈沖形式、自饋形式、電平形式、互鎖形式。利用接收端的幾個(gè)輸出指把一些發(fā)射鍵編上形成一個(gè)二進(jìn)制數(shù),來(lái)代表不同

20、的按鍵輸入就是“數(shù)據(jù)”的輸出。一般情況下,為了以后適時(shí)地來(lái)取數(shù)據(jù),接收端在具有幾位數(shù)據(jù)輸出外的基礎(chǔ)上,還有一位“數(shù)據(jù)有效”輸出端。與單片機(jī)或微機(jī)接口一般都采用這種輸出形式。當(dāng)按發(fā)射端按鍵時(shí),接收端對(duì)應(yīng)輸出端輸出一個(gè)“有效脈沖”就叫做“脈沖”輸出,它的寬度一般在100ms左右。“自饋”輸出適合用作電源開(kāi)關(guān)、靜音控制等,當(dāng)是指發(fā)射端某一個(gè)鍵被每按一次,接收端對(duì)應(yīng)輸出端狀態(tài)就改變一次,簡(jiǎn)而言之就是原來(lái)的高電平變?yōu)榈碗娖?,原?lái)的低電平變?yōu)楦唠娖健S袝r(shí)亦稱這種輸出形式為“反相”。發(fā)射端按下鍵時(shí),接收端對(duì)應(yīng)輸出端輸出“有效電平”消失這樣的輸出叫“電平”輸出。“互鎖”輸出是指多個(gè)輸出互相清除,在同一時(shí)間只有

21、一個(gè)輸出有效。電視機(jī)的選臺(tái)就屬此種情況。2 總體設(shè)計(jì)方案的論證和選擇2.1 方案一使用由常規(guī)集成電路組成的單通道紅外遙控電路,一般用字不需要多路控制的場(chǎng)合,它不需要使用較貴的專(zhuān)用編譯碼器,因此成本較低。紅外發(fā)射部分紅外發(fā)射產(chǎn)生震蕩頻率圖2.1-1 紅外發(fā)射部分結(jié)構(gòu)圖由于本方案電路是簡(jiǎn)單的單通道遙控器,可產(chǎn)生一個(gè)控制功能的震蕩頻率,再通過(guò)紅外發(fā)光二極管發(fā)射出去。b.紅外接收部分受控電器紅外接收解調(diào)控制圖2.1-2 紅外接收部分結(jié)構(gòu)圖一個(gè)電路對(duì)其進(jìn)行解調(diào)并產(chǎn)生相應(yīng)的控制功能之時(shí),就是紅外接到控制頻率之時(shí)。2.2 方案二紅外線發(fā)射/接收控制電路都采用單片機(jī)來(lái)實(shí)現(xiàn),輸出控制方式可以選擇,實(shí)用性很強(qiáng)。紅

22、外發(fā)射部分:紅外發(fā)射遙控按鈕單片機(jī)圖2.2-1 紅外發(fā)射部分結(jié)構(gòu)圖當(dāng)紅外發(fā)光二極管發(fā)射控制脈沖,就是按下遙控按鈕的時(shí),單片機(jī)產(chǎn)生的相應(yīng)的控制脈沖。b.紅外接收部分:?jiǎn)纹瑱C(jī)紅外接收受控電器控制方式選擇開(kāi)關(guān)圖2.2-2 紅外接收部分結(jié)構(gòu)圖紅外接收器接收到控制脈沖時(shí),由控制方式選擇開(kāi)關(guān)選擇是單路控制還是“互鎖”,通過(guò)單片機(jī)處理后,對(duì)相應(yīng)的受控電器控制。2.3 方案三使用單片機(jī)制作一個(gè)紅外電器遙控器,可以分別控制一個(gè)電燈開(kāi)關(guān)和5個(gè)電器的電源開(kāi)關(guān),而且可以對(duì)電燈調(diào)光控制。紅外發(fā)射部分結(jié)構(gòu)圖如圖2.3-1所示:紅外發(fā)射按鍵控制單片機(jī)圖2.3-1 紅外發(fā)射部分結(jié)構(gòu)圖當(dāng)按下遙控按鈕時(shí),單片機(jī)產(chǎn)生相應(yīng)的控制脈沖

23、,由紅外發(fā)光二極管發(fā)射出去。紅外接收部分結(jié)構(gòu)如圖2.3-2所示:受控電器電源開(kāi)關(guān)顯示單片機(jī)電燈紅外接收調(diào)光電路圖2.3-2 紅外接收部分結(jié)構(gòu)圖紅外接收器接收到控制脈沖后,經(jīng)過(guò)單片機(jī)的處理由顯示設(shè)備顯示出當(dāng)前受控電器的序號(hào),并且判斷是否對(duì)電燈進(jìn)行調(diào)光,如果判斷出需調(diào)光則經(jīng)調(diào)光電路反應(yīng)后實(shí)現(xiàn)調(diào)光功能。2.4 方案的選擇綜上所述通過(guò)比較三套方案我們得到,方案一沒(méi)有采用單片機(jī)控制,功能非常單一,只能對(duì)單一電器進(jìn)行很簡(jiǎn)單的遙控;方案二和方案三的紅外線發(fā)射/接收控制電路使用單片機(jī)來(lái)實(shí)現(xiàn),電路很簡(jiǎn)單,但實(shí)用性強(qiáng)。方案二雖然可以控制多個(gè)電器,但是控制功能太過(guò)單調(diào),只能實(shí)現(xiàn)對(duì)電器開(kāi)關(guān)的控制,實(shí)用價(jià)值不是很大;方

24、案三不但可用控制鍵來(lái)實(shí)現(xiàn)對(duì)電器的控制,而且可對(duì)一路電燈進(jìn)行亮度控制,方便實(shí)用。而且本設(shè)計(jì)用到的元器件不多,電路相對(duì)簡(jiǎn)單實(shí)用,所以本設(shè)計(jì)采用方案三作為設(shè)計(jì)藍(lán)本。3 系統(tǒng)硬件電路設(shè)計(jì)3.1 發(fā)送部分設(shè)計(jì)3.1.1 單片機(jī)選擇本設(shè)計(jì)可以用AT89C51,C31, 羚羊單片機(jī)等多種單片機(jī)來(lái)實(shí)現(xiàn)。但是C31沒(méi)有部存儲(chǔ)器,本設(shè)計(jì)需要編程,那么就要用到外部擴(kuò)展,很麻煩。本設(shè)計(jì)程序比較簡(jiǎn)單,功能也較少,如果用羚羊單片機(jī)太過(guò)麻煩,有點(diǎn)大材小用,而且本設(shè)計(jì)所用到的輸入輸出端口也不是太多,所以我決定用AT89C51單片機(jī)來(lái)完成本設(shè)計(jì),不但方便而且實(shí)用。 下面對(duì)AT89C51進(jìn)行介紹:AT89C-51單片機(jī)是一種帶4

25、K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。該單片機(jī)采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能閃爍存儲(chǔ)器和8位CPU組合在單個(gè)芯片中,ATMEL的AT89C-51是一種高效微控制器,為許多嵌入式控制系統(tǒng)提供了一種不但靈活性高而且價(jià)廉的方案。主要特性:全靜態(tài)工作:0Hz-24Hz4K字節(jié)可編程閃爍存儲(chǔ)器數(shù)據(jù)保留時(shí)間:10年與MCS-51兼容5個(gè)中斷源三級(jí)程序存儲(chǔ)器鎖定128*8位部RAM兩個(gè)16位

26、定時(shí)器/計(jì)數(shù)器32可編程I/O線片振蕩器和時(shí)鐘電路XTAL1是反向放大器的輸入,XTAL2是反向放大器的輸出。這個(gè)反向放大器可以配置為片振蕩器,瓷振蕩和石晶振蕩都可以采用。當(dāng)采用外部時(shí)鐘源驅(qū)動(dòng)器件時(shí),XTAL2應(yīng)該不接,當(dāng)有余輸入到部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬沒(méi)有任何要求,但是必須保證脈沖的高低電平要求的寬度。AT89C-51的時(shí)鐘有兩種方式,一種是外部時(shí)鐘方式,就是將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入,還有一種是片時(shí)鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容振蕩,電容的值一般取10p-30p。兩種方式分別如圖3.1.1-1

27、所示:圖3.1.1-1 時(shí)鐘方式圖3.1.2 芯片擦除:三個(gè)鎖定位和整個(gè)PEROM陣列的電擦除可以通過(guò)正確的控制信號(hào)組合并保持ALE管腳處于低電平10ms來(lái)完成。在芯片擦操作中,在代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程之前,必須先執(zhí)行該操作。此外,AT89C-51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下形成靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在掉電模式下,保存RAM的容且凍結(jié)振蕩器,禁止所用芯片功能,直到下一個(gè)硬件復(fù)位為止。在閑置模式下,CPU停止工作,但定時(shí)器,RAM,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。因此可知,AT89C-51芯片的功能很強(qiáng)大,它的振蕩特性很好的滿足本設(shè)計(jì)的需求,

28、與同類(lèi)51芯片相比,其引腳比較多,不但可以滿足對(duì)控制方式的選擇,而且可加入調(diào)光控制電路,這非常適合本設(shè)計(jì)的要求,因此本設(shè)計(jì)決定選用AT89C-51作為核心芯片。3.1.3 按鍵控制選擇因?yàn)楸驹O(shè)計(jì)所控制的電器數(shù)目比較少,所以不用外接擴(kuò)充鍵盤(pán),直接使用單片機(jī)上的接口,用8個(gè)點(diǎn)觸式開(kāi)關(guān)就可以了。3.1.4 頻率信號(hào)發(fā)生器選擇可以使用一個(gè)12M晶體震蕩器來(lái)滿足要求的頻率。3.1.5 遙控發(fā)射器電路設(shè)計(jì)這個(gè)遙控發(fā)射器采用碼分制遙控方式。碼分制紅外遙控就是指令信號(hào)產(chǎn)生電路以不同的脈沖編碼來(lái)代表不同的控制指令。在確定使用AT89C-51作為本設(shè)計(jì)發(fā)射電路核心芯片和點(diǎn)觸式開(kāi)關(guān)作為控制鍵后,加上12M晶體震蕩器

29、和一個(gè)簡(jiǎn)單紅外發(fā)射電路便可實(shí)現(xiàn)紅外發(fā)射。下圖為本紅外遙控設(shè)計(jì)核心部分之一的發(fā)射電路原理圖如圖3.1.5-1所示:圖3.1.5-1 發(fā)射電路原理圖芯片端口P1.0P1.7接8個(gè)點(diǎn)觸式開(kāi)關(guān),端口P1.5為遙控器的開(kāi)關(guān),端口P1.0P1.4用來(lái)遙控電器電源開(kāi)關(guān),端口P1.6和P1.7是調(diào)節(jié)電燈亮度的控制開(kāi)關(guān)。其中P1.7實(shí)現(xiàn)對(duì)發(fā)光二極管的減暗控制,P1.6實(shí)現(xiàn)對(duì)發(fā)光二極管的增亮控制,端口RST為復(fù)位腳,采用簡(jiǎn)單的RC上復(fù)位電路。端口XTAL1和端口XTAL2接12MHz晶體振蕩器,端口P3.5則是紅外線遙控碼的輸出口,用來(lái)輸出40kHz載波編碼。 晶體三極管在電路中起放大作用,該設(shè)計(jì)采用的是一個(gè)NP

30、N型的三級(jí)管9013,為了得到更大的放大倍數(shù),采用了共射級(jí)接法。因?yàn)閺膒3.5口出來(lái)的為高電壓,而三級(jí)管9013不能承受這個(gè)電壓,所以采用了一個(gè)阻值比較大的電阻來(lái)起分壓作用,從而起到了緩沖作用。3.2 接收部分設(shè)計(jì)3.2.1 單片機(jī)的選擇和發(fā)射部分是一樣的,該設(shè)計(jì)所用到的輸入輸出端口不是很多 ,所以用AT89C51單片機(jī)完全可以完成該設(shè)計(jì),而且AT89C-51方便實(shí)用的性能比其他同類(lèi)芯片更適合于本設(shè)計(jì)。3.2.2 顯示設(shè)備選擇在單片機(jī)應(yīng)用系統(tǒng)中,使用的顯示器主要有LCD(夜晶顯示器),LED(發(fā)光二極管),這兩種顯示器都具有配置靈活,成本很低,與單片機(jī)接口方便的特點(diǎn)。但是它們也是各有各的特點(diǎn):

31、LED接口很簡(jiǎn)單,不需要使用專(zhuān)用的驅(qū)動(dòng)程序,而且在設(shè)計(jì)程序時(shí)也十分的簡(jiǎn)單;LCD顯示的字較為豐富,也相當(dāng)清楚,給人的感覺(jué)很好,但是它的接口很復(fù)雜,而且要自己造字庫(kù),難度很高。而本設(shè)計(jì)遙控器的接收電路,因?yàn)榕渲昧艘恍┲甘緹?,所以只顯示數(shù)字就夠了,因此沒(méi)有必要采用LCD,用LED就可以了。下面就介紹一下LED顯示器的引腳和結(jié)構(gòu)用發(fā)光二極管來(lái)顯示字段的器件叫LED顯示器,在單片機(jī)應(yīng)用系統(tǒng)中一般用七段顯示器。共陽(yáng)極顯示器就是發(fā)光二極管的陽(yáng)極連在一起,共陰極顯示器就是陰極連在一起。圖4.2.2-1中是七段顯示器的結(jié)構(gòu),由八個(gè)發(fā)光二極管組成一個(gè)顯示器,其中有七個(gè)發(fā)光二極管控制ag七段的暗或亮,最后一個(gè)發(fā)光

32、二極管控制一個(gè)小數(shù)點(diǎn)的暗或亮。這種七段顯示器能顯示的字符的形狀有些失真,字符比較少,但是與單片機(jī)的控制接口十分簡(jiǎn)單,使用起來(lái)很方便。圖3.2.2-1 LED引腳圖LED有動(dòng)態(tài)顯示和靜態(tài)顯示兩種顯示方式。下面簡(jiǎn)單介紹一下它們的原理:靜態(tài)顯示方式當(dāng)顯示器顯示某一個(gè)字符時(shí),對(duì)應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止,直到顯示另一個(gè)字符為止就是靜態(tài)顯示方式。如共陰極LED顯示器,當(dāng)a,b,c,d,e,f為高電平,g,d,p為低電平時(shí),高電平的引腳恒定截止,顯示器顯示“0”。這種顯示方式每一個(gè)七段LED顯示器需要一個(gè)8位輸出口控制段選位,顯示器的各位選位連在一起接高電平(共陽(yáng)極)或接低電平(共陰極)。在靜態(tài)顯示方

33、式時(shí),顯示器中的各位是相互獨(dú)立的,且各位的顯示字符一旦確定以后,相應(yīng)鎖存輸出就會(huì)維持不變,因此,靜態(tài)顯示的亮度比較高。這種顯示方式管理簡(jiǎn)單,編程容易,但是占用I/O口資源比較多,所以在顯示位數(shù)較多時(shí),就采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式一般用在多位LED顯示時(shí),是為了節(jié)省I/O口線,降低成本。動(dòng)態(tài)顯示方式是一位一位的輪流點(diǎn)亮各位顯示器,就是對(duì)每一位顯示器,每隔一段時(shí)間輪流點(diǎn)亮一次。顯示器的亮度不但與點(diǎn)亮和熄滅的時(shí)間比例有關(guān),而且與導(dǎo)通電流有關(guān)。只要調(diào)整時(shí)間參數(shù)和導(dǎo)通電流,就可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。這種動(dòng)態(tài)顯示方式就是將七段LED顯示器的所有段選位并聯(lián)在一起,由一個(gè)8位I/O口控制,

34、相應(yīng)的I/O口控制相應(yīng)的共陽(yáng)極或共陰極,從而實(shí)現(xiàn)各位顯示器的分時(shí)選通。下圖利用P2口控制各顯示器輪流選通,P0口接各顯示器的段選位,提供各顯示器的顯示數(shù)據(jù)。由于單片機(jī)I/O口有限,而靜態(tài)顯示需要占用大量的接口。比如在本設(shè)計(jì)中需要采用5個(gè)數(shù)碼管,一個(gè)要9個(gè)口子,那總共需要45個(gè)口子,這是無(wú)法達(dá)到的,而動(dòng)態(tài)只要8個(gè)就可以了。如果是需要顯示的數(shù)碼管實(shí)在是太多,則還可以在數(shù)碼管和單片機(jī)之間加上譯碼器來(lái)進(jìn)一步減少口子的數(shù)目。3.2.3 調(diào)光設(shè)備選擇光電耦合器具有體積小、使用壽命長(zhǎng)、工作溫度圍寬、抗干擾性能強(qiáng)。無(wú)觸點(diǎn)且輸入與輸出在電氣上完全隔離等特點(diǎn),因而在各種電子設(shè)備上得到廣泛的應(yīng)用。光電耦合器可用于隔

35、離電路、負(fù)載接口與各種家用電器等電路中。光電耦合器的種類(lèi)較多,但在家電電路中,常見(jiàn)的只有4種結(jié)構(gòu):第一類(lèi),為發(fā)光二極管與光電晶體管封裝的光電耦合器,結(jié)構(gòu)為雙列直插4引腳塑封,部電路見(jiàn)表一,主要用于開(kāi)關(guān)電源電路中。 第二類(lèi),為發(fā)光二極管與光電晶體管封裝的光電耦合器,主要區(qū)別引腳結(jié)構(gòu)不同,結(jié)構(gòu)為雙列直插6引腳塑封,部電路見(jiàn)表一,也用于開(kāi)關(guān)電源電路中。 第三類(lèi),為發(fā)光二極管與光電晶體管(附基極端子)封裝的光電耦合器,結(jié)構(gòu)為雙列直插6引腳塑封,部電路見(jiàn)表一,主要用于AV轉(zhuǎn)換音頻電路中。第四類(lèi),為發(fā)光二極管與光電二極管加晶體管(附基極端子)封裝的光電耦合器,結(jié)構(gòu)為雙列直插6引腳塑封,部電路見(jiàn)表一,主要用

36、于AV轉(zhuǎn)換視頻電路中。因?yàn)楸驹O(shè)計(jì)所用到的調(diào)光功能僅僅是調(diào)節(jié)電燈的亮暗,所以無(wú)需使用復(fù)雜的調(diào)光控制系統(tǒng),可直接使用一個(gè)光電藕合器,來(lái)實(shí)現(xiàn)此功能。本設(shè)計(jì)采用的就是以上第二類(lèi)的一個(gè)型號(hào)為PS2019。紅外遙控接收器的接收過(guò)程如圖3.2.3-1所示:紅外接收前置放大解調(diào)指令解碼記憶驅(qū)動(dòng)執(zhí)行圖3.2.3-1 紅外遙控接收器的接收過(guò)程圖從上可知,紅外遙控系統(tǒng)中的檢出電路和指令信號(hào)在碼分制系統(tǒng)中由解碼電路和編碼電路構(gòu)成,由于碼分制系統(tǒng)編碼脈沖的頻率非常低,是超低頻,因此要有調(diào)制和解調(diào)的過(guò)程,假如不用調(diào)制與解調(diào)電路,外界的光線變化可能會(huì)對(duì)接收電路產(chǎn)生干擾,從而形成誤動(dòng)作,導(dǎo)致系統(tǒng)的抗干擾能力和可靠性難以得到保

37、證。指令信號(hào)產(chǎn)生電路以不同的脈沖編碼(不同的脈沖數(shù)目和組合)代表著不同的控制指令叫碼分制紅外遙控。當(dāng)按下不同的指令鍵時(shí),指令信號(hào)電路產(chǎn)生不同脈沖編碼,然后經(jīng)過(guò)調(diào)制電路調(diào)制,變?yōu)榫幋a脈沖調(diào)制信號(hào),再經(jīng)過(guò)驅(qū)動(dòng)電路驅(qū)動(dòng)紅外發(fā)射器發(fā)射紅外光信號(hào)。接收器接到信號(hào)后,再經(jīng)過(guò)前置放大后,送入解調(diào)電路,對(duì)調(diào)制信號(hào)進(jìn)行解調(diào),再經(jīng)過(guò)指令信號(hào)檢出信號(hào)。智力指令信號(hào)檢出電路是和發(fā)射器中編碼電路相對(duì)應(yīng)的譯碼電路,它會(huì)將指令信號(hào)譯出。d.電路設(shè)計(jì)顯示電路的設(shè)計(jì)數(shù)碼管直接與51芯片的P1端口相連,但是為了保證51芯片能正常工作,必須在P1端口連電源時(shí)加上一個(gè)470的限流電阻。設(shè)計(jì)電路圖如圖3.2.3-2:圖3.2.3-2

38、設(shè)計(jì)電路圖我們用芯片端口P1.0P1.7與數(shù)碼管的ah這8個(gè)引腳對(duì)應(yīng)相連,用來(lái)顯示被控發(fā)光二極管的序號(hào)。3.2.4 受控電器電源開(kāi)關(guān)的設(shè)計(jì)因?yàn)樵撛O(shè)計(jì)無(wú)法使用6個(gè)家用電器開(kāi)關(guān)作為受控開(kāi)關(guān),所以我用6個(gè)發(fā)光二極管來(lái)代替。其中可調(diào)節(jié)亮度的燈用接端口P0.5的二極管。為了保證發(fā)光二極管的安全而又能正常工作,特用1K的電阻作為限流電阻。設(shè)計(jì)電路圖如圖3.2.4-1所示:圖3.2.4-1 受控電器電源開(kāi)關(guān)設(shè)計(jì)電路圖3.2.5 調(diào)光電路設(shè)計(jì)晶體三極管主要是放在放大電路中用來(lái)放大作用,本設(shè)計(jì)采用的是一個(gè)9012三極管,為了得到更大的放大倍數(shù),采用了類(lèi)似于共射級(jí)的接法。由于從P2.7口出來(lái)的電壓是高電壓,但三極

39、管9012不能承受該高電壓,故采用了一個(gè)阻值比較大的電阻用來(lái)起分壓作用,從而使加到三極管的電壓得到了緩沖。對(duì)于調(diào)光控制就采用一個(gè)光電耦合器來(lái)實(shí)現(xiàn)對(duì)一路電器的亮度控制。圖3.2.5-1 調(diào)光電路設(shè)計(jì)電路圖3.2.6 接收頻率部分和紅外接收設(shè)計(jì)為了和發(fā)射端對(duì)應(yīng),同樣采用一個(gè)紅外接收的二極管與一個(gè)12M晶體震蕩器配合可以對(duì)發(fā)射出的頻率進(jìn)行接收。3.2.7 遙控接收器電路原理圖下圖3.2.7-7為本紅外遙控設(shè)計(jì)的另一核心部分接收電路原理圖,其中數(shù)碼管的a到h這8個(gè)引腳與芯片端口P1.0到P1.7對(duì)應(yīng)相接,用來(lái)顯示被控發(fā)光二極管的序號(hào),端口P0.0到P0.5與6個(gè)發(fā)光二極管的電源控制輸出對(duì)應(yīng)相接。其中可

40、以對(duì)端口P0.5接的發(fā)光二極管進(jìn)行亮度調(diào)節(jié),端口P2.7是可控硅調(diào)光燈的調(diào)光脈沖輸出,端口P3.0是50Hz交流電相位基準(zhǔn)輸入,端口P3.1是用來(lái)接收紅外遙控碼輸入信號(hào)端口,端口P3.2為中斷輸入口。圖3.2.7-1 遙控接收器電路原理圖4 系統(tǒng)的軟件設(shè)計(jì)4.1 遙控發(fā)射部分下圖是遙控發(fā)射的主程序,首先初始化程序,然后調(diào)用鍵掃描處理子程序。開(kāi)始 初始化調(diào)用鍵掃描處理子程序圖4.1-1 遙控發(fā)射主程序圖掃鍵過(guò)程:首先判斷控制鍵是不是已經(jīng)按下,如果有控制鍵按下就進(jìn)行逐行掃描,按照P口值查找鍵號(hào).再按照鍵號(hào)轉(zhuǎn)到相應(yīng)的發(fā)射程序。如圖4.1-2所示:掃鍵開(kāi)始鍵按下?返回N Y逐行掃描,按P口值查鍵號(hào)按鍵

41、號(hào)轉(zhuǎn)至相應(yīng)的發(fā)射程序圖4.1-2 掃鍵過(guò)程圖紅外信號(hào)發(fā)射過(guò)程:先裝入發(fā)射脈沖個(gè)數(shù)(發(fā)射時(shí)為3ms脈沖,停發(fā)時(shí)為1ms脈沖),當(dāng)發(fā)射脈沖個(gè)數(shù)為1的時(shí)候,就返回主程序,如果不為1就發(fā)1ms脈沖,然后再停發(fā)1ms脈沖,這樣整個(gè)發(fā)射過(guò)程就結(jié)束了。實(shí)踐過(guò)程中,在采用紅外線遙控方式的時(shí)侯,由于受到角度,遙控距離等影響,從而在使用時(shí)效果不是很好,但是采用調(diào)幅或調(diào)頻發(fā)射接收碼,不但可以提高遙控距離,而且沒(méi)有角度影響。發(fā)射開(kāi)始裝入發(fā)射脈沖個(gè)數(shù)(R1)發(fā)3ms脈沖停發(fā)1ms(R1)-1=0 Y返回 N發(fā)1ms脈沖停發(fā)1ms圖4.1-3 紅外信號(hào)發(fā)射過(guò)程圖4.2 遙控接收部分遙控接收部分的主程序與初始化和延時(shí)過(guò)程如

42、下:首先初始化,再按照顯示亮度數(shù)據(jù)設(shè)定調(diào)光脈沖延時(shí)值,最后看P3.0口的脈沖是否為0,如果不是0就調(diào)入延時(shí)程序,此時(shí)P2.7口輸出調(diào)光脈沖然后返回;如果為0就直接返回。開(kāi)始初始化按顯示亮度數(shù)據(jù)設(shè)定調(diào)光脈沖延時(shí)值P3.0=0?N調(diào)延時(shí)程序YP2.7口輸出調(diào)光脈沖圖5.2-1 遙控接收部分主程序圖中斷過(guò)程:首先判斷低電平脈沖寬度是否大于2ms,如果脈寬不到2ms就中斷返回;如果低電平大于2ms就接收低電平脈沖計(jì)數(shù),接下來(lái)就判斷高電平脈沖寬度是不是大于3ms,如果脈寬不到3ms,則返回上一接收計(jì)數(shù)過(guò)程,如果高電平脈寬大于3ms,就按照脈沖個(gè)數(shù)至對(duì)應(yīng)功能程序,此時(shí)中斷返回。中斷開(kāi)始低電平脈寬2ms N

43、Y接收并對(duì)低電平脈沖計(jì)數(shù)高電平脈寬3ms?N按脈沖個(gè)數(shù)至對(duì)應(yīng)的功能程序Y中斷返回圖4.2-2 中斷過(guò)程圖5 系統(tǒng)調(diào)試控制電路板的安裝與調(diào)試在整個(gè)系統(tǒng)研制中占有很重要位置,它不但是把理論付諸實(shí)踐的過(guò)程,而且也是把紙面設(shè)計(jì)轉(zhuǎn)變到實(shí)際產(chǎn)品的必經(jīng)階段。對(duì)試驗(yàn)階段的電路板安裝一般有焊接方式和面包板插接方式兩種方式。一般用面包板焊接,因?yàn)橛妹姘搴附邮褂梅奖?,容易更換器件和線路,而且可以反復(fù)使用。但是使用過(guò)多后面包板中彈簧片會(huì)變松,彈性會(huì)變差,容易造成接觸不良,這點(diǎn)需要注意。實(shí)驗(yàn)和調(diào)試常用的儀器有:信號(hào)發(fā)生器、穩(wěn)壓電源、萬(wàn)用表、示波器等。調(diào)試的主要步驟:a.調(diào)試前不加電源對(duì)照電路圖和實(shí)際線路檢查連線是否正

44、確,如少接、錯(cuò)接、多接等;電源端對(duì)地是不是存在短路;元器件引腳之間有沒(méi)有短路,連接處有沒(méi)有接觸不良,二極管、三極管、集成電路和電解電容的極性是不是都正確;電源供電(極性、信號(hào)源)連線是不是正確;用萬(wàn)用表電阻檔檢查焊接和接插是不是良好。電路經(jīng)過(guò)上述檢查,確認(rèn)無(wú)誤后,可轉(zhuǎn)入靜態(tài)檢測(cè)與調(diào)試。b.靜態(tài)檢測(cè)與調(diào)試斷開(kāi)信號(hào)源,把經(jīng)過(guò)準(zhǔn)確測(cè)量的電源接入電路,用萬(wàn)用表電壓檔監(jiān)測(cè)電源電壓,觀察有無(wú)冒煙、異常氣味、異常聲音等異?,F(xiàn)象,如果發(fā)現(xiàn)異常情況,立即切斷電源,排查除故障;如果沒(méi)此類(lèi)現(xiàn)象,分別測(cè)量靜態(tài)工作點(diǎn)、數(shù)字電路各輸入端和輸出端的高低電平值和邏輯關(guān)系等各關(guān)鍵點(diǎn)直流電壓,是否都在正常工作狀態(tài)下,如果不相符,

45、就調(diào)整電路元器件參數(shù)、更換元器件等,使電路最終工作在合適的工作狀態(tài)下。對(duì)于放大電路還要用示波器觀察是不是有自激發(fā)生。C動(dòng)態(tài)檢測(cè)與調(diào)試在靜態(tài)調(diào)試的基礎(chǔ)上動(dòng)態(tài)調(diào)試,將所需的信號(hào)源加在電路的輸入端,逐級(jí)檢測(cè)有關(guān)點(diǎn)的波形、參數(shù)和性能指標(biāo)是否達(dá)到設(shè)計(jì)要求。發(fā)現(xiàn)問(wèn)題,按照原理和常規(guī)知識(shí)找出原因,排除故障,繼續(xù)檢測(cè)調(diào)試。此電路在正常工作狀態(tài)下,當(dāng)接通不同的開(kāi)關(guān)時(shí)所顯示的波型不一樣。因?yàn)樗O(shè)計(jì)的遙控器電路是采用碼分制遙控方式。d.調(diào)試注意事項(xiàng)測(cè)量?jī)x器的帶寬必須大于被測(cè)量電路的帶寬。測(cè)量電壓所用儀器的輸入阻抗必須遠(yuǎn)大于被測(cè)處的等效阻抗。屏蔽線連線常使用在在信號(hào)較弱的輸入端,并且要注意將屏蔽線的外屏蔽層要接到公共

46、地線上,在頻率較高時(shí)要設(shè)法隔離連接線分布電容的影響。測(cè)量?jī)x器的接地端要正確使用,儀器的接地端與電路的接地端要可靠連接;6 結(jié)束語(yǔ)經(jīng)過(guò)幾個(gè)月的努力,我在老師的耐心幫助和自己的努力下終于完成了此次設(shè)計(jì),并按設(shè)計(jì)要現(xiàn)了遙控器的各項(xiàng)功能。通過(guò)這次設(shè)計(jì)使我從中學(xué)到到了很多課本上學(xué)不到的知識(shí),了解了紅外遙控器的現(xiàn)狀和發(fā)展趨勢(shì),并學(xué)會(huì)了用單片機(jī)開(kāi)發(fā)產(chǎn)品的完整的過(guò)程。通過(guò)自己親自去動(dòng)手和調(diào)試我明白的實(shí)踐的重要性理論結(jié)合實(shí)踐的含義,同時(shí)也大大的提高了自己的動(dòng)手能力,這在我以后的工作中都是非常有用的。在這次設(shè)計(jì)中,老師不厭其煩的給我講解問(wèn)題和修正錯(cuò)誤,在此表示衷心的感!附錄1:遙控發(fā)射部分程序#include #

47、define TIMEH 12 /基于22.1184M時(shí)鐘晶振,數(shù)字越大,時(shí)間越長(zhǎng)#define TIMEL 50 /基于22.1184M時(shí)鐘晶振,數(shù)字越大,時(shí)間越長(zhǎng)#define ROW P3 /矩陣按鍵接口定義#define LINE P2 /矩陣按鍵接口定義extern void timer_init(void);extern void delay(unsigned int);extern unsigned char scan_key(void);unsigned char irm_code;sbit QD = P10;void main()unsigned char tmp;irm_c

48、ode=0 xff;timer_init();while(1) tmp = scan_key();if(tmp!=0 xff) if(irm_code=0 xff) /一次鍵值發(fā)射完成后會(huì)將irm_code置為0 xffirm_code = tmp;/鍵值傳遞TR0 = 1; /啟動(dòng)定時(shí)器,完成編碼發(fā)射delay(10);/兩次編碼發(fā)射之間需要延時(shí),連續(xù)發(fā)射會(huì)導(dǎo)致解碼失敗 void timer_init(void)TMOD = 0 x01;TH0 = 0 xff;TL0 = 0 xff;EA = 1;ET0 = 1;TR0 = 0;/*定時(shí)中斷,紅外編碼*/void timer_int(voi

49、d) interrupt 1static unsigned char i=0,flag=0;QD=QD;if(i10) /連續(xù)發(fā)射5個(gè)“0”引導(dǎo)碼TH0 = 255-TIMEH/2;TL0 = 255-TIMEL/2;i+;else if(i18) /數(shù)據(jù)編碼if(irm_code & 0 x80)=0 x80) TH0 = 255-TIMEH;TL0 = 255-TIMEL;irm_code = 1;i+;else TH0 = 255-TIMEH/2;TL0 = 255-TIMEL/2;if(flag) irm_code = 1;i+;flag = 0 x01;else TR0 = 0;i=

50、0;QD=1;irm_code=0 xff;TH0 = 0 xff;TL0 = 0 xff; void delay(unsigned int t)unsigned char i;while(t-) for(i=0;i230;i+);/*矩陣按鍵掃描*/unsigned char scan_key(void)unsigned char j; static unsigned char i=0;ROW = 255-(1i); /列掃描低電平有效,F(xiàn)E,FD,FB,F7if(LINE!=0 xff) for(j=0;j8;j+) if(LINE=(255-(1j) return (j+(i3);i+;

51、 i&=0 x03;return(0 xff);#include #define TIMEH 12 /基于22.1184M時(shí)鐘晶振,數(shù)字越大,時(shí)間越長(zhǎng)#define TIMEL 50#define ROW P3#define LINE P2extern void timer_init(void);extern void delay(unsigned int);extern unsigned char scan_key(void);unsigned char irm_code,turn_flag;sbit QD = P10;void main()unsigned char tmp=0;irm_c

52、ode=0;turn_flag=0;timer_init();while(1)if(turn_flag=0) tmp = scan_key();if(tmp!=0 xff) irm_code = tmp;TR0 = 1;turn_flag=0 xff; void timer_init(void)TMOD = 0 x01;TH0 = 0 xff;TL0 = 0 xff;EA = 1;ET0 = 1;TR0 = 0;void timer_int(void) interrupt 1static unsigned char i=0,flag=0;QD=QD;if(i10) TH0 = 255-TIME

53、H/2;TL0 = 255-TIMEL/2;i+;else if(i18) if(irm_code & 0 x80)=0 x80) TH0 = 255-TIMEH;TL0 = 255-TIMEL;irm_code = 1;i+;else TH0 = 255-TIMEH/2;TL0 = 255-TIMEL/2;if(flag) irm_code = 1;i+;flag = 0 x01;else TR0 = 0;i=0;QD=1;turn_flag=0;TH0 = 0 xff;TL0 = 0 xff; void delay(unsigned int t)unsigned char i;while(

54、t-) for(i=0;i230;i+);unsigned char scan_key(void)static unsigned char i;unsigned char tmp,j; unsigned char code row_code=0 xfe,0 xfd,0 xfb,0 xf7;unsigned char code lin_code=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;ROW=row_decodei;tmp=LINE;for(j=0;j8;j+) if(tmp=lin_codej) return j;switch (tmp)

55、case 0 xfe:return 0 x01; break;case 0 xfd:return 0 x02;break;case 0 xfb:return 0 x03; break;case 0 xf7:return 0 x04;break;case 0 xef:return 0 x05; break;case 0 xdf:return 0 x06;break;case 0 xbf:return 0 x07; break;case 0 x7f:return 0 x08;break;default:break;ROW=0 xfd;tmp=LINE;switch (tmp)case 0 xfe:

56、return 0 x09; break;case 0 xfd:return 0 x0a;break;case 0 xfb:return 0 x0b; break;case 0 xf7:return 0 x0c;break;case 0 xef:return 0 x0d; break;case 0 xdf:return 0 x0e;break;case 0 xbf:return 0 x0f; break;case 0 x7f:return 0 x10;break;default:break;ROW=0 xfb;tmp=LINE|0 x80;switch (tmp)case 0 xfe:retur

57、n 0 x11; break;case 0 xfd:return 0 x12;break;case 0 xfb:return 0 x13; break;case 0 xf7:return 0 x14;break;case 0 xef:return 0 x15; break;case 0 xdf:return 0 x16;break;case 0 xbf:return 0 x17; break;case 0 x7f:return 0 x18;break;default:break;ROW=0 xf7;tmp=LINE;switch (tmp)case 0 xfe:return 0 x19; br

58、eak;case 0 xfd:return 0 x1a;break;case 0 xfb:return 0 x1b; break;case 0 xf7:return 0 x1c;break;case 0 xef:return 0 x1d; break;case 0 xdf:return 0 x1e;break;case 0 xbf:return 0 x1f; break;case 0 x7f:return 0 x20;break;default:break; 附錄2:遙控解碼部分程序#include irm_int.hunsigned char irm_code;/紅外解碼鍵值返回全局變量void irm_int2_init(void)EA = 1;IT0 = 1;/下降沿中斷EX0 = 1;irm_code=0 xff;void irm_int(void) interrupt 0unsigned char i,flag;unsigned int counter;unsigned int temp=0;EA=0;temp=0 xff;counter=0;flag=0;for(i=0;i300) break;if(counter10)&(counter300) if(flag=0) temp200) temp

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論