基于nRF905單片機控制的遙控車畢業(yè)論文_第1頁
基于nRF905單片機控制的遙控車畢業(yè)論文_第2頁
基于nRF905單片機控制的遙控車畢業(yè)論文_第3頁
基于nRF905單片機控制的遙控車畢業(yè)論文_第4頁
基于nRF905單片機控制的遙控車畢業(yè)論文_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、屆別 2013 屆 學(xué)號 4畢業(yè)設(shè)計基于nRF905單片機控制的遙控車姓 名 郭雪平 系 別 物理與電子信息工程系專 業(yè) 電氣工程與其自動化 指導(dǎo)教師 欣茂 職 稱 講師 完成時間 2013年5月10號 目錄摘 要IABSTRACTII1. 遙控車的課題背景與發(fā)展趨勢11.1 課題背景11.2 發(fā)展趨勢11.3 無線遙控的應(yīng)用圍21.4 系統(tǒng)設(shè)計方案22 硬件系統(tǒng)設(shè)計32.1硬件組成32.2小車主體模塊32.3信息產(chǎn)生模塊32.4信息的發(fā)送與接收模塊42.5電機驅(qū)動模塊52.6 單片機最小系統(tǒng)62.7 電源模塊電路63 系統(tǒng)的軟件設(shè)計73.1 C語言簡介73.2 主控程序流程圖83.2 發(fā)送模

2、塊程序流程圖93.3 接收模塊程序流程圖103.4 系統(tǒng)的仿真123.5系統(tǒng)檢測與調(diào)試13總 結(jié)14參考文獻15致 16附錄一:17附錄二:18實物圖:2827 / 33摘 要隨著電子技術(shù)的飛速發(fā)展,新型大規(guī)模遙控集成電路的不斷出現(xiàn),使得遙控技術(shù)有了日新月異的發(fā)展。遙控裝置的中心控制部件已從早期的分立元件、集成電路逐步發(fā)展到現(xiàn)在的單片微型計算機,智能化程度大大提高。近年來,遙控技術(shù)在工業(yè)生產(chǎn)、家用電器、安全保衛(wèi)以與人們的日常生活中使用越來越廣泛。無線電遙控技術(shù)的誕生,起源于無線電通信技術(shù),最初的構(gòu)想是無線電報技術(shù)的建立,真空電子管的發(fā)明使得無線電技術(shù)的應(yīng)用和普與很快應(yīng)用在民用和軍用等各個領(lǐng)域。

3、自從愛迪生發(fā)明電燈以來,人類對照明電器的開啟和關(guān)斷控制主要使用手動機械開關(guān)。隨著無線電的發(fā)展,從上個世紀60年代開始,相繼出現(xiàn)了無線電遙控的小車。本次設(shè)計的無線遙控車系統(tǒng)以STC89C52單片機為核心。主要是有發(fā)射部分、接收部分和電機控制三部分組成。無線模塊nRF905通過發(fā)射頻率為433MHz的無線波段來發(fā)送控制信號,通過STC89C52單片機的解碼,實現(xiàn)控制信號的輸出。電機驅(qū)動電路接到控制信號后,經(jīng)過驅(qū)動芯片L298進行控制小車的電機動作。主要是有發(fā)射部分、接收部分和電機控制三部分組成。發(fā)送和接收部分是采用專用的nRF905無線模塊進行數(shù)據(jù)的傳輸和控制的。關(guān)鍵詞:單片機;無線模塊; 驅(qū)動A

4、BSTRACT With the rapid development of electronic technology, the appearance of new large-scale remote control integrated circuit, remote control technology has a rapid development. The center of the remote control device control unit has been from the early separation of components, integrated circu

5、it gradually developed to the present single chip microcomputer, intelligent degree is greatly increased. In recent years, remote control technology in industrial production, household appliances, security and People's Daily life more and more widely used. The birth of the wireless remote contro

6、l technology, originated in the radio communication technology, the original idea is the establishment of a wireless telegraphy, the invention of the vacuum tube makes the application and popularity of radio technology quickly applied in civilian and military and other fields. Since Thomas Edison in

7、vented the electric light, human being turned on and off control of lighting is mainly use the manual mechanical switch. With the development of the radio, from last century 60 s, there appeared the wireless remote control car.The design of the wireless remote control car system to STC89C52 single-c

8、hip microcomputer as the core. Main is transmitting part, receiving part and motor control in three parts. NRF905 wireless module through the transmission frequency to 433 MHZ wireless band to send control signal, through the STC89C52 microcontroller decoding, for the control signal output. Motor dr

9、iver circuit to control signal, after a driver chip L298 motor to control the car. Main is transmitting part, receiving part and motor control in three parts. Send and receive part adopts special nRF905 wireless module for data transmission and control.Key words: single chip microcomputer ; nRF905 w

