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

正文內(nèi)容

基于51單片機控制的自動停泊小車的設(shè)計與實現(xiàn)[精選整理](參考版)

2024-12-10 07:37本頁面
  

【正文】 a 。 PWM2 = 1。 Back()。 PWM2 = 0。 goto A。 PWM2 = 0。 } delayms(1)。 a++) { if(a%2 == 0){ PWM2 = ~PWM2。 for(a =0。 PWM1 = 1。 delayms(100)。 } PWM1 = 0。 } } Sound = 1。 if(!flag_c){ ceju()。 PWM1 = 0。 } delayms(1)。 a++) 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 34 { if(a%2 == 0){ PWM2 = ~PWM2。 for(a =0。 PWM1 = 1。 PWM2 = 0。 flag_c = 0。 flag_c = 1。 PWM2 = 0。 } delayms(1)。 a++) { if(a%2 == 0){ PWM2 = ~PWM2。 for(a =0。 PWM1 = 1。 delayms(100)。 } PWM1 = 0。 } } Sound = 1。 if(!flag_c){ ceju()。 PWM1 = 0。 } delayms(1)。 a++) { if(a%2 == 0){ PWM2 = ~PWM2。 for(a =0。 PWM1 = 1。 delayms(100)。 } PWM1 = 0。 } } Sound = 1。 if(!flag) { ceju()。 PWM2 = 0。 } delayms(1)。 a++) { if(a%2 == 0) { PWM2 = ~PWM2。 for(a =0。 PWM1 = 1。 flag_c = 0。 BZ_L=1。 ET0=1。 TH0=0。 DisplayListChar(0, 1, Cls)。 Sound = 1。 / } 主函數(shù): void main(void) { uint a。 Conut()。 while(RX)。 while(!RX)。 IN4=0。 IN2=1。 IN4=1。 IN2=0。 IN4=0。 IN2=0。 IN4=0。 IN2=0。 IN4=1。 IN2=1。b++)。a++) for(b=0。 for(a=0。 } void delayms(unsigned int ms) { unsigned int a。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 } } void zd0() interrupt 1 { flag=1。 DisplayOneChar(3, 1, ASCII[disbuff[2]])。 DisplayOneChar(1, 1, ASCII[10])。 disbuff[2]=S%1000%10 %10。 } else { disbuff[0]=S%1000/100。 DisplayOneChar(3, 1, ASCII[11])。 DisplayOneChar(1, 1, ASCII[10])。 if((S=700)||flag==1) { 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 31 flag=0。 TL0=0。 } void Conut(void) { time=TH0*256+TL0。 a0。 c 125 。 b 125。 } } } void Delays(uint a) { uchar b,c。 ListLength++。= 0xF。= 0x1。 ListLength = 0。 WriteDataLCM(DData)。 X |= 0x80。= 0xF。= 0x1。 WriteCommandLCM(0x0F,1)。 WriteCommandLCM(0x01,1)。 WriteCommandLCM(0x38,1)。 WriteCommandLCM(0x38,0)。 WriteCommandLCM(0x38,0)。 WriteCommandLCM(0x38,0)。 / return(LCM_Data)。 while (LCM_Data amp。 LCM_E = 0。 LCM_RW = 1。 } 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 30 unsigned char ReadStatusLCM(void) { LCM_Data = 0xFF。 LCM_E = 1。 LCM_E = 0。 } unsigned char ReadDataLCM(void) { LCM_RS = 1。 LCM_E = 0。 LCM_RW = 0。 LCM_Data = WCLCM。 LCM_E = 1。 LCM_E = 0。 LCM_RS = 1。 void WriteDataLCM(unsigned char WDLCM) { ReadStatusLCM()。 bit flag =0。 unsigned int time=0。}。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。 unsigned char code ASCII[15] = {39。 unsigned char ReadStatusLCM(void)。 define Busy 0x80 void Delay5Ms(void)。 sbit LCM_E = P2^4。 sbit LCM_RW = P2^5。 sbit PWM2 = P1^5。 sbit IN4=P1^3。 sbit IN2=P1^1。 sbit RX=P3^2。 sbit BZ_R=P1^7。最后我要感謝我的同學(xué)們,每當一個人遇到問題時,其它同學(xué)都會無私的利用自己的時間幫助其解決問題,讓我感覺到了集體的力量,讓我明白了只要我們團結(jié),沒有什么不可戰(zhàn)勝。其次,我要感謝教研組的其它老師,因為在我的導(dǎo)師不在或者忙碌時,我遇到困難后經(jīng)常麻煩他們,不過老師們都會細心地為我講解。如果不是他們,我在設(shè)計制作期間遇到的無數(shù)艱難將會無法度過。除了對知識的掌握和深化,我還知道了團隊的重要性,因為沒有同學(xué)們的幫助,此次設(shè)計也就很難完成,團隊作 用是偉大的。并且讓我感覺到自己的知識面和動手能力等多方面都得到了加強,比起以前更上一層樓。但是通過此次設(shè)計 ,使我把課堂上學(xué)到的 C 語言知識、單片機知識全部應(yīng)用到實踐中去,讓理論與實踐有了完美的結(jié)合,在此結(jié)合的過程中讓自己的知識得到強化和復(fù)習(xí), 溫故而知新,學(xué)到了不少新的知識。它讓我知道只有不斷摸索,不斷創(chuàng)新,不斷超越自己才能掃盡眼前的霧霾,迎接和煦的陽光,創(chuàng)造美好的新生活。雖然我做出來的設(shè)計與期望相差很大,但我看著自己的成果還是很欣慰,很高興。 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 26 結(jié) 論 在大學(xué)的最后這段時間里,我把全身心投入到畢業(yè)設(shè)計中去,雖然學(xué)校給的時間是兩個月,但由于自身原因和課 題原因,我不得不提前準備,期間嘗遍了設(shè)計帶給我的酸甜苦辣。其次,對單片機進行升級,變 為可以進行更強大的數(shù)據(jù)處理的芯片,在對此進行功能附加,讓小車完成自動尋找車位,并且完成倒車;然后對程序進行調(diào)整,簡化主函數(shù),這樣有利于程序更好的運行,并且在運行期間不會出錯;而且在功能改進時程序更加簡易明了。 設(shè)計的不足: 此次設(shè)計完成 后,小車可以實現(xiàn)的功能符合課題的基本要求,雖然在制作、調(diào)試過程中歷盡艱辛,并付出了很多,但是設(shè)計中還存在著不足和需要改進的地方,具體如下: 需要計算好地面與車輪的摩擦,會導(dǎo)致誤差; 小車可以自動尋找車位,并完成倒車; 主函數(shù)太大,運行時會出現(xiàn)問題; 對電機的控制不準確,會出現(xiàn)碰撞; 萬向輪有時會影響小車的前進方向。到最后解決問題也好點了不少時間,不過,問題都已迎刃而解: 此次涉及小車不需要自動尋找停車位,那樣會多附加很多功能,難以實現(xiàn); 初始位置應(yīng)該與左側(cè)的障礙物平行; 入彎切入角約為 40176。 本次設(shè)計主要考慮的問題有: 小車是否需要自動尋找泊車位置; 小車的初始位置如何 選擇; 切入角度大小是多少; 超聲波模塊測得與后方距離為多少時向前移動; 如果需要向前移動,需要移動多少。不論是 L298N 電機驅(qū)動模塊,還是超聲波測距模塊、紅外避障模塊,都能正常工作。 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 24 第五章 自動停泊小車的測試 第一次測試的時候伴隨著我緊張的心情,小車還是出現(xiàn)了一些小問題。 … . 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 23 以上所顯示程序代碼就是在忙檢測和顯示設(shè)置方面完成的前提下,進行 數(shù)據(jù)的讀與寫的過程,并且將得到的數(shù)據(jù)顯示在液晶屏上。 LCM_E = 1。 LCM_E = 0。 } unsigned char ReadDataLCM(void) { LCM_RS = 1。 LCM_E = 0。 LCM_RW = 0。 LCM_Data = WCLCM。隨著液晶屏的初始化操作完成以后,就該對其忙檢測來確定 LCD 液晶屏當前的狀態(tài)。 delay(5)。 …… . delay(5)。 LCD1602 液晶顯示程序中初始化程序部分如下所示: 青島理工大學(xué)琴島學(xué)院畢業(yè)設(shè)計(論文) 22 void LcdInitiate(void) { delay(15)。而當不存在障礙物則完成泊車過程。 紅外避障模塊工作流程圖如圖 43 所示: 開始完成泊車初始化開始泊車是否檢測到障礙物?是否檢測到障礙物?結(jié)束是否是否 圖 43 紅外避障流程圖 在此 流程圖中,我們可以看出紅外模塊在不同的工作狀態(tài)下所執(zhí)行的運行狀態(tài)和執(zhí)行的操作也不相同。當左右兩側(cè)檢測到障礙物時,蜂鳴器進行報警,小車進行停車操作,并打開延時。紅外模塊的功能可以獨立完成,只需要給此模塊一個高或低的電平即可。 紅外避障模塊程序 在本次設(shè)計中,紅外模塊的作用是對小車的運動狀態(tài)進行控制。 } 以上程序為超聲波測距的實現(xiàn),當模塊輸出口( RX)為 0 時開始等 待,并且開啟計數(shù),當模塊輸出口為 1 時開始計數(shù)并等待,然后關(guān)閉計數(shù),最后調(diào)用Conut 函數(shù)進行計算對距離進行計算,并且進行延時。 Conut()。 while(RX)。 while(!RX)。當紅外避障模塊監(jiān)測到后方有障礙物時,小車進行停車操作,此時超聲波進行距離檢測。本次設(shè)計采用的是 IN1 和 IN2 引腳控制左端電機, IN3 和 IN4 控制右端電機的 2輪小車,通過控制不同的電平對引腳的輸入從而控制小車當前的狀態(tài)。 N4=0。 IN2=1。 IN3=1。 L298N 電機驅(qū)動模塊程序如下所示: void Go() { IN1=1。 L298N 電機驅(qū)動程序 L298N 電機驅(qū)動模塊可以實現(xiàn)小車的 5 個運動狀態(tài) ,包
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1