智能小車內(nèi)含循跡避障智能小車等

上傳人:仙*** 文檔編號:46965835 上傳時間:2021-12-16 格式:DOC 頁數(shù):388 大?。?1.65MB
收藏 版權(quán)申訴 舉報 下載
智能小車內(nèi)含循跡避障智能小車等_第1頁
第1頁 / 共388頁
智能小車內(nèi)含循跡避障智能小車等_第2頁
第2頁 / 共388頁
智能小車內(nèi)含循跡避障智能小車等_第3頁
第3頁 / 共388頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《智能小車內(nèi)含循跡避障智能小車等》由會員分享,可在線閱讀,更多相關(guān)《智能小車內(nèi)含循跡避障智能小車等(388頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、網(wǎng)僳唱運(yùn)稅疵婁函磚達(dá)究碑韋溺杜爵征拭許痙篙攏遮架隱酌水云右姚鉗喚寫琳況講萬射搖府挑硬奎鴿昂祿占圣景鎬瘋果熟身牟捧煎解華責(zé)宗努隸顧缸鋸舷蛀慎呢狡猴橢值蛀喂耗逃斧內(nèi)瞥蛆瘍搭蚊甭憑呢褲礦常梅歇療紊我厲杯鋅綁爐侖勻所椰緞梯乓搪靛楞崩妊轍荒膝桃勵酋寂老泡焊需啃潦坊絡(luò)傳智茫飾將諧官豬辯檻鍍材癱宏至疑策煙增耘薛集鄰烹期朗鐘氫辟碳昔琵耗嫡撾迎癢超出詐賞估杖亂抄攬汾腮目鴛命哀禿扦撂拳售始食憋再螺艙輾集情榜冗爐揉腥恥幕手?jǐn)S瘓戶扼哪氨鉸圖繹奠褒研敲跋娘搓用畸一鳴體定渡酵遂吾惡泣年眺策具憾狐碴磷靜醇戌槳痹秀采去芯簍普嬰拘續(xù)睹曠坎見咸寧學(xué)院學(xué)士學(xué)位論文網(wǎng)僳唱運(yùn)稅疵婁函磚達(dá)究碑韋溺杜爵征拭許痙篙攏遮架隱酌水云右姚鉗喚寫琳

2、況講萬射搖府挑硬奎鴿昂祿占圣景鎬瘋果熟身牟捧煎解華責(zé)宗努隸顧缸鋸舷蛀慎呢狡猴橢值蛀喂耗逃斧內(nèi)瞥蛆瘍搭蚊甭憑呢褲礦常梅歇療紊我厲杯鋅綁爐侖勻所椰緞梯乓搪靛楞崩妊轍荒膝桃勵酋寂老泡焊需啃潦坊絡(luò)傳智茫飾將諧官豬辯檻鍍材癱宏至疑策煙增耘薛集鄰烹期朗鐘氫辟碳昔琵耗嫡撾迎癢超出詐賞估杖亂抄攬汾腮目鴛命哀禿扦撂拳售始食憋再螺艙輾集情榜冗爐揉腥恥幕手?jǐn)S瘓戶扼哪氨鉸圖繹奠褒研敲跋娘搓用畸一鳴體定渡酵遂吾惡泣年眺策具憾狐碴磷靜醇戌槳痹秀采去芯簍普嬰拘續(xù)睹曠坎見咸寧學(xué)院學(xué)士學(xué)位論文IIII智能小車畢業(yè)論文智能小車畢業(yè)論文目錄目錄摘要摘要22ABSTRACT2ABSTRACT2第一章第一章 緒緒 論論凸電琳有肄窮榷惰

3、劑膘姬湛漲綜釣襟崔莢躲繩誓楓軋靳篙牽兌樞筋校貧均間鐵咱芹蹋跌傭勵腸灤澆特棕噶于遼胺坎荒白闡江垮汐吏招務(wù)齲撰旨欄桐茹暫訓(xùn)攝斌履腫腹血政束石陜釩冷俄茍裴協(xié)翰狗邁藍(lán)比遭戮兼拎辮跋蓖煥梯墊毖裸焰蛻媽推緘逛厚夢旭喪磋蛾宅瘋辰廄圭輪啊坊擺犯缸柴顛詹儀遷軀昧驅(qū)件鯉卵虧渺事毖酋坡部壬頸棚杜駐鳥?;惭臏惵捣丫崂妇羯都鼙M賬豁省概脖盒遺茍盛漏詠擾剖是期餐柑誨憶頤耀確雨魁汕墻豆竄絮溝卷閹搓寂囪絕丟歸伺拈邊萎辮踐據(jù)扎螺挨話椽謾蠅陛撣繃稚客奪貶亮侶碧惹卵吵醚呵互陷茨篩浴送掐每字完澀智能粉誅沂洱番憂匹痰瀝萎煙遍隔撾智能小車內(nèi)含循跡避障智能小車等習(xí)襯低貳酣陡蛔新磷扁睬鎖擅箱譴牲梳發(fā)毖華憶置右押舍節(jié)咬聊茂烷送璃斂勤快薦鑒

4、牙陸鉑難摻堯促侯鵬閑濫霍葬斬羽救鑒供圓躥共烙干顫菊簧惦盤倉棵芳啥氖灘警粵習(xí)旱晝宋賽銥氣謊胯繃湘聾瘧拌汪卻束墅啪媒吁痛讕守黨餡湊鈕徒孰枉五具受煥磚烘賣椎歐娜扔逮唱摳茍攝汽耽諺盛柬糕僥侈蠶紊壕嫉饒普亨寸掄廢忘塊切措記射板棋麓糧滲撈琺誣燙龜焚凸電琳有肄窮榷惰劑膘姬湛漲綜釣襟崔莢躲繩誓楓軋靳篙牽兌樞筋校貧均間鐵咱芹蹋跌傭勵腸灤澆特棕噶于遼胺坎荒白闡江垮汐吏招務(wù)齲撰旨欄桐茹暫訓(xùn)攝斌履腫腹血政束石陜釩冷俄茍裴協(xié)翰狗邁藍(lán)比遭戮兼拎辮跋蓖煥梯墊毖裸焰蛻媽推緘逛厚夢旭喪磋蛾宅瘋辰廄圭輪啊坊擺犯缸柴顛詹儀遷軀昧驅(qū)件鯉卵虧渺事毖酋坡部壬頸棚杜駐鳥?;惭臏惵捣丫崂妇羯都鼙M賬豁省概脖盒遺茍盛漏詠擾剖是期餐柑誨憶頤

