白昂松-基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)_第1頁
白昂松-基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)_第2頁
白昂松-基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)_第3頁
白昂松-基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)_第4頁
白昂松-基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、本科專業(yè)學(xué)生畢業(yè)設(shè)計(論文)題 目: 基于51單片機(jī)控制的自動停泊小車的設(shè)計與實(shí)現(xiàn)系 別: 計算機(jī)工程系專 業(yè): 電子信息工程年 級: 2010級學(xué) 號: 20100302022姓 名: 白昂松指導(dǎo)教師: 劉 博摘 要 在當(dāng)今社會,汽車更加成為了千家萬戶必不可少的工具。然而,對于大多數(shù)人來說,將車子停車入車位都是件頭疼的事,尤其是停入那種前后各一輛車的車位,也叫順列式車位,新手對這種車位最為恐懼。如果稍有不慎,那么停車時發(fā)生刮蹭的小事故的幾率非常高。為了解決駕駛員們的這一難題,自動停泊技術(shù)走進(jìn)了人們的視野中。此次設(shè)計采用STC89C52RC單片機(jī)作為控制核心,由L298N電機(jī)驅(qū)動模塊來控制小車

2、的運(yùn)動軌跡,利用超聲波模塊進(jìn)行與障礙之間距離的檢測,還使用了紅外避障模塊對障礙進(jìn)行檢測,最后使用了LCD1602顯示屏對數(shù)據(jù)進(jìn)行顯示,以提示駕駛員。整個系統(tǒng)先由電機(jī)驅(qū)動模塊控制小車移動,期間由紅外避障模塊進(jìn)行障礙物檢測,如果檢測到障礙,超聲波模塊則開始測量距離并顯示在LCD液晶屏上,并且小車停止移動。上述流程循環(huán)至小車停入庫內(nèi),最后由超聲波傳感器測量小車與后方障礙物的距離,并最終做出調(diào)整。整個過程由單片機(jī)進(jìn)行數(shù)據(jù)處理,是一種既方便又安全的停車方式。 論文中首先提出了整體方案,然后在對STC89C52RC單片機(jī)開發(fā)及運(yùn)用的基礎(chǔ)上對各個模塊的工作原理及其特性進(jìn)行了分析與介紹,并加以說明。在論文中還

3、對系統(tǒng)的軟件結(jié)構(gòu)進(jìn)行介紹。在對硬件工作原理的理解為前提條件,用C語言編程來實(shí)現(xiàn)系統(tǒng)的功能。 關(guān)鍵詞:超聲波傳感器;STC89C52RC單片機(jī);自動停泊;C語言Abstract Nowadays, automobile has become an essential tool for every family. Almost every family has their own car. however, how to parking a car is a headache thing for many people, especially parking to the column space

4、s. The parking scratches accident is very high. In order to solve the difficulties, automatic berthing technology into peoples vision. This design uses the STC89C52RC single-chip microcomputer as control core, by L298N motor driver module to control the movement of the car, using the ultrasonic modu

5、le and the distance between the obstacle detection, also used the infrared obstacle avoidance module to detect obstacles, finally uses the LCD1602 display screen to display the data. The whole system module to control the car driven by a motor to move first, during the obstacle detection by infrared

6、 obstacle avoidance module, if detected obstacle, ultrasonic module began to measure distance and displayed in the LCD screen, and the car stop moving. The process cycle to the car stopped within the library, and finally the trolley and the rear obstacle distance is measured by the ultrasonic sensor

7、, and eventually make adjustments. The whole process by single-chip computer for data processing, it is a convenient and safe way of parking. The thesis first puts forward the overall plan, and then based on STC89C52RC MCU development and application, and explained. In the paper also introduces the

8、software structure of the system. On the premise of understanding of the working principle of the hardware conditions, using C language programming to realize the function of the system. Key Words: The transducer STC89C52RC SCM Automatic parking The C language目 錄第一章 引 言11.1研究背景及發(fā)展現(xiàn)狀11.2研究目的及意義11.3研究

9、內(nèi)容1第二章 方案的論證及設(shè)計22.1自動泊車系統(tǒng)的設(shè)計要求22.2系統(tǒng)的主要功能2第三章 自動泊車系統(tǒng)的硬件設(shè)計43.1自動停泊小車的硬件系統(tǒng)43.2 STC89C52單片機(jī)的電路圖及引腳說明43.3 L298N電機(jī)驅(qū)動模塊73.4 超聲波傳感器模塊103.5 紅外避障模塊123.6 LCD1602液晶顯示14第四章 自動泊車系統(tǒng)的軟件設(shè)計164.1開發(fā)軟件164.1.1 Keil軟件的介紹164.1.2 STC_ISP軟件介紹174.2 自動泊車系統(tǒng)主程序174.3 L298N電機(jī)驅(qū)動程序194.4 超聲波測距程序194.5 紅外避障模塊程序214.6 LCD1602液晶顯示程序21第五章

10、 自動停泊小車的測試24結(jié) 論26致 謝27參考文獻(xiàn)28附 錄29附錄一29附錄二36第一章 引 言1.1研究背景及發(fā)展現(xiàn)狀 在當(dāng)今社會,科技不斷發(fā)展和更新,逐漸形成了家有一車的趨勢,擁有一輛自己的汽車成為了當(dāng)今社會人們生活中的重要一部分。然而擁有了自己的愛車之后,許多棘手的問題也都隨之而來。最重要的是考取駕照,考取駕照時,倒庫和移庫作為必考科目之一,有一定的道理。只要不開車就要停車,如果作為一名新手或者倒車技術(shù)還不夠硬的駕駛者,這無疑是最折磨人的事情,導(dǎo)致發(fā)生愛車小規(guī)模摩擦等不必要的麻煩。為了解決這種情況的發(fā)生,各大汽車廠商研發(fā)出了自動泊車功能,自動泊車逐漸進(jìn)入了人們的視野之中,并廣泛被大眾