10、ireless module; Driver1. 遙控車的課題背景與發(fā)展趨勢1.1 課題背景 無線通信主要包括微波通信和衛(wèi)星通信。微波是一種無線電波,它傳送的距離一般只有幾十千米。但微波的頻帶很寬,通信容量很大。微波通信每隔幾十千米要建一個微波中繼站。衛(wèi)星通信是利用通信衛(wèi)星作為中繼站在地面上兩個或多個地球站之間或移動體之間建立微波通信聯(lián)系。無線通信(Wireless Communication)是利用電磁波信號可以在自由空間中傳播的特性進行信息交換的一種通信方式,近些年信息通信領(lǐng)域中,發(fā)展最快、應(yīng)用最廣的就是無線通信技術(shù)。在移動中實現(xiàn)的無線通信又通稱為移動通信,人們把二者合稱為無線移動通信。n

11、RF905采用Nordic公司的VLSI ShockBurst技術(shù)。ShockBurst技術(shù)使nRF905能夠提供高速的數(shù)據(jù)傳輸,而不需要昂貴的高速MCU來進行數(shù)據(jù)處理/時鐘覆蓋。通過將與RF協(xié)議有關(guān)的高速信號處理放到芯片,nRF905提供給應(yīng)用的微控制器一個SPI接口,速率由微控制器自己設(shè)定的接口速度決定。nRF905通過ShockBurst工作模式在RF以最大速率進行連接時降低數(shù)字應(yīng)用部分的速度來降低在應(yīng)用中的平均電流消耗。在ShockBurst RX模式中,地址匹配AM和數(shù)據(jù)準備就緒DR信號通知MCU一個有效的地址和數(shù)據(jù)包已經(jīng)各自接收完成。在ShockBurst TX模式中,nRF905

12、自動產(chǎn)生前導(dǎo)碼和CRC校驗碼,數(shù)據(jù)準備就緒DR信號通知MCU數(shù)據(jù)傳輸已經(jīng)完成。總之,這意味著降低MCU的存儲器需求也就是說降低MCU成本,又同時縮短軟件開發(fā)時間。而且在433MHz的頻段它是可以免費的使用,最高的共工作速率達到50kbps,高效的GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合。1.2 發(fā)展趨勢無線通信技術(shù)是近幾年來比較流行的一種通信技術(shù),他具有穩(wěn)定性強、傳輸速率高、功耗低等優(yōu)點。具有廣泛的應(yīng)用背景。選擇此課題的目的在于通過學(xué)習(xí)和實踐,了解并應(yīng)用無線遙控技術(shù)。隨著人們物質(zhì)生活水平的提高,人們對精神生活的追求也愈加強烈,對信息的渴求已成為了人們必不可少的需要,更加簡捷與新穎的信息

13、傳遞方式無疑會給人們帶來耳目一新的感受。而我們以前小時候耍的那種沒有遙控裝置的小車現(xiàn)在都已經(jīng)過時了,現(xiàn)在市面上賣得大多都是帶遙控裝置的小車。而現(xiàn)代工具務(wù)求簡捷化、便攜化,因此,搖控裝置的到來,必將會給人們帶來一種新的感受方式。現(xiàn)在通過應(yīng)用最先進的無線數(shù)據(jù)傳輸技術(shù)可以免去繁瑣的設(shè)計和安裝工作了。工業(yè)的數(shù)據(jù)無線調(diào)制解調(diào)器可以雙向傳輸數(shù)字、模擬、串行和CAN數(shù)據(jù),傳輸距離可達到300m。這種數(shù)據(jù)無線調(diào)制解調(diào)器的數(shù)據(jù)傳輸是在DECT和433Hz的基礎(chǔ)上實現(xiàn)的。采用微調(diào)控制裝置可以快速和靈活地實現(xiàn)滿足客戶特定要求的應(yīng)用。成套配置的無線調(diào)制解調(diào)器可以靈活和安全地實現(xiàn)許多各種不同應(yīng)用領(lǐng)域的數(shù)據(jù)傳輸任務(wù)。無線

14、遙控系統(tǒng)和數(shù)據(jù)無線傳輸系統(tǒng)是無線通信在工業(yè)界和大工業(yè)環(huán)境中的廣泛運用。在廠房公用設(shè)施方面如工業(yè)用門、門形框架、升降柜、照明和平臺的控制等。在工業(yè)中如機器控制、裝置控制、轉(zhuǎn)運裝置、壓力機控制、地面和空中傳送系統(tǒng)、動態(tài)倉儲等。在建筑和道路修建以與農(nóng)業(yè)方面也可通過無線遙控系統(tǒng)使工作能夠更安全。1.3 無線遙控的應(yīng)用圍無線遙控,顧名思義,就是一種用來遠程控制機器的裝置?,F(xiàn)代的遙控器,主要是由集成電路電板和用來產(chǎn)生不同訊息的按鈕所組成。時至今日,無線遙控器已經(jīng)在生活中得到了越來越多的應(yīng)用,給人們帶來了極大的便利。而現(xiàn)在無線遙控技術(shù)越來越多的運用在我們的生活當(dāng)中,隨著科技的進步無線遙控器也擴展到了許多種類