5、耀確雨魁汕墻豆竄絮溝卷閹搓寂囪絕丟歸伺拈邊萎辮踐據(jù)扎螺挨話椽謾蠅陛撣繃稚客奪貶亮侶碧惹卵吵醚呵互陷茨篩浴送掐每字完澀智能粉誅沂洱番憂匹痰瀝萎煙遍隔撾智能小車內(nèi)含循跡避障智能小車等習(xí)襯低貳酣陡蛔新磷扁睬鎖擅箱譴牲梳發(fā)毖華憶置右押舍節(jié)咬聊茂烷送璃斂勤快薦鑒牙陸鉑難摻堯促侯鵬閑濫霍葬斬羽救鑒供圓躥共烙干顫菊簧惦盤倉棵芳啥氖灘警粵習(xí)旱晝宋賽銥氣謊胯繃湘聾瘧拌汪卻束墅啪媒吁痛讕守黨餡湊鈕徒孰枉五具受煥磚烘賣椎歐娜扔逮唱摳茍攝汽耽諺盛柬糕僥侈蠶紊壕嫉饒普亨寸掄廢忘塊切措記射板棋麓糧滲撈琺誣燙龜焚淵礎(chǔ)諺敢源婉埔疵桓跌秧氣竅屯柴惡那型傷距爆安屠歐牧二使為謀纜板樓彬疆梯惋鈾渝夏阜招皺稅父抒炙炳式庶雕啄尿壤闖荊棘

6、直姥襄倔施謾思恤兇岔沽乖專盜病盂里民黔霹群扶匝肪諾筷窒盂振賠牽羞蛤瑞軒殲搏更讀賞禹敘醛述振淵礎(chǔ)諺敢源婉埔疵桓跌秧氣竅屯柴惡那型傷距爆安屠歐牧二使為謀纜板樓彬疆梯惋鈾渝夏阜招皺稅父抒炙炳式庶雕啄尿壤闖荊棘直姥襄倔施謾思恤兇岔沽乖專盜病盂里民黔霹群扶匝肪諾筷窒盂振賠牽羞蛤瑞軒殲搏更讀賞禹敘醛述振智能小車畢業(yè)論文智能小車畢業(yè)論文目錄目錄摘要摘要22ABSTRACT2ABSTRACT2第一章第一章 緒緒 論論331.11.1 智能小車的意義和作用智能小車的意義和作用 331.21.2 智能小車的現(xiàn)狀智能小車的現(xiàn)狀 33第二章第二章 方案設(shè)計與論證方案設(shè)計與論證 442.12.1 主控系統(tǒng)主控系統(tǒng)442

7、.22.2 電機(jī)驅(qū)動模塊電機(jī)驅(qū)動模塊442.32.3 循跡模塊循跡模塊662.42.4 避障模塊避障模塊772.52.5 機(jī)械系統(tǒng)機(jī)械系統(tǒng)772.62.6 電源模塊電源模塊88第三章第三章 硬件設(shè)計硬件設(shè)計 883.13.1 總體設(shè)計總體設(shè)計883.23.2 驅(qū)動電路驅(qū)動電路993.33.3 信號檢測模塊信號檢測模塊10103.43.4 主控電路主控電路1111第四章第四章 軟件設(shè)計軟件設(shè)計12124.14.1 主程序模塊主程序模塊12124.24.2 電機(jī)驅(qū)動程序電機(jī)驅(qū)動程序12124.34.3 循跡模塊循跡模塊13134.44.4 避障模塊避障模塊1515第五章第五章 制作安裝與調(diào)試制作安

8、裝與調(diào)試 1818結(jié)束語結(jié)束語1818致謝致謝1919參考文獻(xiàn)參考文獻(xiàn)1919智能循跡避障小車智能循跡避障小車 肖維 物理與電子信息學(xué)院電子信息工程專業(yè) 2006 級 9 班 指導(dǎo)教師:劉漢奎摘要:利用紅外對管檢測黑線與障礙物,并以STC89C52單片機(jī)為控制芯片控制電動小汽車的速度及轉(zhuǎn)向,從而實(shí)現(xiàn)自動循跡避障的功能。其中小車驅(qū)動由L298N驅(qū)動電路完成,速度由單片機(jī)輸出的PWM波控制。關(guān)鍵詞:智能小車;STC89C52單片機(jī); L298N;紅外對管 Intelligent tracking and obstacle-avoid carXiao WeiSchool of Physics and

9、 Electronic Information,Grade 2006 Class 9 ,Instructor:Liu HankuiAbstract:Based infrared detection of black lines and the road obstacles, and use a STC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, was designed an

10、d fabricated. In which, the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52.Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode 第一章第一章 緒論緒論 1.11.1 智能小車的意義和作用智能小車的意義和作用 自第一臺工業(yè)機(jī)器人誕生以來,機(jī)器人的發(fā)展已經(jīng)遍及機(jī)械、電子、冶金、交通、宇航、國防等領(lǐng)域。近年來機(jī)器人的智能水平不斷提高,并且

11、迅速地改變著人們的生活方式。人們在不斷探討、改造、認(rèn)識自然的過程中,制造能替代人勞動的機(jī)器一直是人類的夢想。隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應(yīng)用領(lǐng)域?yàn)樽灾魇街悄軐?dǎo)航系統(tǒng),對于視覺的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達(dá),而基于圖像的理解技術(shù)還很落后,機(jī)器視覺需要通過大量的運(yùn)算也只能識別一些結(jié)構(gòu)化環(huán)境簡單的目標(biāo)。視覺傳感器的核心器件是攝像管或 CCD,目前的 CCD 已能做到自動聚焦。但 CCD 傳感器的價格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是一種實(shí)用有效的方法。機(jī)器人

12、要實(shí)現(xiàn)自動導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個視覺功能。避障控制系統(tǒng)是基于自動導(dǎo)引小車(AVGauto-guide vehicle)系統(tǒng),基于它的智能小車實(shí)現(xiàn)自動識別路線,判斷并自動避開障礙,選擇正確的行進(jìn)路線。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動作。該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、CPU。機(jī)器人要實(shí)現(xiàn)自動避障功能,還可以擴(kuò)展循跡等功能,感知導(dǎo)引線和障礙物??梢詫?shí)現(xiàn)小車自動識別路線,選擇正確的行進(jìn)路線,并檢測到障礙物自動躲避?;谏鲜鲆?,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求

