基于單片機(jī)的自動往返小車畢業(yè)設(shè)計1_第1頁
基于單片機(jī)的自動往返小車畢業(yè)設(shè)計1_第2頁
基于單片機(jī)的自動往返小車畢業(yè)設(shè)計1_第3頁
基于單片機(jī)的自動往返小車畢業(yè)設(shè)計1_第4頁
基于單片機(jī)的自動往返小車畢業(yè)設(shè)計1_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的自動往返小車摘要:本設(shè)計以一片單片機(jī)stc89c52作為核心來控制自動往返小車,其中控制芯片l298n和單片機(jī)聯(lián)合控制小車的前進(jìn)與后退。路面的黑帶檢測使用反射式紅外傳感器,并通過stc89c52對輸入的信號進(jìn)行處理;行駛距離使用霍爾元件進(jìn)行檢測。最后以動態(tài)顯示的形式通過一個lcd液晶顯示即時黑帶個數(shù),運(yùn)行時間,實(shí)時路程等。關(guān)鍵詞: 微控制器 l298n電機(jī)控制 霍爾檢測 液晶顯示 the automatic round-trip car based on scmabstract:this design use a microcontroller stc89c52 as the co

2、re to control the automatic round-trip car, the control chip l298n and single chip microcomputer to control the car forward and backward together. the reflective infrared sensor detection the black belt on the road surface, then deal with input signal processing through the stc89c52. using the hall

3、element to test the distance. at last displaying instant black belt, running time, real-time distance, etc through a number of lcd liquid crystal in the form of dynamic displaykeywords: mcu l298n motor control hall detection led display 目錄摘要i關(guān)鍵字iabstractikeywordsi0緒論21.1 設(shè)計任務(wù)31.2方案介紹42.1 系統(tǒng)元器件的選擇與介紹

4、52.1.1stc89c52r芯片52.1.2l298n芯片112.1.3霍耳傳感器(hd3020)142.1.4液晶lcd152.2電路模塊的設(shè)計182.2.1檢測系統(tǒng)182.2.2距離計算系統(tǒng)192.2.3顯示系統(tǒng)202.2.4電機(jī)驅(qū)動以及正反轉(zhuǎn)控制模塊203.1主程序213.2中斷程序223.2.1外部中斷0223.2.2外部中斷1233.2.3定時器中斷0243.2.4定時器中斷1244總結(jié)25致謝26參考文獻(xiàn)27附錄280緒論當(dāng)今社會,隨著科技發(fā)展的日新月異,特別是計算機(jī)技術(shù)突飛猛進(jìn)的發(fā)展,計算機(jī)技術(shù)帶來了科研和生產(chǎn)的許多重大飛躍,同時計算機(jī)也越來越廣泛的被應(yīng)用到人們的生活、工作領(lǐng)域

5、的各個方面。單片微型計算機(jī)以其其體積小、功能強(qiáng)、速度快、價格低等優(yōu)點(diǎn),在數(shù)據(jù)處理和實(shí)時控制等應(yīng)用中有著無以倫比的優(yōu)越性,可廣泛地嵌入到如玩具、家用電器、機(jī)器人、儀器儀表、汽車電子系統(tǒng)、工業(yè)控制單元、辦公自動化設(shè)備、金融電子系統(tǒng)、艦船、個人信息終端及通訊產(chǎn)品中。隨著微控制技術(shù)(以軟件代硬件的高性能控制技術(shù))的日益完善和發(fā)展,單片機(jī)的應(yīng)用必將導(dǎo)致傳統(tǒng)控制技術(shù)發(fā)生巨大的變化。單片微型計算機(jī)的應(yīng)用廣度和深度,已經(jīng)成為一個國家科技水平的一項(xiàng)重要標(biāo)志。此論文的題目是自動往返小汽車。要求設(shè)計一個能自動往返于起跑線與終點(diǎn)線間的小汽車。車輛從起跑線出發(fā)到達(dá)終點(diǎn)線后停留10秒,然后自動返回起跑線。在要求的跑道范圍