15、,簡單來說常見的有2種,一種是家電常用的紅外遙控模式(IR Remote Control),另一種是防盜報警設(shè)備、門窗遙控、汽車遙控等等常用的無線電遙控模式(RF Remote Control)。常用的無線電遙控系統(tǒng)一般分發(fā)射和接收兩個部分。無線電遙控器與紅外遙控器的區(qū)別:紅外遙控和無線遙控是對不同的載波來說的,紅外遙控器是用紅外線來傳送控制信號的,它的特點是有方向性、不能有阻擋、距離一般不超過7米、不受電磁干擾,電視機遙控器就是紅外遙控器;無線電遙控器是用無線電波來傳送控制信號的,它的特點是無方向性、可以不“面對面”控制、距離遠(可達數(shù)十米,甚至數(shù)公里)、容易受電磁干擾。在需要遠距離穿透或者

16、無方向性控制領(lǐng)域,比如工業(yè)控制等等,使用無線電遙控器較易解決。 無線遙控技術(shù)可應(yīng)用于各種相應(yīng)的機械或者電子設(shè)備,去完成各種操作,如閉合電路、移動手柄、開動電機,之后再由這些機械進行需要的操作。作為一種與紅外遙控器相補充的遙控器種類,在車庫門、電動門、道閘遙控控制、防盜報警器、工業(yè)控制以與無線智能家居領(lǐng)域得到了廣泛的應(yīng)用,當(dāng)然我們的無線遙控車也正是運用的這種技術(shù)。1.4 系統(tǒng)設(shè)計方案本系統(tǒng)打算用任意一種市面上的小車主體架,其中包括兩個輪子,兩個電機,一個萬向輪,用一片L298就可以驅(qū)動電機運轉(zhuǎn)。無線模塊方面,我選擇nRF905這個無線收發(fā)器,通過單片機的控制來實現(xiàn)數(shù)據(jù)的傳輸。在系統(tǒng)設(shè)計之初,我打

17、算分成兩個部分來實現(xiàn)系統(tǒng)的設(shè)計,第一:先單片機控制L298實現(xiàn)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn);第二:通過按鍵發(fā)送信號,由單片機和nRF905無線收發(fā)器一起處理數(shù)據(jù),達到驅(qū)動小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)功能。2 硬件系統(tǒng)設(shè)計2.1硬件組成 系統(tǒng)主要由五大模塊構(gòu)成:小車模塊、控制信息產(chǎn)生模塊、控制信息發(fā)送模塊、控制信息接收模塊、驅(qū)動模塊。結(jié)構(gòu)框圖如圖1所示。 本項目主要的硬件模塊有:鍵盤、發(fā)送主控制板、發(fā)射器、電源、接收主控模塊、接收模塊、電機驅(qū)動模塊與小車車模部分。小車主體模塊信息產(chǎn)生模塊信息接收模塊信息發(fā)送模塊電機驅(qū)動模塊圖1 系統(tǒng)模塊組成2.2小車主體模塊小車模塊就是這個系統(tǒng)的主體部分,它主要

18、由一塊小車底板,兩個小車車輪,兩個直流電機,一個萬向輪組成。因為系統(tǒng)對這一部分的要求不是很高,所以一般合格的元器件通過組裝之后都可以滿足要求。而且對這一部分的要求就是只要直流電機能夠驅(qū)動兩個輪子轉(zhuǎn)動就可以了。2.3信息產(chǎn)生模塊這里所說的信息產(chǎn)生模塊就是這個系統(tǒng)的控制信號,它具體是由四個按鍵組成的,通過控制四個按鍵狀態(tài),單片機執(zhí)行相應(yīng)的指令,從而驅(qū)動電機的運轉(zhuǎn)。當(dāng)控制前進的按鍵按下時,小車就前進;當(dāng)控制后退的按鍵按下時,下車就后退;當(dāng)控制小車左轉(zhuǎn)的鍵按下是,小車就向左轉(zhuǎn);當(dāng)控制小車向右轉(zhuǎn)的鍵按下時,小車就向右轉(zhuǎn)動。2.4信息的發(fā)送與接收模塊2.4.1nRF905無線收發(fā)器 這一模塊主要控制信號的

