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

正文內(nèi)容

基于51單片機(jī)控制的自動停泊小車的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文(文件)

2025-08-01 12:49 上一頁面

下一頁面
 

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