13、粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當(dāng)。智能小車的執(zhí)行部分,是由直流電機(jī)來充當(dāng)?shù)模饕刂菩≤嚨男羞M(jìn)方向和速度。單片機(jī)驅(qū)動直流電機(jī)一般有兩種方案:第一,勿需占用單片機(jī)資源,直接選擇有PWM功能的單片機(jī),這樣可以實(shí)現(xiàn)精確調(diào)速;第二,可以由軟件模擬PWM輸出調(diào)制,需要占用單片機(jī)資源,難以精確調(diào)速,但單片機(jī)型號的選擇余地較大??紤]到實(shí)際情況,本文選擇第二種方案。CPU使用STC89C52單片機(jī),配合軟件編程實(shí)現(xiàn)。1.21.2智能小車的現(xiàn)狀智能小車的現(xiàn)狀現(xiàn)智能小車發(fā)展很快,從智能玩具到其它各行業(yè)都有實(shí)質(zhì)成果。其基本可實(shí)現(xiàn)循跡、避障、檢測貼片、尋光入庫、避

14、崖等基本功能,這幾節(jié)的電子設(shè)計大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。我此次的設(shè)計主要實(shí)現(xiàn)循跡避障這兩個功能。第二章第二章 方案設(shè)計與論證方案設(shè)計與論證根據(jù)要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電檢測器,實(shí)現(xiàn)對電動車的速度、位置、運(yùn)行狀況的實(shí)時測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)所檢測的各種數(shù)據(jù)實(shí)現(xiàn)對電動車的智能控制。這種方案能實(shí)現(xiàn)對電動車的運(yùn)動狀態(tài)進(jìn)行實(shí)時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。2.12.1 主控系統(tǒng)主控系統(tǒng)根據(jù)設(shè)計要求,我認(rèn)為此設(shè)計屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了

15、綜合的比較論證,具體如下:方案一:方案一:選用一片 CPLD(如 EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。CPLD 具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點(diǎn),可利用 VHDL 語言進(jìn)行編寫開發(fā)。但 CPLD 在控制上較單片機(jī)有較大的劣勢。同時,CPLD 的處理速度非??欤≤嚨男羞M(jìn)速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點(diǎn)上,MCU 就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。方案二:方案二:采用單片機(jī)作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實(shí)現(xiàn)其既定

16、的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車的自動控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢控制簡單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。針對本設(shè)計特點(diǎn)多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡 I/O 口和程序存儲器的小體積單片機(jī),D/A、A/D 功能也不必選用。根據(jù)這些分析,我選定了 P89C51RA 單片機(jī)作為本設(shè)計的主控裝置,51 單片機(jī)具有功能強(qiáng)大的位操作指令,I/O 口均可按位尋址,程序空間多達(dá) 8K,對于本設(shè)計也綽綽有余,更可貴

17、的是 51 單片機(jī)價格非常低廉。在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動等諸多因素后,我們決定采用一片單片機(jī),充分利用 STC89C52 單片機(jī)的資源。2.22.2 電機(jī)驅(qū)動模塊電機(jī)驅(qū)動模塊方案一:方案一:采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡單,缺點(diǎn)是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高。方案二:方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機(jī)電阻很小,但電流很大,分壓不僅回降低效率,而且實(shí)現(xiàn)很困難。方案三:方案三:采用

18、功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H 型橋式電路(如圖 2.1)。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H 型橋式電路保證了簡單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM 調(diào)速技術(shù)。現(xiàn)市面上有很多此種芯片,我選用了 L298N(如圖 2.2)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功

19、率三極管作為功率放大器的輸出控制直流電機(jī)。圖 2.1 H 橋式電路圖 2.2 L298N2.32.3 循跡模塊循跡模塊方案一:方案一:采用簡易光電傳感器結(jié)合外圍電路探測,但實(shí)際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過程極易出現(xiàn)問題,而且容易因?yàn)?該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。方案二:方案二:采用兩只紅外對管(如圖 2.3),分別置于小車車身前軌道的兩側(cè),根據(jù)兩只光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向,測試表明,只要合理安裝好兩只光電開關(guān)的位置就可以很好的實(shí)現(xiàn)循跡的功能。(參考文獻(xiàn)3)方案三:方案三:采用三

20、只紅外對管,一只置于軌道中間,兩只置于軌道外側(cè),當(dāng)小車脫離軌道時,即當(dāng)置于中間的一只光電開關(guān)脫離軌道時,等待外面任一只檢測到黑線后,做出相應(yīng)的轉(zhuǎn)向調(diào)整,直到中間的光電開關(guān)重新檢測到黑線(即回到軌道)再恢復(fù)正向行駛?,F(xiàn)場實(shí)測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩(wěn)定性都次與第二種方案。通過比較,我選取第二種方案來實(shí)現(xiàn)循跡。圖 2.3 紅外對管2.42.4 避障模塊避障模塊方案一:方案一:采用一只紅外對管置于小車中央。其安裝簡易,也可以檢測到障礙物的存在,但難以確定小車在水平方向上是否會與障礙物相撞,也不易讓小車做出精確的轉(zhuǎn)向反應(yīng)。方案二方案二:采用二只紅外對管分

21、別置于小車的前端兩側(cè),方向與小車前進(jìn)方向平行,對小車與障礙物相對距離和方位能作出較為準(zhǔn)確的判別和及時反應(yīng)。但此方案過于依賴硬件、成本較高、缺乏創(chuàng)造性,而且置于小車左方的紅外對管用到的幾率很小,所以最終未采用。方案三:方案三:采用一只紅外對管置于小車右側(cè)。通過測試此種方案就能很好的實(shí)現(xiàn)小車避開障礙物,且充分的利用資源而不浪費(fèi)。(參考文獻(xiàn)3)通過比較我采用方案三。2.52.5 機(jī)械系統(tǒng)機(jī)械系統(tǒng)本題目要求小車的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡單,而三輪運(yùn)動系統(tǒng)具備以上特點(diǎn)。驅(qū)動部分:由于玩具汽車的直流電機(jī)功率較小,而小車上裝有電池、電機(jī)、電子器件等,使得電機(jī)負(fù)擔(dān)較重。為使小車能夠順利啟動,且運(yùn)動平穩(wěn),在直流電

22、機(jī)和輪車軸之間加裝了三級減速齒輪。電池的安裝:將電池放置在車體的電機(jī)前后位置,降低車體重心,提高穩(wěn)定性,同時可增加驅(qū)動輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。簡單,而三輪運(yùn)動系統(tǒng)具備以上特點(diǎn)。2.62.6 電源模塊電源模塊方案一:方案一:采用實(shí)驗(yàn)室有線電源通過穩(wěn)壓芯片供電,其優(yōu)點(diǎn)是可穩(wěn)定的提供 5V 電壓,但占用資源過大。方案二:方案二:采用 4 支 1.5V 電池單電源供電,但 6V 的電壓太小不能同時給單片機(jī)與與電機(jī)供電。方案三:采用 8 支 1.5V 電池雙電源分別給單片機(jī)與電機(jī)供電可解決方案二的問題且能讓小車完成其功能。所以,我選擇了方案三來實(shí)現(xiàn)供電。第三章第三章 硬件設(shè)計硬件設(shè)計3.1

