




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 畢業設計(b y sh j)方案課題(kt)名稱:基于51單片機的WIFI遙控小車(xioch)設計所在學院通信與信號學院班 級 通信132姓 名 段宗佑學 號 201303410226指導老師譚傳武 完成日期內容摘要基于(jy)單片機的WIFI智能小車(xioch)由路由器,電機,小車車體,STC89C52RC單片機控制(kngzh)芯片,ESP8266WIFI模塊,電機驅動模塊,3.3V降/穩壓電路模塊,5V和3.3V串口電平轉換模塊,電源等主要部件以及LED燈,蜂鳴器和數碼管等輔助部件組成。基于單片機的WIFI智能小車是STC89C52RC單片機通過其串口對ESP8266WIFI模塊發
2、送AT指令,使ESP8266WIFI模塊連接到路由器并且讓ESP8266WIFI模塊開啟多連接和SERVER模式,然后手機打開WLAN連接路由器設備,打開制作好的APP軟件,通過路由器這個中轉站向ESP8266WIFI模塊發送控制指令,在ESP8266WIFI模塊接收到控制指令后,通過ESP8266WIFI模塊的串口和STC89C52RC單片機上的串口之間相互發送控制指令的數據流,單片機的串口在接收到從WIFI模塊傳來的控制指令的數據流,最終做出控制選擇,進而控制小車運動、指示燈的亮滅、蜂鳴器的開關和數碼管的顯示。基于單片機的WIFI智能小車主要是利用手機作為上位機,而單片機作為下位機,通過W
3、IFI模塊和路由器進行對無線信號的處理,然后通過串口傳送有線的信號,從而實現上位機通過無線來控制下位機的運作,實現智能化和無線遙控等功能。關鍵詞:WIFI;單片機;小車。 目錄 TOC o 1-3 h z u HYPERLINK l _Toc436727636 第1章 緒論 第1章 緒論(xln)現在是一個智能化的時代,各種智能化的設備正在逐步代替人為的操作。隨著汽車工業的迅速發展,關于智能汽車的研究也越來越受人們關注。全國電子大賽和省內電子大賽幾乎(jh)每次都智能小車這方面的題目,全國各高校也都很重視該課題的研究。設計的WIFI智能小車能夠實現自動(zdng)循跡,壁障功能,可程控行駛速度
4、、電腦手機WIFI連接控制行駛及其他的控制方式。本系統能實現對小車的運動狀態進行實時控制。系統控制靈活、可靠、精度高、可滿足對系統的各項要求。本設計以STC89C52RC單片機為控制核心,利用ESP8266WIFI模塊和路由器接收和處理無線信號,然后通過WIFI模塊和單片機之間的串口通信來傳遞信息,從而完成手機控制單片機的運作。通過對本小車的研究,我們可以初步構建智能汽車的模型和理論基礎。對于智能汽車的研究,國內外都有很大的成就,谷歌的無人駕駛汽車,已經能夠在高速公路上安全行駛數千里,在高速行駛下都能有這么好的操控能力,無非是智能汽車領域的一座里程碑。在智能家居系統研發方面,美國及一些歐洲國家
5、一致處于領先地位,今年來,以美國微軟公司及摩托羅拉公司等為首的一批國外知名企業,先后躋身于智能家居系統的研發中。例如:微軟公司開發的“夢幻之家”、摩托羅拉公司開發的“居所之門”IBM公司開發的“家庭主任”等均已日趨成穩定技術強占家居市場。此外,日韓等新國的龍頭企業紛紛致力于家居智能化的開發,對家居市場更是躍躍欲試。本設計選用的89C52單片機屬于MSC-51系列單片機,由Intel公司開發,其結構有8字節FLASH閃速存儲器,256字節內部RAM , 32個I/O口線,3個16 位定時計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89c52可降至O Hz
6、的靜態邏輯操作,并支持兩種軟件可選的節電上作模式。空閑方式停止CPU 的工作,但允許RAM,定時計數器串行通信口及中斷系統繼續工作。掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。由于89C52的系統性能滿足系統數據采集及時間精度要求,而且產品產量豐富來源廣,應用也很成熟,故用來作為控制核心。新一代單片機為外部提供了相當完善的總線結構,為系統的擴展與配置打下了良好的基礎。本設計主要研究內容就是基于89C52設計一部WIFI智能小車,小車能夠實現WIFI遙控的智能小車控制系統。第2章 方案論證(lnzhng)及選擇2.1 系統(xtng)方案選擇(xunz
7、)方案1:自己首先學習相關知識,理解單片機智能小車的原理以及WIFI模塊指令等。動手設計出帶有WIFI模塊的單片機開發板,在配購好小車相關的材料后,組裝出小車模型。調試好WIFI模塊和單片機的硬件和軟件,然后用手機等終端設備通過路由器驅動WIFI小車的運動等一系列指令。具體的如圖2-1所示。下圖是關于方案1設計版圖構想,如圖2-1所示。圖2-1 方案1設計圖方案2:自己首先學習相關知識,理解單片機智能小車的原理以及單片機和WIFI之間的通信方式,了解WIFI模塊的相關指令,以及單片機的串口傳輸的方式。然后利用已經完成有的單片機小車,通過在單片機小車上添加一個WIFI模塊和相關模塊來進行改裝,然
8、后自己通過設計編寫單片機和WIFI模塊之間串口通信的程序。利用這樣的方法來實現手機終端來通過路由器在無線傳輸的方式對單片機進行控制,從而進一步的控制小車的運動等一系列指令。具體的如圖2-2所示。下圖是關于方案2設計版圖構想,如圖2-2所示。圖2-2 方案2設計圖方案選擇:方案1和方案2涉及的相關知識大致相同,兩種不同思路的選擇,所需要的材料也不同。介于我們對制作成本和材料考慮,我們小組選擇方案2,利用已有的單片機小車,對小車進行改裝,在小車上加個WIFI模塊等一系列設備,實現手機等終端設備通過無線信號控制小車的運動。選擇方案2,我們認為可以加強我們的動手能力,能夠充分的學習和利用相關的專業知識
9、,達到綜合素質的提升。2.2 總體設計方案(fng n)基于(jy)單片機的WIFI智能小車(xioch)主要由路由器、ESP8266WIFI模塊、STC89C52RC單片機控制模塊、L293D電機驅動模塊、5V與3.3V串口電平轉換模塊和3.3V降/穩壓模塊等主要結構組成,其中還有一些次要設備,比如蜂鳴器,LED燈和數碼管等。2.2.1 整機系統下圖是整機系統圖,是WIFI模塊和單片機之間通信的整體圖,如圖2-3所示。圖2-3 整機系統圖項目系統包括路由器、ESP8266串口WIFI模塊、STC89C52RC單片機、電機驅動模塊、串口電平轉換模塊、5V電源、3.3v降/穩壓模塊、電機驅動模塊
10、組成。如圖2-3所示。ESP8266串口WIFI模塊是用來接收到手機等上位機設備發送的控制指令信息和單片機通過串口通信傳來的AT指令信息來連接到路由器,然后創建多連接和SERVER模式,來實現手機和WIFI模塊之間的通信;STC89C52RC單片機最小系統是小車的核心系統,用來控制和協調小車的運動;電機驅動模塊用來驅動小車電機的運作;5V和3.3V串口電平轉換模塊是用來轉換單片機和WIFI模塊之間的信號電平,主要是適用于本模塊的工作電壓;電源電路用來提供單片機和WIFI模塊的外部電源;3.3v降/穩壓模塊用來給WIFI模塊提供一個3.3v穩定的工作電壓;蜂鳴器電路作用是用來給單片機一個提示音;
11、電機作用就是讓小車的輪子轉動,來使小車動起來。2.1.2 整機工作(gngzu)原理基于(jy)單片機的WIFI智能(zh nn)小車是STC89C52RC單片機通過其串口對ESP8266WIFI模塊發送AT指令,使ESP8266WIFI模塊連接到路由器并且讓ESP8266WIFI模塊開啟多連接和SERVER模式,然后手機打開WLAN連接路由器設備,打開制作好的APP軟件,通過路由器這個中轉站向ESP8266WIFI模塊發送控制指令,在ESP8266WIFI模塊接收到控制指令后,通過ESP8266WIFI模塊的串口和STC89C52RC單片機上的串口之間相互發送控制指令的數據流,單片機的串口在
12、接收到從WIFI模塊傳來的控制指令的數據流,最終做出控制選擇,進而控制小車運動、指示燈的亮滅、蜂鳴器的開關和數碼管的顯示。如:小車運動,LED燈的亮滅,蜂鳴器的發聲等。基于單片機的WIFI智能小車主要是利用手機作為上位機,而單片機作為下位機,通過WIFI模塊和路由器進行對無線信號的處理,然后通過串口傳送有線的信號,從而實現上位機通過無線來控制下位機的運作,實現智能化和無線遙控等功能。第3章 硬件(yn jin)系統(xtng)設計(shj)3.1 路由器路由器(Router),(如圖3-1所示)是連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發
13、送信號。 路由器是互聯網絡的樞紐交通警察。目前路由器已經廣泛應用于各行各業,各種不同檔次的產品已成為實現各種骨干網內部連接、骨干網間互聯和骨干網與互聯網互聯互通業務的主力軍。路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。這一區別決定了路由和交換機在移動信息的過程中需使用不同的控制信息,所以說兩者實現各自功能的方式是不同的。路由器(Router),(如圖3-1所示)又稱網關設備(Gateway)是用于連接多個邏輯上分開的網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成
14、。因此,路由器具有判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的信息,屬網絡層的一種互聯設備。下圖是路由器的設備圖,如圖3-1所示。圖3-1 路由器3.2 ESP8266WIFI模塊(m kui)本次(bn c)設計用到ESP8266WIFI模塊(m kui)是用于連接到路由器,然后接收手機端發送的信號,對單片機進行控制。WIFI模塊又名串口WIFI模塊,屬于物聯網傳輸層,功能是將串口或TTL電平轉為符合WIFI無線網絡通信標準的嵌入式模塊,內置無線網絡協議IEEE802.11b.g.n
15、協議以及TCP/IP協議。傳統的硬件設備嵌入WIFI模塊可以直接利用WIFI聯入互聯網,是實現無線智能家居、M2M等物聯網應用的重要組成部分。下圖是ESP8266WIFI模塊的正反面圖,如圖3-2,3-3所示。圖3-2 ESP8266WIFI模塊正面圖圖3-3 ESP8266WIFI模塊反面圖ESP8266是一款超低功耗的模塊,擁有業內極富競爭力的封裝尺寸和超低能耗技術,專為移動設備和互聯網的應用設計,可將用戶的物理設備連接到WIFI無線網絡上,進行互聯網或局域網通信,實現聯網功能。ESP8266可廣泛應用于智能電網、智能交通、智能家具、手持設備、工業控制等領域。3.2.1 ESP8266WI
16、FI模塊引腳功能下圖是ESP8266WIFI模塊的引腳圖,如圖3-4所示。圖3-4 ESP8266WIFI模塊(m kui)引腳圖下表是ESP8266WIFI模塊(m kui)引腳說明,如表2所示。表2ESP8266WIFI模塊(m kui)引腳表PINFunctionDescription1URXDUART_RXD,接收;General Purpose Input/Output:GPIO3;2UTXDUART_TXD,發送;2)General Purpose Input/Output:GPIO1;3)開機時禁止下拉;3RESET(GPIO 16)外部Reset信號,低電平復位,高電平工作(默
17、認高);4GNDGND5VCC3.3V,模塊供電;6GPIO0默認WIFI Status:WIFI工作狀態指示燈控制信號;工作模式選擇: 懸空:Flash Boot,工作模式; 下拉:UART Download,下載模式;7CH_PD高電平工作;低電平模塊供電關掉;8GPIO2開機上電時必須為高電平,禁止硬件下拉;內部默認已拉高3.3 STC89C52RC單片機單片機(Microcontrollers)是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬
18、調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。STC89C52是STC公司生產(shngchn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能(gngnng)。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得STC89C52為眾多嵌入式控制(kngzh)應用系統提供高靈活、有效的解決方案。具有以下標
19、準功能:8k字節Flash,512字節RAM,32位I/O 口線,看門狗定時器,內置4KBEEPROM,MAX810復位電路,3個16位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外STC89C52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。下圖是STC89C52RC單片機的實物圖,如圖3-5所示。圖3-5 S
20、TC89C52RC單片機3.3.1 STC89C52RC單片機引腳功能下圖是STC89C52RC單片機的引腳功能圖,如圖3-6所示。圖3-6 STC89C52RC引腳圖1、VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0P0.7,3932引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅動8個TTL負載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數據存儲器時,P0口也可以提供低8位地址和8位數據的復用(f yn)總線。此時,P0口內部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節;而在校驗程序時,則輸出指令字節。2
21、、P1端口(P1.0P1.7,18引腳):P1口是一個內部上拉電阻(dinz)的8位雙向I/O口。P1的輸出緩沖器可驅動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內部上拉電阻, 那些被外部拉低的引腳會輸出一個電流。此外,P1.0和P1.1還可以作為定時器/計數器2的外部技術輸入(shr)(P1.0/T2)和定時器/計數器2的觸發輸入(P1.1/T2EX),具體參見下表3所示: 表3P1.0和P1.1引腳復用功能表引腳號功能特性P1.0T2(定時器/計數器2外部計數輸入),時鐘輸出P1.1T2EX(定
22、時器/計數器2捕獲/重裝觸發和方向控制)3、P2端口(P2.0P2.7,2128引腳):P2口是一個內部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電平,這時可用作輸入口。P2作為輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。4、P3端口(P3.0P3.7,1017引腳):P3是一個內部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3做輸入口使用時,因為有內
23、部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流。P3口除作為一般I/O口外,還有其他一些復用功能,如下表4所示:表4P3口引腳復用功能引腳號復用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時器0的外部輸入)P3.5T1(定時器1的外部輸入)P3.6(外部數據存儲器、寫)P3.7(外部數據存儲器、讀)5、RST(9引腳):復位輸入。當輸入連續兩個機器周期以上(yshng)高電平時為有效,用來完成單片機的復位初始化操作。看門狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8
24、EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。6、ALE/PROG(30引腳):地址鎖存控制信號(ALE)是訪問外部程序(chngx) 存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳(PROG)也用作編程輸入脈沖。 7、PSEN(29 引腳):外部程序存儲器選通信號(PSEN)是外部 程序存儲器選通信號。當AT89C51RC 從外部程序存儲器執行外部代碼時,PSEN在每個機器周期被激活(j hu)兩次,PSEN而訪問外部數據存儲器時,將不被激活。8、EA/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序
25、存儲器讀取指令,EA必須接GND。注意加密方式1時,EA將內部鎖定RESET。為了執行內部程序指令,EA應該接VCC。9、XTAL1(19引腳):振蕩器反相放大器和內部時鐘發生電路的輸入端。 10、XTAL2(18引腳):振蕩器反相放大器的輸入端。3.3.2 單片機的外圍電路1、基本復位電路復位電路的基本功能是:系統上電時提供復位信號,直至系統電源穩定后,撤銷復位信號。為可靠起見,電源穩定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。圖3-7所示的RC復位電路可以實現上述基本功能。下圖是RC復位電路,如圖3-7所示。圖3-7 RC復位(f wi)電路
26、在電源(dinyun)上電的時候,等待一定的時間,等到電容兩端的電壓(diny)值相同時,單片機復位。還有一種方法就是按鍵復位,當SM按鍵按下之后RST端的電壓值瞬間和VCC相同,同樣也可以達到復位的效果,圖中的電容作用是充放電,電阻是為了保護電路而設置的。2、時鐘電路晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯后,再串聯一個電容的二端網絡,電工學上這個網絡有兩個諧振點,以頻率的高低,其中較低的頻率是串聯諧振,較高的頻率是并聯諧振。由于晶體自身的特性致使這兩個頻率的距離相當的接近,在這個極窄的頻率范圍內,晶振等效為一個電感。所以,晶振的兩端并聯上合適的電容它就會組成并聯諧
27、振電路。下圖是時鐘電路的電路圖,如圖3-8所示。圖3-8 時鐘電路的電路圖一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯的容量值就應該等于負載電容,請注意一般IC的引腳都有等效輸入電容。3.4 L293D電機驅動模塊我們所使用的電機一般是直流電機,主要用到永磁直流電機、伺服電機及步進電機三種。直流電機的控制很簡單,性能出眾,直流電源也容易實現。本次設計使用的是L293D(如圖3-8所示),L293D是一款單片集成的高電壓、高電流、4通道電機驅動,設計用于連接標準DTL或TTL邏輯電平,驅動
28、電感負載(諸如繼電線圈、DC和步進電機)和開關功率晶體管等等。下圖是L293D電機驅動模塊在單片機作用下驅動電機運動圖,如圖3-9所示。圖3-9 單片機驅動電機(dinj)模塊圖3.4.1 L293D引腳功能(gngnng)及原理圖下圖是L293D芯片(xn pin)引腳圖,如圖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:輸入電機驅動電壓接口。7、OUTPUT1:輸出電機1的引腳A。8、OUTPUT2:輸出
29、電機1的引腳B。9、OUTPUT3:輸出電機2的引腳A。 10、OUTPUT4:輸出電機2的引腳B。下圖是電機驅動模塊和單片機原理圖,如圖3-11所示。圖3-11 電機驅動(q dn)模塊和單片機原理圖單片機的P0的8個端口在位定義之后對L293D電機模塊的4個INPUT寫入各不同的高低電平,經L293D芯片內部(nib)的轉換之后,在OUTPUT輸出4個相應的電平值,分別對應M1和M2的兩個電機A端和B端,從而控制電機M1和M2的正轉和反轉,進而實現小車的前進(qinjn),后退,左轉和右轉等功能。3.5 3.3V降/穩壓模塊降/穩壓模塊是,通過降壓和穩壓的過程,給設備提供一個穩定的工作環境
30、,能夠提供不同的工作電壓設備在同一電源電壓下同時工作,應用于單片機上能添加不同工作電壓的電子設備。下圖是降/穩壓模塊圖,如圖3-12所示。圖3-12 AMS111 7-3.3 3.3V降/穩壓模塊將單片機上的5V的電源轉換為3.3V的穩壓電源,提供給正常工作電壓是3.3V的電子設備,實現給5V和3.3V電壓之間的轉換,提供了能和單片機同時工作且電壓值可以不同的電子設備。比如,ESP8266串口WIFI模塊。下圖是單片機的VCC通過降/穩壓模塊給WIFI模塊供電,如圖3-12所示。圖3-12 降/穩壓(wn y)模塊給WIFI模塊(m kui)供電圖3.5.1 降/穩壓(wn y)模塊的原理圖下
31、圖是降/穩壓模塊的原理圖,如圖3-13所示。圖3-13 降/穩壓模塊的原理圖上圖所示,D1作用是防止電源反接。C01、C02是電源輸入濾波。VDD3.3是3.3V電源,供數字電路使用。 L1、L2是隔離濾波電感。VCC3.3是3.3V電源,供模擬電路使用。電源在通過AMS111 7-3.3 3.3V降/穩壓電路,電源電壓由原來的5V降為3.3V,可以提供給正常工作在3.3V的設備使用。3.6 5V和3.3V串口電平轉換模塊數字電路,電平就是電位的高低,用0和1表示。在計算機或者其他微處理器內部只能識別0和1這兩個數字信號,不同的系統電平表示的0和1實際的電位并不相同。例如,高電平常用3.3V,
32、5V,12V,低電平常用0,當不同的系統進行連接通信控制時,就要進行電平轉換。打個比方,單片機的高電位為5v,而電腦的串口電平為12V,要實現電腦到單片機通信就必須將電腦的12V轉到單片機的5V,反之,5V轉到12V。下圖是串口電平轉換模塊圖,如圖3-14所示。圖3-14 5V和3.3V串口電平轉換(zhunhun)模塊圖本項目(xingm)的單片機是STC89C52RC,其工作電壓是5V,而WIFI模塊的工作電壓是3.3V,由于兩者工作電壓不一致,導致了信號的電平也不一致。要想兩個設備之間能夠(nnggu)進行通信,就必須要對信號電平進行轉換,實現5V的電平和3.3V的電平之間能夠通信,完成
33、數據間的交換。下圖是單片機和WIFI模塊通過串口電平轉換模塊進行通信的圖,如圖3-15所示。圖3-15 單片機和WIFI模塊電平相互轉換圖3.6.1 引腳功能和原理圖下圖是串口電平轉換的引腳圖,如圖3-16所示。圖3-16 串口電平轉換的引腳圖1、5V和3.3V:由外電源接入5V和3.3V電源電壓。2、GND:電源接地接口。3、TXD:數據(shj)發送引腳。4、RXD:數據(shj)接收引腳。下圖是5V和3.3V串口電平(din pn)轉換電路圖,如圖3-17所示。圖3-17 5V和3.3V串口電平轉換電路圖上圖的電路中,3.3V的信號通過兩個三極管Q1,Q2的兩次放大,再配合上合適的電阻R
34、1、R2、R3進行轉換,完成了3.3V到5V信號的變換。5V信號同樣通過相反的方式將信號變成了3.3V的輸出,從而可以實現了數據能夠在3.3V和5V之間的相互通信。第4章 軟件(run jin)系統(xtng)設計4.1 軟件開發環境(hunjng)軟件開發環境的主要組成成分是軟件工具。人機界面是軟件開發環境與用戶之間的一個統一的交互式對話系統,它是軟件開發環境的重要質量標志。存儲各種軟件工具加工所產生的軟件產品或半成品(如 軟件開發環境參考書 軟件開發環境參考書 源代碼、測試數據和各種文檔資料等)的軟件環境數據庫是軟件開發環境的核心。4.1.1 Android的APP軟件的開發Android
35、開發需要用到Eclipse、ADT和SDK。三個組件整合開發。1、Eclipse 是一個開放源代碼的、基于Java的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。如圖15所示。下圖是安卓開發環境界面,如圖4-1所示圖4-1 安卓開發環境界面2、ADT:目前Android開發所用的開發工具主要有Android Studio、Eclipse,在Eclipse編譯IDE環境中,安裝ADT,為Android開發提供(tgng)開發工具的升級
36、或者變更,簡單理解為在Eclipse下開發工具的升級下載工具。3、SDK:一般是一些(yxi)被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合。在Android中,它為開發者提供了庫文件以及其它開發(kif)所用到的工具。簡單理解為開發工具包集合,是整體開發中所用到的工具包。4.1.2 單片機程序開發環境 KeilKeil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大
37、的仿真調試器等在內的完整開發方案,通過一個集成開發環境(Vision)將這些部分組合在一起。如圖4-2所示。下圖是單片機開發環境界面,如圖4-2所示。圖4-2 單片機開發環境界面4.2 程序(chngx)流程圖4.2.1 主程序流程圖系統(xtng)主程序模塊主要完成對系統中各模塊電路的初始化等工作,主要包括對串口中斷、外部中斷的初始化,同時執行電腦等終端設備所發送的命令,等待外部中段以及根據所需要的功能進行相應的操作。下圖是主程序流程圖,如圖4-3所示。圖4-3 主程序流程圖單片機首先設置好串口初始化,比如(br)設置好波特率。然后向WIFI模塊發送AT指令,使WIFI模塊連接上路由器,并創
38、建好服務連接。之后手機通過連接到路由器向WIFI模塊發送無線的控制指令,單片機在接收到WIFI模塊從串口傳來的數據后,馬上進入中斷函數來執行接收數據的模式。接收到的控制指令存儲在寄存器中,單片機在寄存器中讀取接收到的控制指令,然后根據接收到命令的不同,執行小車不同的動作。比如,小車前進、后退、左轉、右轉和停止等。下圖是單片機對串口進行初始化的程序圖,如圖4-4所示。圖4-4 串口初始化程序(chngx)圖由于(yuy)WIFI模塊(m kui)的波特率是115200,那么單片機為了要和WIFI模塊進行數據間的通信,就要把兩端的波特率設置成一致,這樣才能夠保證雙方通信的正常進行。如上圖,首先給T
39、1(TMOD)選擇工作模式,然后給TH1和TL1賦初始值,然后啟動T1和T2(TR2位),確定串口工作方式(編寫SCON寄存器)。下圖是單片機在接收到信號后發送給電機模塊來驅動電機,從而使小車運動的程序圖,如圖4-5所示。圖4-5 單片機驅使小車前進的程序圖單片機在接收到WIFI模塊傳來的無線數據,通過switch語句來選擇小車的運動模式,上圖只選擇小車前進的簡單程序。小車的單片機在接到前進的信號時,就進入選擇小車運行的模式這個程序中,判斷接收到的信號和小車預先設置的值是否一致,若一致,則小車進入那種模式,直到等待下次接收到的數據再來判斷。4.2.2 串口中斷(zhngdun)接收流程圖通過串
40、口中斷,實現單片機和路由器進行通訊。進入中斷后關掉中斷,避免數據(shj)信號的重復引起中斷。根據命令數據發送的規律,將命令解碼儲存在相應的二維數組中,方便主函數的調用。下圖是串口中斷(zhngdun)接收流程圖,如圖4-6所示。圖4-6 串口中斷接收流程圖上圖是串口中斷函數,進入串口中斷函數之后,首先要把RI至0,因為在單片機的串口接收存儲數據后RI會自動的變成1,所以每次進入串口中斷的時候要把RI先至0。然后判斷RI是否為1,是用來判斷數據是否接收完畢,不是的話繼續接收,是的話就將數據存儲在單片機的存儲器中,等待單片機到存儲器中讀取接收到的數據,進一步執行單片機的控制動作。下圖是通過串口中
41、斷接收流程圖編寫的程序圖,如圖4-7所示。圖4-7 串口中斷接收數據的程序圖中斷接收函數,首先要把RI置0,然后等待數據的傳輸。等待數據傳輸完畢后,RI會自動跳到1,判斷RI=1后,先把數據存儲在寄存器中,然后單片機對寄存器中的數據讀取后,判斷接收到的數據和預先設置的值是否一致,若一致,則進入小車運行的模式函數。4.2.3 串口發送(f sn)指令流程圖單片機通過(tnggu)串口向WIFI模塊發送指令(zhlng),控制WIFI模塊的模式,以便手機接入WIFI模塊。在發送指令時,要關閉串口中斷,避免在發送數據時串口中斷的產生,引起指令發送錯誤。在指令發送完畢后,打開串口中斷,允許中斷函數對單
42、片機作用。下圖是串口發送指令流程圖,如圖4-8所示。圖4-8 串口發送指令流程圖上圖是串口發送指令的流程圖,在本項目中是單片機用來向WIFI模塊發送AT指令的。首先要關閉中斷源的允許位,目的是為了在發送數據的時候,不會因為中斷函數的請求而去執行中斷函數,避免了數據發送的錯誤。然后將TI至0,原因和前面所講的RI至0是一樣的。單片機為了發送數據,同樣的是單片機不能單獨的發送或者接收數據,在發送數據之前,都要把數據先存儲在寄存器中,在發送數據的時候,就在存儲器中進行讀取。判斷TI是否為1,是為了判斷傳輸是否完成,和前面所講的判斷RI是否為1是一樣的道理。在傳輸完成之后要將TI至0,以便下次的傳輸數
43、據。數據傳輸完成后,要打開中斷源的允許位,進行串口中斷接收WIFI模塊發送而來的數據。下圖是根據串口中斷發送指令流程圖來編寫的程序,如圖4-9圖4-9 串口中斷(zhngdun)發送數據的程序圖首先把串口中斷關閉,防止串口中斷引發數據間的干擾(gnro),然后將TI置0,將數據存入串口寄存器中,等待數據傳輸完畢,然后再將TI置0,隨后便打開串口中斷(zhngdun),便可進行串口中斷數據接收。第5章 設備調試5.1 系統調試本智能小車是由ESP8266WIFI模塊和STC89C52RC單片機組成。設計思路是由WIFI模塊連到路由器,然后接收到手機終端發出的信號,通過串口發送給單片機,單片機在接
44、到控制信號后來控制電機的運轉。具體步驟分為硬件設備調試和軟件調試兩個方面來進行。在硬件設備的連線完成后,要分別對WIFI模塊,單片機進行調試,確保每個元器件在單獨的環境下可以正常工作,之后把各個元器件連接成一個整體,完成整個的項目,實現手機無線控制單片機小車的運動。5.2 硬件設備調試由于此實物焊接量、裝配工作量大。所以在電路安裝完成后,首先應對系統進行整體檢查,確認電路無虛焊、短路、斷路等錯誤。然后應該對電路各個模塊進行分級調試,逐步實現系統的整體功能。然后對設備進行連線設置,每個模塊之間的連線都有一定的聯系,要按照這特有的聯系來進行連線設置。比如,WIFI模塊的工作電壓是3.3V,要接在降
45、壓模塊下,才能正常工作。單片機要和WIFI模塊進行通信,就要對兩者之間的信號電平進行轉換,使其達到適合自己的工作電壓來進行相互的通信。如圖5-1。下圖是整個硬件設備之間的連線圖,如圖5-1所示。圖5-1 硬件設備(shbi)連線圖5.2.1 ESP8266串口WIFI的連線(lin xin)由于(yuy)WIFI模塊(圖5-1)出廠已經配置完成。其中CH_PD處于低電平是使供電模塊關閉,處于高電平是處于工作狀態,所以要將CH_PD引腳和VCC相連。由于單片機和WIFI之間要用串口通信,是要用到串口的端口TXD和RXD,要求是交叉連接,意思就是將單片機的RXD和WIFI模塊的TXD相連,單片機的
46、TXD和WIFI模塊的RXD相連,VCC接3.3V電壓,接地要和單片機共地連接。如圖5-2。下圖是WIFI模塊的引腳接線圖,如圖5-2所示。圖5-2 WIFI模塊引腳的連線圖5.2.2 STC89C52RC單片機連線(lin xin)單片機上有RXD和TXD口,其和WIFI模塊連線時,是屬于交叉連線。但是和電腦之間的連線,是要通過MAX232芯片進行電平轉換,因為單片機的是5V的工作(gngzu)電源,電腦的是12V串口電壓,以此來達到合適彼此工作電壓的電平來進行(jnxng)數據交換的。當然除此之外,單片機上還要接復位電路和時鐘(晶振)電路,晶振電路用來設置單片機的波特率,以達到和WIFI模
47、塊的波特率一致。下圖是單片機的接線圖,如圖5-3所示。圖5-3 單片機引腳接線圖5.2.3 單片機和WIFI模塊的連線在單片機連線完成后,WIFI模塊要處在工作狀態,將CH_PD拉高后。進入了關鍵的一步,那就是單片機和WIFI模塊之間的連線,這關系到WIFI模塊和單片機之間的通信的成功與否。因為單片機和WIFI模塊的工作電壓不一致,導致了它們所產生的電平信號也不一致。因此,在本設計時,要添加降/穩壓模塊和電平轉換模塊,單片機和WIFI模塊要配合使用這兩個模塊,在這兩個模塊的同時作用下完成單片機和WIFI模塊之間的通信。下圖是單片機和WIFI模塊之間的連接圖,如圖5-4所示。圖5-4 單片機和W
48、IFI模塊(m kui)的連線圖5.3 軟件(run jin)調試此系統(xtng)的軟件程序使用java和C語言編寫。首先選擇單片機開發板作為調試的載體,逐步對各個模塊的子程序進行調試,然后將各個模塊的子程序模塊進行有機的聯合,最終完成整個系統的調試。本次項目所要用到的調試工具有:sscom4.2測試版,用于WIFI模塊的調試如圖5-2所示;串口調試助手,用于單片機的通信使用,如圖5-6所示。本次項目調試的步驟是:首先將WIFI模塊通過串口和電腦能夠相互進行通信和控制,然后是單片機通過串口和電腦直接通信和控制,最后一步就是把WIFI模塊和單片機之間通過連線,將其連接起來,完成最終的串口數據的
49、相互通信。5.3.1 WIFI模塊的調試由于本設計中,ESP8266WIFI模塊只需要輸入AT指令進行調試配置,不需要對WIFI模塊的內部程序進行改動,所以WIFI模塊只需要接收單片機端發來的AT指令,便可以進入SERVER模式。ESP8266WIFI模塊在電腦上調試的主要目的是:通過電腦發出的指令,通過WIFI模塊的串口傳送給WIFI模塊。方向是電腦控制單片機和單片機反饋信號給電腦。是單片機和電腦之間的通信,這是調試步驟的第一步,配置好WIFI模塊。WIFI模塊調試所需要用到的調試工具是:sscom4.2測試版。這個(zh ge)軟件是專門用作WIFI模塊和電腦(dinno)之間的通信之間的
50、一個橋梁。提供WIFI模塊和電腦之間的通信(tng xn),并且在軟件的界面顯示WIFI模塊向電腦發送的數據。下圖是sscom4.2測試版的軟件操作界面,如圖5-5所示。圖5-5 sscom4.2測試版的軟件操作界面5.3.1.1 WIFI模塊調試步驟步驟1:將WIFI模塊的VCC,GND,TXD,RXD和USB轉串口(TTL)連好后,打開串口調試的軟件,給WIFI模塊上電,會出現亂碼。步驟2:然后向WIFI模塊發送AT指令(詳見附錄2:AT指令集)。(注意要把發送新行打勾)發送的指令有: AT+CWMODE=1 /選擇station模式AT+RST/重啟WIFI模塊AT+CWLAP/查詢可用
51、的APAT+CWJAP=,/加入AP,如 AT+CWJAP=“KEN”,”20142014”AT+CIPMUX=1/啟動多連接AT+CIPSERVER=1,8080/開啟SERVER服務,通道號為8080。在發送指令后會出現 OK。步驟(bzhu)3:然后(rnhu)將手機連入WIFI模塊(m kui)創建的SERVER當中,向WIFI模塊發送消息,如圖所示,WIFI模塊的IP地址是172.16.11.74,通道是8080。并且在電腦的串口調試軟件上,就會顯示出WIFI模塊通過串口傳來的手機消息。下圖是WIFI模塊SERVER服務打開成功圖,如圖5-6所示。圖5-6 WIFI開啟SERVER服
52、務5.3.2 單片機的調試單片機和電腦串口通信的主要目的是單片機通過和電腦之間的串口通信,實現電腦控制單片機和單片機傳輸數據到電腦,并且單片機傳輸給電腦的數據在調試助手上顯示出來。單片機調試所需要用到的工具是串口調試助手。這個軟件是用作單片機和電腦之間通信的一個平臺,能夠提供單片機的收與發都能通過串口在電腦上進行顯示。還有一個主要的作用是,單片機寫好對接收到的信息進行比對來完成單片機的動作,完成一個簡單的電腦發送信息控制單片機動作。簡單來說就是用電腦來模擬WIFI模塊對單片機進行控制。下圖是單片機和電腦之間通信的操作界面圖,如圖5-7所示。圖5-7 單片機和電腦之間通信的操作界面圖5.3.2.
53、1 單片機調試(dio sh)步驟步驟(bzhu)1:該步驟主要是用來使電腦通過串口對單片機進行控制,編好單片機通過串口接收到電腦的信號,在單片機預先編好的程序中,選擇性的運行單片機的某個指令(zhlng)動作。步驟2:通過串口調試助手,輸入控制信息,在電腦上通過串口對單片機發送控制信息,如圖所示,若單片機接到信息后,有做出相應的反應,則電腦和單片機的串口調試連通。5.3.3 單片機和WIFI模塊的調試在此之前的WIFI模塊和單片機都和電腦之間可以相互進行通信,由于雙方實現的都是和電腦之間控制。要實現WIFI模塊和單片機之間的通信,就要把單片機和WIFI模塊進行連通,完成單片機和WIFI模塊進
54、行數據傳輸,便能夠實現手機控制單片機控制。單片機編寫有關的發送與接收的程序和控制電機的程序,然后給WIFI模塊和單片機通電。單片機向WIFI模塊發送AT指令,用來創建SERVER服務等一系列指令。然后手機通過給WIFI模塊發送信息,WIFI模塊通過串口傳送給單片機。下圖是小車完成后的實體圖,如圖5-8所示圖5-8 小車整體效果圖心得體會通過(tnggu)本次WIFI智能小車的理論學習、論文編寫和實物的制作,進一步的認識到了自身存在的不足(bz)。特別是自己在WIFI模塊方面知識的欠缺,這使得我在小車起步(qb)制作時WIFI模塊部分,花費了大量的時間。但我通過在網上不斷的查詢相關的資料,在網上
55、請教這方面的高手,最終我還是完成了WIFI模塊部分的處理。但是我還是不知道其中具體的一些細節的原理,如WIFI模塊為什么不能和單片機進行通信。還有在整機裝配的時候我沒有注意到一些細節的地方,這使得我把小車拆裝了多次。想要把事情做好提高效率,這就需要注意學習生活工作中做事的細節,以及對自己知識的擴充。同時,通過這次的畢業設計,我的各方面能力也得到了大幅度的提高。在知識上,一方面,我系統的總結了自己的專業知識,明確了自己今后事業的發展方向。另一方面,我如饑似渴的自學了單片機及外圍電路知識,并通過自己獨立對軟件的編寫和實物的制作,最終完成了整個WIFI智能小車的設計。在能力上:我通過不斷查閱資料、與
56、師生交流學習新知識、在網上請教相關的人士,然后將自己沉淀后的知識和經驗運用到實際電路設計理念中,豐富其功能和質量。在綜合素質上,我雖然遇到很多的挑戰和困難,但從未想過放棄,最終憑借自己百折不撓、勇于研究的精神解決了這些技術難點。當然,由于我的知識和能力有限,整個設計還有很多不足之處有待完善和改進,懇求老師指教,這必將是我在踏上工作崗位之前的最大一筆收獲。總結(zngji)本次(bn c)項目的成果是基于WIFI的智能小車,完成了小車的組裝,程序的設計,以及(yj)實現了手機等終端與小車之間的無線通信。在設計的過程中,學習了關于WIFI指令的相關知識,還有的是WIFI模塊和單片機之間的串口通信方
57、式以及過程。學會了從一個簡單的想法到具體實物的制作流程以及方法,從制作小車的過程中遇到了很多的困難,遇到了許多從來沒有見過的知識。最終,還是通過在網上查找資料,完成了小車最后的測試作業,實現了本次設計的要求。在論文的寫作過程中遇到了無數的困難和障礙,都在同學和老師的幫助下度過了。尤其要強烈感謝我的論文指導老師譚傳武老師,他對我進行了無私的指導和幫助,不厭其煩的幫助進行論文的修改和改進。另外,在校圖書館查找資料的時候,圖書館的老師也給我提供了很多方面的支持與幫助。在此向幫助和指導過我的各位老師表示衷心的感謝! 感謝這篇論文所涉及到的各位學者。本文引用了數位學者的研究文獻,如果沒有各位學者的研究成
58、果的幫助和啟發,我將很難完成本篇論文的寫作。感謝我的同學和朋友,在我寫論文的過程中給予我很多的素材,還在論文的撰寫和排版燈過程中提供熱情的幫助。本次設計的成果,完整的敘述了對基于51單片機的WIFI智能小車的制作流程以及相關知識。同時也了解了我國在智能小車這塊的重視,隨著時間的流轉,在未來,智能時代也會成為主導時代,設備也將會變成智能化,人們的生活也將會變得更加方便,更加簡單。我相信在不久的將來,智能小車必將進入服務行業,為我們大家的生活和工作服務。由于我的學術水平有限,所寫論文難免有不足之處,懇請各位老師和學友批評和指正!參考文獻1劉守義.單片機應用(yngyng)技術.西安:西安電子科技大
59、學出版社,20072趙克林.C語言(yyn)實例教程.北京:人民郵電出版社,20093先鋒工作室.單片機程序設計(chn x sh j)實例.西安:清華大學出版社,20034劉建清.從零開始學單片機C語言.北京:國防工業出版社,20065李群芳.單片機微型計算機與接口技術.北京:電子商務出版社,20076馬總梅.單片機的C語言應用程序設計.北京:北京航天航空大學出版社,19887張永楓.單片機應用實訓教程.北京:清華大學出版社,20088徐瑋.C51高效入門.北京:機械工程出版社,20069王靜霞.單片機應用技術(C語言版).北京:電子商務出版社,200910李伯成.嵌入式系統可靠性設計.北京
60、:電子商務出版社,200611先鋒工作室.單片機設計實例.西安:清華大學出版社,200312姚尚朗.Android開發入門與實戰.北京:人民郵電出版社,200913李興華.Android開發實戰經典.北京:清華大學出版社,201214郭志宏.Android應用開發詳解.北京:電子商務出版社,201015亨特.程序員的思維修煉.北京:人民郵電出版社,201116李剛.瘋狂Android講義.北京:電子商務出版社,201117孫更新.Android從入門到精通. 北京:電子商務出版社,201118 陳昊鵬. Java編程思想. 北京:機械工程出版社,200719 昊斯特曼. JAVA核心技術. 北
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京林業大學《無機材料科學與技術》2023-2024學年第二學期期末試卷
- 財務報表培訓
- 石家莊鐵路職業技術學院《有害生物風險分析》2023-2024學年第二學期期末試卷
- 《紅樓夢的情節解析》課件
- 著色混凝土改造施工方案
- 院內急救操作規范
- 《新能源發展趨勢分析》課件
- 清華大學《織員工激勵》2023-2024學年第二學期期末試卷
- 邵陽學院《圖形創意與表現》2023-2024學年第二學期期末試卷
- 2025如何處理丟失的勞動合同以辦理退休手續
- 新疆維吾爾自治區2024年中考英語真題【附真題答案】
- 扎實推動科技創新和產業創新深度融合
- (門式起重機)設備設施風險分級管控清單
- 裝配式建筑裝飾裝修技術 課件 模塊六 集成廚房
- 聲紋鑒定知識考核試題
- 2024技術負責人勞動合同的模板
- 保險公司增額終身壽主講課件
- 宮頸癌轉診工作制度
- 2024年河南省安陽市中考二模語文試題
- 二輪專題:《三次科技革命和經濟全球化》
- 廠房屋頂分布式光伏電站工程日常質量巡查記錄表
評論
0/150
提交評論