19、發(fā)送與接收,其職能主要由nRF905來完成。 nRF905可以自動完成處理字頭和CRC(循環(huán)冗余碼校驗)的工作,使用SPI接口與微控制器通信,配置非常方便,其功耗非常低,以-10dBm的輸出功率發(fā)射時電流只有11mA,在接收模式時電流為12.5mA。 nRF905單片無線收發(fā)器工作由一個完全集成的頻率調(diào)制器,一個帶解調(diào)器的接收器,一個功率放大器,一個晶體震蕩器和一個調(diào)節(jié)器組成。ShockBurst工作模式的特點是自動產(chǎn)生前導(dǎo)碼和CRC,可以很容易通過SPI接口進行編程配置。nRF905管腳原理圖如圖2所示。圖2 nRF905引腳圖2.4.1nRF905的優(yōu)點無線遙控車對于控制芯片的實時性,穩(wěn)定

20、性,快速性,準確性都達到了一個很高的要求,介于本設(shè)計對于主控芯片的要求都不是很高的情況下,我選擇了STC89C52這款單片機。它的部資源也比較豐富,性能全面而且適用性強,能覆蓋多種應(yīng)需求。當(dāng)前遙控器模型一般都采用連線、紅外、無線這三種方式來進行對被控制器的控制。連線遙控式的遙控器它的遙控器和被控制端通過導(dǎo)線直接連接起來,但缺點很明顯,由于是由到導(dǎo)線直接連接,這就很容易引起導(dǎo)線的纏繞,打結(jié),連接,最突出的是它的受到導(dǎo)長度的制約,不能進行遠距離的遙控。 紅外遙控器的特點是通過遙控器發(fā)射紅外光進傳送,紅外線在介質(zhì)中傳播會產(chǎn)生衰減,特別在金屬中傳播衰減很大,它的穿透力有限。另外由于其存在定向性的問題,

21、并且它不能穿透物體,而且在使用紅外線傳送信號時,容易受到照明光和外來雜波的影響和干擾,所以不適合這個項目開發(fā)的要求。 無線遙控方式遙控器和接受器兩端通過無線電波傳送控制信息。但是市面上那種簡單的無線遙控,它的無線遙控方式很容易受到其它的無線電波的干擾,因此必須采用抗干擾能力強的無線發(fā)射裝置來提高系統(tǒng)的穩(wěn)定性。 因此,在這里我選擇nRF905無線發(fā)送與接收模塊,以此來提高系統(tǒng)的穩(wěn)定性。2.5電機驅(qū)動模塊2.5.1電機驅(qū)動芯片L298 L298芯片集成有達林頓管組成的H型的功率變換橋電路的恒壓恒流橋式2A驅(qū)動芯片。無線小車系統(tǒng)只需要通過單片機的相應(yīng)管腳輸出0或則1兩個電平信號就可以控制電機的正反轉(zhuǎn)

22、了,也就是當(dāng)驅(qū)動芯片的OUTPUT1和OUTPUT3輸出為1高電平,OUTPUT2和OUTPUT4輸出為低電平是,電機就可以正轉(zhuǎn)了;當(dāng)輸出OUTPUT1和OUTPUT3為低電平,當(dāng)OUTPUT2和OUTPUT4輸出為高電平時,電機就可以反轉(zhuǎn)了;當(dāng)OUTPUT1輸出高電平,其余三個管腳都輸出低電平是,電機就可以右轉(zhuǎn)了;當(dāng)OUT3輸出為高電平,其余三個管腳低電平時,電機就可以左轉(zhuǎn)了。圖3電機驅(qū)動模塊2.5.2 L298的優(yōu)點如果采用繼電器對電動機的開和關(guān)進行控制,通過開關(guān)的切換對電機的速度進行調(diào)整。這個方案的優(yōu)點是電路較為簡單,實現(xiàn)容易;缺點是繼電器的響應(yīng)速度慢、機械結(jié)構(gòu)易損壞、壽命較短。 由于L

23、298工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡單實現(xiàn)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度很快,穩(wěn)定性也極強,是一種廣泛采用的PWM調(diào)速技術(shù)。因此,從難度和性價比上綜合考慮,我選擇L298驅(qū)動芯片。2.6 單片機最小系統(tǒng) 單片機最小系統(tǒng)包括單片機、復(fù)位電路、時鐘電路構(gòu)成。手動復(fù)位,單片機在時鐘電路工作以后,在RESET端持續(xù)給出2個機器周期的高電平時就可以完成復(fù)位操作。本設(shè)計采用的是手動按鍵復(fù)位電路,需要接上上拉電阻來提高輸出高電平的值。單片機工作時,從取指令到譯碼在進行微操作,必須在時鐘信號控制下才能有序的進行,時鐘電路就是為單片機工作提供基本時鐘的。單片機的時鐘信號通常有兩種