11、使用。1.2研究目的及意義 伴隨著汽車的普及和人們物質(zhì)文化水平的提高,自動停泊小車正迅速地走進(jìn)人們的生活中來,自動泊車系統(tǒng)不但給人們帶來方便,也讓停車成為了一種享受。自動泊車作為一個強(qiáng)大的控制系統(tǒng),對距離的檢測和車輛行駛速度的把握能力要遠(yuǎn)遠(yuǎn)強(qiáng)于駕駛者的手動控制。自動泊車是由處理器,檢測系統(tǒng)和控制系統(tǒng)組成。先由檢測系統(tǒng)來檢測汽車周圍的環(huán)境和汽車自身狀況,然后傳出到處理器,對數(shù)據(jù)進(jìn)行處理。最后由控制系統(tǒng)來控制汽車的行動方式和軌跡,從而達(dá)到自動停車的功能。在此過程中,駕駛員需要按下啟動自動停泊裝置的按鈕即可,雙手可完全脫離方向盤既舒適又簡單。1.3研究內(nèi)容 本次設(shè)計就是利用所學(xué)的單片機(jī)知識設(shè)計一款具

12、有自動停泊功能的小車,對小車進(jìn)行自動倒入車位、測量安全距離和對駕駛員的危險距離提示等功能進(jìn)行完善,并且參照各大汽車制造商研發(fā)出來的自動泊車功能,對自己的小車進(jìn)行完善與改進(jìn),并與生活接軌做出一款既能豐富自己知識面又能應(yīng)用到現(xiàn)實(shí)生活中的設(shè)計。研究的內(nèi)容有:具有自動倒車與停泊,對切入車位的角度和車輛行駛的速度進(jìn)行控制;超聲波檢測距離,并將距離呈現(xiàn)給駕駛者,提供距離信息給駕駛員;危險距離提示,給予駕駛員提醒,使駕駛員作出相應(yīng)判斷。并將這一系列的功能用基于單片機(jī)的小車來實(shí)現(xiàn)。第二章 方案的論證及設(shè)計2.1自動泊車系統(tǒng)的設(shè)計要求 整個系統(tǒng)應(yīng)用51單片機(jī)作為處理數(shù)據(jù)的核心部位,并利用其它各部件實(shí)現(xiàn)側(cè)方位停車

13、,與距離檢測,危險提示等模塊來實(shí)現(xiàn)此次自動停泊小車的設(shè)計。 應(yīng)對各個模塊、各部件結(jié)構(gòu)進(jìn)行熟悉了解,對代碼進(jìn)行編寫和優(yōu)化,以及外圍傳感器的驅(qū)動和測距模塊所使用的相關(guān)電氣化元器件的工業(yè)要求。 首先要確定小車開啟自動停泊模式的位置,然后計算好距離、角度和速度然后進(jìn)行倒車,利用小車后面的紅外模塊對障礙物進(jìn)行檢測,確保倒車過程能順利實(shí)現(xiàn)。完成倒車后利用超聲波模塊檢測車尾與后面障礙物的距離,并顯示在LCD顯示屏上,最后對位置進(jìn)行調(diào)整。整個過程中要計算好車與停車位的參數(shù),比如:車身長度與寬度,入庫時車與障礙形成的角度,停車的長度與寬度,還有小車實(shí)現(xiàn)功能時的位置。2.2系統(tǒng)的主要功能 本次設(shè)計的自動停泊小車具

14、有以下功能: 1、自動將小車停泊到停車位中(列式停車位)。 2、LCD1602距離顯示:先輸出超聲波模塊所測出的距離。 3、紅外避障:對障礙物進(jìn)行探測。 4、超聲波測距:測量小車與后方障礙物的距離。 5、蜂鳴器報警提示:進(jìn)行危險狀態(tài)提示。 系統(tǒng)功能圖如下圖2-1所示。圖2-1 系統(tǒng)功能圖 用圖的方式可以展示出本次設(shè)計:基于51單片機(jī)的自動停泊小車設(shè)計的基本工作原理,輸入輸出部分。超聲波傳感器和紅外傳感器能夠讓車更加規(guī)范的完成倒車動作,而LCD1602液晶屏和蜂鳴器也能讓駕駛者更加順利地得到實(shí)時數(shù)據(jù),并且完成倒車。第三章 自動泊車系統(tǒng)的硬件設(shè)計3.1自動停泊小車的硬件系統(tǒng) 在本次的畢業(yè)設(shè)計中自動

15、停泊小車的硬件上主要使用了:STC89C52RC的單片機(jī)、超聲波傳感器、紅外線避障傳感器、L298N電機(jī)驅(qū)動模塊以及小車部件等。將自動泊車系統(tǒng)應(yīng)用于小車上,使普通小車轉(zhuǎn)變成具有自動停泊功能的小車并能模擬自動泊車的基本過程。自動停泊小車的硬件框圖如下圖3-1所示。 圖3-1 自動停泊小車的硬件框圖 圖3-1表示自動泊車系統(tǒng)應(yīng)用在小車上時,各個輸入、采集數(shù)據(jù)的模塊的工作狀態(tài)以及通過單片機(jī)計算處理后的作出的數(shù)據(jù)輸出和相應(yīng)的電機(jī)驅(qū)動狀態(tài)的展現(xiàn)。3.2 STC89C52單片機(jī)的電路圖及引腳說明 STC89C52單片機(jī)是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8K BYTES的可