6、內(nèi)完成快行、慢行、停車等功能。停車后自動顯示一次往返的時間和路程?;谏鲜鲆髮⒃O(shè)計分為以下幾個模塊:stc89c52rc、電機(jī)驅(qū)動、電機(jī)調(diào)速、里程檢測、跑道標(biāo)志檢測、液晶顯示模塊??刂葡到y(tǒng)采用stc89c52rc單片機(jī);顯示系統(tǒng)采用液晶顯示里程數(shù)和時間;電機(jī)正反轉(zhuǎn)采用橋式驅(qū)動控制,2檔電壓調(diào)速;里程記錄采用霍爾傳感器;跑道標(biāo)志線采用光敏管檢測;單片機(jī)、電機(jī)采用獨(dú)立穩(wěn)壓電源供電。本論文將詳細(xì)介紹硬件設(shè)計和軟件設(shè)計的思路及方法。由于本人在單片機(jī)的設(shè)計方面還存在一些不足,在論文的寫作和論證上尚存在一些不足之處,敬請各位老師批評指正。1設(shè)計任務(wù)及方案介紹1.1 設(shè)計任務(wù)設(shè)計并制作一個能自動往返于起跑

7、線與終點(diǎn)線間的小汽車。跑道寬度0.5m,表面貼有白紙,和黑帶。在跑道的b、c、d、e、f、g各點(diǎn)處畫有2cm寬的黑線,各段的長度如圖1-1所示。車輛從起跑線出發(fā)到達(dá)終點(diǎn)線后停留10秒,然后自動返回起跑線。de間為限速區(qū),車輛往返均要求以低速通過,通過時間不得少于8秒,但不允許在限速區(qū)內(nèi)停車。跑道頂視圖如圖1.1。圖1.1 跑道頂視圖 (一)基本要求(a)車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線),到達(dá)終點(diǎn)線后停留10秒,然后自動返回起跑線(允許倒車返回)。往返一次的時間應(yīng)力求最短(從合上汽車電源開關(guān)開始計時)。(b)到達(dá)終點(diǎn)線和返回起跑線時,停車位置離起跑線和終點(diǎn)線偏差應(yīng)最?。ㄒ攒囕v中心點(diǎn)

8、與終點(diǎn)線或起跑線中心線之間距離作為偏差的測量值)。 (c)de間為限速區(qū),車輛往返均要求以低速通過,通過時間不得少于8秒, 但不允許在限速區(qū)內(nèi)停車。1.2方案介紹設(shè)計采用單片機(jī)stc89c52rc作為系統(tǒng)的控制中心。電機(jī)電路采用兩對互補(bǔ)三極管控制電機(jī)的驅(qū)動;檢測電路采用光敏管來控制小車的快行,慢行,停止;用液晶實(shí)現(xiàn)對指定行程和所用時間的顯示。方案方框圖如1.2所示。里程檢測stc89c52rc液晶顯示電機(jī)驅(qū)動電機(jī)調(diào)速跑道標(biāo)志檢測圖1.2方案方框圖2. 系統(tǒng)的硬件設(shè)計與實(shí)現(xiàn)2.1 系統(tǒng)元器件的選擇與介紹 下面介紹stc89c52rc芯片、l298n芯片、霍爾傳感器、液晶等器件。2.1.1 stc

9、89c52r芯片stc89c52是一種帶8k字節(jié)閃爍可編程可檫除只讀存儲器(fperom-flash programable and erasable read only memory )的低電壓,高性能comos8的微處理器,俗稱單片機(jī)。該器件采用atmel搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。單片機(jī)總控制電路如下圖2.1:圖2.1單片機(jī)總控制電路1.時鐘電路stc89c52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳rxd和txd分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時鐘電路如圖2.2 (a) 所示,在

10、rxd和txd引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.212mhz之間選擇,電容值在530pf之間選擇,電容值的大小可對頻率起微調(diào)的作用。外部方式的時鐘電路如圖2.2(b)所示,rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12mhz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘p1和p2,供單片機(jī)使用。示,rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12mhz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)

11、生一個兩相時鐘p1和p2,供單片機(jī)使用。rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12mhz的方波信號。片內(nèi)時鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個兩相時鐘p1和p2,供單片機(jī)使用。(a)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路圖2.2時鐘電路2.復(fù)位及復(fù)位電路(1)復(fù)位操作復(fù)位是單片機(jī)的初始化操作。其主要功能是把pc初始化為0000h,使單片機(jī)從0000h單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除pc之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)