24、產(chǎn)生方式:部時鐘方式和外部時鐘方式。 一般都采用部時鐘的方式,所以就介紹一下部時鐘方式吧。在單片機的XTAL1和XTAL2的引腳上跨接上一個晶振和兩個穩(wěn)頻電容,就可以與單片機片的電路構(gòu)成一個穩(wěn)定的自激振蕩器。晶振的取值一般為12MHz。電容的取值為30pf。圖4單片機最小系統(tǒng)2.7 電源模塊電路2.7.1驅(qū)動電路電源 驅(qū)動電路電源電路部分的設(shè)計主要采用7805芯片,使用7805芯片搭建的電路的優(yōu)點是簡單、實用,78系列三端穩(wěn)壓IC組成穩(wěn)壓電源所需的外圍元件極少,電路部還有過流、過熱與調(diào)整管的保護電路,使用起來可靠、方便,而且價格便宜。并且完全能夠滿足無線小車控制系統(tǒng)和L298N芯片的邏輯供電的

25、供電需要。7805芯片有3個引腳,分別為輸入IN端、輸出OUT端和接地GND端,通常情況下可以提供1.5A的電流,在散熱足夠的情況下可以提供大于1.5A的電流。7805芯片的輸入電壓可以為9V、12V、15V不等,輸出電壓穩(wěn)定在5V,正負誤差不超過0.2V。7805芯片如圖12?;谶@樣的情況再結(jié)合電機的工作電壓,選取了6節(jié)干電池9V作為7805的輸入電源,搭建的電源部分電路如圖9所示:圖5 驅(qū)動電路電源2.7.2 無線就收模塊電路電源無線接收模塊電路電源和發(fā)射電路的電源電路是一樣的,也是用三節(jié)干電池供電。具體電路原路圖如圖10所示: 圖6 無線就收模塊電路3 系統(tǒng)的軟件設(shè)計3.1 C語言簡介

26、 程序設(shè)計是計算機工作者的一項基本能力。C語言是被國外計算機用戶管飯學(xué)習(xí)和使用的一種計算機語言,受到廣大計算機用戶的喜愛。C語言是國際上廣泛流行的計算機高級語言。C語言功能強大、使用靈活,既可以用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件,因此C語言問世以后得到迅速的推廣。自20世紀90年代初C語言在我國開始推廣以來,學(xué)習(xí)和使用C語言的人越來越多,成了學(xué)習(xí)和使用人數(shù)最多的一種計算機語言。并成為世界上應(yīng)用最廣泛的程序設(shè)計高級語言。C語言作為高級語言,簡單易懂,易學(xué)易用,是計算機發(fā)展史上的“驚人成就”,為計算機愛好者提供了實現(xiàn)自己夢想的可能。所以我選擇用C語言編寫程序。 3.2 主控程序流程圖 開始 主

27、控程序流程圖首先進行系統(tǒng)初始化,然后等待鍵盤輸入信號,輸出相應(yīng)的電壓控制字,單片機A控制無線發(fā)送模塊。單片機B控制無線接收模塊,通過接受到的信號控制L298,從而控制電機的運動,執(zhí)行后,返回按鍵掃描狀態(tài),等待下一次按鍵。如圖11所示。是否有輸入NY 單片機A處理并發(fā)送 單片機B處理并接受 L298驅(qū)動電路 驅(qū)動小車圖7 主控程序流程圖3.2 發(fā)送模塊程序流程圖 發(fā)送模塊程序首先進行系統(tǒng)初始化,然后接收按鍵的輸入信號,輸出相應(yīng)的發(fā)送信號。根據(jù)鍵盤的不同輸入,輸出不同的發(fā)送信號,執(zhí)行后,返回等待狀態(tài),等待下一次接收??驁D如圖12所示。 開始初始化nRF905 初始化數(shù)碼管數(shù)據(jù)接收成功 N Y初始化

28、發(fā)送代碼 發(fā)送按鍵代碼 結(jié)束 圖8 發(fā)送模塊流程圖3.3 接收模塊程序流程圖接收模塊程序首先進行系統(tǒng)初始化,然后接收發(fā)送模塊的輸入信號,輸出相應(yīng)的控制信號,控制單片機B,經(jīng)過單片機B的處理,從而控制小車的運動。執(zhí)行后,返回等待狀態(tài),等待下一次接收??驁D如圖13所示。開始初始化nRF905初始化寄存器初始化MCU接收數(shù)據(jù)成功?MCU向小車發(fā)送指令NY圖9 接收主流程圖3.3.1 nRF905編程的初始化#define WC0x00#define RC0x10 #define WTP0x20 #define RTP0x21#define WTA0x22#define RTA0x23#define

