避障循跡智能小車設(shè)計(jì)大賽方案書_第1頁
避障循跡智能小車設(shè)計(jì)大賽方案書_第2頁
避障循跡智能小車設(shè)計(jì)大賽方案書_第3頁
避障循跡智能小車設(shè)計(jì)大賽方案書_第4頁
避障循跡智能小車設(shè)計(jì)大賽方案書_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、避障循跡智能小車方案書隊(duì)名疾風(fēng)PRO隊(duì)長隊(duì)員目錄 摘要3第1章 設(shè)計(jì)要求與方案論證31.1 設(shè)計(jì)任務(wù)與要求31.2 設(shè)計(jì)方案論證41.3 設(shè)計(jì)原理5第2章 系統(tǒng)硬件電路設(shè)計(jì)62.1 系統(tǒng)總體設(shè)計(jì)62.2 模塊設(shè)計(jì)分析7第3章 系統(tǒng)的軟件設(shè)計(jì)分析123.1 總程序流程圖123.2 程序子模塊設(shè)計(jì)13第4章 調(diào)試與測試134.1 調(diào)試過程中遇到的問題與解決13第5章 小車實(shí)物圖14第6章 結(jié)束語156.1 小組分工156.2 項(xiàng)目進(jìn)度表156.1 心得16 參考文獻(xiàn)附錄 一(元件清單)附錄 二(程序清單)摘要本課題是基于STC89C52單片機(jī)的智能小車的設(shè)計(jì)與實(shí)現(xiàn),小車完成的主要功能是能夠避開賽道

2、上的兩塊擋板,并在之后自主識別黑色引導(dǎo)線且根據(jù)黑線走向?qū)崿F(xiàn)快速穩(wěn)定的尋線行駛。小車系統(tǒng)以STC89C52單片機(jī)為系統(tǒng)控制處理器;采用紅外傳感器獲取擋板和賽道上黑線的信息,來對小車的方向和速度進(jìn)行控制。此外,對整個控制軟件進(jìn)行設(shè)計(jì)和程序的編制以及程序的調(diào)試,并最終完成軟件和硬件的融合,實(shí)現(xiàn)小車的預(yù)期功能。第 1 章 任務(wù)及要求與方案論證1.1設(shè)計(jì)任務(wù)與要求1.1.1 設(shè)計(jì)并制作一個避障循跡小車,其行駛路線示意圖如下:1.1.2 機(jī)器人從起點(diǎn)出發(fā),在繞過兩個擋板障礙物之后,自動尋找在地上的黑線,并能跟隨黑線的軌跡行走順利地到達(dá)終點(diǎn)。1.1.3 能顯示機(jī)器人行駛的時間,里程,速度等其他功能。1.1.

3、4 機(jī)器人一旦啟動后,不得人為干預(yù)其行駛,機(jī)器人須在8分鐘內(nèi)抵達(dá)終點(diǎn),機(jī)器人沖進(jìn)禁區(qū),需重新從起點(diǎn)開始,時間累加,每支隊(duì)伍有3次機(jī)會進(jìn)行避障尋軌,取最短時間計(jì)入最終成績,機(jī)器人長不小于15cm,寬不小于10cm1.2 設(shè)計(jì)方案論證1.2.1 單片機(jī)選擇方案方案一:用可編程邏輯器件(PLD)實(shí)現(xiàn)。這種方案與前一種相比,可靠性增加,同時可以很好的完成避障的功能。但是循跡功能不能實(shí)現(xiàn),而且這種方案只能選用數(shù)碼管顯示,顯示的效果不夠理想,無法很好的完成擴(kuò)展功能的要求,系統(tǒng)的靈活性不夠。 方案二:采用STC89C52單片機(jī)作為系統(tǒng)的控制核心。密碼管理系統(tǒng)用I2C總線AT24C02來實(shí)現(xiàn),溫度感應(yīng)用DS1