12、如表2.1所示。表2.1 一些寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)pc0000htcon00hacc00htl000hpsw00hth000hsp07htl100hdptr0000hth100hp0-p3ffhscon00hipxx000000bsbuf不定ie0x000000bpcon0xxx0000btmod00h(2)復(fù)位信號及其產(chǎn)生rst引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機(jī)器周期)以上。若使用頗率為6mhz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號的電路邏輯如圖2.3所示:圖2.3復(fù)位信號的電路邏輯圖整

13、個復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(rst)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機(jī)器周期的s5p2時刻對施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位操作有上電自動復(fù)位相按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,其電路如圖2.4(a)所示。這佯,只要電源vcc的上升時間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與vcc電源接通而實(shí)現(xiàn)的,其電路如圖2.4(b)所示;而按鍵脈沖復(fù)位則是利用rc微分電路產(chǎn)生的正脈沖來實(shí)現(xiàn)

14、的,其電路如圖2.4(c)所示:(a)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位圖2.4復(fù)位電路上述電路圖中的電阻、電容參數(shù)適用于6mhz晶振,能保證復(fù)位信號高電平持續(xù)時間大于2個機(jī)器周期。本系統(tǒng)的復(fù)位電路采用圖2.4(b)上電復(fù)位方式。stc89c52具體介紹如下: 主電源引腳(2根)vcc(pin40):電源輸入,接5v電源gnd(pin20):接地線外接晶振引腳(2根)xtal1(pin19):片內(nèi)振蕩電路的輸入端xtal2(pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)rst/vpp(pin9):復(fù)位引腳,引腳上出現(xiàn)2個機(jī)器周期的高電平將使單片機(jī)復(fù)位。ale/prog(pin

15、30):地址鎖存允許信號psen(pin29):外部存儲器讀選通信號ea/vpp(pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸出引腳(32根)stc89c52單片機(jī)有4組8位的可編程i/o口,分別位p0、p1、p2、p3口,每個口有8位(8根引腳),共32根。po口(pin39pin32):8位雙向i/o口線,名稱為p0.0p0.7p1口(pin1pin8):8位準(zhǔn)雙向i/o口線,名稱為p1.0p1.7 p2口(pin21pin28):8位準(zhǔn)雙向i/o口線,名稱為p2.0p2.7 p3口(pin10pin17):8位

16、準(zhǔn)雙向i/o口線,名稱為p3.0p3.7stc89c52主要功能如表2.2所示。表2.2 stc89c52主要功能主要功能特性兼容mcs51指令系統(tǒng)8k可反復(fù)擦寫flash rom32個雙向i/o口256x8bit內(nèi)部ram3個16位可編程定時/計數(shù)器中斷時鐘頻率0-24mhz2個串行中斷可編程uart串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能2.1.2 l298n芯片l298是st公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46v;輸出電流大,瞬間峰值電流可達(dá)3a,持續(xù)工作電流為2a;內(nèi)

17、含兩個h橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)ttl邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。(1)l298芯片的引腳圖如下圖2.5。圖2.5 l298芯片引腳圖(2)l298芯片的引腳功能下表2.3表2.3 l298芯片的引腳功能引腳符號功能115sensing asensing b此兩端與地連接電流檢測電阻,并向驅(qū)動芯片反饋檢測到的信號23out 1out 2此兩腳是全橋式驅(qū)動器a的兩個輸出端

18、,用來連接負(fù)載4vs電機(jī)驅(qū)動電源輸入端57in 1in2輸入標(biāo)準(zhǔn)的ttl邏輯電平信號,用來控制全橋式驅(qū)動器a的開關(guān)611enable aenable b使能控制端.輸入標(biāo)準(zhǔn)ttl邏輯電平信號;低電平時全橋式驅(qū)動器禁止工作。8gnd接地端,芯片本身的散熱片與8腳相通9vss邏輯控制部分的電源輸人端口1012in 3in 4輸入標(biāo)準(zhǔn)的ttl邏輯電平信號,用來控制全橋式驅(qū)動器b的開關(guān)1314out 3out 4此兩腳是全橋式驅(qū)動器b的兩個輸出端,用來連接負(fù)載(5)l298有mutiwatt15和powerso20兩種封裝 兩種封裝的實(shí)物圖如下圖2.6所示圖2.6 l298兩種封裝的實(shí)物圖本次選用的是