16、反復(fù)擦寫的FLASH只讀程序存儲器和256BYTES的隨機(jī)數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容。功能強(qiáng)大的STC89C52單片機(jī)適合于許多較為復(fù)雜的控制應(yīng)用場合【11】。引腳圖如圖3-2所示: 圖3-2 STC89C52RC引腳圖 主要特性如下: l 增強(qiáng)型8051單片機(jī),6時鐘/機(jī)器周期和12時鐘/機(jī)器周期可以任意選擇,兼容MCS51兼容系統(tǒng);l 8k可反復(fù)擦寫(大于1000次)FLASH ROM;l 256x8bit內(nèi)部RAM;l 工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V單片機(jī))

17、;l 工作頻率范圍:040MHz,相當(dāng)于普通 8051 的 080MHz,實(shí)際工作頻率可達(dá)48MHz;l 用戶應(yīng)用程序空間為8K字節(jié);l 時鐘頻率0-24MHz;l 雙向32個I/O口 復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉, P0口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻;l ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;l EEPROM功能;l 看門狗功能;l 3個16位可編程定時/計數(shù)器中斷,即定時器T0、T1、T2;l

18、 2個外部中斷源,共8個中斷源;l 通用異步串行口(UART),還可用定時器軟件實(shí)現(xiàn)多個 UART;l 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級);l PDIP封裝。 STC89C52RC 單片機(jī)的工作模式:l 掉電模式:典型功耗0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序;l 空閑模式:典型功耗 2mA;l 正常工作模式:典型功耗4Ma7mA; STC89C52RC 引腳功能說明:l 40個引腳按其功能可以分為以下三類;l 電源及時鐘引腳Vcc、Vss;XTAL1、XTAL2;l 控制引腳PSEN、ALE/PROG、EA/Vpp、RESET;l I/O口引腳P0、P1、

19、P2、P3,為四個八位I/O口的外部引腳。 P0 口是一個雙功能的八位并行口,字節(jié)地址為80H,位地址為80H87H。端口的各位具有完全相同但又相互獨(dú)立的電路結(jié)構(gòu)。P0口作為雙功能口(地址/數(shù)據(jù)復(fù)用口和通用I/O口),當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時,是一個真正的雙向口,用作與外部儲存器的連接,輸出低八位地址和輸出/輸入8位數(shù)據(jù)。當(dāng)P0口作為通用I/O口時,需要在片外接上拉電阻 ,此時端口不存在高阻抗?fàn)顟B(tài),因此是一個準(zhǔn)雙向口;當(dāng)作為通用的I/O口輸入時,應(yīng)先向端口輸出鎖存器寫入1。P0口可驅(qū)動8個LS型TTL負(fù)載。 P1端口(P1.0P1.7,18引腳):八位,準(zhǔn)雙向I/O口,在內(nèi)部具有自帶的上

20、拉電阻。P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入“1”時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流(I)。 此外,P1.0和P1.1還可以作為定時器/計數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。 在對 Flash ROM 編程和程序校驗(yàn)時,P1接收低8位地址。 P2端口(P2.0P2.7,2128引腳):P2口是一個自帶內(nèi)部上拉電阻的8位雙向 I/O 端口當(dāng)單片機(jī)擴(kuò)展外部儲存器及I/O口時,P2口作為高八位地址線總線用,輸出高

21、八位地址,P2口也可以當(dāng)做普通的I/O口使用。當(dāng)作為普通的I/O口輸入時,應(yīng)先向端口輸出鎖存器寫入1;P2口與P0口輸出的低八位地址一起構(gòu)成16位地址,可以尋址64KB的地址空間,在訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器時,P2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個訪問期間不會改變。 在對Flash ROM編程和程序校驗(yàn)期間,P2也接收高位地址和一些控制信號。 P3端口(P3.0P3.7,1017引腳):P3是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P3口作為第二功能的輸出/輸入或第一功能通用輸入,

22、均需將相應(yīng)位的鎖存器置1。實(shí)際應(yīng)用中,由于復(fù)位后P3口鎖存器置1,滿足第二功能所需要的條件,所以不需要任何設(shè)置工作,就可以進(jìn)入第二功能操作。當(dāng)某位不作為第二功能使用時,作為第一功能I/O口使用。引腳輸入部分有兩個緩沖器,第二功能的輸入信號取自緩沖器BUF3的輸出端,第一功能輸入信號取自緩沖器BUF2的輸入端【8】。 RST(9引腳):復(fù)位信號輸入端,高電平有效。在此引腳加上持續(xù)時間大于2個機(jī)器周期的高電平,就可以使單片機(jī)復(fù)位。當(dāng)單片機(jī)正常工作時,次引腳應(yīng)該為0.5V的低電平。當(dāng)看門狗定時器溢出時,該引腳將輸出長達(dá)96個時鐘震蕩周期的高電平。 ALE/ ROG(30引腳)ALE為CPU訪問外部程