29、RRP0x24void init_nrf905()CSN=1;SCK=0;DR=1;AM=1;PWR_UP=1;TRX_CE=0;TX_EN=0;Config905();SetRxMode(); nRF905要實現(xiàn)他的無線發(fā)射與接收功能,那么首先必須對它進行初始化。只有先對芯片進行初始化設(shè)置,nRF905才可以開始發(fā)送和接受數(shù)據(jù)的傳輸。所以要實現(xiàn)小車的遙控,初始是功能實現(xiàn)的必要步驟。#define作為C程序的宏定義命令,他有一個明顯的好處就是,便于在子程序中的調(diào)用和修改。也就是說,但你需要在程序的某一個地方修改這個變量是,那么只要通過#define這個宏命令修改這個變量,也就一改全改了。nRF

30、905部有好幾個寄存器,而每個寄存器有必然都對應(yīng)一個端口地址,所以在程序編寫過程中就必然用到這個端口,為了編程方便,所以就對這個端口設(shè)置一個易于記憶的字母變量。由于程序的調(diào)用都講究一個模塊化,所以就把nRF905的初始化定義一個子函數(shù)void init_nrf905();以便于以后每次調(diào)用初始化函數(shù)。CSN作為SPI串口使能信號(低電平有效),當(dāng)它為高電平時,SPI被禁止。SCK作為串口總線的時鐘信號,用以提供SPI傳輸?shù)臅r鐘頻率。DR和AM分別做為數(shù)據(jù)匹配和地址匹配信號,可以分別傳送數(shù)據(jù)和地址信號。POW_UP作為nRF905的電源信號端口,只有保證POW_UP為高電平時,這個芯片才可以真誠

31、工作。TRX_CE和TX_CE分別作為數(shù)據(jù)發(fā)送和數(shù)據(jù)接收信號使能端,且兩個信號都是低電平有效。所以當(dāng)兩個信號端口都為低電平時是,數(shù)據(jù)才可以發(fā)送和接收。3.3.2電機驅(qū)動程序void go()zuo1=1; zuo2=0; you1=1; you2=0; void back()zuo1=0; zuo2=1; you1=0; you2=1; 同樣通過定義子程序函數(shù),分別把電機的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)定義為子程序函數(shù),這樣可以在程序的任意位置隨時調(diào)用。每個直流電機的輸入引腳分別與L298輸出引腳連接,L298電機驅(qū)動芯片再與單片機輸出信號相連接,單片機的輸出信號通過L298的放大直接與直接驅(qū)動直流電

32、機。由L298的功能可以知道,當(dāng)單片機的輸出引腳對應(yīng)輸出高低高低時候,兩個電機都正向旋轉(zhuǎn)(前進);單片機的的輸出引腳對應(yīng)輸出低高低高時候電機就逆時針旋轉(zhuǎn)(后退)。同理,左轉(zhuǎn)與右轉(zhuǎn)也是一個道理。3.4 系統(tǒng)的仿真Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為風(fēng)標電子技術(shù))。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機與外圍器件。它是目前最好的仿真單片機與外圍器件的工具。雖然目前國推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的HE

33、X文件,可以在PROTEUS的原理圖中看到模擬的實物運行狀態(tài)和過程。 單片機控制直流電機轉(zhuǎn)動仿真圖3.5系統(tǒng)檢測與調(diào)試 測試按照項目的要求進行,首先組裝好小車后 ,檢測小車的硬件連接是否正常,再次檢測電源系統(tǒng)沒有問題,兩項都正常后,初始化無線模塊和89C52開發(fā)板,按下遙控器上的按鍵,小車的前進、左轉(zhuǎn)、右轉(zhuǎn)都沒有問題。停止鍵也實現(xiàn)了功能。經(jīng)檢測小車基本實現(xiàn)了系統(tǒng)功能的要求,但也有不正常的地方,第一次的測試,發(fā)現(xiàn)按下遙控開關(guān)后,走了一段時間后,直流電機的驅(qū)動電路芯片L298很燙,仔細查看后發(fā)現(xiàn)其中的輸出引腳的電線連電了。經(jīng)修正后系統(tǒng)一切正常。第二次程序下載到單片機后,運行小車,結(jié)果發(fā)現(xiàn)遙控器的按

34、鍵不好使,看了程序以后覺得好像沒什么問題,但是按鍵按下后小車的運行還是存在問題,那就把小車的接收板的輸出信號引腳接到另一塊開發(fā)板的四個LED燈,這樣就可以檢測到是否小車可以正常輸出信號,結(jié)果看了以后可以正常輸出信號,那么問題就可以確定是在遙控器一端的開發(fā)板上的程序可能編寫的時候出了問題,確定問題以后打開Keil軟件的編譯界面,打開發(fā)送程序進行了仔細的修改,進過兩三次的調(diào)試程序后,小車終于正常的行走了???結(jié)從剛拿到題目時的一臉茫然,到整天在圖書館查閱資料,到在寢室編寫整體框架,到著手準備元件和準備制作工具,到真正制作實物,這一路走來真心不容易。不過我的確很是開心,因為幻天不負有心人,最后通過自

