基于單片機的WIFI智能小車設(shè)計
《基于單片機的WIFI智能小車設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的WIFI智能小車設(shè)計(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、企業(yè)實踐報告 ( 2016-- 2017年度第1學(xué)期) 基于51單片機的WIFI遙控小車設(shè)計 專業(yè) 學(xué)生姓名 ** 班級 * 學(xué)號 *** 指導(dǎo)教師 完成日期 2016.12.* 目錄 第1章 緒論 1 第2章 方案論證及選擇 2 2.1 系統(tǒng)方案選擇 2 2.2 總體設(shè)計方案 3 2.2.1 整機系統(tǒng) 3 2.1.2 整機工作原理 3 第3章 硬件系統(tǒng)設(shè)計 5 3.1 路由器 5 3.2 ESP8266WIFI模塊 5 3.2.1 ESP8266WIFI模塊引腳功能 6 3.3
2、 STC89C52RC單片機 7 3.3.1 STC89C52RC單片機引腳功能 8 3.3.2 單片機的外圍電路 10 3.4 L293D電機驅(qū)動模塊 11 3.4.1 L293D引腳功能及原理圖 11 3.5 3.3V降/穩(wěn)壓模塊 13 3.5.1 降/穩(wěn)壓模塊的原理圖 13 3.6 5V和3.3V串口電平轉(zhuǎn)換模塊 14 3.6.1 引腳功能和原理圖 14 第4章 軟件系統(tǒng)設(shè)計 16 4.1 軟件開發(fā)環(huán)境 16 4.1.1 Android的APP軟件的開發(fā) 16 4.1.2 單片機程序開發(fā)環(huán)境 Keil 17 4.2 程序流程圖 17 4.2.1 主程序流程圖
3、17 4.2.2 串口中斷接收流程圖 19 4.2.3 串口發(fā)送指令流程圖 20 第5章 設(shè)備調(diào)試 22 5.1 系統(tǒng)調(diào)試 22 5.2 硬件設(shè)備調(diào)試 22 5.2.1 ESP8266串口WIFI的連線 23 5.2.2 STC89C52RC單片機連線 23 5.2.3 單片機和WIFI模塊的連線 24 5.3 軟件調(diào)試 24 5.3.1 WIFI模塊的調(diào)試 24 5.3.2 單片機的調(diào)試 26 5.3.3 單片機和WIFI模塊的調(diào)試 27 心得體會 28 總結(jié) 29 參考文獻 30 附錄1 單片機程序 31 2 第1章 緒論 現(xiàn)在是一個智
4、能化的時代,各種智能化的設(shè)備正在逐步代替人為的操作。隨著汽車工業(yè)的迅速發(fā)展,關(guān)于智能汽車的研究也越來越受人們關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都智能小車這方面的題目,全國各高校也都很重視該課題的研究。設(shè)計的WIFI智能小車能夠?qū)崿F(xiàn)自動循跡,壁障功能,可程控行駛速度、電腦手機WIFI連接控制行駛及其他的控制方式。本系統(tǒng)能實現(xiàn)對小車的運動狀態(tài)進行實時控制。系統(tǒng)控制靈活、可靠、精度高、可滿足對系統(tǒng)的各項要求。本設(shè)計以STC89C52RC單片機為控制核心,利用ESP8266WIFI模塊和路由器接收和處理無線信號,然后通過WIFI模塊和單片機之間的串口通信來傳遞信息,從而完成手機控制單片機的運作。
5、通過對本小車的研究,我們可以初步構(gòu)建智能汽車的模型和理論基礎(chǔ)。對于智能汽車的研究,國內(nèi)外都有很大的成就,谷歌的無人駕駛汽車,已經(jīng)能夠在高速公路上安全行駛數(shù)千里,在高速行駛下都能有這么好的操控能力,無非是智能汽車領(lǐng)域的一座里程碑。 在智能家居系統(tǒng)研發(fā)方面,美國及一些歐洲國家一致處于領(lǐng)先地位,今年來,以美國微軟公司及摩托羅拉公司等為首的一批國外知名企業(yè),先后躋身于智能家居系統(tǒng)的研發(fā)中。例如:微軟公司開發(fā)的“夢幻之家”、摩托羅拉公司開發(fā)的“居所之門”IBM公司開發(fā)的“家庭主任”等均已日趨成穩(wěn)定技術(shù)強占家居市場。此外,日韓等新國的龍頭企業(yè)紛紛致力于家居智能化的開發(fā),對家居市場更是躍躍欲試。 本設(shè)計
6、選用的89C52單片機屬于MSC-51系列單片機,由Intel公司開發(fā),其結(jié)構(gòu)有8字節(jié)FLASH閃速存儲器,256字節(jié)內(nèi)部RAM , 32個I/O口線,3個16 位定時/計數(shù)器,一個6向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89c52可降至O Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止CPU 的工作,但允許RAM,定時/計數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。由于89C52的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時間精度要求,而且產(chǎn)品產(chǎn)量豐富來源廣,應(yīng)用也很成熟,故
7、用來作為控制核心。新一代單片機為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴展與配置打下了良好的基礎(chǔ)。本設(shè)計主要研究內(nèi)容就是基于89C52設(shè)計一部WIFI智能小車,小車能夠?qū)崿F(xiàn)WIFI遙控的智能小車控制系統(tǒng)。 第2章 方案論證及選擇 2.1 系統(tǒng)方案選擇 方案1:自己首先學(xué)習(xí)相關(guān)知識,理解單片機智能小車的原理以及WIFI模塊指令等。動手設(shè)計出帶有WIFI模塊的單片機開發(fā)板,在配購好小車相關(guān)的材料后,組裝出小車模型。調(diào)試好WIFI模塊和單片機的硬件和軟件,然后用手機等終端設(shè)備通過路由器驅(qū)動WIFI小車的運動等一系列指令。具體的如圖2-1所示。 下圖是關(guān)于方案1設(shè)計版圖構(gòu)想,如圖2-1所
8、示。 圖2-1 方案1設(shè)計圖 方案2:自己首先學(xué)習(xí)相關(guān)知識,理解單片機智能小車的原理以及單片機和WIFI之間的通信方式,了解WIFI模塊的相關(guān)指令,以及單片機的串口傳輸?shù)姆绞?。然后利用已?jīng)完成有的單片機小車,通過在單片機小車上添加一個WIFI模塊和相關(guān)模塊來進行改裝,然后自己通過設(shè)計編寫單片機和WIFI模塊之間串口通信的程序。利用這樣的方法來實現(xiàn)手機終端來通過路由器在無線傳輸?shù)姆绞綄纹瑱C進行控制,從而進一步的控制小車的運動等一系列指令。具體的如圖2-2所示。 下圖是關(guān)于方案2設(shè)計版圖構(gòu)想,如圖2-2所示。 圖2-2 方案2設(shè)計圖 方案選擇:方案1和方案2涉及的相關(guān)知識大致相
9、同,兩種不同思路的選擇,所需要的材料也不同。介于我們對制作成本和材料考慮,我們小組選擇方案2,利用已有的單片機小車,對小車進行改裝,在小車上加個WIFI模塊等一系列設(shè)備,實現(xiàn)手機等終端設(shè)備通過無線信號控制小車的運動。選擇方案2,我們認(rèn)為可以加強我們的動手能力,能夠充分的學(xué)習(xí)和利用相關(guān)的專業(yè)知識,達(dá)到綜合素質(zhì)的提升。 2.2 總體設(shè)計方案 基于單片機的WIFI智能小車主要由路由器、ESP8266WIFI模塊、STC89C52RC單片機控制模塊、L293D電機驅(qū)動模塊、5V與3.3V串口電平轉(zhuǎn)換模塊和3.3V降/穩(wěn)壓模塊等主要結(jié)構(gòu)組成,其中還有一些次要設(shè)備,比如蜂鳴器,LED燈和數(shù)碼管等。
10、 2.2.1 整機系統(tǒng) 下圖是整機系統(tǒng)圖,是WIFI模塊和單片機之間通信的整體圖,如圖2-3所示。 圖2-3 整機系統(tǒng)圖 項目系統(tǒng)包括路由器、ESP8266串口WIFI模塊、STC89C52RC單片機、電機驅(qū)動模塊、串口電平轉(zhuǎn)換模塊、5V電源、3.3v降/穩(wěn)壓模塊、電機驅(qū)動模塊組成。如圖2-3所示。 ESP8266串口WIFI模塊是用來接收到手機等上位機設(shè)備發(fā)送的控制指令信息和單片機通過串口通信傳來的AT指令信息來連接到路由器,然后創(chuàng)建多連接和SERVER模式,來實現(xiàn)手機和WIFI模塊之間的通信;STC89C52RC單片機最小系統(tǒng)是小車的核心系統(tǒng),用來控制和協(xié)調(diào)小車的運動;電機驅(qū)
11、動模塊用來驅(qū)動小車電機的運作;5V和3.3V串口電平轉(zhuǎn)換模塊是用來轉(zhuǎn)換單片機和WIFI模塊之間的信號電平,主要是適用于本模塊的工作電壓;電源電路用來提供單片機和WIFI模塊的外部電源;3.3v降/穩(wěn)壓模塊用來給WIFI模塊提供一個3.3v穩(wěn)定的工作電壓;蜂鳴器電路作用是用來給單片機一個提示音;電機作用就是讓小車的輪子轉(zhuǎn)動,來使小車動起來。 2.1.2 整機工作原理 基于單片機的WIFI智能小車是STC89C52RC單片機通過其串口對ESP8266WIFI模塊發(fā)送AT指令,使ESP8266WIFI模塊連接到路由器并且讓ESP8266WIFI模塊開啟多連接和SERVER模式,然后手機打開WL
12、AN連接路由器設(shè)備,打開制作好的APP軟件,通過路由器這個中轉(zhuǎn)站向ESP8266WIFI模塊發(fā)送控制指令,在ESP8266WIFI模塊接收到控制指令后,通過ESP8266WIFI模塊的串口和STC89C52RC單片機上的串口之間相互發(fā)送控制指令的數(shù)據(jù)流,單片機的串口在接收到從WIFI模塊傳來的控制指令的數(shù)據(jù)流,最終做出控制選擇,進而控制小車運動、指示燈的亮滅、蜂鳴器的開關(guān)和數(shù)碼管的顯示。如:小車運動,LED燈的亮滅,蜂鳴器的發(fā)聲等。 基于單片機的WIFI智能小車主要是利用手機作為上位機,而單片機作為下位機,通過WIFI模塊和路由器進行對無線信號的處理,然后通過串口傳送有線的信號,從而實現(xiàn)上位
13、機通過無線來控制下位機的運作,實現(xiàn)智能化和無線遙控等功能。 第3章 硬件系統(tǒng)設(shè)計 3.1 路由器 路由器(Router),(如圖3-1所示)是連接因特網(wǎng)中各局域網(wǎng)、廣域網(wǎng)的設(shè)備,它會根據(jù)信道的情況自動選擇和設(shè)定路由,以最佳路徑,按前后順序發(fā)送信號。 路由器是互聯(lián)網(wǎng)絡(luò)的樞紐"交通警察"。目前路由器已經(jīng)廣泛應(yīng)用于各行各業(yè),各種不同檔次的產(chǎn)品已成為實現(xiàn)各種骨干網(wǎng)內(nèi)部連接、骨干網(wǎng)間互聯(lián)和骨干網(wǎng)與互聯(lián)網(wǎng)互聯(lián)互通業(yè)務(wù)的主力軍。路由和交換機之間的主要區(qū)別就是交換機發(fā)生在OSI參考模型第二層(數(shù)據(jù)鏈路層),而路由發(fā)生在第三層,即網(wǎng)絡(luò)層。這一區(qū)別決定了路由和交換機在移動信息的過程中需使用不同的控制信
14、息,所以說兩者實現(xiàn)各自功能的方式是不同的。 路由器(Router),(如圖3-1所示)又稱網(wǎng)關(guān)設(shè)備(Gateway)是用于連接多個邏輯上分開的網(wǎng)絡(luò),所謂邏輯網(wǎng)絡(luò)是代表一個單獨的網(wǎng)絡(luò)或者一個子網(wǎng)。當(dāng)數(shù)據(jù)從一個子網(wǎng)傳輸?shù)搅硪粋€子網(wǎng)時,可通過路由器的路由功能來完成。因此,路由器具有判斷網(wǎng)絡(luò)地址和選擇IP路徑的功能,它能在多網(wǎng)絡(luò)互聯(lián)環(huán)境中,建立靈活的連接,可用完全不同的數(shù)據(jù)分組和介質(zhì)訪問方法連接各種子網(wǎng),路由器只接受源站或其他路由器的信息,屬網(wǎng)絡(luò)層的一種互聯(lián)設(shè)備。 下圖是路由器的設(shè)備圖,如圖3-1所示。 圖3-1 路由器 3.2 ESP8266WIFI模塊 本次設(shè)計用到ESP8266W
15、IFI模塊是用于連接到路由器,然后接收手機端發(fā)送的信號,對單片機進行控制。 WIFI模塊又名串口WIFI模塊,屬于物聯(lián)網(wǎng)傳輸層,功能是將串口或TTL電平轉(zhuǎn)為符合WIFI無線網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無線網(wǎng)絡(luò)協(xié)議IEEE802.11b.g.n協(xié)議以及TCP/IP協(xié)議。傳統(tǒng)的硬件設(shè)備嵌入WIFI模塊可以直接利用WIFI聯(lián)入互聯(lián)網(wǎng),是實現(xiàn)無線智能家居、M2M等物聯(lián)網(wǎng)應(yīng)用的重要組成部分。 下圖是ESP8266WIFI模塊的正反面圖,如圖3-2,3-3所示。 圖3-2 ESP8266WIFI模塊正面圖 圖3-3 ESP8266WIFI模塊反面圖 ESP8266是一款超低
16、功耗的模塊,擁有業(yè)內(nèi)極富競爭力的封裝尺寸和超低能耗技術(shù),專為移動設(shè)備和互聯(lián)網(wǎng)的應(yīng)用設(shè)計,可將用戶的物理設(shè)備連接到WIFI無線網(wǎng)絡(luò)上,進行互聯(lián)網(wǎng)或局域網(wǎng)通信,實現(xiàn)聯(lián)網(wǎng)功能。 ESP8266可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。 3.2.1 ESP8266WIFI模塊引腳功能 下圖是ESP8266WIFI模塊的引腳圖,如圖3-4所示。 圖3-4 ESP8266WIFI模塊引腳圖 下表是ESP8266WIFI模塊引腳說明,如表2所示。 表2 ESP8266WIFI模塊引腳表 PIN Function Description 1 URX
17、D 1) UART_RXD,接收; 2) General Purpose Input/Output:GPIO3; 2 UTXD 1) UART_TXD,發(fā)送; 2)General Purpose Input/Output:GPIO1; 3)開機時禁止下拉; 3 RESET(GPIO 16) 外部Reset信號,低電平復(fù)位,高電平工作(默認(rèn)高); 4 GND GND 5 VCC 3.3V,模塊供電; 6 GPIO0 1) 默認(rèn)WIFI Status:WIFI工作狀態(tài)指示燈控制信號; 2) 工作模式選擇: 懸空:Flash Boot,工作模式;
18、 下拉:UART Download,下載模式; 7 CH_PD 1) 高電平工作; 2) 低電平模塊供電關(guān)掉; 8 GPIO2 1) 開機上電時必須為高電平,禁止硬件下拉; 2) 內(nèi)部默認(rèn)已拉高 3.3 STC89C52RC單片機 單片機(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)
19、域廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時的4位、8位單片機,發(fā)展到現(xiàn)在的300M的高速單片機。 STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O 口線,看門狗定時器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,3個16位定時器/計數(shù)器,4
20、個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。 下圖是STC89C52RC單片機的實物圖,如圖3-5所示。 圖3-5 STC89C52RC單片機 3.3.1 STC89C52RC單片機引腳功能 下圖是STC89C52RC單片機的引腳功能圖,如圖3-6所示。
21、 圖3-6 STC89C52RC引腳圖 1、VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0~P0.7,39~32引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負(fù)載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時,P0口內(nèi)部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)。 2、P1端口(P1.0~P1.7,1~8引腳):P1口是一個內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(吸收或者
22、輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內(nèi)部上拉電阻, 那些被外部拉低的引腳會輸出一個電流。 此外,P1.0和P1.1還可以作為定時器/計數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見下表3所示: 表3 P1.0和P1.1引腳復(fù)用功能表 引腳號 功能特性 P1.0 T2(定時器/計數(shù)器2外部計數(shù)輸入),時鐘輸出 P1.1 T2EX(定時器/計數(shù)器2捕獲/重裝觸發(fā)和方向控制) 3、P2端口(P2.0~P2.7,21~28引腳):
23、P2口是一個內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電平,這時可用作輸入口。P2作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。 4、P3端口(P3.0~P3.7,10~17引腳):P3是一個內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3做輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流。 P3口除作為一般I/O
24、口外,還有其他一些復(fù)用功能,如下表4所示: 表4 P3口引腳復(fù)用功能 引腳號 復(fù)用功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0(外部中斷0) P3.3 INT1(外部中斷1) P3.4 T0(定時器0的外部輸入) P3.5 T1(定時器1的外部輸入) P3.6 (外部數(shù)據(jù)存儲器、寫) P3.7 (外部數(shù)據(jù)存儲器、讀) 5、RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個機器周期以上高電平時為有效,用來完成單片機的復(fù)位初始化操作??撮T狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地
25、址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。 6、ALE/PROG(30引腳):地址鎖存控制信號(ALE)是訪問外部程序 存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳(PROG)也用作編程輸入脈沖。 7、PSEN(29 引腳):外部程序存儲器選通信號(PSEN)是外部 程序存儲器選通信號。當(dāng)AT89C51RC 從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,PSEN而訪問外部數(shù)據(jù)存儲器時,將不被激活。 8、EA/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀
26、取指令,EA必須接GND。注意加密方式1時,EA將內(nèi)部鎖定RESET。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。 9、XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 10、XTAL2(18引腳):振蕩器反相放大器的輸入端。 3.3.2 單片機的外圍電路 1、基本復(fù)位電路 復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。圖3-7所示的RC復(fù)位電路可以實現(xiàn)上述基本功能。 下圖是RC復(fù)位電路,如圖3-7所示。 圖3-7
27、RC復(fù)位電路 在電源上電的時候,等待一定的時間,等到電容兩端的電壓值相同時,單片機復(fù)位。還有一種方法就是按鍵復(fù)位,當(dāng)SM按鍵按下之后RST端的電壓值瞬間和VCC相同,同樣也可以達(dá)到復(fù)位的效果,圖中的電容作用是充放電,電阻是為了保護電路而設(shè)置的。 2、時鐘電路 晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)后,再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點,以頻率的高低,其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當(dāng)?shù)慕咏?,在這個極窄的頻率范圍內(nèi),晶振等效為一個電感。所以,晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電
28、路。 下圖是時鐘電路的電路圖,如圖3-8所示。 圖3-8 時鐘電路的電路圖 一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應(yīng)該等于負(fù)載電容,請注意一般IC的引腳都有等效輸入電容。 3.4 L293D電機驅(qū)動模塊 我們所使用的電機一般是直流電機,主要用到永磁直流電機、伺服電機及步進電機三種。直流電機的控制很簡單,性能出眾,直流電源也容易實現(xiàn)。 本次設(shè)計使用的是L293D(如圖3-8所示),L293D是一款單片集成的高電壓、高電流、4通道電機驅(qū)動,設(shè)計用于連接標(biāo)準(zhǔn)D
29、TL或TTL邏輯電平,驅(qū)動電感負(fù)載(諸如繼電線圈、DC和步進電機)和開關(guān)功率晶體管等等。 下圖是L293D電機驅(qū)動模塊在單片機作用下驅(qū)動電機運動圖,如圖3-9所示。 圖3-9 單片機驅(qū)動電機模塊圖 3.4.1 L293D引腳功能及原理圖 下圖是L293D芯片引腳圖,如圖3-10所示。 圖3-10 L293D芯片引腳圖 1、INPUT1:輸入電機1的引腳A。 2、INPUT2:輸入電機1的引腳B。 3、INPUT3:輸入電機2的引腳A。 4、INPUT4:輸入電機2的引腳B。 5、GND:電源地接口。 6、VSS:輸入電機驅(qū)動電壓接口。 7、OUTPUT1:輸出電
30、機1的引腳A。 8、OUTPUT2:輸出電機1的引腳B。 9、OUTPUT3:輸出電機2的引腳A。 10、OUTPUT4:輸出電機2的引腳B。 下圖是電機驅(qū)動模塊和單片機原理圖,如圖3-11所示。 圖3-11 電機驅(qū)動模塊和單片機原理圖 單片機的P0的8個端口在位定義之后對L293D電機模塊的4個INPUT寫入各不同的高低電平,經(jīng)L293D芯片內(nèi)部的轉(zhuǎn)換之后,在OUTPUT輸出4個相應(yīng)的電平值,分別對應(yīng)M1和M2的兩個電機A端和B端,從而控制電機M1和M2的正轉(zhuǎn)和反轉(zhuǎn),進而實現(xiàn)小車的前進,后退,左轉(zhuǎn)和右轉(zhuǎn)等功能。 3.5 3.3V降/穩(wěn)壓模塊 降/穩(wěn)壓模塊是,通過降壓和
31、穩(wěn)壓的過程,給設(shè)備提供一個穩(wěn)定的工作環(huán)境,能夠提供不同的工作電壓設(shè)備在同一電源電壓下同時工作,應(yīng)用于單片機上能添加不同工作電壓的電子設(shè)備。 下圖是降/穩(wěn)壓模塊圖,如圖3-12所示。 圖3-12 AMS111 7-3.3 3.3V降/穩(wěn)壓模塊 將單片機上的5V的電源轉(zhuǎn)換為3.3V的穩(wěn)壓電源,提供給正常工作電壓是3.3V的電子設(shè)備,實現(xiàn)給5V和3.3V電壓之間的轉(zhuǎn)換,提供了能和單片機同時工作且電壓值可以不同的電子設(shè)備。比如,ESP8266串口WIFI模塊。 下圖是單片機的VCC通過降/穩(wěn)壓模塊給WIFI模塊供電,如圖3-12所示。 圖3-12 降/穩(wěn)壓模塊給WIFI模塊供電圖
32、3.5.1 降/穩(wěn)壓模塊的原理圖 下圖是降/穩(wěn)壓模塊的原理圖,如圖3-13所示。 圖3-13 降/穩(wěn)壓模塊的原理圖 上圖所示,D1作用是防止電源反接。C01、C02是電源輸入濾波。VDD3.3是3.3V電源,供數(shù)字電路使用。 L1、L2是隔離濾波電感。VCC3.3是3.3V電源,供模擬電路使用。電源在通過AMS111 7-3.3 3.3V降/穩(wěn)壓電路,電源電壓由原來的5V降為3.3V,可以提供給正常工作在3.3V的設(shè)備使用。 3.6 5V和3.3V串口電平轉(zhuǎn)換模塊 數(shù)字電路,電平就是電位的高低,用0和1表示。在計算機或者其他微處理器內(nèi)部只能識別0和1這兩個數(shù)字信號,不同的系統(tǒng)電
33、平表示的0和1實際的電位并不相同。例如,高電平常用3.3V,5V,12V,低電平常用0,當(dāng)不同的系統(tǒng)進行連接通信控制時,就要進行電平轉(zhuǎn)換。打個比方,單片機的高電位為5v,而電腦的串口電平為12V,要實現(xiàn)電腦到單片機通信就必須將電腦的12V轉(zhuǎn)到單片機的5V,反之,5V轉(zhuǎn)到12V。 下圖是串口電平轉(zhuǎn)換模塊圖,如圖3-14所示。 圖3-14 5V和3.3V串口電平轉(zhuǎn)換模塊圖 本項目的單片機是STC89C52RC,其工作電壓是5V,而WIFI模塊的工作電壓是3.3V,由于兩者工作電壓不一致,導(dǎo)致了信號的電平也不一致。要想兩個設(shè)備之間能夠進行通信,就必須要對信號電平進行轉(zhuǎn)換,實現(xiàn)5V的電平和
34、3.3V的電平之間能夠通信,完成數(shù)據(jù)間的交換。 下圖是單片機和WIFI模塊通過串口電平轉(zhuǎn)換模塊進行通信的圖,如圖3-15所示。 圖3-15 單片機和WIFI模塊電平相互轉(zhuǎn)換圖 3.6.1 引腳功能和原理圖 下圖是串口電平轉(zhuǎn)換的引腳圖,如圖3-16所示。 圖3-16 串口電平轉(zhuǎn)換的引腳圖 1、5V和3.3V:由外電源接入5V和3.3V電源電壓。 2、GND:電源接地接口。 3、TXD:數(shù)據(jù)發(fā)送引腳。 4、RXD:數(shù)據(jù)接收引腳。 下圖是5V和3.3V串口電平轉(zhuǎn)換電路圖,如圖3-17所示。 圖3-17 5V和3.3V串口電平轉(zhuǎn)換電路圖 上圖的電路中,3.3V的信號
35、通過兩個三極管Q1,Q2的兩次放大,再配合上合適的電阻R1、R2、R3進行轉(zhuǎn)換,完成了3.3V到5V信號的變換。5V信號同樣通過相反的方式將信號變成了3.3V的輸出,從而可以實現(xiàn)了數(shù)據(jù)能夠在3.3V和5V之間的相互通信。 第4章 軟件系統(tǒng)設(shè)計 4.1 軟件開發(fā)環(huán)境 軟件開發(fā)環(huán)境的主要組成成分是軟件工具。人機界面是軟件開發(fā)環(huán)境與用戶之間的一個統(tǒng)一的交互式對話系統(tǒng),它是軟件開發(fā)環(huán)境的重要質(zhì)量標(biāo)志。存儲各種軟件工具加工所產(chǎn)生的軟件產(chǎn)品或半成品(如 軟件開發(fā)環(huán)境參考書 軟件開發(fā)環(huán)境參考書 源代碼、測試數(shù)據(jù)和各種文檔資料等)的軟件環(huán)境數(shù)據(jù)庫是軟件開發(fā)環(huán)境的核心。 4.1.1 Androi
36、d的APP軟件的開發(fā) Android開發(fā)需要用到Eclipse、ADT和SDK。三個組件整合開發(fā)。 1、Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。如圖15所示。 下圖是安卓開發(fā)環(huán)境界面,如圖4-1所示 圖4-1 安卓開發(fā)環(huán)境界面 2、ADT:目前Android開發(fā)所用的開發(fā)工具主要有Android Studio、Eclipse,在Eclipse編譯IDE環(huán)境中,安
37、裝ADT,為Android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在Eclipse下開發(fā)工具的升級下載工具。 3、SDK:一般是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。在Android中,它為開發(fā)者提供了庫文件以及其它開發(fā)所用到的工具。簡單理解為開發(fā)工具包集合,是整體開發(fā)中所用到的工具包。 4.1.2 單片機程序開發(fā)環(huán)境 Keil Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C
38、編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。如圖4-2所示。 下圖是單片機開發(fā)環(huán)境界面,如圖4-2所示。 圖4-2 單片機開發(fā)環(huán)境界面 4.2 程序流程圖 4.2.1 主程序流程圖 系統(tǒng)主程序模塊主要完成對系統(tǒng)中各模塊電路的初始化等工作,主要包括對串口中斷、外部中斷的初始化,同時執(zhí)行電腦等終端設(shè)備所發(fā)送的命令,等待外部中段以及根據(jù)所需要的功能進行相應(yīng)的操作。 下圖是主程序流程圖,如圖4-3所示。 圖4-3 主程序流程圖 單片機首先設(shè)置好串口初始化,比如設(shè)置好波特率。然后向W
39、IFI模塊發(fā)送AT指令,使WIFI模塊連接上路由器,并創(chuàng)建好服務(wù)連接。之后手機通過連接到路由器向WIFI模塊發(fā)送無線的控制指令,單片機在接收到WIFI模塊從串口傳來的數(shù)據(jù)后,馬上進入中斷函數(shù)來執(zhí)行接收數(shù)據(jù)的模式。接收到的控制指令存儲在寄存器中,單片機在寄存器中讀取接收到的控制指令,然后根據(jù)接收到命令的不同,執(zhí)行小車不同的動作。比如,小車前進、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止等。 下圖是單片機對串口進行初始化的程序圖,如圖4-4所示。 圖4-4 串口初始化程序圖 由于WIFI模塊的波特率是115200,那么單片機為了要和WIFI模塊進行數(shù)據(jù)間的通信,就要把兩端的波特率設(shè)置成一致,這樣才能夠保證
40、雙方通信的正常進行。如上圖,首先給T1(TMOD)選擇工作模式,然后給TH1和TL1賦初始值,然后啟動T1和T2(TR2位) ,確定串口工作方式(編寫SCON寄存器)。 下圖是單片機在接收到信號后發(fā)送給電機模塊來驅(qū)動電機,從而使小車運動的程序圖,如圖4-5所示。 圖4-5 單片機驅(qū)使小車前進的程序圖 單片機在接收到WIFI模塊傳來的無線數(shù)據(jù),通過switch語句來選擇小車的運動模式,上圖只選擇小車前進的簡單程序。小車的單片機在接到前進的信號時,就進入選擇小車運行的模式這個程序中,判斷接收到的信號和小車預(yù)先設(shè)置的值是否一致,若一致,則小車進入那種模式,直到等待下次接收到的數(shù)據(jù)再來判
41、斷。 4.2.2 串口中斷接收流程圖 通過串口中斷,實現(xiàn)單片機和路由器進行通訊。進入中斷后關(guān)掉中斷,避免數(shù)據(jù)信號的重復(fù)引起中斷。根據(jù)命令數(shù)據(jù)發(fā)送的規(guī)律,將命令解碼儲存在相應(yīng)的二維數(shù)組中,方便主函數(shù)的調(diào)用。 下圖是串口中斷接收流程圖,如圖4-6所示。 圖4-6 串口中斷接收流程圖 上圖是串口中斷函數(shù),進入串口中斷函數(shù)之后,首先要把RI至0,因為在單片機的串口接收存儲數(shù)據(jù)后RI會自動的變成1,所以每次進入串口中斷的時候要把RI先至0。然后判斷RI是否為1,是用來判斷數(shù)據(jù)是否接收完畢,不是的話繼續(xù)接收,是的話就將數(shù)據(jù)存儲在單片機的存儲器中,等待單片機到存儲器中讀取接收到的數(shù)據(jù),進一
42、步執(zhí)行單片機的控制動作。 下圖是通過串口中斷接收流程圖編寫的程序圖,如圖4-7所示。 圖4-7 串口中斷接收數(shù)據(jù)的程序圖 中斷接收函數(shù),首先要把RI置0,然后等待數(shù)據(jù)的傳輸。等待數(shù)據(jù)傳輸完畢后,RI會自動跳到1,判斷RI=1后,先把數(shù)據(jù)存儲在寄存器中,然后單片機對寄存器中的數(shù)據(jù)讀取后,判斷接收到的數(shù)據(jù)和預(yù)先設(shè)置的值是否一致,若一致,則進入小車運行的模式函數(shù)。 4.2.3 串口發(fā)送指令流程圖 單片機通過串口向WIFI模塊發(fā)送指令,控制WIFI模塊的模式,以便手機接入WIFI模塊。在發(fā)送指令時,要關(guān)閉串口中斷,避免在發(fā)送數(shù)據(jù)時串口中斷的產(chǎn)生,引起指令發(fā)送錯誤。在指令發(fā)送完畢后,打
43、開串口中斷,允許中斷函數(shù)對單片機作用。 下圖是串口發(fā)送指令流程圖,如圖4-8所示。 圖4-8 串口發(fā)送指令流程圖 上圖是串口發(fā)送指令的流程圖,在本項目中是單片機用來向WIFI模塊發(fā)送AT指令的。首先要關(guān)閉中斷源的允許位,目的是為了在發(fā)送數(shù)據(jù)的時候,不會因為中斷函數(shù)的請求而去執(zhí)行中斷函數(shù),避免了數(shù)據(jù)發(fā)送的錯誤。然后將TI至0,原因和前面所講的RI至0是一樣的。單片機為了發(fā)送數(shù)據(jù),同樣的是單片機不能單獨的發(fā)送或者接收數(shù)據(jù),在發(fā)送數(shù)據(jù)之前,都要把數(shù)據(jù)先存儲在寄存器中,在發(fā)送數(shù)據(jù)的時候,就在存儲器中進行讀取。判斷TI是否為1,是為了判斷傳輸是否完成,和前面所講的判斷RI是否為1是一樣的道理
44、。在傳輸完成之后要將TI至0,以便下次的傳輸數(shù)據(jù)。數(shù)據(jù)傳輸完成后,要打開中斷源的允許位,進行串口中斷接收WIFI模塊發(fā)送而來的數(shù)據(jù)。 下圖是根據(jù)串口中斷發(fā)送指令流程圖來編寫的程序,如圖4-9 圖4-9 串口中斷發(fā)送數(shù)據(jù)的程序圖 首先把串口中斷關(guān)閉,防止串口中斷引發(fā)數(shù)據(jù)間的干擾,然后將TI置0,將數(shù)據(jù)存入串口寄存器中,等待數(shù)據(jù)傳輸完畢,然后再將TI置0,隨后便打開串口中斷,便可進行串口中斷數(shù)據(jù)接收。 第5章 設(shè)備調(diào)試 5.1 系統(tǒng)調(diào)試 本智能小車是由ESP8266WIFI模塊和STC89C52RC單片機組成。設(shè)計思路是由WIFI模塊連到路由器,然后接收到手機終端發(fā)出的信號,通過
45、串口發(fā)送給單片機,單片機在接到控制信號后來控制電機的運轉(zhuǎn)。 具體步驟分為硬件設(shè)備調(diào)試和軟件調(diào)試兩個方面來進行。在硬件設(shè)備的連線完成后,要分別對WIFI模塊,單片機進行調(diào)試,確保每個元器件在單獨的環(huán)境下可以正常工作,之后把各個元器件連接成一個整體,完成整個的項目,實現(xiàn)手機無線控制單片機小車的運動。 5.2 硬件設(shè)備調(diào)試 由于此實物焊接量、裝配工作量大。所以在電路安裝完成后,首先應(yīng)對系統(tǒng)進行整體檢查,確認(rèn)電路無虛焊、短路、斷路等錯誤。然后應(yīng)該對電路各個模塊進行分級調(diào)試,逐步實現(xiàn)系統(tǒng)的整體功能。 然后對設(shè)備進行連線設(shè)置,每個模塊之間的連線都有一定的聯(lián)系,要按照這特有的聯(lián)系來進行連線設(shè)置。比如
46、,WIFI模塊的工作電壓是3.3V,要接在降壓模塊下,才能正常工作。單片機要和WIFI模塊進行通信,就要對兩者之間的信號電平進行轉(zhuǎn)換,使其達(dá)到適合自己的工作電壓來進行相互的通信。如圖5-1。 下圖是整個硬件設(shè)備之間的連線圖,如圖5-1所示。 圖5-1 硬件設(shè)備連線圖 5.2.1 ESP8266串口WIFI的連線 由于WIFI模塊(圖5-1)出廠已經(jīng)配置完成。其中CH_PD處于低電平是使供電模塊關(guān)閉,處于高電平是處于工作狀態(tài),所以要將CH_PD引腳和VCC相連。由于單片機和WIFI之間要用串口通信,是要用到串口的端口TXD和RXD,要求是交叉連接,意思就是將單片機的RXD和WIFI
47、模塊的TXD相連,單片機的TXD和WIFI模塊的RXD相連,VCC接3.3V電壓,接地要和單片機共地連接。如圖5-2。 下圖是WIFI模塊的引腳接線圖,如圖5-2所示。 圖5-2 WIFI模塊引腳的連線圖 5.2.2 STC89C52RC單片機連線 單片機上有RXD和TXD口,其和WIFI模塊連線時,是屬于交叉連線。但是和電腦之間的連線,是要通過MAX232芯片進行電平轉(zhuǎn)換,因為單片機的是5V的工作電源,電腦的是12V串口電壓,以此來達(dá)到合適彼此工作電壓的電平來進行數(shù)據(jù)交換的。當(dāng)然除此之外,單片機上還要接復(fù)位電路和時鐘(晶振)電路,晶振電路用來設(shè)置單片機的波特率,以達(dá)到和WIFI
48、模塊的波特率一致。 下圖是單片機的接線圖,如圖5-3所示。 圖5-3 單片機引腳接線圖 5.2.3 單片機和WIFI模塊的連線 在單片機連線完成后,WIFI模塊要處在工作狀態(tài),將CH_PD拉高后。進入了關(guān)鍵的一步,那就是單片機和WIFI模塊之間的連線,這關(guān)系到WIFI模塊和單片機之間的通信的成功與否。因為單片機和WIFI模塊的工作電壓不一致,導(dǎo)致了它們所產(chǎn)生的電平信號也不一致。因此,在本設(shè)計時,要添加降/穩(wěn)壓模塊和電平轉(zhuǎn)換模塊,單片機和WIFI模塊要配合使用這兩個模塊,在這兩個模塊的同時作用下完成單片機和WIFI模塊之間的通信。 下圖是單片機和WIFI模塊之間的連接圖,如圖5-
49、4所示。 圖5-4 單片機和WIFI模塊的連線圖 5.3 軟件調(diào)試 此系統(tǒng)的軟件程序使用java和C語言編寫。首先選擇單片機開發(fā)板作為調(diào)試的載體,逐步對各個模塊的子程序進行調(diào)試,然后將各個模塊的子程序模塊進行有機的聯(lián)合,最終完成整個系統(tǒng)的調(diào)試。 本次項目所要用到的調(diào)試工具有:sscom4.2測試版,用于WIFI模塊的調(diào)試如圖5-2所示;串口調(diào)試助手,用于單片機的通信使用,如圖5-6所示。 本次項目調(diào)試的步驟是:首先將WIFI模塊通過串口和電腦能夠相互進行通信和控制,然后是單片機通過串口和電腦直接通信和控制,最后一步就是把WIFI模塊和單片機之間通過連線,將其連接起來,完成最終的串
50、口數(shù)據(jù)的相互通信。 5.3.1 WIFI模塊的調(diào)試 由于本設(shè)計中,ESP8266WIFI模塊只需要輸入AT指令進行調(diào)試配置,不需要對WIFI模塊的內(nèi)部程序進行改動,所以WIFI模塊只需要接收單片機端發(fā)來的AT指令,便可以進入SERVER模式。 ESP8266WIFI模塊在電腦上調(diào)試的主要目的是:通過電腦發(fā)出的指令,通過WIFI模塊的串口傳送給WIFI模塊。方向是電腦控制單片機和單片機反饋信號給電腦。是單片機和電腦之間的通信,這是調(diào)試步驟的第一步,配置好WIFI模塊。 WIFI模塊調(diào)試所需要用到的調(diào)試工具是:sscom4.2測試版。這個軟件是專門用作WIFI模塊和電腦之間的通信之間的
51、一個橋梁。提供WIFI模塊和電腦之間的通信,并且在軟件的界面顯示W(wǎng)IFI模塊向電腦發(fā)送的數(shù)據(jù)。 下圖是sscom4.2測試版的軟件操作界面,如圖5-5所示。 圖5-5 sscom4.2測試版的軟件操作界面 5.3.1.1 WIFI模塊調(diào)試步驟 步驟1:將WIFI模塊的VCC,GND,TXD,RXD和USB轉(zhuǎn)串口(TTL)連好后,打開串口調(diào)試的軟件,給WIFI模塊上電,會出現(xiàn)亂碼。 步驟2:然后向WIFI模塊發(fā)送AT指令(詳見附錄2:AT指令集)。(注意要把發(fā)送新行打勾) 發(fā)送的指令有: AT+CWMODE=1 //選擇station模式 AT+RST //重啟WI
52、FI模塊
AT+CWLAP //查詢可用的AP
AT+CWJAP=
53、口傳來的手機消息。 下圖是WIFI模塊SERVER服務(wù)打開成功圖,如圖5-6所示。 圖5-6 WIFI開啟SERVER服務(wù) 5.3.2 單片機的調(diào)試 單片機和電腦串口通信的主要目的是單片機通過和電腦之間的串口通信,實現(xiàn)電腦控制單片機和單片機傳輸數(shù)據(jù)到電腦,并且單片機傳輸給電腦的數(shù)據(jù)在調(diào)試助手上顯示出來。 單片機調(diào)試所需要用到的工具是串口調(diào)試助手。這個軟件是用作單片機和電腦之間通信的一個平臺,能夠提供單片機的收與發(fā)都能通過串口在電腦上進行顯示。還有一個主要的作用是,單片機寫好對接收到的信息進行比對來完成單片機的動作,完成一個簡單的電腦發(fā)送信息控制單片機動作。簡單來說就是用電腦來模擬
54、WIFI模塊對單片機進行控制。 下圖是單片機和電腦之間通信的操作界面圖,如圖5-7所示。 圖5-7 單片機和電腦之間通信的操作界面圖 5.3.2.1 單片機調(diào)試步驟 步驟1:該步驟主要是用來使電腦通過串口對單片機進行控制,編好單片機通過串口接收到電腦的信號,在單片機預(yù)先編好的程序中,選擇性的運行單片機的某個指令動作。 步驟2:通過串口調(diào)試助手,輸入控制信息,在電腦上通過串口對單片機發(fā)送控制信息,如圖所示,若單片機接到信息后,有做出相應(yīng)的反應(yīng),則電腦和單片機的串口調(diào)試連通。 5.3.3 單片機和WIFI模塊的調(diào)試 在此之前的WIFI模塊和單片機都和電腦之間可以相互進行通信,由于
55、雙方實現(xiàn)的都是和電腦之間控制。要實現(xiàn)WIFI模塊和單片機之間的通信,就要把單片機和WIFI模塊進行連通,完成單片機和WIFI模塊進行數(shù)據(jù)傳輸,便能夠?qū)崿F(xiàn)手機控制單片機控制。 單片機編寫有關(guān)的發(fā)送與接收的程序和控制電機的程序,然后給WIFI模塊和單片機通電。單片機向WIFI模塊發(fā)送AT指令,用來創(chuàng)建SERVER服務(wù)等一系列指令。然后手機通過給WIFI模塊發(fā)送信息,WIFI模塊通過串口傳送給單片機。 下圖是小車完成后的實體圖,如圖5-8所示 圖5-8 小車整體效果圖 心得體會 通過本次WIFI智能小車的理論學(xué)習(xí)、論文編寫和實物的制作,進一步的認(rèn)識到了自身存在的不足。特別是自己
56、在WIFI模塊方面知識的欠缺,這使得我在小車起步制作時WIFI模塊部分,花費了大量的時間。但我通過在網(wǎng)上不斷的查詢相關(guān)的資料,在網(wǎng)上請教這方面的高手,最終我還是完成了WIFI模塊部分的處理。但是我還是不知道其中具體的一些細(xì)節(jié)的原理,如WIFI模塊為什么不能和單片機進行通信。還有在整機裝配的時候我沒有注意到一些細(xì)節(jié)的地方,這使得我把小車拆裝了多次。想要把事情做好提高效率,這就需要注意學(xué)習(xí)生活工作中做事的細(xì)節(jié),以及對自己知識的擴充。 同時,通過這次的畢業(yè)設(shè)計,我的各方面能力也得到了大幅度的提高。在知識上,一方面,我系統(tǒng)的總結(jié)了自己的專業(yè)知識,明確了自己今后事業(yè)的發(fā)展方向。另一方面,我如饑似渴的
57、自學(xué)了單片機及外圍電路知識,并通過自己獨立對軟件的編寫和實物的制作,最終完成了整個WIFI智能小車的設(shè)計。在能力上:我通過不斷查閱資料、與師生交流學(xué)習(xí)新知識、在網(wǎng)上請教相關(guān)的人士,然后將自己沉淀后的知識和經(jīng)驗運用到實際電路設(shè)計理念中,豐富其功能和質(zhì)量。在綜合素質(zhì)上,我雖然遇到很多的挑戰(zhàn)和困難,但從未想過放棄,最終憑借自己百折不撓、勇于研究的精神解決了這些技術(shù)難點。 當(dāng)然,由于我的知識和能力有限,整個設(shè)計還有很多不足之處有待完善和改進,懇求老師指教,這必將是我在踏上工作崗位之前的最大一筆收獲。 總結(jié) 本次項目的成果是基于WIFI的智能小車,完成了小車的組裝,程序的設(shè)計,以及實現(xiàn)了
58、手機等終端與小車之間的無線通信。 在設(shè)計的過程中,學(xué)習(xí)了關(guān)于WIFI指令的相關(guān)知識,還有的是WIFI模塊和單片機之間的串口通信方式以及過程。學(xué)會了從一個簡單的想法到具體實物的制作流程以及方法,從制作小車的過程中遇到了很多的困難,遇到了許多從來沒有見過的知識。最終,還是通過在網(wǎng)上查找資料,完成了小車最后的測試作業(yè),實現(xiàn)了本次設(shè)計的要求。 在論文的寫作過程中遇到了無數(shù)的困難和障礙,都在同學(xué)和老師的幫助下度過了。尤其要強烈感謝我的論文指導(dǎo)老師—譚傳武老師,他對我進行了無私的指導(dǎo)和幫助,不厭其煩的幫助進行論文的修改和改進。另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫
59、助。在此向幫助和指導(dǎo)過我的各位老師表示衷心的感謝! 感謝這篇論文所涉及到的各位學(xué)者。本文引用了數(shù)位學(xué)者的研究文獻,如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本篇論文的寫作。感謝我的同學(xué)和朋友,在我寫論文的過程中給予我很多的素材,還在論文的撰寫和排版燈過程中提供熱情的幫助。 本次設(shè)計的成果,完整的敘述了對基于51單片機的WIFI智能小車的制作流程以及相關(guān)知識。同時也了解了我國在智能小車這塊的重視,隨著時間的流轉(zhuǎn),在未來,智能時代也會成為主導(dǎo)時代,設(shè)備也將會變成智能化,人們的生活也將會變得更加方便,更加簡單。我相信在不久的將來,智能小車必將進入服務(wù)行業(yè),為我們大家的生活和工作服務(wù)。
60、 由于我的學(xué)術(shù)水平有限,所寫論文難免有不足之處,懇請各位老師和學(xué)友批評和指正! 參考文獻 [1]劉守義.單片機應(yīng)用技術(shù).西安:西安電子科技大學(xué)出版社,2007 [2]趙克林.C語言實例教程.北京:人民郵電出版社,2009 [3]先鋒工作室.單片機程序設(shè)計實例.西安:清華大學(xué)出版社,2003 [4]劉建清.從零開始學(xué)單片機C語言.北京:國防工業(yè)出版社,2006 [5]李群芳.單片機微型計算機與接口技術(shù).北京:電子商務(wù)出版社,2007 [6]馬總梅.單片機的C語言應(yīng)用程序設(shè)計.北京:北京航天航空大學(xué)出版社,1988 [7]張永楓.單片機應(yīng)用實訓(xùn)教程.北京:清華大學(xué)出版社,2
61、008 [8]徐瑋.C51高效入門.北京:機械工程出版社,2006 [9]王靜霞.單片機應(yīng)用技術(shù)(C語言版).北京:電子商務(wù)出版社,2009 [10]李伯成.嵌入式系統(tǒng)可靠性設(shè)計.北京:電子商務(wù)出版社,2006 [11]先鋒工作室.單片機設(shè)計實例.西安:清華大學(xué)出版社,2003 [12]姚尚朗.Android開發(fā)入門與實戰(zhàn).北京:人民郵電出版社,2009 [13]李興華.Android開發(fā)實戰(zhàn)經(jīng)典.北京:清華大學(xué)出版社,2012 [14]郭志宏.Android應(yīng)用開發(fā)詳解.北京:電子商務(wù)出版社,2010 [15]亨特.程序員的思維修煉.北京:人民郵電出版社,2011 [16]
62、李剛.瘋狂Android講義.北京:電子商務(wù)出版社,2011 [17]孫更新.Android從入門到精通. 北京:電子商務(wù)出版社,2011 [18] 陳昊鵬. Java編程思想. 北京:機械工程出版社,2007 [19] 昊斯特曼. JAVA核心技術(shù). 北京:電子商務(wù)出版社,2011 [20] E2ECloud工作室. 深入淺出Google Android.北京:人民郵電出版社,2009 附錄1 單片機程序 /************************************************* 文件名:智能WIFI小車 描述:通過手機發(fā)送無線信號,在WIFI
63、模塊進行接收,發(fā)送至單片機,從而
控制小車的運動。
*************************************************/
#include
64、3; //位定義電機2負(fù) void tingzhi() //停止 { M1A=0; M1B=0; M2A=0; M2B=0; } void qianjin() //前進 { M1A=1; M1B=0;
65、 M2A=1; M2B=0; } void houtui() //后退 { M1A=0; M1B=1; M2A=0; M2B=1; } void youzhuan() //右轉(zhuǎn) { M1A=0;
66、 M1B=1; M2A=1; M2B=0; } void zuozhuan() //左轉(zhuǎn) { M1A=1; M1B=0; M2A=0; M2B=1; } void delay(int i) //延時函數(shù) { int j,k; for(j=0;j0;k--) for(j=110;j>0;j--); } void init_
- 溫馨提示:
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)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案