23、序存儲器或外部數(shù)據(jù)存儲器或外部數(shù)據(jù)存儲器提供一個地址鎖存的信號,將低八位地址鎖存在片外的地址鎖存器中。 在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。 如果需要,通過把地址位8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOV指令時有效。,ALE將被微弱拉高。這個ALE使能標(biāo)志位(地址位8EH 的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效:外部程序存儲器選通信號是外部程序存儲器選SEN通信號。3.3 L298N電機(jī)驅(qū)動模塊L298N芯片

24、的介紹L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動芯片。該芯片的主要特點(diǎn)是工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。L298N芯片如圖3-3所示:圖3-3 L298N芯片 L298N的工作原理: 在L298N模塊中有兩組H橋驅(qū)動電路,每一組橋H電路

25、中有4個三極管,四個三機(jī)關(guān)兩兩相對,在導(dǎo)通時,可以控制流過電機(jī)的電流的方向,并通過此方法來控制電機(jī)的正傳反轉(zhuǎn)等,從而控制此小車的行進(jìn)方向。此模塊有IN1、IN2、IN3、IN4四個邏輯輸入端,其中IN1、IN2控制一個電機(jī),IN3、IN4控制另一個電機(jī)。當(dāng)IN1輸入高電平為1、IN2輸入低電平為0時,IN1、IN2所控制的電機(jī)正轉(zhuǎn),當(dāng)IN1輸入為低電平0,IN2輸入高電平1時,電機(jī)反轉(zhuǎn)。將PWM引腳上的跳線帽去掉后,從ENA、ENB端輸入,可控制電機(jī)速度。 L298N芯片引腳說明: 1 腳: 電流監(jiān)測端A 2 腳: 輸出端 3 腳: 輸出端 4 腳: 功率電源電壓(+12V) 5 腳: 輸入端

26、 6 腳: 時能端(通過電阻接地) 7 腳: 輸入端 8 腳: GND接地 9 腳: 邏輯電源電壓端(+5V) 10腳: 輸入端 11腳: 使能端 12腳: 輸入腳 13腳: 輸出端 14腳: 輸出端 15腳: 電流監(jiān)測端B L298N電機(jī)驅(qū)動模塊原理圖如下圖3-4所示:圖3-4 L298N電機(jī)驅(qū)動模塊 L298N電機(jī)驅(qū)動模塊參數(shù):l 驅(qū)動芯片: L298N雙H橋直流電機(jī)驅(qū)動芯片;l 驅(qū)動部分端子供電范圍Vs:5V12V;如需要板內(nèi)取電,則供電范圍Vs:+6V+12V;l 驅(qū)動部分峰值電流Io:2A;l 邏輯部分端子供電范圍:Vss:5V7V(可板內(nèi)取電5V);l 邏輯部分工作電流范圍:036

27、mA;l 控制信號輸入電壓范圍:低電平:0.3VVin1.5V; 高電平:2.3VVinVss;l 使能信號輸入電壓范圍: 低電平:0.3Vin1.5V(控制信號無效);高電平:2.3VVinVss(控制信號有效);l 最大功耗:20W(溫度T75時);l 存儲溫度:25130;l 驅(qū)動板尺寸:52mm*44mm*33mm(包括散熱片和銅柱高度);l 其他擴(kuò)展:控制方向指示燈、邏輯電源選擇接口。3.4 超聲波傳感器模塊超聲波測距是利用超聲脈沖回波渡越時間法來實(shí)現(xiàn)的。設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時間為t,超聲波在空氣中的傳播速度為c,則從傳感器到目標(biāo)物體的距離D可用下式求出: D =

28、ct /2。本次畢業(yè)設(shè)計使用的是HC-SR04超聲波測距模塊。HC-SR04超聲波測距模塊可提供 2cm-400cm的非接觸式距離感測功能,測距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。超聲波傳感器系統(tǒng)框圖如圖3-5所示:圖3-5 超聲波傳感器系統(tǒng)框圖主要功能: 1、距離測量; 2、溫度測量; 3、光亮度測量。超聲波傳感器模塊原理如下圖3-6所示:圖3-6超聲波傳感器模塊原理圖 基本工作原理: 1、采用I/O口TRIG觸發(fā)測距,給最少10us 的高電平信號; 2、模塊自動發(fā)送8個40KHz的方波,自動檢測是否有信號返回; 3、有信號返回,通過I/O 口ECHO 輸出一個高電平

29、,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間*聲速(340M/S)/2。 基本參數(shù):n 工作電壓:DC 5V;n 工作電流:15mA;n 工作頻率:40KHz; n 探測距離范圍:2cm4m; n 測量溫度范圍:0至+100(精度:1); n 測量角度:15度; n 數(shù)據(jù)輸出方式:iic和uart(57600bps)兩種方式,用戶任選;其中UART方式,是以7個字節(jié)為一組,以0 x55開頭的3個數(shù)據(jù)是距離數(shù)值;以0 x66開頭的2個數(shù)據(jù)是溫度數(shù)據(jù)以0 x77開頭的2個數(shù)據(jù)是光照度數(shù)據(jù)。0 x550 x660 x77是為區(qū)分3個數(shù)據(jù)而增加的數(shù)據(jù)頭; n 時間限制:支持如

30、下2種探測方式;(1)持續(xù)探測;(2)受控間歇探測; n 距離數(shù)據(jù)格式:以毫米為最小數(shù)據(jù)單位,雙字節(jié) 16進(jìn)制傳輸,前高后低; n 溫度數(shù)據(jù)格式:以攝氏度為最小數(shù)據(jù)單位,單字節(jié) 16進(jìn)制傳輸; n 光照數(shù)據(jù)格式:單字節(jié)16進(jìn)制傳輸;光線暗時數(shù)值大,光線亮?xí)r數(shù)值??; n 工作溫度范圍:0至+100;n 存放溫度:-40至+120;n 外形尺寸:48mm*39mm*22mm(H)。 傳播限制: 1、超聲波探測時,被測物的表面如果為布料、毛料等會出現(xiàn)很大的誤差,因?yàn)椴剂匣蛘呤敲蠈Τ暡ǖ姆瓷渎屎苄 ?2、測距時,被測物體的面積不少于0.5平方米且平面要保持平整,否則會出現(xiàn)誤差,影響測量的結(jié)果。3.

31、5 紅外避障模塊在本次設(shè)計中紅外避障模塊安裝于小車的車尾左右兩側(cè),其主要作用是檢測后方是否有障礙物存在,并控制蜂鳴器報警,對危險距離進(jìn)行提示,并提醒駕駛者后方有障礙物。紅外避障模塊原理如下圖3-7所示:圖3-7 紅外避障模塊上圖的紅外避障模塊展示了其基本的工作原理:紅外二極管發(fā)射紅外線波,遇到障礙后,紅外線波返回被模塊上的紅外接收裝置接收到,并將信息傳遞給單片機(jī),然后做出相應(yīng)的處理。模塊描述:紅外模塊由光電傳感器組成,光電傳感器一般用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。光敏電阻器是利用半導(dǎo)體的光電導(dǎo)效應(yīng)制成的一種電阻值隨入射光的強(qiáng)弱而改變的電阻器,入射光強(qiáng),電阻減小,入

