-基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) (2) - 副本_第1頁
-基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) (2) - 副本_第2頁
-基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) (2) - 副本_第3頁
-基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) (2) - 副本_第4頁
-基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì) (2) - 副本_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE本科畢業(yè)設(shè)計(jì)遙控小車控制系統(tǒng)的設(shè)計(jì)摘要智能作為現(xiàn)代的新發(fā)明,是以后的發(fā)展方向,它可以按照預(yù)先設(shè)定的模式在一個(gè)環(huán)境里自動(dòng)的運(yùn)作,不需要人為的管理,可應(yīng)用于科學(xué)勘探等等的用途。智能電動(dòng)車就是其中的一個(gè)體現(xiàn)。智能遙控技術(shù)是指實(shí)現(xiàn)對被控目標(biāo)的遙遠(yuǎn)控制,在工業(yè)控制、航空航天、家電領(lǐng)域應(yīng)用廣泛。而紅外遙控也是一種無線、非接觸控制技術(shù),但是由于它具有抗干擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),因此被諸多電子設(shè)備特別是家用電器廣泛采用,并越來越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。本文介紹了基于紅外遙控技術(shù)的遙控小車控制系統(tǒng),以STC89C52RC單片機(jī)為核心,利用紅外遙控器來控制小車的運(yùn)行方向和速度。系統(tǒng)的硬件部分主要由單片機(jī)最小系統(tǒng)模塊、紅外發(fā)射端的獨(dú)立式鍵盤電路、紅外發(fā)射電路、紅外接收端的紅外接收電路、控制電路等組成。軟件部分使用C語言編程,由紅外發(fā)射端的主程序、鍵盤掃描子程序、紅外編碼子程序、紅外接收端的主程序、紅外解碼子程序、小車控制子程序等組成。當(dāng)獨(dú)立式鍵盤有按鍵按下時(shí),單片機(jī)掃描并確認(rèn)是哪一個(gè)鍵按下,并將鍵對應(yīng)的操作編碼后通過紅外發(fā)射電路發(fā)射出去,紅外接收電路接收到操作碼后,單片機(jī)對其進(jìn)行解碼,并將碼對應(yīng)的操作交予控制電路,電機(jī)、指示燈開始工作,從而實(shí)現(xiàn)對小車的控制。關(guān)鍵詞:STC89C52RC單片機(jī)紅外發(fā)射紅外接收DesignoftheControlSystemofRemoteControlCarChenYouchao(CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China)Abstract:Theintelligentisadirectionofdevelopinginthefuturethatasanewmoderninvent.Itcanfollowtheautomaticoperationinanenvironmentwiththepre-setpattern,managementwithoutanybody;alsocanbeappliedtotheuseofscientificexpiration.Intelligentcarisonereflectofitsfeatures.Intelligentremotecontroltechnologymeanschargedwiththetargetremotecontrol,itwidelyusedinindustrialcontrol,aerospace,homeappliancesfield.Howevertheinfraredremotecontrolisalsoawireless,non-contactcontroltechnology,butithasastronganti-interferenceability,reliableinformationtransmission,lowpowerconsumption,cheapereasytoimplementandothersignificantadvantages.Soitwidelyusedinmanyelectronicdeviceswhichespeciallyhouseholdappliancesandmoreandmoreapplicationsusedintothecomputersystem.Thispaperintroducestheremotecontrolcarcontrolsystembasedoninfraredremotecontroltechnology,withSTC89C52RCsingle-chipmicrocomputerasthecore,theuseofinfraredremotecontroltocontrolthedirectionandspeedofthecar.Thehardwarepartofthesystemismainlycomposedofsinglechipmicrocomputerminimumsystemmodule,infraredlaunchtheindependenttypekeyboardcircuit,infraredemissioncircuit,infrared,infraredreceivingcircuit,controlcircuitatthereceivingend,etc.UsedClanguageprogrammingsoftwarepart,theinfraredemissionisthemainprogram,keyboardscanningsubroutine,theinfraredcodingsubroutine,irmainprogramatthereceivingend,theinfrareddecodingsubroutine,thecarcontrolsubroutine,etc.Whenindependenttypekeyboardhasakeypress,singlechipmicrocomputerscanandconfirmwhichkeysarepressed,andthekeycorrespondingtothecodingoperationafterlaunchoutbyinfraredemissioncircuit,infraredreceivingcircuittoreceiveaftertheoperationcode,singlechipmicrocomputertodecode,andcodecorrespondingoperationtocontrolcircuits,motors,lightsbegantowork,soastorealizethecontrolofthecar.Keyword:STC89C52RCsingle-chipmicrocomputerinfraredemissioninfraredreceivePAGEI目錄1前言 11.1設(shè)計(jì)背景 11.2設(shè)計(jì)內(nèi)容及意義 11.3單片機(jī)概述 11.4紅外技術(shù)概述 21.4.1紅外簡介 21.4.2紅外遙控 22方案確定及原理分析 32.1設(shè)計(jì)原理 32.2紅外發(fā)射端原理 32.3紅外接收端原理 33系統(tǒng)設(shè)計(jì) 43.1單片機(jī)最小系統(tǒng)設(shè)計(jì) 43.1.1STC89C52RC單片機(jī)簡介 43.1.2 時(shí)鐘電路設(shè)計(jì) 63.1.3 復(fù)位電路設(shè)計(jì) 63.1.4穩(wěn)壓電路設(shè)計(jì) 73.2紅外發(fā)射端設(shè)計(jì) 83.2.1獨(dú)立式鍵盤電路設(shè)計(jì) 83.2.2紅外發(fā)射電路設(shè)計(jì) 83.3紅外接收端設(shè)計(jì) 93.3.1紅外接收芯片介紹 93.3.2紅外接收電路設(shè)計(jì) 103.3.3電機(jī)驅(qū)動(dòng)芯片介紹 103.3.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) 113.3.5指示燈電路設(shè)計(jì) 123.4 軟件設(shè)計(jì) 123.4.1 紅外編碼介紹 133.4.2紅外發(fā)射端軟件設(shè)計(jì) 143.4.3紅外接收端軟件設(shè)計(jì) 154系統(tǒng)測試 174.1硬件測試 174.2軟件測試 175結(jié)語 18參考文獻(xiàn) 19附錄A電路原理圖 20附錄B主要程序代碼 21致謝 36華南農(nóng)業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)成績評定表PAGE351前言1.1設(shè)計(jì)背景遙控小車是上世紀(jì)提出的一種新型小車,是一種智能小車。從小的方面說,遙控小車可以開發(fā)幼兒的智力,提高小孩子左右手的協(xié)調(diào)能力;從大的方面來說,遙控小汽車可以在軍事偵察、反恐、防污染等各種高污染高危險(xiǎn)的環(huán)境代替人的工作,因此它有廣闊的應(yīng)用前景。而且,遙控小車具有成本低,體積小,以及生存能力強(qiáng)等特點(diǎn)。本設(shè)計(jì)基于單片機(jī)控制和無線數(shù)據(jù)傳輸技術(shù)的設(shè)計(jì)思想。目前單片機(jī)已經(jīng)滲透到我們生活中的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程序控制玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。無線數(shù)據(jù)傳輸技術(shù)也迅猛發(fā)展并已被廣泛應(yīng)用在各個(gè)領(lǐng)域,如:無線RS485、無線PLC,電力線無線報(bào)警,工業(yè)遙控、遙測,石油鉆井張力無線監(jiān)測,安防設(shè)備無線監(jiān)控等。1.2設(shè)計(jì)內(nèi)容及意義本設(shè)計(jì)基于單片機(jī)控制和無線數(shù)據(jù)傳輸技術(shù)的設(shè)計(jì)思想,以STC89C52RC單片機(jī)為核心來控制小車,利用紅外線遙控器來控制小車的運(yùn)行方向(前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn))和速度(加速、減速)。共分為兩個(gè)模塊,紅外接收模塊和紅外發(fā)射模塊。紅外接收模塊主要由單片機(jī)最小系統(tǒng)、紅外接收電路、控制電路組成;紅外發(fā)射模塊主要有單片機(jī)最小系統(tǒng)、紅外發(fā)送電路、獨(dú)立式鍵盤電路組成。通過此課題的研究學(xué)習(xí),可以將單片機(jī)課程所學(xué)的知識應(yīng)用到實(shí)際中,了解單片機(jī)的控制方法及無線數(shù)據(jù)傳輸技術(shù)的運(yùn)用。此外,通過本次設(shè)計(jì),更可以提高自己的動(dòng)手能力,積累實(shí)踐的經(jīng)驗(yàn)。1.3單片機(jī)概述單片機(jī)又稱為“微控制器MCU”,是把中央處理器CPU(CentralProcessingUnit)、存儲(chǔ)器(Memory)、定時(shí)器(Timer)、I/O(Input/Output)接口電路等一些計(jì)算機(jī)的主要功能部件集成在一塊集成電路芯片上的微型計(jì)算機(jī)。中文“單片機(jī)”是由英文“SingleChipMicrocomputer”直接翻譯而來的。(王衛(wèi)星,2009)單片機(jī)主要特點(diǎn)如下:(1)集成度高、體積小、可靠性高。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,許多信號的通道均在一個(gè)芯片內(nèi),大大提高了單片機(jī)的可靠性與抗干擾能力。另外,由于其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。系統(tǒng)軟件(如:程序指令、常數(shù)、表格)固化在ROM中,不易受病毒破壞,故運(yùn)作時(shí)系統(tǒng)穩(wěn)定可靠。(2)控制能力強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。(3)便于擴(kuò)展。單片機(jī)片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件,片外有很多供擴(kuò)展用的管腳(總線,并行和串行的輸入/輸出),很容易組成一定規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。外部總線增加了I2C(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。(4)功能強(qiáng),有著豐富的內(nèi)置資源。(5)實(shí)用性好。低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。1.4紅外技術(shù)概述1.4.1紅外簡介從光學(xué)的角度而言,紅外是頻率低于紅色光的不可見光,在無線光譜的整個(gè)頻率中占有很小一個(gè)頻率段,波長為0.75—100微秒之間,其中0.75—3微秒之間的紅外光稱為近紅外,3—30微秒之間的紅外光稱為中紅外,30—100微秒之間的稱為遠(yuǎn)紅外。紅外光就其性質(zhì)而言很簡單,與普通光線的頻率特性沒有很大的區(qū)別,但是,由于任何有熱量的物體均有能量產(chǎn)生,所以紅外的利用非常廣泛,而且不可取代,能否檢測紅外、能測到多少紅外或者紅外檢測的技術(shù)是否可以應(yīng)用于任何自然的或想象的場合是紅外應(yīng)用技術(shù)的關(guān)鍵。(李湘閩,唐宏,葛繼,2004)當(dāng)今紅外技術(shù)的一個(gè)重要分支是紅外通信技術(shù)的應(yīng)用,這個(gè)應(yīng)用的發(fā)展非常迅速,尤其是紅外通信應(yīng)用于計(jì)算機(jī)設(shè)備中,近幾年的發(fā)展已經(jīng)表現(xiàn)出其非常成熟的特性。(李洪明,2000)1.4.2紅外遙控?zé)o線遙控方式可分為無線電波式、聲控式、超聲波式和紅外線式。由于無線電容易對其它電視機(jī)和無線電通訊設(shè)備造成干擾,而且,系統(tǒng)本身的抗干擾性能也很差,誤動(dòng)作多,所以未能大量使用。超聲波式頻帶較窄,易受噪聲干擾,系統(tǒng)抗干擾能力差以及聲控式識別正確率低,難度大而未能大量采用。紅外遙控方式是以紅外線作為載體來傳送控制信息的,同時(shí)隨著電子技術(shù)的發(fā)展,單片機(jī)的出現(xiàn),催生了數(shù)字編碼方式的紅外遙控系統(tǒng)的快速發(fā)展。另外,紅外遙控具有很多的優(yōu)點(diǎn),例如紅外線發(fā)射裝置采用紅外發(fā)光二極管,遙控發(fā)射器易于小型化且價(jià)格低廉;采用數(shù)字信號編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,增加遙控功能,提高信號傳輸?shù)目垢蓴_性,減少誤動(dòng)作,而且功率消耗低;紅外線不會(huì)向室外泄露,不會(huì)產(chǎn)生信號串?dāng)_;反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。所以現(xiàn)在很多無線遙控方式都采用紅外遙控方式。(戴峻峰,付麗輝,2002)2方案確定及原理分析2.1設(shè)計(jì)原理目前市場上一般采用的遙控編碼及解碼集成電路。此方案具有制作簡單、容易等特點(diǎn),但由于功能鍵數(shù)及功能受到特定的限制,只適合用某一專用電器產(chǎn)品的應(yīng)用,應(yīng)用范圍受到限制。而采用單片機(jī)進(jìn)行遙控系統(tǒng)的應(yīng)用設(shè)計(jì),具有編程靈活多樣、操作碼個(gè)數(shù)可隨意設(shè)定等優(yōu)點(diǎn)。(李光飛,樓然苗,胡佳文等,2004)本單片機(jī)遙控應(yīng)用系統(tǒng)采用紅外線發(fā)射頻率的不同,來識別不同的遙控功能。當(dāng)我們按下某一個(gè)按鍵的時(shí)候,由單片機(jī)識別出該按鍵后,由CPU向接有紅外發(fā)射管的端口發(fā)射一定頻率的脈沖,該脈沖與38KHz左右的載波脈沖進(jìn)行調(diào)制,然后將已調(diào)制的脈沖進(jìn)行緩沖放大,激勵(lì)紅外發(fā)光二極管將電能轉(zhuǎn)化為光能,使得紅外發(fā)光二極管發(fā)射出一定頻率的紅外線,當(dāng)接收控制系統(tǒng)接收到該紅外光后,由單片機(jī)內(nèi)定時(shí)/計(jì)數(shù)器得到該紅外光的頻率,然后將該頻率送往CPU,由CPU對該信號進(jìn)行反編碼,識別出控制信號,從而對控制電路實(shí)施控制功能,完成整個(gè)遙控功能。(楊恢先,王子菡,楊穗等,2004)2.2紅外發(fā)射端原理紅外遙控發(fā)射端主要由單片機(jī)、單片機(jī)最小系統(tǒng)(包括時(shí)鐘電路、復(fù)位電路)、電源、獨(dú)立式鍵盤以及紅外發(fā)射電路等組成。當(dāng)獨(dú)立式鍵盤有按鍵按下時(shí),發(fā)射端單片機(jī)掃描并確認(rèn)是哪一個(gè)鍵按下,并將鍵對應(yīng)的操作編碼后通過紅外發(fā)射電路發(fā)射出去,這樣便完成了一次紅外數(shù)據(jù)的發(fā)射。其原理圖如圖1所示。2.3紅外接收端原理紅外遙控接收端主要有單片機(jī)、單片機(jī)最小系統(tǒng)(包括時(shí)鐘電路、復(fù)位電路)、電源、紅外接收電路以及控制電路(包括電機(jī)驅(qū)動(dòng)電路、指示燈電路)等組成。紅外接收模塊接收到紅外數(shù)據(jù)后,接收端單片機(jī)對紅外數(shù)據(jù)進(jìn)行解碼,并將碼對應(yīng)的操作交予控制電路,電機(jī)、指示燈開始工作,從而實(shí)現(xiàn)對小車的控制。其原理圖如圖2所示。圖1紅外發(fā)射端原理框圖圖2紅外接收端原理框圖3系統(tǒng)設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)通常由單片機(jī)、時(shí)鐘電路、復(fù)位電路、電源以及擴(kuò)展部分組成。3.1.1STC89C52RC單片機(jī)簡介STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),主要特性如下:(1)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。(2)工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V單片機(jī))。(3)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz。(4)用戶應(yīng)用程序空間為8K字節(jié)。(5)片上集成512字節(jié)RAM。(6)通用I/O口(32個(gè)),復(fù)位后為:P0/P1/P2/P3是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。(7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。(8)具有EEPROM功能。(9)具有看門狗功能。(10)共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2。(11)外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。(12)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。(13)工作溫度范圍:-40~+85℃(工業(yè)級)/0~75℃(商業(yè)級)。(14)PDIP封裝。圖3STC89C52RC單片機(jī)引腳圖時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號。在STC89C52RC單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2.而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,再利用芯片內(nèi)不得振蕩電路形成反饋電路,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘電路。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過單片機(jī)內(nèi)部的觸發(fā)器進(jìn)行二分頻以后,才成為單片機(jī)的時(shí)鐘脈沖信號。一般的,電容C1和C2取30pF左右,晶體的振蕩頻率范圍是0~24MHz。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)行的速度也就快。STC89C52RC單片機(jī)在通常應(yīng)用情況下,使用的振蕩頻率為6MHz或12MHz。時(shí)鐘信號可以有兩種方式產(chǎn)生:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。一般情況下,單片機(jī)時(shí)鐘輸入均采用內(nèi)部時(shí)鐘方式,外接一個(gè)振蕩電路,本系統(tǒng)采用內(nèi)部時(shí)鐘方式,其電路如圖4所示。圖4時(shí)鐘振蕩電路復(fù)位電路設(shè)計(jì)復(fù)位是單片機(jī)的一個(gè)很重要的操作方式。但是,單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能產(chǎn)生復(fù)位信號,實(shí)現(xiàn)復(fù)位操作。復(fù)位操作有上電復(fù)位和按鍵復(fù)位。(1)上電復(fù)位:STC89系列單片及為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路保證單片機(jī)在上電時(shí)RST腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的典型值為10K和10uF。 (2)按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個(gè)開關(guān),當(dāng)開關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來使單片機(jī)復(fù)位。本系統(tǒng)采用按鍵復(fù)位方式,其電路如圖5所示。圖5復(fù)位電路3.1.4穩(wěn)壓電路設(shè)計(jì)考慮到本設(shè)計(jì)使用的直流電機(jī)的工作電壓為+12V,而單片機(jī)的工作電壓為+5V,因此,要為電源設(shè)計(jì)一個(gè)電路使得從+12V電壓中分出一個(gè)+5V電壓提供單片機(jī)工作。這樣就使得不僅可以單片機(jī)正常工作同時(shí)直流電機(jī)也能夠正常使用。經(jīng)過對電路的整體探究決定基于一個(gè)穩(wěn)壓管來設(shè)計(jì)電源電路。用78/79系列三端穩(wěn)壓IC來組成穩(wěn)壓電源所需的外圍元件極少電路內(nèi)部還有過流、過熱及調(diào)整管的保護(hù)電路使用起來可靠、方便而且價(jià)格便宜。最后決定選用7805穩(wěn)壓管來設(shè)計(jì)一個(gè)穩(wěn)壓電路,其電路如圖6所示。圖67805穩(wěn)壓電路3.2紅外發(fā)射端設(shè)計(jì)紅外發(fā)射端主要由單片機(jī)最小系統(tǒng)、獨(dú)立式鍵盤電路、紅外發(fā)射電路組成。3.2.1獨(dú)立式鍵盤電路設(shè)計(jì)獨(dú)立式鍵盤是指直接用I/O線構(gòu)成的單個(gè)按鍵電路,每個(gè)獨(dú)立式按鍵占有一根I/O口線,每根I/O口線上的按鍵的工作狀態(tài)不會(huì)影響其他I/O口線的工作狀態(tài),主要特點(diǎn)是結(jié)構(gòu)簡單,易于設(shè)計(jì)。本設(shè)計(jì)的獨(dú)立式鍵盤由8個(gè)獨(dú)立按鍵組成,每個(gè)按鍵對應(yīng)一個(gè)獨(dú)立的操作,即每個(gè)按鍵控制小車的一個(gè)狀態(tài),其電路如圖7所示。當(dāng)鍵K1被按下時(shí),對應(yīng)的操作為“左轉(zhuǎn)”,小車左轉(zhuǎn)、左轉(zhuǎn)燈亮;當(dāng)鍵K2被按下時(shí),對應(yīng)的操作為“前進(jìn)”,小車前進(jìn);當(dāng)鍵K3被按下時(shí),對應(yīng)的操作為“后退”,小車后退;當(dāng)鍵K4被按下時(shí),對應(yīng)的操作為“右轉(zhuǎn)”,小車右轉(zhuǎn);當(dāng)鍵K5被按下時(shí),對應(yīng)的操作為“停止”,小車停止;當(dāng)鍵K6被按下時(shí),對應(yīng)的操作為“加速”,小車加速;當(dāng)鍵K7被按下時(shí),對應(yīng)的操作為“減速”,小車減速;當(dāng)鍵K8被按下時(shí),對應(yīng)的操作為“前燈”,小車前燈亮。圖7獨(dú)立式鍵盤電路3.2.2紅外發(fā)射電路設(shè)計(jì)根據(jù)紅外發(fā)射管本身的物理特性,必須要有載波信號與即將發(fā)射的信號相“與”,然后將相“與”后的信號送發(fā)射管,才能進(jìn)行紅外信號的發(fā)射傳送,而在頻率為38KHz的載波信號下,發(fā)射管的性能最好,發(fā)射距離最遠(yuǎn),所以在硬件設(shè)計(jì)上,本設(shè)計(jì)采用38KHz的晶振產(chǎn)生載波信號,與發(fā)射信號進(jìn)行邏輯“與”運(yùn)算后,通過三極管的功率驅(qū)動(dòng)到紅外發(fā)光二極管上。紅外發(fā)送電路單片機(jī)發(fā)送控制電路和紅外發(fā)送管驅(qū)動(dòng)輸出電路組成,當(dāng)單片機(jī)P1.7口輸出為“0”時(shí),發(fā)射管不發(fā)光,當(dāng)單片機(jī)P1.7口輸出為“1”時(shí),紅外發(fā)送管發(fā)出38KHz調(diào)制紅外線。其電路如圖8所示。圖8紅外發(fā)射電路3.3紅外接收端設(shè)計(jì)紅外接收端主要由單片機(jī)最小系統(tǒng)、紅外接收電路、電機(jī)驅(qū)動(dòng)電路及指示燈電路組成。3.3.1紅外接收芯片介紹SM0038(實(shí)物圖如圖9所示)是一個(gè)小型的紅外遙控接收器件電路內(nèi)置P/N二極管和前置放大器,采用可紅外濾波的環(huán)氧樹能材料封裝。SM0038的解調(diào)輸出信號可以直接由微處理器解碼,本電路的主要特點(diǎn)是可靠性好,不易受環(huán)境干擾,并可以防止非控制信號的輸出脈沖出現(xiàn)。它的主要特點(diǎn)是內(nèi)置光電檢測器和前置放大器,內(nèi)置PCM頻率濾波器,內(nèi)置防電場干擾設(shè)計(jì),輸出電平與TLL和CMOS兼容,輸出低電平有效,低功率消耗,不受環(huán)境光源干擾,可以連續(xù)進(jìn)行數(shù)據(jù)發(fā)送1200bit/s,輸入脈沖串長度>=10周期/脈沖串。SM0038紅外接收頭作為紅外接收電路的核心部門,是一種一體化紅外接收頭。紅外接收電路通常被廠家集成在一個(gè)元件中成為一體化紅外接收頭。內(nèi)部電路包括紅外監(jiān)測二極管、放大器、限副器、帶通濾波器、積分電路、比較器等。紅外監(jiān)測二極管監(jiān)測到紅外信號,然后把信號送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平而不論紅外發(fā)射器和接收器的距離遠(yuǎn)近。交流信號進(jìn)入帶通濾波器,帶通濾波器可以通過30KHz到60KHz的負(fù)載波,通過解調(diào)電路和積分電路進(jìn)入比較器,比較器輸出高低電平,還原出發(fā)射端的信號波形。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高接收的靈敏度。紅外接收頭的種類很多,引腳定義也不相同,一般都有三個(gè)引腳,包括供電腳,接地和信號輸出腳。根據(jù)發(fā)射端調(diào)制載波的不同應(yīng)選用相應(yīng)解調(diào)頻率的接收頭。紅外接收頭內(nèi)部放大器的增益很大,很容易引起干擾,因此在接收頭的供電腳上須加上濾波電容,一般在22uf以上。有的廠家建議在供電腳和電源之間接入330歐電阻,進(jìn)一步降低電源干擾。圖9SM0038紅外接收頭SM0038電路內(nèi)置帶通濾波器、積分器和自動(dòng)增益控制電路,以抑制各種干擾和噪聲,避免產(chǎn)生不希望的非控制脈沖信號輸出。數(shù)據(jù)信號和干擾信號的區(qū)別體現(xiàn)在載波頻率、脈沖長度、工作周期上。數(shù)據(jù)信號應(yīng)滿足以下條件:(1)載波頻率應(yīng)盡量接近帶通濾波器中心頻率;(2)脈沖長度應(yīng)有300us以上;(3)對于脈沖長度在300us~1.8ms的脈沖,脈沖間隙應(yīng)不小于400us;(4)對于脈沖長度在1.8ms以上的脈沖,脈沖間隙應(yīng)在脈沖長度的1.3倍以上;(5)每秒鐘最多可接受1000個(gè)短脈沖信號。3.3.2紅外接收電路設(shè)計(jì)紅外接收電路專門采用集成電路SM0038,SM0038有三個(gè)引腳,一個(gè)接電源一個(gè)接地,另外一個(gè)接信號端,它集光電轉(zhuǎn)換,解調(diào)和放大于一體。當(dāng)收到38KHz調(diào)制紅外線時(shí),SM0038輸出為“0”,平時(shí)輸出為“1”。信號腳接到P3.2腳上,當(dāng)SM0038收到第一個(gè)紅外脈沖時(shí),觸發(fā)INT0產(chǎn)生中斷,使單片機(jī)退出低功耗狀態(tài),進(jìn)入工作狀態(tài),同時(shí)使計(jì)數(shù)器0和定時(shí)器1開始工作。其電路如圖10所示。3.3.3電機(jī)驅(qū)動(dòng)芯片介紹無刷直流電機(jī)一般是小型的電機(jī),采用L298N(實(shí)物圖如圖11所示)驅(qū)動(dòng),它一般可以同時(shí)驅(qū)動(dòng)兩電機(jī),如果擔(dān)心驅(qū)動(dòng)不夠就可以采用兩個(gè)L298N。其內(nèi)部原理是采用H橋式差動(dòng)放大。L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路。是一種二相和四相電機(jī)的專用驅(qū)動(dòng)器,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動(dòng)46V、2A以下的電機(jī)。圖10SM0038接收電路圖11L298N驅(qū)動(dòng)芯片3.3.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)L298N可驅(qū)動(dòng)2個(gè)電機(jī),OUTl、OUT2和OUT3、OUT4之間分別接2個(gè)電動(dòng)機(jī)。5、7、10、12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn),ENA、ENB接控制使能端,控制電機(jī)的停轉(zhuǎn)。STC89C52RC輸出二組PWM波每一組PWM波用來控制一個(gè)電機(jī)的速度。另外二個(gè)I/O口可以控制電機(jī)的正反轉(zhuǎn),控制方法與控制電路都比較簡單。即P2.2、P2.3控制第一個(gè)電機(jī)的方向,輸入的PWMl控制第一個(gè)電機(jī)的速度;P2.4、P2.5控制第二個(gè)電機(jī)的方向,輸入的PWM2控制第二個(gè)電機(jī)的速度。由于電機(jī)在正常工作時(shí)對電源的干擾很大,只用一組電源時(shí)會(huì)影響單片機(jī)的正常工作。所以選用雙電源供電。一組5V電源給單片機(jī)和控制電路供電,另外一組5V、12V電源給L298N的+VCC、+VS供電。在控制部分和電機(jī)驅(qū)動(dòng)部分之間用光耦隔開,以免影響控制部分電源的品質(zhì)。其電路如圖12所示。3.3.5指示燈電路設(shè)計(jì)小車的指示燈設(shè)計(jì)思想來源于實(shí)際生活?,F(xiàn)實(shí)中,馬路上的汽車左轉(zhuǎn)或右轉(zhuǎn)時(shí),都被要求要開左轉(zhuǎn)燈或右轉(zhuǎn)燈以示意其行為。本設(shè)計(jì)的指示燈電路由四個(gè)LED等組成。當(dāng)小車左轉(zhuǎn)時(shí),代表小車左轉(zhuǎn)燈的一個(gè)紅色LED燈亮,直到小車進(jìn)入除左轉(zhuǎn)外的其他狀態(tài),左轉(zhuǎn)燈滅。當(dāng)小車右轉(zhuǎn)轉(zhuǎn)時(shí),代表小車右轉(zhuǎn)燈的另一個(gè)紅色LED燈亮,直到小車進(jìn)入除右轉(zhuǎn)外的其他狀態(tài),右轉(zhuǎn)燈滅。無論小車在任何一個(gè)狀態(tài),可通過操作控制小車代表小車前燈的兩個(gè)黃色LED燈的亮滅。其電路如圖13所示。圖12L298N驅(qū)動(dòng)電路圖13指示燈電路軟件設(shè)計(jì)本設(shè)計(jì)的軟件部分由紅外發(fā)射端程序和紅外接收端程序兩個(gè)部分組成。紅外發(fā)射端程序主要由主程序、鍵盤掃描子程序、紅外編碼子程序組成,紅外接收端程序主要由主程序、紅外解碼子程序、小車控制子程序組成。紅外編碼介紹當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖14所示。圖14遙控碼的“0”和“1”上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38KHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,SM0038所發(fā)射的一幀碼含有一個(gè)引導(dǎo)碼,16位的用戶編碼和8位的鍵數(shù)據(jù)碼、鍵數(shù)據(jù)碼的反碼也同時(shí)被傳送。引導(dǎo)碼由一個(gè)9ms的載波波形和4.5ms的關(guān)斷時(shí)間構(gòu)成,它作為隨后發(fā)射的碼的引導(dǎo),這樣當(dāng)接收系統(tǒng)是由微處理器構(gòu)成的時(shí)候,能更有效地處理碼的接收與檢測及其它各項(xiàng)控制之間的時(shí)序關(guān)系。編碼采脈沖位置調(diào)制方式(PPM)。利用脈沖之間的時(shí)間間隔來區(qū)分“0”和“1”。每次8位的碼被傳送之后,它們的反碼也被傳送,減少了系統(tǒng)的誤碼率。引導(dǎo)碼之后,是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼相互干擾。該芯片的用戶識別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。SM0038最多可以有128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在58.5~76.5ms之間,輸出波形如圖15所示。當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)引導(dǎo)碼(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.25ms)組成。圖15發(fā)射電路輸出波形3.4.2紅外發(fā)射端軟件設(shè)計(jì)本部分軟件主要由主程序、鍵盤掃描子程序、紅外編碼子程序組成。當(dāng)鍵盤有按鍵按下時(shí),單片機(jī)進(jìn)入工作狀態(tài),鍵盤掃描子程序確認(rèn)是哪一個(gè)鍵按下并查詢鍵所對應(yīng)的操作碼,紅外編碼子程序?qū)Σ僮鞔a進(jìn)行編碼后通過紅外發(fā)射管發(fā)射出去。主程序流程圖如圖16所示。圖16紅外發(fā)射端主程序流程圖1.鍵盤掃描子程序當(dāng)有按鍵按下時(shí),程序進(jìn)行消抖后再次確認(rèn)是否有按鍵按下,如無,則繼續(xù)等待按鍵按下,如有,程序掃描是哪個(gè)鍵按下并轉(zhuǎn)換相應(yīng)的鍵值。其流程圖如圖17所示。2.紅外編碼子程序程序先發(fā)射引導(dǎo)碼,從數(shù)據(jù)緩存區(qū)取數(shù)據(jù),根據(jù)數(shù)據(jù)位是否為“0”調(diào)用“0”發(fā)射?;颉?”發(fā)射模,發(fā)射數(shù)據(jù)直到數(shù)據(jù)發(fā)射完。其流程圖如圖18所示。圖17按鍵掃描子程序流程圖3.4.3外接收端軟件設(shè)計(jì)本部分軟件主要由主程序、紅外解碼子程序、小車控制子程序組成。當(dāng)紅外接收端接收到紅外數(shù)據(jù)時(shí),單片機(jī)進(jìn)入工作狀態(tài),紅外解碼子程序?qū)t外數(shù)據(jù)進(jìn)行解碼,小車控制子程序根據(jù)碼值對應(yīng)的操作控制小車進(jìn)入某一狀態(tài)。主程序流程圖如圖19所示。1.紅外解碼子程序紅外解碼是紅外編碼的反編碼。紅外子程序先接收引導(dǎo)碼,后接收32位二進(jìn)制碼,反編碼出相應(yīng)碼值,再檢測8位操作碼取反是否與8位反碼一致,若否,則此次接收失敗,程序結(jié)束,若是,則確定碼值。2.小車控制子程序小車控制子程序根據(jù)紅外解碼子程序解出的碼值,查詢碼值所對應(yīng)的的操作,控制單片機(jī)各I/O口,使小車進(jìn)入相應(yīng)狀態(tài)。圖18紅外編碼子程序流程圖NN圖19紅外接收端主程序流程圖4系統(tǒng)測試4.1硬件測試系統(tǒng)的硬件測試主要是確定電路設(shè)計(jì)的可行性、電路焊接的正確性以及系統(tǒng)運(yùn)行的穩(wěn)定性。在系統(tǒng)的硬件測試中,首先是經(jīng)過仿真軟件繪制電路圖進(jìn)行仿真,驗(yàn)證系統(tǒng)電路設(shè)計(jì)的可行性,之后在萬用板上焊接電路,焊接后檢查電路是否正確,是否存在開路、短路等現(xiàn)象,再檢查外圍電路是否正確連接,經(jīng)過這幾個(gè)方面的反復(fù)驗(yàn)證,可確保電路板的準(zhǔn)確無誤。在本系統(tǒng)的調(diào)試過程中,出現(xiàn)過一下幾個(gè)問題:(1)紅外發(fā)射模塊調(diào)試過程中,紅外發(fā)射二極管有在工作但接收端接收不到信號,經(jīng)過排查研究,可能原因是發(fā)射管的工作電壓太低,在電路上增加一個(gè)三極管后發(fā)射管工作正常,接收端收到紅外信號。(2)紅外接收模塊調(diào)試過程中,一開機(jī)指示燈便保持常亮、直流電機(jī)不工作,經(jīng)過排查研究,發(fā)現(xiàn)是L298外圍線路存在短路現(xiàn)象,排除故障之后指示燈正常,直流電機(jī)正常工作。4.2軟件測試系統(tǒng)的軟件測試相對硬件測試來說更加麻煩,軟件測試時(shí)可參考的資料不多,更多的是靠自己的想法并在測試過程中不斷地摸索出正確的方法。而且在實(shí)際硬件電路上調(diào)試時(shí)如果出現(xiàn)故障時(shí)很難確定是硬件故障還是軟件故障,所以更多的還是得依靠開發(fā)板進(jìn)行調(diào)試。通過在Keil編譯器下調(diào)試程序,有兩種錯(cuò)誤:一種邏輯錯(cuò)誤,也就是語法錯(cuò)誤,是很容易被發(fā)現(xiàn)的;另一種是功能錯(cuò)誤,是指在沒有語法錯(cuò)誤的基礎(chǔ)上,由于設(shè)計(jì)思想或算法的問題導(dǎo)致不能實(shí)現(xiàn)軟件功能的一種錯(cuò)誤。調(diào)試過程中出現(xiàn)的問題主要是功能上得錯(cuò)誤:(1)紅外發(fā)射模塊實(shí)際調(diào)試過程中,紅外發(fā)射管正常工作但是接收端收不到紅外信號,經(jīng)過排查研究,原因是定時(shí)器的初值設(shè)置出現(xiàn)問題,使得發(fā)射管發(fā)射的信號頻率不是38KHz,調(diào)整定時(shí)器初值后接收端能收到發(fā)射端的紅外信號。(2)紅外接收模塊仿真調(diào)試過程中,直流電機(jī)總是不工作,經(jīng)過排查研究,原因是主程序中沒有把直流電機(jī)子程序的調(diào)用語句放在合適的位置,把調(diào)用語句放在合適的位置后直流電機(jī)正常工作。(3)紅外接收模塊實(shí)際調(diào)試過程中,直流電機(jī)依然不工作,經(jīng)過排查研究,原因是程序中把直流電機(jī)的復(fù)位狀態(tài)設(shè)置為“速度為0”,所以在實(shí)際運(yùn)行環(huán)境中如果沒有先對直流電機(jī)進(jìn)行加速使其速度不為0的話,是觀察不到直流電機(jī)工作的。5結(jié)語經(jīng)過查閱資料、思考以及實(shí)踐,終于完成了畢業(yè)設(shè)計(jì)。作品設(shè)計(jì)的過程中遇到了很多問題,幾度修改方案,成果雖不是非常完美,但還是能比較滿意。論文是邊做實(shí)物設(shè)計(jì)邊整理的,所以寫起來還是相對順利的。本文介紹了基于紅外遙控技術(shù)的遙控小車控制系統(tǒng),以STC89C52RC單片機(jī)為核心,利用紅外遙控器來控制小車的運(yùn)行方向和速度。系統(tǒng)的硬件部分主要由單片機(jī)最小系統(tǒng)模塊、紅外發(fā)射端的獨(dú)立式鍵盤電路、紅外發(fā)射電路、紅外接收端的紅外接收電路、控制電路等組成。硬件設(shè)計(jì)簡單可靠,結(jié)合軟件,實(shí)現(xiàn)了對小車的遠(yuǎn)程控制。在設(shè)計(jì)過程中,比以往更深刻的學(xué)習(xí)了關(guān)于單片機(jī)、無線數(shù)據(jù)傳輸技術(shù)的知識,不僅僅是知識的沉淀,還有在硬件、軟件設(shè)計(jì)過程中得到加強(qiáng)的實(shí)踐能力。相信這些能力的提升都會(huì)對我以后的職業(yè)生涯有很大的幫助。參考文獻(xiàn)戴峻峰,付麗輝.多功能紅外線遙控器的設(shè)計(jì)[J].傳感器世界,2002,8(12):16-18李洪明.漫談紅外遙控[J].電子世界,2000,(1):53李光飛,樓然苗,胡佳文等.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天出版社,2004:168-170李湘閩,唐宏,葛繼.學(xué)習(xí)型紅外遙控器[J],2004,11(8):33-36王衛(wèi)星.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:中國水利水電出版社,2009:1-21楊恢先,王子菡,楊穗等.一種基于單片機(jī)的紅外遙控軟件解碼方法[J].自動(dòng)化與儀器儀表,2004,22(2):16-18附錄A電路原理圖紅外發(fā)射端電路圖:紅外接收端電路圖:附錄B主要程序代碼紅外發(fā)射端程序:#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharbitirout;//紅外管狀態(tài)sbitir=P1^7;//紅外發(fā)射管控制腳uintcount,set_count;//中斷計(jì)數(shù),設(shè)定中斷次數(shù)bitflag,keyflag;//紅外發(fā)送標(biāo)志,按鍵標(biāo)志位ucharirsys[2]={0x00,0xFF};//16位系統(tǒng)碼ucharircode,irdata;/******************************************延時(shí)1ms函數(shù)******************************************/voiddelay1ms(intms){uchary;while(ms--){for(y=0;y<250;y++){_nop_();_nop_();_nop_();_nop_();}}}/******************************************按鍵掃描******************************************/voidkeyscan(void){ucharkeytemp;P2=0xff;keytemp=P2&0xff;if(keytemp!=0xff){delay1ms(20); keytemp=P2&0xff; if(keytemp!=0xff) keyflag=1;//有按鍵標(biāo)志 switch(keytemp) { case0xfe:irdata=0x42;break;//按鍵1 case0xfd:irdata=0x5e;break;//按鍵2 case0xfb:irdata=0x0c;break;//按鍵3 case0xf7:irdata=0x4a;break;//按鍵4 case0xef:irdata=0x5a;break;//按鍵5 case0xdf:irdata=0x52;break;//按鍵6 case0xbf:irdata=0x18;break;//按鍵7 case0x7f:irdata=0x08;break;//按鍵8 }}}/******************************************發(fā)送8位紅外數(shù)據(jù)******************************************/voidsendcode_8(void){uchari;for(i=0;i<8;i++){set_count=28;//發(fā)送0.56ms38K紅外波 flag=1; count=0; TR0=1; while(count<set_count); TR0=0; if(ircode&0x01)//判斷紅外編碼最低位 { set_count=120; } else { set_count=38; } flag=0; count=0; TR0=1; while(count<set_count); TR0=0; ircode=ircode>>1; }}/******************************************發(fā)送紅外數(shù)據(jù)******************************************/voidsendcode(void){set_count=575;//發(fā)送9ms38K紅外光flag=1;count=0;TR0=1;while(count<set_count);TR0=0;set_count=320;//間隔4.5ms;flag=0;count=0;TR0=1;while(count<set_count);TR0=0;ircode=irsys[0];//發(fā)送16位系統(tǒng)碼的前1-8位sendcode_8();ircode=irsys[1];//發(fā)送16位系統(tǒng)碼的前9-16位sendcode_8();ircode=irdata;//發(fā)送8位數(shù)據(jù)碼sendcode_8();ircode=~irdata;//發(fā)送8位數(shù)據(jù)反碼sendcode_8();set_count=575;flag=1;count=0;TR0=1;while(count<set_count);TR0=0;set_count=148;flag=0;count=0;TR0=1;while(count<set_count);TR0=0;set_count=28;flag=1;count=0;TR0=1;while(count<set_count);TR0=0;flag=0;}/******************************************定時(shí)器初始化******************************************/voidinit_timer(){EA=1;TMOD=0x02;//8位自動(dòng)裝載模式ET0=1;TH0=0xE6;//定時(shí)13us的38K紅外波,晶振24MTL0=0xE6;}/******************************************主函數(shù)******************************************/voidmain(void){init_timer();count=0;flag=0;irout=0;while(1){keyscan(); if(keyflag)//若有新按鍵 { delay1ms(10); sendcode();//發(fā)送紅外編碼 delay1ms(500); keyflag=0;//按鍵標(biāo)志清零 } }}/******************************************定時(shí)器中斷******************************************/voidtimer0(void)interrupt1{count++;if(flag==1){irout=~irout;}else{irout=0;}ir=irout;}紅外接收端程序:#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitIRIN=P3^2;ucharIRCOM[7];ucharkeys=0xff;sbitmotor=P2^0;sbitzheng=P2^1;sbitfan=P2^2;sbitzuo=P2^3;sbityou=P2^4;sbithouzuo=P2^5;sbithouyou=P2^7;sbitqian=P2^6;ucharon=0;/******************************************延時(shí)1ms函數(shù)******************************************/voiddelay1ms(intms){uchary;while(ms--){for(y=0;y<250;y++){_nop_();_nop_();_nop_();_nop_();}}}/******************************************延時(shí)0.14ms函數(shù)******************************************/voidIRdelay(ucharx)//x*0.14ms{uchari;while(x--){for(i=0;i<13;i++){}}}/******************************************加速程序******************************************/voidinc(){if(on!=100)on+=10;keys=0;}/******************************************減速程序******************************************/voiddec(){if(on!=0) on-=10;keys=0;}/******************************************方向向前******************************************/voidgo(){zheng=1;fan=0;zuo=1;you=0;houzuo=0;houyou=0;keys=0;}/******************************************方向向后******************************************/voidback(){zheng=0;fan=1;zuo=0; you=1;houzuo=0;houyou=0;keys=0;}/************************

溫馨提示

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

評論

0/150

提交評論