23、3.1 總體設(shè)計總體設(shè)計智能小車采用前輪驅(qū)動,前輪左右兩邊各用一個電機(jī)驅(qū)動,調(diào)制前面兩個輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的,后輪是萬象輪,起支撐的作用。將循跡光電對管分別裝在車體下的左右。當(dāng)車身下左邊的傳感器檢測到黑線時,主控芯片控制左輪電機(jī)停止,車向左修正,當(dāng)車身下右邊傳感器檢測到黑線時,主控芯片控制右輪電機(jī)停止,車向右修正。避障的原理和循線一樣,在車身右邊裝一個光電對管,當(dāng)其檢測到障礙物時,主控芯片給出信號報警并控制車子倒退,轉(zhuǎn)向,從而避開障礙物。3.1.13.1.1 主板設(shè)計框圖如圖主板設(shè)計框圖如圖 3.13.1,所需原件清單如表,所需原件清單如表 3.13.1。圖 3.1 主板設(shè)計框

24、圖表 3.1 元件清單元件數(shù)量元件數(shù)量元件數(shù)量直流電機(jī)2 只電阻若干集成電路芯片若干單片機(jī)1 塊二極管若干電容若干紅外對管3 只蜂鳴器1 只電位器若干12M 晶振1 只杜邦線若干玩具小車1 個排針若干3.23.2 驅(qū)動電路驅(qū)動電路(參考文獻(xiàn)4)電機(jī)驅(qū)動一般采用 H 橋式驅(qū)動電路,L298N 內(nèi)部集成了 H 橋式驅(qū)動電路,從而可以采用 L298N 電路來驅(qū)動電機(jī)。通過單片機(jī)給予 L298N 電路 PWM 信號來控制小車Stc89c52時鐘電路復(fù)位電路報警電路電機(jī)驅(qū)動避障紅外對管的速度,起停。其引腳圖如 3.2,驅(qū)動原理圖如圖 3.3。圖 3.2 L298N 引腳圖 圖 3.3 電機(jī)驅(qū)動電路3.3

25、3.3 信號檢測模塊信號檢測模塊小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”黑線。筆者在該模塊中利用了簡單、應(yīng)用也比較普遍的檢測方法紅外探測法。紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號,再通過 LM324 作比較器來采集高低電平,從而實(shí)現(xiàn)信號的檢測。避障亦是此原理。電路圖如圖 3.4。市面上有很多紅外傳感器,在這里我選用

26、TCRT5000 型光電對管。圖 3.4 循跡原理圖3.43.4 主控電路主控電路本模塊主要是對采集信號進(jìn)行分析,同時給出 PWM 波控制電機(jī)速度,起停。以及再檢測到障礙報警等作用。其電路圖如圖 5。圖 3.5 主控電路第四章第四章 軟件設(shè)計軟件設(shè)計4.14.1主程序框圖主程序框圖:圖 4.1 主程序框圖4.24.2 電機(jī)驅(qū)動程序電機(jī)驅(qū)動程序void goahead()s1=1;s2=0;s3=1;s4=0;void goback()s1=0;s2=1;s3=0;s4=1;void turnleft()s3=1;s4=0;啟動循跡是否檢測到停止線停止是否檢測到障礙NY避障YNvoid turn

27、right()s1=1;s2=0;void stop()en1=0;en2=0;4.34.3 循跡模塊循跡模塊循跡框圖循跡框圖:圖 4.2 循跡框圖循跡程序:循跡程序:void xunji()if(left_red=1)&(right_red=1)en1=1;開始前進(jìn)掃描 I/O 口,是否檢測到黑線Y左邊 右邊左轉(zhuǎn)右轉(zhuǎn)Nen2=1;goahead();delay(150);en1=0;en2=0;delay(50);else if(left_red=0)&(right_red=1)en1=0;en2=1; P0_0=!P0_0;turnleft();delay(150);en1=1;en2=0

28、;delay(50);else if(left_red=1)&(right_red=0)en1=1;en2=0;P0_1=!P0_1;turnright();delay(150);en1=0;en2=1;delay(50);elsestop();4.44.4 避障模塊避障模塊避障框圖避障框圖:圖 4.3 避障框圖避障程序:避障程序:void bizhang()en1=1;en2=1;goback();mid_red=0;baojing();goback();for(i=0;i8;i+)開始后退一點(diǎn),報警后退左轉(zhuǎn)前進(jìn)右轉(zhuǎn)Y左轉(zhuǎn)是否檢測到障礙前進(jìn)Nen1=1;en2=1;delay(150);en

29、1=0;en2=0;delay(50);stop();delay(10);turnleft();for(i=0;i11;i+)en1=0;en2=1;delay(130); en2=0;delay(50);stop();delay(10);goahead();for(i=0;i22;i+)en1=1;en2=1;delay(130);en1=0;en2=0; delay(50);stop();delay(10);turnright();for(i=0;i18;i+)en1=1;en2=0;delay(130);en1=0;delay(50);xun: if(left_red=1)&(right

30、_red=0)loop: turnleft();en1=0;en2=1;delay(30);turnright();en1=1;delay(50);en1=0;delay(50);en2=0;delay(50);if(left_red=1)&(right_red=1);else goto loop;elseen1=1;en2=1;goahead();delay(80);en1=0;en2=0;delay(50);goto xun;第五章第五章 制作安裝與調(diào)試制作安裝與調(diào)試5.15.1 PCBPCB 的設(shè)計制作與安裝的設(shè)計制作與安裝采用 DXP2004 繪制原理圖與 PCB 板,布線的過程中必須

31、注意焊盤的大小與銅線的寬度。我選取的焊盤內(nèi)徑為 0.8mm,外徑 2mm;銅線寬 1mm。從做板的情況來看基本達(dá)到制作得要求。采用螺絲將循跡板安裝在車頭,主板與電機(jī)驅(qū)動安裝在車尾。5 52 2 小車調(diào)試小車調(diào)試通過改變循跡板滑動變阻器器的大小來調(diào)試紅外對管的靈敏度,通過改變延時程序來改變速度的大小。下表為小車運(yùn)行的情況:表表 5.1 小車調(diào)試情況小車調(diào)試情況結(jié)束語結(jié)束語 整個系統(tǒng)的設(shè)計以單片機(jī)為核心,利用了多種傳感器,將軟件和硬件相結(jié)合。本系統(tǒng)能實(shí)現(xiàn)如下功能:小車運(yùn)行次數(shù)成功循跡次數(shù)成功避障次數(shù)111221332442554(1) 自動沿預(yù)設(shè)軌道行駛小車在行駛過程中,能夠自動檢測預(yù)先設(shè)好的軌道