4、8B20來采樣溫度,利用PWM控制電機(jī)轉(zhuǎn)速。由于使用了單片機(jī),整個系統(tǒng)可編程,系統(tǒng)的靈活性大大增加了。另外,本方案可以方便的實(shí)現(xiàn)其他功能的擴(kuò)展。 經(jīng)過以上的比較論證,選用方案三來完成項(xiàng)目設(shè)計(jì)的要求。1.2.2 避障的選擇 方案一:在避障模塊中,選擇超聲波避障,優(yōu)點(diǎn)是反應(yīng)速度靈敏,距離遠(yuǎn),受外界干擾小。但題目所要求的距離是20cm,如果利用超聲波傳感器進(jìn)行避障的話,由于空間小聲波在小空間不同方向里會進(jìn)行多次反射,左右前后的傳感器之間互相干擾,使控制中心不能明確判斷出那個方向遇到了障礙物,從而動作絮亂,不能實(shí)現(xiàn)要求。 方案二:使用紅外接收頭和發(fā)射管(反射頭能反射)配合,利用38K頻率解決靈敏度問題

5、。38K調(diào)制和發(fā)射電路。使用一個定時器的快速PWM模式產(chǎn)生38K調(diào)制信號,通過剩余的四個施密特觸發(fā)器緩沖,推動8050三極管和紅外發(fā)光管發(fā)射已經(jīng)調(diào)制的紅外線。期中2個N148接單片機(jī)IO腳控制左右紅外發(fā)光管輪流發(fā)射。后面串接的可見光LED是為了方便用戶調(diào)試而設(shè)置的,讓用戶知道當(dāng)前是否在發(fā)射紅外線。通過調(diào)節(jié)PWM的占空比,調(diào)節(jié)紅外發(fā)光管的亮度,從而實(shí)現(xiàn)調(diào)節(jié)感知障礙物距離的功能。經(jīng)過以上的比較論證,選用方案三來完成項(xiàng)目設(shè)計(jì)的要求。1.2.3 顯示模塊的選擇 方案一:使用多個數(shù)碼管顯示。LED數(shù)碼管是利用二極管發(fā)光顯示數(shù)字和字母,具有亮度大、接口設(shè)計(jì)比較容易,價格相對較便宜等優(yōu)點(diǎn)。但是由于它工作電流

6、較大、不能顯示漢字,顯示的信息量有限,若在此題目中應(yīng)用就會受到很大的限制。 方案二:采用液晶顯示。液晶特別是具有字母顯示功能的液晶顯示器,來實(shí)現(xiàn)顯示功能,不僅可以實(shí)現(xiàn)基本的顯示信息,而且可以顯示豐富的符號指示信息以及文字指示信息,信息量豐富且直觀易懂。而且液晶顯示有功耗低,體積小,重量輕,壽命長,不產(chǎn)生電磁輻射污染等優(yōu)點(diǎn)。系統(tǒng)采用方案二,設(shè)計(jì)選用LCD1602液晶顯示模塊。1.2.4 電機(jī)模塊的選擇 方案一:采用步進(jìn)電機(jī),由于其轉(zhuǎn)過的角度可以精確的定位,可以實(shí)現(xiàn)小車前進(jìn)路程和位置的精確定位。但其輸出力矩低,控制復(fù)雜,質(zhì)量較重。方案二:采用直流電機(jī),其控制比較簡單,可以通過調(diào)節(jié)方波占空比來實(shí)現(xiàn)P

7、WM調(diào)速,缺點(diǎn)需外加傳感器實(shí)現(xiàn)路程的計(jì)算?;谝陨戏治?,我們選用了直流電機(jī)。1.3 設(shè)計(jì)原理1.3.1 避障原理:避障傳感器我們選擇光電漫反射開關(guān),是當(dāng)開關(guān)發(fā)射光束時,目標(biāo)產(chǎn)生漫反射,發(fā)射器和接收器構(gòu)成單個的標(biāo)準(zhǔn)部件,當(dāng)光電開關(guān)有足夠的組合光返回接收器時,開關(guān)狀態(tài)發(fā)生變化,從而一起輸出端電平的變化,繼而利用電平進(jìn)行障礙物判斷。1.3.2 循跡原理:這里的循跡是指小車在白色地板上循黑線行走,由于黑線和白色地板對光線的反射系數(shù)不同,可以根據(jù)接收到的反射光的強(qiáng)弱來判斷“道路”。通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地

8、面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限。1.3.3 測速原理:這里我們采用光電碼盤來測速,碼盤圓周上有等分等寬的透光條碼和遮光條碼,通過采到的脈沖來進(jìn)行轉(zhuǎn)速與電信號的轉(zhuǎn)換。碼盤與車輪同軸,置于光電對管之間,當(dāng)車輪轉(zhuǎn)動時,條碼就可以交替的透光和遮光,從而產(chǎn)生一連串脈沖電壓信號。第 2 章 系統(tǒng)硬件電路設(shè)計(jì)2.1系統(tǒng)總體設(shè)計(jì) 系統(tǒng)硬件結(jié)構(gòu)框圖2.2模塊設(shè)計(jì)分析2.2.1避障傳感器模塊漫反射光電開關(guān)是一種