19、mutiwatt15。2.1.3霍耳傳感器(hd3020)霍耳傳感器是利用半導(dǎo)體的磁電效應(yīng)中的霍耳效應(yīng),將被測物理量轉(zhuǎn)換成霍耳電勢。(1)、霍耳效應(yīng):將一載流體置于磁場中靜止不動,若次載流體中的電流方向與磁場方向不相同時,則在此載流體中平行于由電流方向和磁場方向所組成的平面上將產(chǎn)生電勢,此電勢稱為霍耳電勢,此現(xiàn)象稱為霍耳效應(yīng)。16霍耳電勢 u=bbi/neb式中:b外磁場的磁感應(yīng)強(qiáng)度: i通過基片的電流; n基片材料中的載流子濃度; e電子電荷量; b基片寬度; d基片厚度。 (2)、 霍耳元件一般采用具有n型的鍺、銻化銦和砷化銦等半導(dǎo)體單晶材料造成。銻化銦元件的輸出較大,但受溫度的影響也較大

20、。鍺元件的輸入雖小,但它的溫度性能和線性度卻比較好。砷化銦元件的輸出信號沒有銻化銦元件大,但是受溫度的影響卻比銻化銦要小,而且線性度也較好,因此,采用砷化銦做霍耳元件的材料受到普遍重視。一般地,在高精度測量中,大多采用鍺和砷化銦元件;作為敏感元件時,材料采用銻化銦元件?;舳慕Y(jié)構(gòu)很簡單,它由霍耳片、引線和殼體組成?;舳且粔K矩形半導(dǎo)體薄片。在長邊的兩個端面上焊上兩根控制電流端引線,在元件短邊的中間以點(diǎn)的形式焊上兩根霍耳輸出端引線,在焊接處要求接觸電阻小,而且呈純電阻性質(zhì)?;舳话阌梅谴判越饘佟⑻沾苫颦h(huán)氧樹脂封裝。2.1.4液晶lcd 帶中文字庫的128x64是一種具有4位/8位并行、2

21、線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個16*16點(diǎn)漢字,和128個16*8點(diǎn)ascii字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點(diǎn)陣的圖形液晶模塊。17(1)基本特性(1)低電源電壓(vdd:+3.0-+5.5v)(2)顯示分辨率:12864點(diǎn) (3)內(nèi)置

22、漢字字庫,提供8192個1616點(diǎn)陣漢字(簡繁體可選) (4)內(nèi)置 128個168點(diǎn)陣字符 (5)2mhz時鐘頻率 (6)顯示方式:stn、半透、正顯 (7)驅(qū)動方式:1/32duty,1/5bias (8)視角方向:6點(diǎn)(9)背光方式:側(cè)部高亮白色led,功耗僅為普通led的1/51/10 (10)通訊方式:串行、并口可選 (11)內(nèi)置dc-dc轉(zhuǎn)換電路,無需外加負(fù)壓 (12)無需片選信號,簡化軟件設(shè)計(13)工作溫度: 0 - +55 ,存儲溫度: -20 - +60(2)模塊接口說明如下表2.4所示管腳號管腳名稱電平管腳功能描述4rs(cs)h/lrs=“h”,表示db7db0為顯示數(shù)據(jù)

23、rs=“l(fā)”,表示db7db0為顯示指令數(shù)據(jù)5r/w(sid)h/lr/w=“h”,e=“h”,數(shù)據(jù)被讀到db7db0r/w=“l(fā)”,e=“hl”, db7db0的數(shù)據(jù)被寫到ir或dr6e(sclk)h/l使能信號714db0h/l三態(tài)數(shù)據(jù)線15psbh/lh:8位或4位并口方式,l:串口方式(見注釋1)16nc-空腳17/reseth/l復(fù)位端,低電平有效(見注釋2)18vout-lcd驅(qū)動電壓輸出端表2.4模塊接口說明*注釋1:如在實(shí)際應(yīng)用中僅使用串口通訊模式,可將psb接固定低電平,也可以將模塊上的j8和“gnd”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合