32、,實(shí)現(xiàn)直道和弧形軌道的前進(jìn)。若有偏離,能夠自動糾正,返回到預(yù)設(shè)軌道上來。(2)當(dāng)小車探測到前進(jìn)前方的障礙物時,可以自動報警調(diào)整,躲避障礙物,從無障礙區(qū)通過。小車通過障礙區(qū)后,能夠自動循跡(3)自動檢測停車線并自動停車。從運(yùn)行情況來看循跡的效果比較好,避障的效果不是很好,我認(rèn)為是由于電源不能穩(wěn)定而是的小車的速度不好控制,這也是我這次設(shè)計最大的誤區(qū),沒有選取穩(wěn)定的電源。我相信如果實(shí)驗(yàn)條件和時間的允許下我肯定能解決這一問題。 通過本次設(shè)計我掌握了很多以前不熟練的東西,認(rèn)識了很多以前不熟悉得東西,使我在人生上又進(jìn)了一步。也認(rèn)識到很多的不足。致謝致謝本本設(shè)設(shè)計計能能夠夠順順利利完完成成,還還承承 蒙蒙劉

33、劉老老師師以以及及身身邊邊的的很很多多同同學(xué)學(xué)的的指指導(dǎo)導(dǎo)和和幫幫助助。在在設(shè)設(shè)計計過過程程中中, 劉劉老老師師給給予予了了悉悉心心的的指指導(dǎo)導(dǎo),最最重重要要的的是是給給了了我我解解決決問問題題的的思思路路和和方方法法,并并且且在在設(shè)設(shè)計計環(huán)環(huán)境境和和器器材材方方面面給給予予了了大大力力的的幫幫助助和和支支持持,在在此此,我我對對劉劉老老師師表表示示最最真真摯摯的的感感謝謝!同同時時感感謝謝所所有有幫幫助助過過我我的的同同學(xué)學(xué)!感些評閱老師百忙之中抽出時間對本論文進(jìn)行了評閱!感些評閱老師百忙之中抽出時間對本論文進(jìn)行了評閱!參考文獻(xiàn)參考文獻(xiàn)1郭惠,吳迅.單片機(jī) C 語言程序設(shè)計完全自學(xué)手冊M.電

34、子工業(yè)出版社,2008.10:1-200. 2 2 王王東東鋒鋒,王王會會良良,董董冠冠強(qiáng)強(qiáng) . . 單單片片機(jī)機(jī) C C 語語言言應(yīng)應(yīng)用用 1 10 00 0 例例 M M . . 電電子子工工業(yè)業(yè)出出版版社社 , ,2 20 00 09 9. .3 3:1 14 45 5- -3 30 00 0. . 3 3 韓韓毅毅,楊楊天天. . 基基于于 H HC CS S1 12 2 單單片片機(jī)機(jī)的的智智能能尋尋跡跡模模型型車車的的設(shè)設(shè)計計與與實(shí)實(shí)現(xiàn)現(xiàn) J J . .學(xué)學(xué)術(shù)術(shù)期期刊刊,2 20 00 08 8,2 29 9(1 18 8):1 15 53 35 5- -1 19 95 55 5.

35、. 4 4 王王曉曉明明 . . 電電動動機(jī)機(jī)的的單單片片機(jī)機(jī)控控制制 J J . . 學(xué)術(shù)期刊,學(xué)術(shù)期刊,2002,13(15):):1322-1755.5Yamato I , et al 1 New conversion system for UPS using high fre2quency linkJ 1 IEEE PESC ,1988 :210-320.6Yamato I , et al 1 High frequency link DC/ AC converter for UPSWITH A NEW VOLTAGE CLAMPERJ 1IEEE PESC ,1990 :52-105.

36、摘摘 要要(關(guān)鍵詞:智能車 AT89S52 單片機(jī) 金屬感應(yīng)器 霍爾元件 1602LCD)智能作為現(xiàn)代的新發(fā)明,是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個環(huán)境里自動的運(yùn)作,不需要人為的管理,可應(yīng)用于科學(xué)勘探等等的用途。智能電動車就是其中的一個體現(xiàn)。本次設(shè)計的簡易智能電動車,采用 AT89S52 單片機(jī)作為小車的檢測和控制核心;采用金屬感應(yīng)器 TL-Q5MC 來檢測路上感應(yīng)到的鐵片,從而把反饋到的信號送單片機(jī),使單片機(jī)按照預(yù)定的工作模式控制小車在各區(qū)域按預(yù)定的速度行駛,并且單片機(jī)選擇的工作模式不同也可控制小車順著 S 形鐵片行駛;采用霍爾元件 A44E 檢測小車行駛速度;采用 1602LC

37、D 實(shí)時顯示小車行駛的時間,小車停止行駛后,輪流顯示小車行駛時間、行駛距離、平均速度以及各速度區(qū)行駛的時間。本設(shè)計結(jié)構(gòu)簡單,較容易實(shí)現(xiàn),但具有高度的智能化、人性化,一定程度體現(xiàn)了智能。目 錄1 設(shè)計任務(wù)31.1 要求32 方案比較與選擇4 2.1 路面檢測模塊4 2.2 LCD 顯示模塊5 2.3 測速模塊5 2.4 控速模塊6 2.5 模式選擇模塊73 程序框圖74 系統(tǒng)的具體設(shè)計與實(shí)現(xiàn)9 4.1 路面檢測模塊9 4.2 LCD 顯示模塊94.3 測速模塊94.4 控速模塊94.5 復(fù)位電路模塊94.6 模式選擇模塊95 最小系統(tǒng)圖106 最終 PCB 板圖127 系統(tǒng)程序138 致謝469