35、己的努力,終于寫好了自己的論文和制作出實物。一路走來,不但鞏固了自己以前的所學(xué)知識,而且值得欣慰的是,我還學(xué)到了新的東西,就拿Altium Designer來說吧,之前根本就不知道Altium Designer是什么東西,通過在網(wǎng)上下載學(xué)習(xí)視頻,再加上以前Protel所學(xué)的知識,幾天后終于可以利用Altium Designer制作出畢業(yè)設(shè)計的原理圖。還有就是在單片機C語言編程方面,我覺得我以后會更加的謹慎。因為一個程序的穩(wěn)定與否,與程序的一些細枝末節(jié)是有恒大的干系的。比圖說,一個按鍵的抖動,完全是通過軟件延時來實現(xiàn)的,即使你沒有延時程序,程序本身是沒有錯誤的,但是在實際工作中就有可能出錯誤。所

36、以,這個教會了我不管什么工作一定要細心,認真,負責(zé)。更有就是,在這期間我也深刻體會到團結(jié)、合作、謙虛”這三個詞的含義。做任何事包括做實驗都不是孤立的,不是你“閉門造車”,而是一個需要和他人交往的過程。這就要求我們要團結(jié),要有合作精神,要注意和他人的溝通,要謙虛,不懂就問所謂“知之為知之,不知為不知”。總之,在整個實驗操作和論文完成的過程中,我體會到的是實驗的艱辛和收獲的充實,感受到的是一種堅持不懈、契而不舍的科研精神。對我以后的深造學(xué)習(xí)有重要的意義。參考文獻1王佳新.C語言上機考試系統(tǒng)的設(shè)計與實現(xiàn)J.大學(xué).2009.2 譚浩強.C程序設(shè)計M.清華大學(xué),2010.063 歌德史密斯(美).無線通

37、訊M.人民郵電,2009.124 文元.無線通訊技術(shù)概論M.國防工業(yè),2011.45 強.51系列單片機應(yīng)用軟件編程技術(shù)M.航空航天大學(xué),20116胡萍.串口通信的紅外報警器的研制J.計算機與現(xiàn)代化.2010.7唐德琴.電子溫度測量儀器技術(shù)發(fā)展戰(zhàn)略研究J.電子科學(xué)技術(shù),20098行善.基于串口組件的體系結(jié)構(gòu)J.電子串口與儀器學(xué)報,2010.9道連等.用于AT89C51設(shè)計紅外報警器的設(shè)計與制作J.國外電子元器件,2010.10國進嵌入式Linux驅(qū)動程序設(shè)計從入f-J至U精通D田:清華大學(xué),200811游.基于電液比例技術(shù)的液壓挖掘機近地?zé)o線遙控系統(tǒng)研究.科技大學(xué).2012.12杰.基于XC2

38、365的電動汽車用BLDCM驅(qū)動控制器J.大學(xué).2012.13王寶萍.玩具智能小車控制系統(tǒng)的設(shè)計與實現(xiàn)J.電子科技大學(xué).2012.14胡房武.基于圖像采集的智能車系統(tǒng)設(shè)計J.海事大學(xué).2011.致 衷心感學(xué)院給我這次難得的機會來做此次畢業(yè)設(shè)計,讓我從中學(xué)到很多書本上沒有的知識,理論與實踐相結(jié)合,這不但更深入的讓我理解了書本上的專業(yè)理論知識,而且還明顯提高了我的實踐動手能力。衷心感欣茂老師不厭其煩的指導(dǎo),他嚴謹細致、一絲不茍的工作作風(fēng)一直是我學(xué)習(xí)中的榜樣;他循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪!這篇論文的每個細節(jié)和每個數(shù)據(jù),都離不開他的細心指導(dǎo)。通過這次的論文寫作與欣茂老師建立了亦師亦

39、友的關(guān)系,這是我榮幸,您老師。我還要感我們組的成員、我的室友、我的同學(xué),每當(dāng)我遇到畢業(yè)論文寫作的困難時,就有鼓勵的言語在我的耳邊響起;每當(dāng)我心情沮喪,想要打退堂鼓的時候,就有我的好友過來安慰我,鼓勵我。真是因為有他們的關(guān)心,不管是在學(xué)習(xí)上,還是生活上,都給予我很大的幫助,讓我在大學(xué)經(jīng)歷了許多難忘的事情,讓我的校園生活過的豐富多彩。我親愛的同學(xué)、朋友、室友你們。最后我要感我可敬的父母,你們永遠是我最堅強的后盾,一直默默在為我無私的付出,是您們的支持才讓我走到今天這一步,讓我有機會上大學(xué),有機會接受高等教育并且順利畢業(yè)。你們也是我學(xué)習(xí)的最大動力,我一定會以優(yōu)異的成績和努力工作來回報您們、回報社會。