24、可將該端懸空。(3)rs,r/w的配合選擇決定控制界面的4種模式:rsr/w功能說明llmpu寫指令到指令暫存器(ir)lh讀出忙標(biāo)志(bf)及地址記數(shù)器(ac)的狀態(tài)hlmpu寫入數(shù)據(jù)到數(shù)據(jù)暫存器(dr)hhmpu從數(shù)據(jù)暫存器(dr)中讀出數(shù)據(jù)表2.5控制界面的4種模式(4)e信號e狀態(tài)執(zhí)行動作結(jié)果高低i/o緩沖dr配合/w進(jìn)行寫數(shù)據(jù)或指令高dri/o緩沖配合r進(jìn)行讀數(shù)據(jù)或指令低/低高無動作表2.6 e信號2.2電路模塊的設(shè)計2.2.1檢測系統(tǒng)檢測系統(tǒng)主要是黑帶采樣模塊,黑帶采樣模塊我們采用反射式光電檢測電路對跑道上的黑線進(jìn)行檢測,并用兩個遮光套管套住發(fā)光管和接收管以一定的角度緊貼跑道,這樣

25、可以消除外界光線的干擾。為了加強(qiáng)可靠性采用槽型光耦檢測輪子轉(zhuǎn)動的行程。用lm358電壓比較器輸出高低電平檢測信號。如圖所示2.7:圖2.72.2.2距離計算系統(tǒng)采用霍爾元件感應(yīng)磁場產(chǎn)生脈沖的原理,再對脈沖進(jìn)行計數(shù),所以我們在小車的前輪上安裝了一塊小磁鐵并計算出車輪旋轉(zhuǎn)一圈的路程。通過mcu編程后檢測到一個脈沖后顯示自動上加一個輪子的路程,再通過液晶hj12864m1顯示出來下圖為霍爾元件的工作原理如圖2.8所示:圖2.8霍爾元件的工作原理霍爾傳感器實(shí)際電路圖如圖2.9所示:圖2.9霍爾傳感器實(shí)際電路圖2.2.3顯示系統(tǒng) 用到單片機(jī)控制的液晶顯示17,液晶用到能顯示漢字、數(shù)字、字母和圖像的hj1

26、2864m1液晶。通過液晶我們可以很清楚顯示出小車在運(yùn)行是的時間、檢測的黑帶的條數(shù)、運(yùn)行的速度以及運(yùn)行的路程。使得一個很機(jī)械化的小車變得人性化,更好的了解小車的運(yùn)動情況和穩(wěn)定性。液晶的實(shí)圖(2.10)和液晶的控制電路(2.11)如下: 圖2.10液晶的實(shí)圖 圖2.11液晶的控制電路2.2.4電機(jī)驅(qū)動以及正反轉(zhuǎn)控制模塊 考慮到小車的往返以及小車到達(dá)限速區(qū)時要減速行駛的要求,我們用到了專門的電機(jī)驅(qū)動模塊l298驅(qū)動電路。該電路采用電動機(jī)驅(qū)動芯片l298來控制電動機(jī)的正轉(zhuǎn)與反轉(zhuǎn),加以第二路電機(jī)電源保證了電動機(jī)啟動時有足夠的電流。在試驗(yàn)中控制電壓為單片機(jī)輸出的高低電平直接控制。電路連接如圖2.12所示

27、:圖2.12 l298驅(qū)動電路連接圖3系統(tǒng)的軟件設(shè)計單片機(jī)控制電路主要由一片stc89c52組成,通過p3口控制小車正轉(zhuǎn)與反轉(zhuǎn),剎車,加速減速,通過兩個四聯(lián)數(shù)碼管控制顯示時間和里程以及小車行駛的時間。其中p0口進(jìn)行位選,p2口進(jìn)行顯示段碼輸出。該系統(tǒng)采用上電復(fù)位加上手動復(fù)位聯(lián)合復(fù)位系統(tǒng)進(jìn)行初始化,單片機(jī)通過p3.0,p3.1輸出脈沖控制電機(jī)正轉(zhuǎn)反轉(zhuǎn)以及剎車,當(dāng)p3.0,p3.1分別輸出01是電動機(jī)正轉(zhuǎn),輸出10時電動機(jī)反轉(zhuǎn),輸出00時電動機(jī)兩邊短路,小車立即剎車。3.1主程序主要完成初始化工作,設(shè)定小汽車的初始運(yùn)行狀態(tài),最后循環(huán)調(diào)用顯示子程序, 流程圖如3-1所示。 開始前進(jìn)檢測黑帶調(diào)用顯示子