9、集發(fā)射器和接收器于一體的傳感器,當(dāng)有被檢測物體經(jīng)過時,將光電開關(guān)發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關(guān)就產(chǎn)生了開關(guān)信號。漫反射開關(guān)檢測原理圖我們所選擇的漫反射關(guān)電開關(guān)的檢測距離可達(dá)30cm,其抗干擾的能力強(qiáng),可進(jìn)行可靠的避障。2.2.2循跡傳感器模塊反射式光電傳感器是經(jīng)常使用的傳感器。我們采用的紅外發(fā)射接收管對價格便宜、體積小、使用方便、質(zhì)量可靠、用途廣泛。在黑線檢測的測試中,若檢測到白色區(qū)域,發(fā)射管發(fā)射的紅外線沒有反射到接收管,測量接收管的電壓為48V ,若檢測到黑色區(qū)域,接收管接受到發(fā)射管發(fā)射的紅外線,所得電壓也就隨之發(fā)生變化,測的接收管的電壓為0V,測試基本滿足要求。循跡模塊

10、如圖2-3所示:圖2-3 傳感器的安裝:正確選擇檢測方法和傳感器件是決定循跡效果的重要因素,而且正確的器件安裝方法也是循跡電路好壞的一個重要因素。從簡單、方便、可靠等角度出發(fā),同時在底盤裝設(shè)4個紅外探測頭,進(jìn)行兩級方向糾正控制,將大大提高其循跡的可靠性,具體位置分布如圖3所示。 圖3 紅外探頭的分布圖圖中四個光電傳感器同在一個水平線上,其中2與3光電傳感器位于靠近黑色軌跡左右邊,來控制微小轉(zhuǎn)彎,1和4位于遠(yuǎn)離黑線,用于檢測道路分支、大角度轉(zhuǎn)彎等,這是考慮到如果轉(zhuǎn)彎角過大,小車即使剎車,也會由于慣性過大偏離軌道,由于加入了x2和y2這兩個光電傳感器,可以提前預(yù)知小車即將轉(zhuǎn)彎的幅度,從而更好控制小

11、車轉(zhuǎn)彎,提高了小車循跡的可靠性。2.2.3控制器模塊89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用INTEL公司可靠的CHMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了HMOS的高速和高密度技術(shù)及CHMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于80C51增強(qiáng)型單片機(jī)版本,集成了時鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類似馬達(dá)控制等應(yīng)用場合。且具有PWM輸出功能,更便于控制小車的車速及轉(zhuǎn)向。其基本模塊最小系統(tǒng)電路如圖2-4所示圖2-4 2.2.4電機(jī)驅(qū)動模塊驅(qū)動模塊采用專用芯片L298N 作為電機(jī)驅(qū)

12、動芯片,L298N 是一個具有高電壓大電流的全橋驅(qū)動芯片,其響應(yīng)頻率高,一片L298N可以分別控制兩個直流電機(jī)。以下為L298N的引腳圖(圖3-1)和輸入輸出關(guān)系表(表1)。其中,系統(tǒng)電機(jī)驅(qū)動模塊電路如圖2-5: 圖3-1 L298N外部引腳 表1 L298N輸入輸出關(guān)系圖2-5 電機(jī)驅(qū)動模塊2.2.5電機(jī)模塊對于電機(jī)模塊,我們考慮了兩種方案,一種是步進(jìn)電機(jī),另外一種是直流電機(jī)。下面對比一下兩種電機(jī)的優(yōu)缺點(diǎn)。1) 采用步進(jìn)電機(jī),由于其轉(zhuǎn)過的角度可以精確的定位,可以實(shí)現(xiàn)小車前進(jìn)路程和位置的精確定位。但其輸出力矩低,控制復(fù)雜,質(zhì)量較重。2) 采用直流電機(jī),其控制比較簡單,可以通過調(diào)節(jié)方波占空比來實(shí)