32、射光弱,電阻增大。還有另一種入射光弱,電阻減小,入射光強(qiáng),電阻增大。只要人眼可感受的光,都會引起它的阻值變化。該傳感器模塊對環(huán)境光線適應(yīng)能力強(qiáng),由紅外發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測方向遇到障礙物時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,綠色指示燈會亮起,同時信號輸出接口輸出數(shù)字信號(一個低電平信號),可通過電位器旋鈕調(diào)節(jié)檢測距離,有效距離范圍280cm,工作電壓為3.3V5V。該傳感器的探測距離的優(yōu)點(diǎn)是可以通過電位器調(diào)節(jié)、具有干擾小、便于裝配、使用方便等特點(diǎn),可以廣泛應(yīng)用于機(jī)器人避障、避障小車、流水線計數(shù)及黑白線循跡等眾多場合。模塊參數(shù)說明:u 當(dāng)模塊檢測到前方障礙物信號時

33、,電路板上綠色指示燈點(diǎn)亮電平,同時OUT 端口持續(xù)輸出低電平信號,該模塊檢測距離280cm,檢測角度35,檢測距離可以通過電位器進(jìn)行調(diào)節(jié),順時針調(diào)電位器,檢測距離增加;逆時針調(diào)電位器,檢測距離減少;u 傳感器主動紅外線反射探測,因此目標(biāo)的反射率和形狀是探測距離的關(guān)鍵。其中黑色探測距離最小,白色最大;小面積物體距離小,大面積距離大;u 傳感器模塊輸出端口OUT 可直接與單片機(jī)I/O 口連接即可,也可以直接驅(qū)動一個5V繼電器。連接方式:VCC-VCC;GND-GND;OUT-I/O;u 比較器采用LM393,工作穩(wěn)定;u 可采用3-5V直流電源對模塊進(jìn)行供電。當(dāng)電源接通時,紅色電源指示燈點(diǎn)亮;u

34、具有3mm的螺絲孔,便于固定、安裝;u 電路板尺寸:3.1CM*1.5CM;模塊接口說明(3線制):1、VCC外接3V-5V電壓(可以直接與5V單片機(jī)和3V單片機(jī)相連);2、GND外接GND;3、OUT小板數(shù)字量輸出接口(0和1)。3.6 LCD1602液晶顯示本設(shè)計采用LCD1602,即工業(yè)字符型液晶,能夠同時顯示16x02即32個字符(16列2行)。LCD1602液晶屏原理圖如下圖3-8所示:圖3-8 LCD1602封裝圖及相關(guān)引腳圖接口定義如下:1腳:Vss為地電源;2腳:VDD為電源正極;3腳:VEE為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)

35、生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度;4腳:RS為數(shù)據(jù)命令選擇端寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器;5腳:R/W讀寫選擇端,高電平為讀操作,低電平為寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù);6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令;714腳:D0D7為8位雙向數(shù)據(jù)線;15腳:BLA背光電源正極;16腳:BLK背光電源負(fù)極。基本操作時序:1、讀狀態(tài):輸入:RS=L, RW=H, E=H 輸出:D0D7=狀態(tài)字;2、寫命令:輸入:

36、RS=L, RW=L, D0D7=指令碼,E=高脈沖 輸出:無;3、讀數(shù)據(jù):輸入:RS=H, RW=H, E=H 輸出:D0D7=數(shù)據(jù);4、寫數(shù)據(jù):輸入:RS=H, RW=L, D0D7=數(shù)據(jù),E=高脈沖 輸出:無。復(fù)位說明(初始化):n 延時15ms;n 寫命令38H(不檢測忙信號);n 延時5ms;n 寫命令38H(不檢測忙信號);n 延時5ms;n 寫命令38H(不檢測忙信號);n 以后每次命令、讀/寫數(shù)據(jù)操作之前均需要檢測忙信號;n 寫命令38H:顯示模式設(shè)置;n 寫命令08H:顯示關(guān)閉;n 寫命令01H:顯示清屏;n 寫命令06H:顯示光標(biāo)移動設(shè)置;n 寫命令0CH:顯示開及光標(biāo)設(shè)置

37、。 第四章 自動泊車系統(tǒng)的軟件設(shè)計4.1開發(fā)軟件本次自動停泊小車的設(shè)計主要使用了Keil C51編程軟件進(jìn)行程序的編寫,以及STC_ISP程序燒制軟件對單片機(jī)進(jìn)行程序燒錄。4.1.1 Keil軟件的介紹 1、C51開發(fā)系統(tǒng)基本知識Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),包括C語言編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。Keil C51是在ANSI C基礎(chǔ)上針對51單片機(jī)的硬件特點(diǎn)進(jìn)行的拓展,并向51單片機(jī)上移植,經(jīng)過多年努力,C語言已經(jīng)成為公認(rèn)的高效、簡介而又貼近51單片機(jī)硬件的實(shí)用高級編程語言。目前

38、大多數(shù)的51單片機(jī)用戶都在使用C語言進(jìn)行程序設(shè)計。用C51進(jìn)行單片機(jī)軟件開發(fā),具有如下優(yōu)點(diǎn):(1) 功能十分強(qiáng)大;(2) 可讀性好;(3) 可移植性好;(4) 可維護(hù)性得到加強(qiáng);(5) 易學(xué)易用。 2、Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可以IDE本身或其他編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)

39、L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的.Hex文件,以供調(diào)試器Dscope51或Tscope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 使用獨(dú)立的Keil仿真器時,注意事項(xiàng):(1)仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換其他頻率的晶振;(2)仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng);(3)仿真芯片的31腳(/EA)已接至高電平,所以仿真是只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有