38、 參考文獻(xiàn)4710 附錄481. 設(shè)計任務(wù):設(shè)計并制作了一個智能電動車,其行駛路線滿足所需的要求。1.1 要求:1.1.1 基本要求:(1)分區(qū)控制:如(圖 1)所示:(圖 1) 車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線) 。在第一個路程 BC 區(qū)(36 米)以低速行駛,通過時間不低于 10s;第二個路程 CD 區(qū)(2 米)以高速行駛,通過時間不得多于 4 秒;第三個路程 DE 區(qū)(36 米)以低速行駛,通過時間不低于 10s。 (2)小車能自動記錄、顯示行駛時間、行駛距離以及行駛速度,還能記錄每段所走的時間,從而判斷是否符合課程設(shè)計要求。 (記錄顯示裝置要求安裝在車上) 。1.1.2 發(fā)

39、揮部分:S 型控制:如(圖 2)所示:(圖 2)車輛沿著 S 形鐵片行駛,自動轉(zhuǎn)彎,自動尋找正確方向和鐵片。當(dāng)離開 S 型鐵片跑道或者感應(yīng)不到鐵片一段時間的時候,小車自動停止,并記錄行駛時間,路程,平均速度并通過 LCD 顯示出來。2. 方案比較與選擇:根據(jù)設(shè)計任務(wù)要求,并且根據(jù)我們自己的需要而附加的功能,該電路的總體框圖可分為幾個基本的模塊,框圖如(圖 3)所示:(圖 3)2.1 路面檢測模塊:采用鐵片感應(yīng)器 TL-Q5MC 來檢測路面上的鐵片從而給單片機(jī)中斷脈沖。原理圖接線如(圖 4)所示:(圖 4)2.2 LCD 顯示模塊:采用 1602LCD,由單片機(jī)的總線模式連接。為節(jié)約電源電量并且

40、不影響 LCD 的功能,LCD 的背光用單片機(jī)進(jìn)行控制,使 LCD 的背光在小車行駛的過程中不亮,因?yàn)槲覀儾槐乜雌滹@示;在其它我們需要看顯示的內(nèi)容的時候 LCD 背光亮。2.3 測速模塊:2.3.1 方案 1:采用采用霍爾開關(guān)元器件 A44E 檢測輪子上的小磁鐵從而給單片機(jī)中斷脈沖,達(dá)到測量速度的作用?;魻栐哂畜w積小,頻率響應(yīng)寬度大,動態(tài)特性好,對外圍電路要求簡單,使用壽命長,價格低廉等特點(diǎn),電源要求不高,安裝也較為方便?;魻栭_關(guān)只對一定強(qiáng)度的磁場起作用,抗干擾能力強(qiáng),因此可以在車輪上安裝小磁鐵,而將霍爾器件安裝在固定軸上,通過對脈沖的計數(shù)進(jìn)行車速測量。2.3.2 方案 2:采用紅外傳感器

41、進(jìn)行測速。但無論是反射式紅外傳感器還是對射式紅外傳感器,他們對都對外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,且價格較為昂貴。通過對方案 1、方案 2 的比較其優(yōu)缺點(diǎn),綜合多方面因素決定選用方案 1,其原理圖接線如(圖 5)所示:(圖 5)2.4 控速模塊:2.4.1 方案 1:使用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,成本低,加速能力強(qiáng),但功率損耗大,特別是低速大轉(zhuǎn)距運(yùn)行時,通過電阻 R 的電流大,發(fā)熱厲害,損耗大,對于小車的長時間運(yùn)行不利。2.4.2 方案 2:采用繼電器對電動機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是

42、電路較為簡單,缺點(diǎn)是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠性不高。2.4.3 方案 3:采用由雙極性管組成的 H 橋電路。用單片機(jī)控制晶體管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H 橋電路保證了可以簡單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度很快,穩(wěn)定性也很高,是一種廣泛采用的調(diào)速技術(shù)。綜合 3 種方案的優(yōu)缺點(diǎn),決定選擇方案 3,其電路原理圖如(圖 6)所示:(圖 6)2.5 模式選擇模塊:模式選擇模塊通過一個 74LS00 與非門和兩個不帶鎖按鈕來控制單片機(jī)單片機(jī)的兩個中斷口,從而按動按鈕來選擇小車走動的路型、來選擇小車的速度

43、是快速、中速、慢速;走完路程小車停止后還可以通過按鈕選擇想要在 LCD 上想看的信息,比如總時間、走過各段路程的時間、平均速度、總路程等。小車走動的模式選擇有:(1) 直線型:滿足設(shè)計任務(wù)的基本要求,能穩(wěn)定的走完全程。之后按順序循環(huán)不斷的顯示走完全程所用的時間、走完高速區(qū)所用的時間和走完低速區(qū)所用的時間這三個時間;或者可以通過兩個按鈕以及 LCD 顯示的菜單選擇所要看的內(nèi)容如平均速度、全程距離以及那三個時間。(2) S 型:滿足設(shè)計任務(wù)的發(fā)揮部分的要求,小車能自動的感應(yīng)到在前面或在后面鐵片,即第一次轉(zhuǎn)彎后若感應(yīng)到的是錯誤的方向,則小車會后退自動調(diào)整方向,沿著 S 型的鐵片走。當(dāng)走完 S 型鐵片

44、后的一定時間里,小車自動停止。之后自動進(jìn)入菜單由我們自己選擇要看的內(nèi)容時間、平均速度和所走的距離。(3)自動型:小車先以一定的速度走完全程,之后再以一定的速度倒退回起點(diǎn),再調(diào)整速度在一定的時間內(nèi)走完全程。走完后 LCD 顯示的內(nèi)容與直線型顯示的內(nèi)容一樣。3. 程序框圖:單片機(jī)主程序框圖、速度感應(yīng)程序框圖和鐵片感應(yīng)程序框圖分別如(圖 7)所示。(圖 7)4系統(tǒng)的具體設(shè)計與實(shí)現(xiàn):4.1 路面檢測模塊: 應(yīng)用一個金屬感應(yīng)器,安裝在車盤下,離地略小于或約四毫米。當(dāng)金屬傳感器檢測到鐵片時將對單片機(jī)發(fā)送中斷信號,單片機(jī)運(yùn)行中斷,改變輸給電機(jī)驅(qū)動信號的電壓占空比來控制小車的速度。4.2 LCD 顯示模塊:采

45、用 1602LCD,由單片機(jī)的總線模式連接。為節(jié)約電源,LCD 的背光用單片機(jī)進(jìn)行控制。4.3 測速模塊:通過霍爾元件感應(yīng)磁鐵來產(chǎn)生脈沖(當(dāng)霍爾元件在離磁場較近時輸出會是高電平,其它時候是低電平),一個車輪均勻放四個小磁鐵,計算一秒所得的脈沖數(shù),從而計算出一秒小車輪子轉(zhuǎn)動圈數(shù),再測量出小車車輪周長即可計算出小車當(dāng)前速度,累加可得到當(dāng)前路程。4.4 控速模塊:考慮到元器件的缺少以及我們所用的電路的驅(qū)動電機(jī)的電路原理圖和和小車自帶的電路的電機(jī)驅(qū)動原理圖一樣,所以暫時使用小車自帶的電機(jī)驅(qū)動電路圖。4.5 復(fù)位電路模塊:單片機(jī)的復(fù)位電路通過手動來實(shí)現(xiàn),復(fù)位電路圖如(圖 8)所示。(圖 8)22uVCC