13、現(xiàn)PWM調(diào)速,缺點(diǎn)需外加傳感器實(shí)現(xiàn)路程的計(jì)算?;谝陨戏治?,我們選用了直流電機(jī)。2.2.7顯示模塊采用LCD1602作為顯示器件,1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊它有若干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符,板面能夠同時顯示16x02即32個字符。(16列2行)。上行可用于顯示小車速度,下行可用于顯示小車行駛過的路程。LCD1602實(shí)物圖如下: 2.2.6.電源模塊對于電源模塊,我們采用雙電源,把單片機(jī)的供電和驅(qū)動電路分開來,確保單片機(jī)控制部分和電機(jī)驅(qū)動的部分的電壓不會互相影響。這樣有助于消除電機(jī)干擾,提

14、高系統(tǒng)的穩(wěn)定性。2.2.7總結(jié)綜合利用以上各個模塊可實(shí)現(xiàn)小車避障、循跡、顯示速度、路程,記錄道路信息等功能,我們采用物盡所用的原則,考慮到89c52的資源情況,基本上把mcu控制芯片的所有資源充分利用起來,資源分配如圖 2-7所示: 第 3 章 系統(tǒng)的軟件設(shè)計(jì)分析3.1總程序框架圖3.2紅外循跡模塊程序框架圖第 4 章 調(diào)試與測試4.1調(diào)試過程中遇到的問題與解決在小車調(diào)試的過程中,我們遇到了若干問題,諸如如何讓小車走直線,如何讓小車執(zhí)行精確90度轉(zhuǎn)彎,這是在避障部分所遇到的比較棘手的問題,而在循跡部分,雖能執(zhí)行完任務(wù),但卻是以犧牲速度為代價的,所以在循跡部分,速度與準(zhǔn)確性是一對矛盾,如何解決好

15、這個矛盾,是我們所面臨的最大問題。基于以上的種種問題,我們提出種種解決方案。對于避障所遇到的問題,如走直線,我們引入了反饋程序,通過兩個車輪速度的差,調(diào)節(jié)占空比,來平衡兩個輪的速度,從而實(shí)現(xiàn)走直線。對于90度精確轉(zhuǎn)彎,我們通過對碼盤計(jì)路程,來實(shí)現(xiàn)比較精準(zhǔn)的轉(zhuǎn)彎,由于我們的碼盤精度有限,故最后引人了2cm的誤差,但在合理范圍內(nèi)。在循跡方面,我們同調(diào)節(jié)探頭位置,增加探頭,優(yōu)化程序等步驟,不斷地改善循跡,從而使其速度良好,精確度有保障。第 5 章 小車實(shí)物圖小車實(shí)物圖第 6 章 結(jié)束語 6.1 小組分工材料購買李宏楷電路圖設(shè)計(jì),電路仿真伍建輝程序編輯及軟件仿真葉威棠功能調(diào)試模塊面包板調(diào)試由李宏楷負(fù)責(zé)

16、,程序結(jié)合硬件由葉威棠負(fù)責(zé),基本功能測試及現(xiàn)場測試由伍建輝負(fù)責(zé)電路板焊制,硬件制作歐陽燦論文撰寫歐陽燦6.2 項(xiàng)目進(jìn)度表日期項(xiàng)目進(jìn)度2012年3月25日構(gòu)思詳細(xì)方案,制定具體制作計(jì)劃,購買元件2011年3月26日開始設(shè)計(jì)避障、循跡、電機(jī)驅(qū)動、顯示等電路,并仿真2011年3月28日完成電路設(shè)計(jì)及仿真,開始焊制電路,先完成小車循跡探測電路,再完成超聲波避障電路,然后安裝顯示模塊和電機(jī)模塊,最后進(jìn)行整體組合。2011年4月1日基本完成硬件制作,開始程序編寫,同時進(jìn)行程序結(jié)合硬件的調(diào)試,并不斷進(jìn)行硬件調(diào)整。2011年4月6日完成編程,進(jìn)行測試能實(shí)現(xiàn)基本功能。2011年4月7日參加中段測評,對比其他隊(duì)伍