28、程序打開電源圖3.1 主程序流程圖3.2中斷程序3.2.1外部中斷0車輪每轉(zhuǎn)一次,霍爾元件產(chǎn)生一個脈沖p3.14,通過下降沿觸發(fā)外部中斷0,并且在每進(jìn)行一次外部中斷記錄圈數(shù)的變量加1,具體流程圖如圖3.2所示:開始車輪每轉(zhuǎn)一圈霍爾元件產(chǎn)生一個脈沖外部中斷int0圈數(shù)quanshu+圖3.2 外部中斷0流程圖3.2.2外部中斷1光電檢測每檢測到一條黑帶就產(chǎn)生一個脈沖輸入p3.2口,通過下降沿的方式觸發(fā)外中斷1,每中斷一次記錄黑帶的變量加1,當(dāng)檢測到第五條黑帶時,p1.0=1,p1.1=1,小車的電動機(jī)由于短路剎車,當(dāng)檢測到第九條黑帶時,小車再次剎車同時關(guān)掉所有中斷。具體流程圖如圖3.3所示:開始

29、p3.0=1,p3.1=1ea=0,剎車退出第5條?第9條?黑帶數(shù)加1y yyn圖3.3 外部中斷1流程圖3.2.3定時器中斷0使用定時器t0產(chǎn)生5ms定時中斷,每次執(zhí)行該中斷前要先給定時器0賦初值,定時器中斷每執(zhí)行一次,變量加1。當(dāng)i=200時,即每當(dāng)計時1秒時,時間變量t加1,速度等于一秒轉(zhuǎn)的圈數(shù)和小車車輪的周長相乘。具體流程圖如圖3.4所示:開始控制一秒定時,i+轉(zhuǎn)的總?cè)?shù)q;路程=周長*圈數(shù)q產(chǎn)生5ms中斷退出一秒定時是否到y(tǒng)圖3.4 定時器中斷0流程圖3.2.4定時器中斷1主要用來產(chǎn)生不同的占空比的波型進(jìn)行高低速控制,每次執(zhí)行時,定時器1要賦初值。4總結(jié)本系統(tǒng)以單片機(jī)stc89c52

30、芯片為核心部件,在玩具小車上進(jìn)行改裝利用光電檢測、傳感器檢測技術(shù)并配合軟件實(shí)現(xiàn)了小車的黑線檢測、里程檢測、時間顯示等功能,最終使小車完成設(shè)計題目要求的各項(xiàng)任務(wù)。該系統(tǒng)還有許多值得改進(jìn)的地方:比如小車兩側(cè)可以同樣加上傳感器來檢測路沿,是的小車在固定的軌道上行駛,不至于偏出;另外還可以加上遙控裝置更加方便人的控制操作。經(jīng)過三個多月時間的畢業(yè)設(shè)計鍛煉,我覺得自己對單片機(jī)知識有了一定的了解。對單片機(jī)硬件結(jié)構(gòu)的研究和軟件編程的興趣增加不少。歸納起來,主要有以下兩點(diǎn):(1)我經(jīng)過這次系統(tǒng)的畢業(yè)設(shè)計,熟悉了對一項(xiàng)課題進(jìn)行研究、設(shè)計和實(shí)驗(yàn)的過程中要注意團(tuán)隊(duì)合作;要有了嚴(yán)肅認(rèn)真和實(shí)事求是的科學(xué)態(tài)度同時還要有吃苦

31、耐勞的精神以及相對應(yīng)的工程意識。,這些在我們在將來的工作和學(xué)習(xí)當(dāng)中都會有很大的幫助。(2)學(xué)會了怎樣查閱資料和利用工具書。學(xué)習(xí)知識不能局限于一本書,應(yīng)多看幾本,這樣既可以進(jìn)行比較又增加了見識。另外平時課堂上所學(xué)習(xí)的知識大多比較陳舊,作為電子科學(xué)與技術(shù)的學(xué)生,由于專業(yè)特點(diǎn)自己更要積極查閱當(dāng)前的最新電子資料。要及時地有針對性地查閱資料,然后加以吸收利用,以提高自己的應(yīng)用能力,增長自己見識,補(bǔ)充最新的專業(yè)知識。在本次設(shè)計過程中,遇到了許多突發(fā)事件和各種困難,但通過仔細(xì)分析和請教無線電小組的同學(xué),指導(dǎo)老師老師,問題逐一得到了解決。在這個過程中我深刻體會到共同協(xié)作和團(tuán)隊(duì)精神的重要性,提高了自己解決問題的