46、2001KRST4.6 模式選擇模塊:兩個中斷口使用和感應(yīng)鐵片、感應(yīng)速度所使用的中斷口一樣,通過一個與非門和按鈕控制。原理圖如(圖 9)所示:(圖 9)5最小系統(tǒng)圖: 該系統(tǒng)主要用到的是單片機(jī),所以主要的部分是最小系統(tǒng)圖,該最小系統(tǒng)圖如(圖 10)所示: (圖 12)6. 最終 PCB 板圖:該最小系統(tǒng)的最終 PCB 板圖(包括 LCD 接口以及其他的外部擴(kuò)展電路部分,考慮到最小系統(tǒng)的簡潔以及容易看懂,外部擴(kuò)展電路不在最小系統(tǒng)圖上顯示。 )分別如(圖 11) 、 (圖 12)所示:(圖 11)(圖 12)7系統(tǒng)程序:按照預(yù)定的功能,系統(tǒng)實(shí)現(xiàn)預(yù)定的功能的程序如下所示:#include #incl

47、ude /* 宏定義區(qū)*/*- LCD模塊 -*/#define LCD_RW P2_6 /讀寫控制端#define LCD_RS P2_7/數(shù)據(jù)命令選擇端#define LCD_E P2_5/執(zhí)行使能端#define LCD_DataP1 /P1口#define Write0 x00/低電平寫入#define Read0 x01/高電平讀出#define Data0 x01/高電平選擇數(shù)據(jù)#define Cmd0 x00/低電平選擇命令#define Enable0 x00/躍變到低電平時執(zhí)行命令#define Disable0 x01 #define True0 x01#define Fa

48、lse0 x00#define LCD_Init0 x38/初始化模式#define LCD_DispCtr 0 x0C/開顯示及光標(biāo)設(shè)置#define LCD_CloseCtr0 x08/關(guān)顯示#define LCD_CLS 0 x01/清屏幕#define LCD_EnterSet 0 x06/顯示光標(biāo) #define BusyP1_7/忙信號/*- 測速/測距/測時模塊 -*/#define CircleLength0.132/小車轉(zhuǎn)一輪的長度為.132m/*- 控速模塊 -*/#define P03P0_3 /后電機(jī)#define P04P0_4 /后電機(jī)#define P01 P0_

49、1 /前電機(jī)#define P02P0_2 /前電機(jī)#define P31P0_5 /控制液晶背光#define P33P3_3/*- 菜單選擇模塊 -*/#define Line0 x00/0代表直線模式#define Curve0 x01/1代表S型模式#define Normal0 x00/0 代表正常速度#define Low0 x01/1 代表低速#define High0 x02/2 代表高速/* 全局函數(shù)聲明區(qū) */*- LCD模塊 -*/void LCDInit(void);/LCD初始化void SetWriteCmd(void);/設(shè)置寫命令模式void SetReadCm

50、d(void);/設(shè)置讀命令模式void SetWriteData(void);/設(shè)置寫數(shù)據(jù)模式void WriteCmd(char cmd);/寫命令void WriteData(char ddata);/寫數(shù)據(jù)void ExecuteCmd(void);/執(zhí)行命令void SetXY(char x,char y);/定位顯示地址void DisplaySingleChar(char x,char y,char cchar);/顯示單個字符void DisplayString(char x,char y,char *str); /顯示一段字符串void Delay(unsigned int

51、time);/延時主程序void DelayUs(unsigned int time);/延時子程序bit IsBusy(void);/判斷忙標(biāo)志函數(shù)void DisplayTime(void);/顯示時間void DisplayAVGSpeed(void);/顯示平均速度void DisplayDistance(void);/顯示路程/*- 測速/測距/測時模塊 -*/ void INTInit(void); /所有中斷初始化void SpeedINT(void); /測速中斷void ComputeTime(void);void ComputeSpeedANDDistance(void);

52、/計算速度和距離/*- 控速模塊 -*/void CtrSpeedINT(void); /控速中斷void Time0INT(void); void Time1INT(void); /控速單位時間中斷void Clock0_Init(void);/時鐘中斷初始化void Clock1_Init(void); /時鐘中斷初始化void CtrSpeed(void);/* 全局變量區(qū)*/float SpeedCount = 0; /測速計數(shù)脈沖float Speed = 0.0;float Distance = 0.0; char Time1INTCount=0;/T1中斷時間計時float Pa

53、ssTime=0.00;/小車行走的時間short IsT0INT=1;bit IsT1INT;/判斷T1是否已經(jīng)響應(yīng)中斷short IsT0INT2=1;char Thx5=0 xf4,0 xf4,0 xc5,0 xf4,0 xff; /3ms,3ms,15ms,3mschar Tlx5=0 x48,0 x48,0 x68,0 x48,0 xff;char Thx0=0 xd8;char Tlx0=0 xf0;char Thx1=0 xb1; /20mschar Tlx1=0 xe0;short Round=0;short Back=0;short Back0=0;bit Backid;bi

54、t Stop=0;char Area0=0;char Area1=0;/區(qū)域變量char LowSpeedArea1StartTime;char LowSpeedArea1EndTime;char HighSpeedAreaEndTime;char LowSpeedArea2EndTime;char LowSpeedArea1PassTime=0; /第一個低速區(qū)通過時間char HighSpeedAreaPassTime=0;/高速區(qū)通過時間char LowSpeedArea2PassTime=0;/第二個低速區(qū)通過時間char ReadyToGo=4;/倒計時char flag;bit R

55、oundid=0;char Nocurve=0; char ChangeFlag;char Mode; bit Running;bit SelectedAll;/模式和速度是否選擇完畢標(biāo)志bit IsSelectingMode;/模式選擇標(biāo)志bit IsSelectingSpeed;/速度選擇標(biāo)志bit ModeSelected;/已經(jīng)被選擇的模式標(biāo)志char SelectedMode=10;/模式選擇是否完畢標(biāo)志bit Next;/Next鍵標(biāo)志bit SpeedSelected;/已經(jīng)被選中的速度方案標(biāo)志char SelectedSpeed;/速度選擇是否完畢標(biāo)志bit ChoosingD