17、,進(jìn)行系統(tǒng)改進(jìn)2011年4月10日完善程序及硬件,開始撰寫論文2011年4月12日調(diào)試至最佳,尋找不足,優(yōu)化工程,最后完成論文。2011年4月14日參加決賽6.3 心得感悟此次單片機(jī)比賽讓我們學(xué)到了很多東西,深深體會到學(xué)習(xí)的樂趣,也深刻的意思到團(tuán)隊(duì)合作的重要性,以及分工的重要性。我們每一個組員認(rèn)真的負(fù)責(zé)屬于自己的部分,互相幫助,相互提高。遇到困難,也從未氣餒,而是認(rèn)真分析,尋找途徑,解決問題。經(jīng)過此次,大家都收獲了不少知識,這是對我們的極大鼓勵。 參考文獻(xiàn)1李建忠.單片機(jī)原理及應(yīng)用.西安電子科技大學(xué)出版 2006.02 2李朝青.單片機(jī)原理及接口技術(shù).北京航空航天大學(xué)出版 2006.033余發(fā)

18、山.單片機(jī)原理及及應(yīng)用技術(shù).中國礦業(yè)大學(xué)出版社 2003.124楊凌霄.微型計(jì)算機(jī)原理及應(yīng)用.中國礦業(yè)大學(xué)出版社 2004.085何立民.單片機(jī)應(yīng)用技術(shù)選編.北京航空航天大學(xué)出版社 2000.086丁立軍.基于超聲波傳感器與紅外傳感器的移動機(jī)器人感測系統(tǒng)研制 7周杏鵬.傳感器與檢測技術(shù) 清華大學(xué)出版社 2009.10附錄一(元件清單)主要電子元件名稱數(shù)量集成非門74ls042片超聲波發(fā)射器和接收器2對電阻20K、22k、4.7k、200K、10k若干電容330P、1u、23.3u若干單片機(jī)stc89c521片液晶16021片電機(jī)驅(qū)動芯片L298N1片直流電機(jī)2個紅外發(fā)射接收對管4對集成運(yùn)放L3

19、39N4片I2C總線芯片24c021片穩(wěn)壓電源芯片LM8051片穩(wěn)壓電源芯片lm3171片附錄二(程序清單)#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define zhengzhuan aint0=bint0=1;aint1=bint1=0;#define fanzhuan aint0=bint0=0;aint1=bint1=1;#define stop aint0=bint0=aint1=bint1=1;#define youzhua

20、n bint1=1;aint0=1;aint1=0;bint0=1;#define zuozhuan bint1=0;aint0=1;aint1=1;bint0=1;sbit rs=P26;sbit e=P27;sbit pwma=P10;sbit pwmb=P11;sbit aint0=P12;sbit aint1=P13;sbit bint0=P14;sbit bint1=P15;sbit hw5=P24;sbit hw4=P23;sbit hw3=P22;sbit hw2=P21;sbit hw1=P20;sbit guangdian1=P25;sbit guangdian2=P16;s

21、bit guangdian3=P17;uchar code number="0123456789" /10位,包括空格uchar count,tcount,tiaojie,zkba,zkbb,bjzkb,temp,qian5,qian3,qian2,hwbl4,hwbl1,hwbl3,hwbl2,hwbl5,num,in,out;uint i,distance,path1,path2,speed;long way,way2;void delay(uint x);void init();void write_com(uchar com);void write_dat(ucha

22、r dat);void lcd_display();void zhixiantiaozheng();void zhuanwantiaozheng();void zhijiaotiaozheng();void jiance();void zhixian();void zhuanwan();void zhijiao();void bizhang();void ting();void zuo_zhizhuan();void you_zhizhuan();void run();void back();void diyizuo_zhizhuan();void diyiyou_zhizhuan();voi

23、d dierzuo_zhizhuan();void dieryou_zhizhuan();void jiehe();void jieherun();void xunji_zuoguai();void xunji_youguai();void main()init(); bizhang();jiehe();while(1) jiance();void diyiyou_zhizhuan() path1=0;/zuozhuan;/zhengzhuanpwma=pwmb=0;while(path1<=14)pwma=0;pwmb=0;pwma=1;pwmb=0;pwma=0;pwmb=0;pwm

24、a=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=1;pwmb=0; pwma=1;pwmb=0;pwma=1;pwmb=0;pwma=1;pwmb=0; /*if(guangdian2=0)delay(1);if(guangdian2=0) break; */ path1=0; void dieryou_zhizhuan() path1=0;/zuozhuan;/zhengzhuanpwma=pwmb=0;while(path1<=16)pwma=0;pwmb=0;pwma=1;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;

25、pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=1;pwmb=0; pwma=1;pwmb=0;pwma=1;pwmb=0;pwma=1;pwmb=0;path1=0; void dierzuo_zhizhuan() path2=0;/zuozhuan;/zhengzhuanpwma=pwmb=0;while(path2<=20)pwma=0;pwmb=0;pwma=0;pwmb=1;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=1;pwma=0;pwmb=1; pwma=0;pw