40、附錄一: 原理圖:接收模塊發(fā)射模塊附錄二:發(fā)射程序:#include <reg52.h> #define uchar unsigned char #define uint unsigned int #define WC0x00#define RC0x10 #define WTP0x20 #define RTP0x21#define WTA0x22#define RTA0x23#define RRP0x24typedef struct RFConfiguchar n;uchar buf10;RFConfig;code RFConfig RxTxConf = 10,0x01, 0x0c

41、, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xc0, 0x58;uchar data TxBuf32;uchar key,rsbrf,delayf,tf;uchar bdata DATA_BUF;sbitflag= DATA_BUF7;sbitflag1= DATA_BUF0;sbitTX_EN= P10; /TX、RX模式/sbitPWR_UP= P11; sbitDR= P12;sbitMOSI= P13;sbitCSN= P14; /SPI使能/sbitSCK= P15;sbitMISO= P16;sbitAM= P17; /地址匹配/sbitTRX_CE

42、= P32;sbit key_q= P23; /前進sbit key_h = P21; /后退sbit key_l = P20; /左轉(zhuǎn)sbit key_r = P22; /右轉(zhuǎn)sbit led = P33;void Delay(uchar n) /100usuint i;while(n-)for(i=0;i<80;i+);void SpiWrite(uchar byte)uchar i;DATA_BUF=byte;for (i=0;i<8;i+)if (flag)MOSI=1;elseMOSI=0;SCK=1;/ 時鐘DATA_BUF=DATA_BUF<<1; SCK

43、=0; void Config905(void)uchar i;CSN=0;SpiWrite(WC);for (i=0;i<RxTxConf.n;i+) /寫放配置字/SpiWrite(RxTxConf.bufi);CSN=1;/ Spi使能/void TxPacket(void)uchar i;CSN=0;SpiWrite(WTP);/寫地址命令/for (i=0;i<32;i+)SpiWrite(TxBufi);CSN=1;Delay(1);CSN=0;SpiWrite(WTA);for (i=0;i<4;i+)SpiWrite(RxTxConf.bufi+5);CSN=

44、1;TRX_CE=1;Delay(1);TRX_CE=0;void SetTxMode(void)TX_EN=1;TRX_CE=0;Delay(1); void SetRxMode(void)TX_EN=0;TRX_CE=1;Delay(1); void init_nrf905()CSN=1;/Spi禁用SCK=0;DR=1;AM=1;PWR_UP=1;TRX_CE=0;TX_EN=0;Config905();SetRxMode();/ Rx modevoid delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<115;j+);vo

45、id main()init_nrf905();led = 1;while(1)TxBuf0 = 0; delay_1ms(100);if(key_s = 0) /小車前進led = 0;TxBuf0 = 1;if(key_l = 0) /小車左轉(zhuǎn)led = 0;TxBuf0 = 2; if(key_r = 0) /小車右轉(zhuǎn)led = 0;TxBuf0 = 3; if(key_x = 0) /小車后退led = 0;TxBuf0 = 4; delay_1ms(100);if(key_s = 1) && (key_x = 1) && (key_l = 1) &

46、;& (key_r = 1)led = 1;TxBuf0 = 0; SetTxMode();TxPacket(); 接收模塊:#include <reg52.h> /調(diào)用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量圍0255#define uint unsigned int /無符號整型 宏定義變量圍065535#define WC0x00/ Write configuration register command#define RC0x10 / Read configuration register command#def

47、ine WTP0x20 / Write TX Payload command#define RTP0x21/ Read TX Payload command#define WTA0x22/ Write TX Address command#define RTA0x23/ Read TX Address command#define RRP0x24/ Read RX Payload commandsbit zuo1= P23; sbit zuo2= P22; sbit you1= P21; sbit you2= P20; sbit led = P33;typedef struct RFConfi

48、g1uchar n;uchar buf10;RFConfig;code RFConfig RxTxConf =10,0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xc0, 0x58;uchar data TxBuf32;uchar data RxBuf32;uchar key,rsbrf,delayf,tf;uchar bdata DATA_BUF;sbitflag= DATA_BUF7;sbitflag1= DATA_BUF0;sbitTX_EN= P10;sbitPWR_UP= P11; sbitDR= P12;sbitMOSI= P13;sbitCSN= P14;sbitSCK= P15;sbitMISO= P16;sbitAM= P17;sbitTRX_CE= P32;void Delay(uchar n)uint i;while(n-)for(i=0;i<80;i+);void Config905(void)uchar i;CSN=0;/ Spi enable for write a spi commandSpiWrite(WC);/ Write config commandfor (i=0;i<RxTxConf.n;i+)/ Write configration words 寫放配置字S

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論