32、能力。在科學(xué)上需要一個嚴(yán)謹(jǐn)認(rèn)真的態(tài)度,這點(diǎn)對于我以后的學(xué)習(xí)和工作,都有著非常重要的作用。致謝誠摯感謝指導(dǎo)老師戴新宇的關(guān)心、指導(dǎo)和教誨,戴新宇老師嚴(yán)謹(jǐn)治學(xué)、追求真理的科研作風(fēng)和嚴(yán)于利己、寬以待人的崇高品質(zhì)對學(xué)生將是永遠(yuǎn)的鞭策。還要感謝我的同學(xué)許康康,他曾是我們院無線電小組的副組長,在電路設(shè)計、編程、電路焊接方面有很強(qiáng)的能力。在制作的過程中給與我很大的幫助,最后小車一些問題他也參與改進(jìn)。有了他的幫助,設(shè)計才能更順利地完成。同時感謝我的母校江蘇師范大學(xué)四年來對我的教育和關(guān)心,在這里我不僅學(xué)習(xí)到了專業(yè)的知識還學(xué)習(xí)到了厚重篤實(shí),勵志敏行。這使我端正了態(tài)度,明確了方向,樹立了正確的人生觀和價值觀,使我受用

33、終身!最后衷心的感謝我的父母多年來對我的養(yǎng)育之恩和在生活上無微不至的關(guān)懷,沒有他們就有我的今天。四年來父母辛勤工作為我支付昂貴的學(xué)費(fèi)和生活費(fèi),噓寒問暖,看似簡單平凡但這其中又包含著樸素偉大和最無私的愛,使我得以安心學(xué)習(xí)文化知識,成為一個對社會有用的人。這份養(yǎng)育之恩我將永遠(yuǎn)銘記與心.在此謹(jǐn)向他們致以深深的謝意!參考文獻(xiàn)1田立,代方震.2007. 51單片機(jī)c語言程序設(shè)計快速入門.北京.人民郵電出版社2李朝青.2005.單片機(jī)原理及接口技術(shù)(第3版).北京.北京航天航空大學(xué)出版社.3郭天祥.編著.51單片機(jī)c語言教程入門,提高,開發(fā).拓展全攻略4李忠國.陳剛.編著.單片機(jī)應(yīng)用技能實(shí)訓(xùn)5劉南平.主編

34、.朱鳳芝.歐觸靈.副主編.現(xiàn)代電子設(shè)計與制作技術(shù)6楊翠南.楊碧石.主編 . 數(shù)字電子技術(shù)與邏輯設(shè)計教程7余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù).徐州:中國礦業(yè)大學(xué)出版社,20038陳權(quán)昌 李興富 單片機(jī)原理及應(yīng)用. 廣東:華南理工大學(xué)出版社,20079黃智偉. 凌陽單片機(jī)課程設(shè)計指導(dǎo).北京:北京航空航天大學(xué)出版社,200610李光飛 .單片機(jī)課程設(shè)計實(shí)例指導(dǎo) .北京:北京航空航天大學(xué)出版,200411 張友德.單片微型機(jī)原理、應(yīng)用與實(shí)踐m.上海:復(fù)旦大學(xué)出版社,199212 李華.mcs-51系列單片機(jī)實(shí)用接口技術(shù)m,北京:北京航空航天大學(xué)出版社13求是科技. 單片機(jī)典型模塊設(shè)計實(shí)例導(dǎo)航. 北京

