freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的智能小車(chē)設(shè)計(jì)與制作畢業(yè)論文(編輯修改稿)

2025-07-16 12:53 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 電機(jī)端口進(jìn)行定義,如下:sbit LeftLed=P2^0。 sbit RightLed=P0^7。 定義前方左側(cè)和右側(cè)指示燈端口sbit LeftIR=P3^5。 sbit RightIR=P3^6。 sbit FontIR=P3^7。定義前方左側(cè)和右側(cè)紅外探頭以及正前方紅外探頭sbit M1A=P0^0。 sbit M1B=P0^1。 sbit M2A=P0^2。 sbit M2B=P0^3。 定義電機(jī)1及電機(jī)2的正向端口和反向端口下面是對(duì)小車(chē)的附加功能,如話(huà)筒、光敏電阻、蜂鳴器的端口定義,如下:sbit B1=P0^4。 sbit RL1=P0^5。 sbit SB1=P0^6。定義話(huà)筒傳感器、光敏電阻和蜂鳴端口sbit IR1=P3^3定義紅外接收端口void Delay()。{ uint DelayTime=30000 定義延時(shí)子程序和延時(shí)時(shí)間變量綜上所有程序只是整體程序代碼設(shè)計(jì)的開(kāi)頭部分,只是對(duì)小車(chē)所有需要定義的端口及數(shù)據(jù)類(lèi)型進(jìn)行定義,為以下的每個(gè)模塊程序設(shè)計(jì)做好鋪墊。 單個(gè)模塊程序設(shè)計(jì)與編寫(xiě) 程序狀態(tài)指示燈模塊程序狀態(tài)指示燈是比較常見(jiàn)到的一種工作狀態(tài)指示器,像網(wǎng)卡、無(wú)線(xiàn)發(fā)射器、電腦等等都會(huì)有相應(yīng)的LED指示燈來(lái)表示當(dāng)前儀器的工作狀況。往往用LED閃亮的快慢來(lái)表示儀器是否處在工作中,以及長(zhǎng)亮與長(zhǎng)滅來(lái)表示儀器是否故障或需要檢查等操作本設(shè)計(jì)系統(tǒng)中的此模塊也是通過(guò)LED燈來(lái)模擬小車(chē)的運(yùn)行情況,設(shè)計(jì)思路如下:(1)定義一個(gè)可變的延時(shí)函數(shù),通過(guò)它來(lái)改變燈閃亮的時(shí)間.(2)選取51機(jī)器人中相應(yīng)的LED模塊,聲明端口,用來(lái)顯示閃亮的狀態(tài)。(3)編寫(xiě)主函數(shù),讓芯片一直循環(huán)運(yùn)行,并定義一個(gè)時(shí)間記錄器來(lái)改變閃亮情況。(4)根據(jù)時(shí)間記錄器的數(shù)值來(lái)改變LED指示燈的閃亮情況,來(lái)完成程序狀態(tài)指示燈的模擬操作.具體的程序見(jiàn)附錄B程序指示燈模塊。 流水燈演示模塊(1)unsigned int code BToM[]={0x7E,0x3C,0x18,0x00}。 unsigned int code MToB[]={0xE7,0xC3,0x81,0x00}。定義由兩邊到中間及中間到兩邊的顯示數(shù)據(jù)void Delay() reentrant { unsigned int DelayTime=10000。while(DelayTime)。 }加入可重入的延時(shí)函數(shù)延和時(shí)時(shí)間基數(shù),以便每個(gè)LED燈閃滅之間有一定的延時(shí)(2)void LeftToRight() {unsigned char TempCount=0。 Led=Led1。 定義從左邊到右邊的顯示函數(shù)以及顯示次數(shù)變量;由右邊向左邊移動(dòng)數(shù)據(jù);然后定義初步的顯示數(shù)據(jù),通過(guò)循環(huán)進(jìn)行數(shù)據(jù)顯示,在每次移動(dòng)數(shù)據(jù)開(kāi)始的時(shí)候加入(1)中的延時(shí),最后通過(guò)空返回語(yǔ)句return表明該子程序的結(jié)束,進(jìn)入下一個(gè)子程序。流水燈的四個(gè)動(dòng)作程序結(jié)構(gòu)與設(shè)計(jì)上完全一樣,完整的程序見(jiàn)附錄B中流水燈模塊。 數(shù)碼管及跑馬燈模塊此模塊只是將數(shù)碼管的顯示融入到上述的流水燈演示里面,使兩者結(jié)合起來(lái)演示,所以不復(fù)雜,并且設(shè)計(jì)中已經(jīng)將這個(gè)模塊的程序?qū)懭氲娇偝绦蛑校谛≤?chē)運(yùn)行時(shí),會(huì)有相應(yīng)的顯示。 按鍵中斷查詢(xún)模塊本模塊通過(guò)兩個(gè)按鍵對(duì)數(shù)碼管進(jìn)行操作,分別演示了查詢(xún)與中斷的操作方式,中斷中應(yīng)用了對(duì)按鍵進(jìn)行查詢(xún)的方法來(lái)判斷按鍵的鍵值,查詢(xún)按鍵方法中則采用了鍵盤(pán)延遲的方法來(lái)消除按鍵重復(fù)輸入。程序運(yùn)行效果:開(kāi)機(jī)后數(shù)碼管顯示數(shù)字 1 ,當(dāng)按 S1 不放時(shí),數(shù)碼管數(shù)字不變,松開(kāi) S1 按鍵,數(shù)碼減 1 ;按 S2 鍵不放時(shí),數(shù)碼管數(shù)字會(huì)自動(dòng)加 1。并且數(shù)字遵守從 09 循環(huán)操作。具體的程序見(jiàn)附錄B中的按鍵中斷查詢(xún)模塊 話(huà)筒聲音識(shí)別模塊 本程序主要通過(guò)話(huà)筒對(duì)聲音信號(hào)進(jìn)行識(shí)別,由于硬件關(guān)于本模塊電路設(shè)計(jì)中能有效的去除雜波,所以?xún)H能對(duì)響度較大的聲音進(jìn)行識(shí)別 ( 例 : 拍手聲,大叫聲等等 )。像正常的說(shuō)話(huà)聲對(duì)本電路慮除,不會(huì)產(chǎn)生信息的輸入。話(huà)筒識(shí)別的加入,為我們建立了聲控平臺(tái)。主要的程序設(shè)計(jì)如下: while(1) {if (0==B1) {while(0==B1)。 Delay()。 LeftLed=!LeftLed。 RightLed=!RightLed。}}首先判斷是否有聲音輸入,等待聲音信號(hào)結(jié)束,去除多余雜音,然后使小車(chē)前方左側(cè)和右側(cè)指示燈分別取反,這樣就實(shí)現(xiàn)了聲音識(shí)別的功能;關(guān)于聲音控制小車(chē)運(yùn)行的設(shè)計(jì),已經(jīng)寫(xiě)入了總程序中,在小車(chē)運(yùn)行時(shí)能展現(xiàn)出聲控的功能。 光敏電阻及蜂鳴器模塊while(1){if(1==RL1){Delay()。SB1=!SB1。LeftLed=!LeftLed。RightLed=!RightLed。}else{SB1=1。LeftLed=1。RightLed=1。}}首先判斷光敏的現(xiàn)在狀態(tài) ( 有光 0, 無(wú)光 1),然后開(kāi)始延時(shí),如果在黑暗條件下,高電平輸入使蜂鳴器響亮以及前方左右兩側(cè)指示燈閃亮;否則蜂鳴器和指示燈均關(guān)閉。 紅外反射與直流電機(jī)驅(qū)動(dòng)模塊此模塊為小車(chē)最為重要的模塊,因?yàn)樗P(guān)系著小車(chē)整體的運(yùn)行情況,避障避懸崖和尋線(xiàn)都是設(shè)計(jì)的核心部分,也都是在本模塊實(shí)現(xiàn)的。首先要定義前方指示燈、紅外探頭以及電機(jī)驅(qū)動(dòng)、語(yǔ)音傳感器和蜂鳴器端口,然后加入小車(chē)調(diào)轉(zhuǎn)子時(shí)間子程序并定義轉(zhuǎn)彎時(shí)間變量,在延時(shí)子程序中寫(xiě)入讓蜂鳴器響亮的代碼:while(DelayTime)。 SB1=!SB1。 這樣使得小車(chē)轉(zhuǎn)彎時(shí)蜂鳴器報(bào)警,用return語(yǔ)句來(lái)結(jié)束該子程序,進(jìn)入到下一個(gè)電機(jī)控制子程序,將電機(jī)的初始化都設(shè)為0,用case語(yǔ)句來(lái)判斷小車(chē)的前進(jìn),后退,左轉(zhuǎn)以及右轉(zhuǎn)四種狀態(tài),并在相應(yīng)的狀態(tài)下寫(xiě)入電機(jī)的運(yùn)轉(zhuǎn)狀態(tài),如前進(jìn)時(shí)電機(jī)M1M2正轉(zhuǎn),左轉(zhuǎn)時(shí)M1 電機(jī)反轉(zhuǎn)M2 電機(jī)正轉(zhuǎn);下面是進(jìn)入主循環(huán)。用LeftLed和RightLed分別表示前方左側(cè)和右側(cè)紅外探頭狀態(tài),RunShow指示前方紅外探頭狀態(tài),然后用if語(yǔ)句(if(FontIR==0 || LeftIR==1)來(lái)判斷前方 , 左側(cè) , 右側(cè)是否有信號(hào)輸入RightIR==1);{ControlCar(2); 讓小車(chē)后退,在后退過(guò)程中加入了蜂鳴器報(bào)警,注意此時(shí)小車(chē)沒(méi)有聲控功能,因?yàn)榇嬖趫?bào)警聲音,對(duì)其造成了一定的干擾。 串口通信模塊本程序是通過(guò)數(shù)碼管、LED 指示燈的閃亮來(lái)表示當(dāng)前串口通信的結(jié)果 , 串口通信使單片機(jī)與電腦之間通信的橋梁,可以很好的用電腦來(lái)進(jìn)行單片機(jī)的控制,及對(duì)單片機(jī)數(shù)據(jù)的采集。 具體的程序代碼見(jiàn)附錄B中的串口通信模塊運(yùn)行時(shí)可以看到,打開(kāi)本機(jī)電源開(kāi)關(guān)后, P1端LED 指示燈在不停的閃耀,此時(shí)使用“串口調(diào)試助手” 或其它軟件向單片機(jī)發(fā)送數(shù)據(jù),可以看到相應(yīng)的數(shù)據(jù)顯示在數(shù)碼管上,并且發(fā)送的數(shù)據(jù)又返回到電腦中。 ( 只顯示 09 數(shù)字) 單元模塊程序設(shè)計(jì)小結(jié) 以上是對(duì)小車(chē)軟件部分的每個(gè)模塊進(jìn)行了說(shuō)明,并且對(duì)主要的程序設(shè)計(jì)思想進(jìn)行了闡述,有的模塊已經(jīng)融入到了綜合程序中,有的模塊是需要分步下載之后才能展現(xiàn)出來(lái),將每個(gè)模塊的程序經(jīng)過(guò)整合,定義的端口和函數(shù)都放在前面,子程序通過(guò)空返回語(yǔ)句return來(lái)連接,構(gòu)成總程序。 總程序代碼如附錄B中總程序所示。5 實(shí)物運(yùn)行與測(cè)試結(jié)果以及結(jié)論 小車(chē)的運(yùn)行情況將COM端口的USB線(xiàn)把小車(chē)和電腦連接起來(lái),通過(guò)ISP編程器和STC_ISP_V394軟件將綜合程序?qū)懭氲叫酒校却龓酌腌?,放在一張反光較強(qiáng)的桌子上,打開(kāi)電源可以看到,小車(chē)往前走,當(dāng)遇到障礙物時(shí)會(huì)后退轉(zhuǎn)彎,繞過(guò)障礙物行駛;行駛到桌子的邊緣時(shí),小車(chē)同樣也會(huì)后退轉(zhuǎn)彎,躲避懸崖;同時(shí)在前進(jìn)過(guò)程中,可以用拍手聲來(lái)控制小車(chē),使小車(chē)停下來(lái),再拍一次小車(chē)又會(huì)前進(jìn)。 由于尋跡功能需單獨(dú)演示,所以要將其程序?qū)懭胄酒言谐绦蚋采w,單獨(dú)實(shí)現(xiàn)黑色尋跡。 流水燈和程序狀態(tài)指示燈也都是屬于獨(dú)立演示的模塊,所以要通過(guò)端口依次寫(xiě)入依次演示。 小車(chē)的測(cè)試結(jié)果及分析(1)測(cè)試結(jié)果及數(shù)據(jù)如下:①小車(chē)的前進(jìn)和后退速度一致,;②障礙物檢測(cè)距離:反光很強(qiáng)的物體:約1m; 反光很弱的物體:; 黑色物體:0 m(即檢測(cè)不到黑色的障礙物);③避懸崖高度范圍:;④巡黑線(xiàn)偏離范圍:0~;⑤轉(zhuǎn)彎角度:路面較光滑時(shí)為左轉(zhuǎn)87~90度 路面比較粗糙時(shí)左轉(zhuǎn)約80~87度⑥數(shù)碼管能正常顯示出數(shù)字“0、”,LED燈比較亮,沒(méi)有出現(xiàn)閃、較暗或不亮的情況;⑦流水燈演示、方向燈探照燈及聲控功能都能實(shí)現(xiàn)⑧遙控功能沒(méi)有實(shí)現(xiàn)(2)測(cè)試結(jié)果分析如下:經(jīng)過(guò)調(diào)試與測(cè)試, m/s;轉(zhuǎn)彎度與目標(biāo)值相差10度,這兩種誤差都與小車(chē)行駛的路面狀況有關(guān),摩擦力大時(shí),誤差范圍會(huì)更大,所以都符合預(yù)先設(shè)計(jì)的技術(shù)要求。避障避懸崖以及尋線(xiàn)的精確度與設(shè)計(jì)指標(biāo)相差不是太大,這與元器件的性能有關(guān)。其他功能也都能實(shí)現(xiàn),只有實(shí)遙控功能沒(méi)有實(shí)現(xiàn),這是本次設(shè)計(jì)中的缺陷所在經(jīng)過(guò)線(xiàn)路板及元器件的焊點(diǎn)觀(guān)察和測(cè)試分析,主要原因有以下幾點(diǎn):①可能是紅外遙控接收頭壞了,接收不到遙控器發(fā)出的信號(hào);②可能是紅外接收頭至芯片那一路的某個(gè)元件虛焊導(dǎo)致斷路;③還有可能是所選遙控器與軟件設(shè)計(jì)的代碼不匹配,實(shí)現(xiàn)不了對(duì)小車(chē)的遙控。④由于對(duì)遙控解碼程序不熟悉,可能通過(guò)單片機(jī)的程序?qū)b控器的按鍵解碼不正確,導(dǎo)致小車(chē)不具遙控功能。 結(jié)論至此小車(chē)的整體包括硬件和軟件的設(shè)計(jì)已經(jīng)完成,歷時(shí)三個(gè)月的設(shè)計(jì)過(guò)程中,我首先上網(wǎng)搜集資料,并在網(wǎng)上選購(gòu)線(xiàn)路板,在我實(shí)習(xí)的車(chē)間里焊接小車(chē)的線(xiàn)路板。雖然我訓(xùn)練過(guò)兩個(gè)月的焊接,但是在實(shí)際的焊接過(guò)程中,我感覺(jué)到即使是一個(gè)簡(jiǎn)單的電路,要想很輕松的焊好,也不是很容易的事情,有時(shí)是“虛焊”的原因,有時(shí)可能是阻值選錯(cuò),比如這次的遙控功能就不能實(shí)現(xiàn),這使我深深感受到理論與實(shí)際間的差距。通過(guò)這樣的設(shè)計(jì),提高了我的動(dòng)手能力。焊接結(jié)束后,要對(duì)其進(jìn)行調(diào)試,在調(diào)試過(guò)程中,出現(xiàn)了很多問(wèn)題,如數(shù)碼管不顯示、小車(chē)總是后退不前進(jìn)等等一些問(wèn)題,在孟老師的指導(dǎo)與幫助下,這些難題已經(jīng)被攻克了,小車(chē)能夠正確的實(shí)現(xiàn)智能防撞壁懸崖等功能。小車(chē)的模型
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1