40、外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。優(yōu)點(diǎn):(1)KEIL C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢;(2)與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C語言來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。4.1.2 STC_ISP軟件介紹STC_ISP是一款單片機(jī)下載編程燒錄軟件,是針對STC系列單片機(jī)而設(shè)計的,可下載STC89系列、12C2052系列和12C5410等系列的ST

41、C單片機(jī),使用簡便,現(xiàn)已被廣泛使用。4.2 自動泊車系統(tǒng)主程序本次設(shè)計的主程序主要是對超聲波模塊及LCD液晶屏等模塊進(jìn)行初始化并調(diào)用定時器。并使小車進(jìn)行功能的實(shí)現(xiàn)。是主程序中的部分代碼如下所示(while循環(huán)體中的部分省略): 主程序部分代碼:void main(void)uint a;uchar flag_c ;Sound = 1;LCMInit();DisplayListChar(0, 1, Cls); TMOD=0 x01; TH0=0; TL0=0; ET0=1; EA=1; BZ_L=1; BZ_R=1;flag_c = 0;while(1) .自動停泊小車系統(tǒng)的主程序主要是對各個模

42、塊進(jìn)行初始化以及調(diào)用定時器。以上為主程序的主要代碼(while循環(huán)體中的部分省略)此代碼為設(shè)計的主程序main()部分,首先此段代碼對程序中的變量、超聲波模塊、LCD進(jìn)行初始化。并開始對小車的功能進(jìn)行實(shí)現(xiàn)。主程序流程圖如圖4-1所示: 圖4-1 主程序流程圖以上為該系統(tǒng)的流程圖,此流程圖表現(xiàn)了主程序的作用與運(yùn)行主程序的運(yùn)行過程,如果在運(yùn)行次程序時滿足所有條件,程序?qū)⑼瓿勺詣硬窜嚨娜^程。4.3 L298N電機(jī)驅(qū)動程序L298N電機(jī)驅(qū)動模塊可以實(shí)現(xiàn)小車的5個運(yùn)動狀態(tài),包括小車的停止、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)。當(dāng)4個狀態(tài)引腳IN1,IN2,IN3,IN4為邏輯輸入端,當(dāng)接收到高、低電平信號時,執(zhí)行對

43、應(yīng)的小車運(yùn)動狀態(tài)。 L298N電機(jī)驅(qū)動模塊程序如下所示: void Go() IN1=1; IN2=0; IN3=1; IN4=0 . void Left() IN1=0; IN2=1; IN3=1; N4=0; 以上程序部分即展示了小車5種運(yùn)動狀態(tài)下的狀態(tài)引腳的電平信號值。本次設(shè)計采用的是IN1和IN2引腳控制左端電機(jī),IN3和IN4控制右端電機(jī)的2輪小車,通過控制不同的電平對引腳的輸入從而控制小車當(dāng)前的狀態(tài)。4.4 超聲波測距程序超聲波測距模塊主要是測量小車后方與障礙物之間的距離,同時可以通過液晶顯示屏來顯示車輛后方與后方障礙物的距離。當(dāng)紅外避障模塊監(jiān)測到后方有障礙物時,小車進(jìn)行停車操作,

44、此時超聲波進(jìn)行距離檢測。超聲波測距模塊測距部分程序如下所示:void ceju(void)StartModule();while(!RX);TR0=1; while(RX);TR0=0;Conut(); delayms(80);以上程序?yàn)槌暡y距的實(shí)現(xiàn),當(dāng)模塊輸出口(RX)為0時開始等待,并且開啟計數(shù),當(dāng)模塊輸出口為1時開始計數(shù)并等待,然后關(guān)閉計數(shù),最后調(diào)用Conut函數(shù)進(jìn)行計算對距離進(jìn)行計算,并且進(jìn)行延時。超聲波測距流程圖如圖4-2所示: 圖4-2 超聲波測距流程圖從流程圖可以看出在無論小車在任何運(yùn)動狀態(tài)中只要紅外壁障模塊測出小車后方有障礙物,超聲波模塊就開始測量距離。 4.5 紅外避障模

45、塊程序在本次設(shè)計中,紅外模塊的作用是對小車的運(yùn)動狀態(tài)進(jìn)行控制。安裝在小車車尾左右放置,通過紅外臂章模塊對兩側(cè)的障礙物進(jìn)行探測從而控制小車運(yùn)動狀態(tài),同時,蜂鳴器作出報警相應(yīng)提示,此時應(yīng)注意車身周圍是否存在障礙物。紅外模塊的功能可以獨(dú)立完成,只需要給此模塊一個高或低的電平即可。當(dāng)紅外模塊發(fā)射管發(fā)射出的的紅外線被紅外模塊的接收管接收時,此段程序開始執(zhí)行。當(dāng)左右兩側(cè)檢測到障礙物時,蜂鳴器進(jìn)行報警,小車進(jìn)行停車操作,并打開延時。延遲過后蜂鳴器關(guān)閉報警狀態(tài)。紅外避障模塊工作流程圖如圖4-3所示: 圖 4-3 紅外避障流程圖在此流程圖中,我們可以看出紅外模塊在不同的工作狀態(tài)下所執(zhí)行的運(yùn)行狀態(tài)和執(zhí)行的操作也不