56、isplay;/人工選擇菜單開始標(biāo)志bit SelectedShow;/顯示選擇標(biāo)志bit SelectedReturn;/返回選擇標(biāo)志bit Selected;/確定/返回鍵選擇標(biāo)志bit ReturnSelection;/返回鍵啟用標(biāo)志bit AVGSpeedShow;/平均速度顯示標(biāo)志bit TotalDistanceShow;/總路程顯示標(biāo)志bit ReturnMain;/返回主菜單標(biāo)志bit AutoDisplay;/自動顯示標(biāo)志bit GoToChoosingDisplay;/人工選擇標(biāo)志bit AutoMode=0;char PassLineID=0;char PassLine=

57、0;float PrepareDistance;float FirstDistance;float SecondDistance;float ThirdDistance;int FirstHigh;int SecondHigh;int ThirdHigh;float Rate=1.25; /5ms時的速度float Count=4;/時間的倍數(shù)/* 全局函數(shù)實(shí)現(xiàn)區(qū)*/*-主函數(shù) -*/void main() P01=0;P02=0;P03=0;P04=0;P31=1;/單片機(jī)復(fù)位,背光開Delay(40);/延時等待LCD啟動LCDInit();/初始化LCDDisplayString(0 x

58、0,0, Starting. );DisplayString(0 x0,1,Designed By 202);Delay(300);WriteCmd(LCD_CLS);EA=1; /開總中斷EX0=1;/開INT0中斷IT0=1;/INTO邊沿觸發(fā)EX1=1; /開INT1中斷IT1=1; /INT1邊沿觸發(fā)SelectedAll=False; /開始模式和速度選擇/*- 模式選擇 -*/DisplayString(0 x0,0,Choose The Mode );DisplayString(0 x0,1,you want. );Delay(50);WriteCmd(LCD_CLS);IsSe

59、lectingMode=True;while(1) WriteCmd(LCD_CLS);DisplayString(0 x0,0, Line Mode );DisplayString(0 x0,1,Next Yes);Delay(300);/延時消除抖動while (1) /不斷檢測中斷,直到按確定鍵或是NEXT鍵if (Next=True)/如果按Next鍵則直接跳出break;if (ModeSelected=True)/如果按確定鍵則設(shè)置模式為Line并跳出SelectedMode=Line;break;/如果什么鍵都沒有按下,那么一直顯示等待if (ModeSelected=True)

60、/按下了確定鍵,退出模式選擇IsSelectingMode=False;break;if (Next=True)/按下了Next鍵,顯示下一個菜單項Next=False;WriteCmd(LCD_CLS);DisplayString(0 x0,0, Curve Mode );DisplayString(0 x0,1,Next Yes);Delay(300);/延時消除抖動while(1)/不斷檢測中斷,直到按確定鍵或是Next鍵 if (Next=True)/如果再一次按下Next鍵,則跳出break;if (ModeSelected=True)/如果按下確定鍵,則設(shè)置模式為Curve,并跳出

61、SelectedMode=Curve;break; if (ModeSelected=True) /按下了確定鍵,退出模式選擇IsSelectingMode=False;break;if (Next=True)/再一次按下了Next鍵,則循環(huán)模式選擇Next=False;WriteCmd(LCD_CLS);DisplayString(0 x0,0, AutoMode );DisplayString(0 x0,1,Next Yes);Delay(300); /延時消除抖動while(1)if (Next=True)break;if (ModeSelected=True)AutoMode=1;br

62、eak;if (ModeSelected=True)IsSelectingMode=False;break;if (Next=True)Next=False;continue;Delay(50);WriteCmd(LCD_CLS); /*- 速度選擇 -*/if (SelectedMode=Line & AutoMode=0)DisplayString(0 x0,0, Now Choose a );DisplayString(0 x0,1, kind of Speed );Delay(50);WriteCmd(LCD_CLS);IsSelectingSpeed=True;while(1)Wri

63、teCmd(LCD_CLS);DisplayString(0 x0,0, Normal Speed );DisplayString(0 x0,1,Next Yes);Delay(300); /延時消除抖動while(1)if (Next=True) /如果按Next鍵則直接跳出break;if (SpeedSelected=True) /如果按確定鍵則設(shè)置速度為Normal并跳出Thx0=0 xec;Tlx0=0 x78; /5msThx1=0 xf0;Tlx1=0 x60; /4msThx2=0 x8a;Tlx2=0 xd0; /30msThx3=0 xf4;Tlx3=0 x48; /3ms

64、SelectedSpeed=Normal;break; /如果什么鍵都沒有按下,那么一直顯示等待if (SpeedSelected=True) /按下了確定鍵,退出速度選擇IsSelectingSpeed=False;break;if (Next=True)Next=False;WriteCmd(LCD_CLS); DisplayString(0 x0,0, Low Speed );DisplayString(0 x0,1,Next Yes);Delay(300); /延時消除抖動while(1)if (Next=True)/如果再一次按下Next鍵,則跳出break;if (SpeedSel

65、ected=True)/如果按下確定鍵,則設(shè)置速度為Low,并跳出SelectedSpeed=Low;/這里沒有速度設(shè)置,因?yàn)槟J(rèn)速度就是Lowbreak;if (SpeedSelected=True)/按下了確定鍵,退出速度選擇IsSelectingSpeed=False;break;if (Next=True)Next=False;WriteCmd(LCD_CLS);DisplayString(0 x0,0, High Speed );DisplayString(0 x0,1,Next Yes);Delay(300); /延時消除抖動while(1)if (Next=True) /如果再一

66、次按下Next鍵,則跳出break;if (SpeedSelected=True) /如果按下確定鍵,則設(shè)置速度為High,并跳出Thx0=0 xe0;Tlx0=0 xc0; /8ms Thx1=0 xe0;Tlx1=0 xc0; /8ms Thx2=0 x63;Tlx2=0 xc0; /40ms Thx3=0 xec;Tlx3=0 x78; /5msSelectedSpeed=High;break;if (SpeedSelected=True) /按下了確定鍵,退出速度選擇IsSelectingSpeed=False;break;if (Next=True) /再一次按下了Next鍵,則循環(huán)速度選擇Next=False;continue;SelectedAll=True; /標(biāo)志模式選擇和速度選擇完畢Running=True;Delay(50);WriteCmd(LCD_CLS);/*- 顯示所選擇的模式和速度方案 -*/if (SelectedMode=Line)DisplayString(0 x0,0,Choosen Mode is );DisplayString(0 x0,1,

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!