35、:人民郵電出版社. 2005.814徐淑華, 程退安等.單片微型機(jī)原理及應(yīng)用. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社.15孫余凱. 精選實(shí)用電子電路260例. 北京:電子工業(yè)出版社. 2007.616殷春浩, 崔亦飛. 電磁測量原理及應(yīng)用. 徐州:中國礦業(yè)大學(xué)出版社. 2003.717lcd1602a數(shù)據(jù)手冊附錄:源程序代碼#includesbit cs=p11; sbit sid=p12; sbit sclk=p13;sbit dj_in1=p27;sbit dj_in2=p26;sbit dj_in3=p25;sbit dj_in4=p24;sbit hd=p32;#define uint uns

36、igned int#define uchar unsigned charuchar code dis1=黑帶: 條;uchar code dis2=路程: cm; uchar code dis3=時間: s;uchar code dis4=作者: 0931 王楠;uchar dis53;uchar dis63;uchar dis73;char heidai;uint i;uint miao,num,num1;uint j,quan;uint lucheng;uint ge1,shi1,bai1,ge2,shi2,bai2,ge3,shi3,bai3;void delayms(uint x)ui

37、nt i,j; for(i=x;i0;i-) for(j=110;j0;j-);/每次操作由三個字節(jié)組成void write_cmd(uchar command_data) /寫指令 uchar i; uchar i_data; i_data=0xf8; /第一個:命令控制字,寫指令發(fā)0xf8 cs=1;/cs必須是高電平 sclk=0; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=command_data; i_data&=0xf0;/第二個字節(jié)的高4位為指令或數(shù)據(jù)的高4位,第二個

38、字節(jié)的低4位補(bǔ)0 for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=command_data; i_data=4;/第三個字節(jié)的高4位為指令或數(shù)據(jù)的低4位,第三個字節(jié)的低4位補(bǔ)0 for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; cs=0; delayms(10); void write_data(uchar command_data) /寫數(shù)據(jù) uchar i; uchar i_data; i_d

39、ata=0xfa; cs=1; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=command_data; i_data&=0xf0; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; i_data=command_data; i_data=4; for(i=0;i8;i+) sid=(bit)(i_data&0x80); sclk=0; sclk=1; i_data=i_data1; cs=0;

40、 delayms(10); void lcd_pos(uchar x,uchar y)uchar pos;if(x=0) x=0x80;else if(x=1) x=0x90;else if(x=2) x=0x88;else if(x=3) x=0x98;pos=x+y;write_cmd(pos);void lcd_init()write_cmd(0x30);delayms(5);write_cmd(0x0c);delayms(5);write_cmd(0x01);delayms(5);void display1()lcd_pos(0,0);i=0;while(dis1i!=0) write

41、_data(dis1i); i+;lcd_pos(1,0); i=0;while(dis2i!=0) write_data(dis2i); i+;lcd_pos(2,0);i=0;while(dis3i!=0) write_data(dis3i); i+;lcd_pos(3,0);i=0;while(dis4i!=0) write_data(dis4i); i+; void display()uint k;lcd_pos(0,3);bai1=heidai/100;shi1=heidai%100/10;ge1=heidai%10;dis50=bai1+0x30;/dis50=bai1+0;dis

42、51=shi1+0x30;dis52=ge1+0x30;for(k=0;k3;k+) write_data(dis5k);lcd_pos(1,3);bai2=lucheng/100;shi2=lucheng%100/10;ge2=lucheng%10;dis60=bai2+0x30;dis61=shi2+0x30;dis62=ge2+0x30;for(k=0;k3;k+) write_data(dis6k); lcd_pos(2,3);bai3=miao/100;shi3=miao%100/10;ge3=miao%10;dis70=bai3+0x30;dis71=shi3+0x30;dis72

43、=ge3+0x30;for(k=0;k3;k+) write_data(dis7k);void main()lcd_init();ea=1;tmod=0x11;th0=(65535-50000)/256;tl0=(65535-50000)%256;th1=(65535-50000)/256;tl1=(65535-50000)%256;et0=1;et1=1;tr0=1;ex0=1;it0=1;ex1=1;it1=1;display1();while(1)switch(heidai) case 0: case 1: case 2: case 4: case 5:dj_in1=1;dj_in2=0;dj_in3=0;dj_in4=1;break; case 3:dj_in1=1;dj_in2=0;dj_in3=0;dj_in4=1;delayms(100);dj_in1=0;dj_in2=0;dj_in3=0;dj_in

溫馨提示

  • 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

提交評論