46、相同。當(dāng)遇見障礙物時蜂鳴器進(jìn)行報警提示,在泊車開始前的檢測只會對駕駛員進(jìn)行報警提醒,若是在泊車過程中不僅會報警提醒駕駛者同時會取消泊車操作。而當(dāng)不存在障礙物則完成泊車過程。4.6 LCD1602液晶顯示程序LCD1602液晶屏主要時將超聲波模塊所測得的數(shù)值顯示出來,并且呈現(xiàn)給駕駛者,使其更能直觀的將小車車尾與障礙物的距離顯示出來,以提醒駕駛者注意安全。LCD1602液晶顯示程序中初始化程序部分如下所示:void LcdInitiate(void)delay(15);WriteInstruction(0 x38);.delay(5);WriteInstruction(0 x01);delay(5

47、);以上代碼為使用LCD1206液晶顯示屏之前要對其進(jìn)行初始化。隨著液晶屏的初始化操作完成以后,就該對其忙檢測來確定LCD液晶屏當(dāng)前的狀態(tài)。LCD1602液晶顯示程序中顯示程序部分如下所示:void WriteCommandLCM(unsigned char WCLCM,BuysC) if (BuysC) ReadStatusLCM();LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;unsigned char ReadDataLCM(void)LCM_RS = 1; LCM_RW = 1;LCM_E =

48、 0;LCM_E = 0;LCM_E = 1;return(LCM_Data);.以上所顯示程序代碼就是在忙檢測和顯示設(shè)置方面完成的前提下,進(jìn)行數(shù)據(jù)的讀與寫的過程,并且將得到的數(shù)據(jù)顯示在液晶屏上。讓使用者能夠更加直觀的知道所獲得的數(shù)據(jù)。第五章 自動停泊小車的測試第一次測試的時候伴隨著我緊張的心情,小車還是出現(xiàn)了一些小問題。不過我并沒有氣餒,經(jīng)過多次調(diào)試后,小車能實(shí)現(xiàn)功能,并且運(yùn)行得十分流暢。不論是L298N電機(jī)驅(qū)動模塊,還是超聲波測距模塊、紅外避障模塊,都能正常工作。LCD顯示屏和蜂鳴器工作狀態(tài)也沒有異常。本次設(shè)計主要考慮的問題有:1、小車是否需要自動尋找泊車位置;2、小車的初始位置如何選擇;

49、3、切入角度大小是多少;4、超聲波模塊測得與后方距離為多少時向前移動;5、如果需要向前移動,需要移動多少。遇到以上問題后開始研究解決方法,并且經(jīng)過無數(shù)次的測試、改進(jìn)。到最后解決問題也好點(diǎn)了不少時間,不過,問題都已迎刃而解:1、此次涉及小車不需要自動尋找停車位,那樣會多附加很多功能,難以實(shí)現(xiàn);2、初始位置應(yīng)該與左側(cè)的障礙物平行;3、入彎切入角約為40;4、如果超聲波模塊測得的距離為危險距離時,小車需要向前移動;5、移動的距離為脫離超聲波測得的危險距離即止。設(shè)計的不足:此次設(shè)計完成后,小車可以實(shí)現(xiàn)的功能符合課題的基本要求,雖然在制作、調(diào)試過程中歷盡艱辛,并付出了很多,但是設(shè)計中還存在著不足和需要改

50、進(jìn)的地方,具體如下:1、需要計算好地面與車輪的摩擦,會導(dǎo)致誤差;2、小車可以自動尋找車位,并完成倒車;3、主函數(shù)太大,運(yùn)行時會出現(xiàn)問題;4、對電機(jī)的控制不準(zhǔn)確,會出現(xiàn)碰撞;5、萬向輪有時會影響小車的前進(jìn)方向。升級的方向:基于以上不足,小車需要改進(jìn)改進(jìn)的方向大致為一下點(diǎn):首先,對車輪進(jìn)行升級,并且增加車身重量,如此可以對抗摩擦力,并減小摩擦力帶來的誤差。其次,對單片機(jī)進(jìn)行升級,變?yōu)榭梢赃M(jìn)行更強(qiáng)大的數(shù)據(jù)處理的芯片,在對此進(jìn)行功能附加,讓小車完成自動尋找車位,并且完成倒車;然后對程序進(jìn)行調(diào)整,簡化主函數(shù),這樣有利于程序更好的運(yùn)行,并且在運(yùn)行期間不會出錯;而且在功能改進(jìn)時程序更加簡易明了。最后,對萬向

51、輪進(jìn)行改進(jìn),由于小車底盤的原因,電池盒的位置和萬向輪離得太近,導(dǎo)致萬向輪不能隨意轉(zhuǎn)動,方向也跟著受影響,不能改變。結(jié) 論在大學(xué)的最后這段時間里,我把全身心投入到畢業(yè)設(shè)計中去,雖然學(xué)校給的時間是兩個月,但由于自身原因和課題原因,我不得不提前準(zhǔn)備,期間嘗遍了設(shè)計帶給我的酸甜苦辣。歷時三個月,設(shè)計終于完成了,我在此過程中學(xué)到了很多,也懂得了很多。雖然我做出來的設(shè)計與期望相差很大,但我看著自己的成果還是很欣慰,很高興。我感覺最后的這次設(shè)計教會我們的東西不比這大學(xué)四年來學(xué)到的東西少,這些都是走向社會以后的寶貴經(jīng)驗(yàn)。它讓我知道只有不斷摸索,不斷創(chuàng)新,不斷超越自己才能掃盡眼前的霧霾,迎接和煦的陽光,創(chuàng)造美好

52、的新生活。四年大學(xué)中我學(xué)到了不少知識,不過這些知識的絕大部分都是一些理論知識,雖然有用,但是無法應(yīng)用到實(shí)踐中去。但是通過此次設(shè)計,使我把課堂上學(xué)到的C語言知識、單片機(jī)知識全部應(yīng)用到實(shí)踐中去,讓理論與實(shí)踐有了完美的結(jié)合,在此結(jié)合的過程中讓自己的知識得到強(qiáng)化和復(fù)習(xí), 溫故而知新,學(xué)到了不少新的知識。還對Keil C51軟件和STC_ISP軟件使用方法得到了加固。并且讓我感覺到自己的知識面和動手能力等多方面都得到了加強(qiáng),比起以前更上一層樓。我也明白了單單掌握理論知識無異于紙上談兵,單單掌握實(shí)踐,就像無頭蒼蠅,理論與實(shí)踐是不可分離、相輔相成的。除了對知識的掌握和深化,我還知道了團(tuán)隊(duì)的重要性,因?yàn)闆]有同