26、mb=1;pwma=0;pwmb=1; if(guangdian3=0)delay(1);if(guangdian3=0) break;path2=0; void diyizuo_zhizhuan() path2=0;/zuozhuan;/zhengzhuanpwma=pwmb=0;while(path2<=12)pwma=0;pwmb=0;pwma=0;pwmb=1;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=1;pwma=0;pwmb=1; pwma=0;pwmb=1;pwma=0;pwmb=

27、1;path2=0; void delay(uint x)uint a,b;for(a=x;a>0;a-)for(b=250;b>0;b-);void init()pwma=0;pwmb=0;TMOD=0x51;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;IT0=1;IT1=1;EX0=1;EX1=1;EA=1;TR0=1; e=0;delay(1);write_com(0x38);delay(1);write_com(0x38);delay(1);write_com(0x38);delay(1);write_com(0x0c

28、); /開顯示,設(shè)置光標(biāo)不閃爍delay(1);write_com(0x06); /光標(biāo)移動設(shè)置delay(1);write_com(0x01); /清屏delay(1);write_com(0x80);delay(1);write_dat('v');delay(1);write_dat(':');delay(1);write_com(0x80+7); /換寫入位置delay(1);write_dat('c');delay(1);write_dat('m');delay(1);write_dat('/');dela

29、y(1);write_dat('s');delay(1);write_com(0xc0); /換行開始顯示路程delay(1);write_dat('s');delay(1);write_dat(':');delay(1);write_com(0xc0+8); /換寫入位置delay(1);write_dat('c');delay(1);write_dat('m');delay(1);speed=distance=way=way2=bjzkb=num=in=out=0;lcd_display();tiaojie=1

30、;delay(500);void write_com(uchar com)rs=0;delay(1);e=1;delay(1);P0=com;delay(1);e=0;void write_dat(uchar dat)rs=1;delay(1);e=1;delay(1);P0=dat;delay(1);e=0;void lcd_display()write_com(0x80+3); /換寫入位置delay(1);write_dat(numberspeed/100);delay(1);write_dat(number(speed/10)%10);delay(1);write_dat(number

31、speed%10);delay(1);write_com(0xc0+3); /換行開始顯示路程delay(1);write_dat(numberdistance/1000);delay(1);write_dat(number(distance/100)%10);delay(1);write_dat(number(distance%100)/10);delay(1);write_dat(numberdistance%10);delay(1);void jiance()hw1=hw2=hw3=hw4=hw5=1;temp=P2;temp&=0x1f;hwbl5=(temp&0x10

32、)>>4;hwbl4=(temp&0x08)>>3;hwbl3=(temp&0x04)>>2;hwbl2=(temp&0x02)>>1;hwbl1=temp&0x01;/if(hwbl5=0)/if(hwbl1=1|hwbl2=1)xunji_youguai();else if(hwbl4=1|hwbl3=1)xunji_zuoguai();else jieherun(); /run();/else/jieherun();/void xunji_zuoguai()pwma=pwmb=0;while(1)pwma=0

33、;pwmb=0;pwma=0;pwmb=1;/pwma=0;pwmb=0;pwma=1;pwmb=1;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=0;pwma=0;pwmb=1;pwma=0;pwmb=1; pwma=0;pwmb=1;pwma=0;pwmb=1; if(hw2=1) break;void xunji_youguai() pwma=pwmb=0;while(1)pwma=0;pwmb=0;pwma=1;pwmb=0;pwma=0;pwmb=0;/pwma=0;pwmb=0;pwma=1;pwmb=1;pwma=0;pwmb=0;pwma=0;

34、pwmb=0;pwma=1;pwmb=0; pwma=1;pwmb=0;pwma=1;pwmb=0;pwma=1;pwmb=0; if(hw3=1) break; void bizhang()while(1)if(guangdian1=0)delay(5);if(guangdian1=0) break;run();ting();diyiyou_zhizhuan();ting();while(1)if(guangdian2=1)delay(5);if(guangdian2=1) break;run();ting();diyizuo_zhizhuan();ting();while(1)if(guangdian1=0)delay(5);if(guangdian1=0) break;run();ting();dierzuo_zhizhuan();ting();while(1)if(guangdian3=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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論