53、學(xué)們的幫助,此次設(shè)計也就很難完成,團(tuán)隊(duì)作用是偉大的。致 謝本次設(shè)計歷時數(shù)個月,到最后能夠順利完成少不了各位老師的悉心指導(dǎo)與各位同學(xué)們的熱心幫助。如果不是他們,我在設(shè)計制作期間遇到的無數(shù)艱難將會無法度過。首先我要感謝我的指導(dǎo)老師劉博老師,他在此期間,不辭辛苦,對我進(jìn)行了無私的指導(dǎo),使我在設(shè)計進(jìn)行期間得到了很大的幫助,并且不厭其煩的為我講解各類設(shè)計中所用到的知識。其次,我要感謝教研組的其它老師,因?yàn)樵谖业膶?dǎo)師不在或者忙碌時,我遇到困難后經(jīng)常麻煩他們,不過老師們都會細(xì)心地為我講解。還有實(shí)驗(yàn)室的遲明玉老師,在設(shè)計的制作過程中,所需要的工具和部分器件都由遲老師為我提供。最后我要感謝我的同學(xué)們,每當(dāng)一個人

54、遇到問題時,其它同學(xué)都會無私的利用自己的時間幫助其解決問題,讓我感覺到了集體的力量,讓我明白了只要我們團(tuán)結(jié),沒有什么不可戰(zhàn)勝。尊敬的老師和同學(xué)們,沒有你們的幫助我的設(shè)計也不能順利完成,謝謝你們,謝謝!參考文獻(xiàn)1尤晴曦,李洪興:“基于變論域理論的自動倒車控制”,北京師范大學(xué)學(xué)報,2005.2吳鍇:智能自動泊車系統(tǒng)研究,2008.3宋金澤:“自主泊車系統(tǒng)關(guān)鍵技術(shù)研究”,國防科技大學(xué)博士學(xué)位論文,2009.4王為青,程國剛:KEIL C51應(yīng)用開發(fā)技術(shù),人民郵電出版社,2006.5高海生:單片機(jī)應(yīng)用技術(shù)大全,西南科技出版社,2003.6李朝青:單片機(jī)原理及接口技術(shù),北京航天航空大學(xué)出版社,2004.

55、7趙玲:“平行泊車方法研究與仿真”,長安大學(xué)碩士論文,2009.8張毅剛,彭喜元,彭宇:單片機(jī)原理及應(yīng)用,2000.9何立民:單片機(jī)高級教程,北京航天航空大學(xué)出版社,2001.10趙曉安:MSC-51單片機(jī)原理及應(yīng)用,天津大學(xué)出版社,2001.11李廣第:單片機(jī)基礎(chǔ),北京航天航空大學(xué)出版社,1999.12徐惠民,安德寧:單片機(jī)微型計算機(jī)原理及應(yīng)用,北京郵電大學(xué)出版社,2001.13夏繼強(qiáng):單片機(jī)實(shí)驗(yàn)與實(shí)踐教程,北京航天航空大學(xué)出版社,2001.14陳志強(qiáng),胡輝:單片機(jī)應(yīng)用系統(tǒng)設(shè)計實(shí)踐指南,2003.15肖紅兵:單片機(jī)應(yīng)用技術(shù),人民郵電出版社,2005.附 錄附錄一源程序:變量以及函數(shù)的聲明:#

56、include #include #define uchar unsigned char #define uint unsigned int #define LCM_Data P0 sbit BZ_L=P16; sbit BZ_R=P17; sbit TX=P31; sbit RX=P32; sbit IN1=P10; sbit IN2=P11; sbit IN3=P12; sbit IN4=P13; sbit PWM1 = P14;sbit PWM2 =P15;sbit Sound=P37;sbit LCM_RW = P25; sbit LCM_RS = P26;sbit LCM_E = P

57、24;bit succeed_flag;#define Busy 0 x80 void Delay5Ms(void); unsigned char ReadDataLCM(void);unsigned char ReadStatusLCM(void);unsigned char code Cls = ;unsigned char code ASCII15 = 0,1,2,3,4,5,6,7,8,9,.,-,M;static unsigned char DisNum = 0; unsigned int time=0;unsigned long S=0;bit flag =0;unsigned c

58、har disbuff4 = 0,0,0,0,;void WriteDataLCM(unsigned char WDLCM) ReadStatusLCM(); LCM_Data = WDLCM; LCM_RS = 1;LCM_RW = 0;LCM_E = 0; LCM_E = 0; LCM_E = 1;void WriteCommandLCM(unsigned char WCLCM,BuysC) if (BuysC) ReadStatusLCM();LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;unsi

59、gned char ReadDataLCM(void)LCM_RS = 1; LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;return(LCM_Data);unsigned char ReadStatusLCM(void)LCM_Data = 0 xFF; LCM_RS = 0;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;while (LCM_Data & Busy); / return(LCM_Data);void LCMInit(void) LCM_Data = 0;WriteCommandLCM(0 x38,0)

60、; Delay5Ms(); WriteCommandLCM(0 x38,0);Delay5Ms(); WriteCommandLCM(0 x38,0);Delay5Ms(); WriteCommandLCM(0 x38,1); WriteCommandLCM(0 x08,1); WriteCommandLCM(0 x01,1); WriteCommandLCM(0 x06,1); WriteCommandLCM(0 x0F,1); void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0 x

溫馨提示

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

評論

0/150

提交評論