單片機(jī)-自動(dòng)往返小車_第1頁
單片機(jī)-自動(dòng)往返小車_第2頁
單片機(jī)-自動(dòng)往返小車_第3頁
單片機(jī)-自動(dòng)往返小車_第4頁
單片機(jī)-自動(dòng)往返小車_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE4自動(dòng)往返電動(dòng)小汽車(高級(jí)組)設(shè)計(jì)報(bào)告部門院系:常州大學(xué)信息科學(xué)與工程學(xué)院目錄1、設(shè)計(jì)任務(wù)…………3 1.1基本要求…………3 1.2發(fā)揮部分…………32、方案論證與選擇………………4 2.1、系統(tǒng)總體框圖…………………4 2.2、各模塊硬件選擇………………4 2.2.1、控制模塊………………………4 2.2.2、外部傳感器模塊………………5 2.2.3、電機(jī)驅(qū)動(dòng)模塊………………….5 2.2.4、電源模塊…………52.2.5、顯示模塊…………..……………53、系統(tǒng)硬件原理與實(shí)現(xiàn)………………….63.1、系統(tǒng)總體電路圖…………………….63.2、系統(tǒng)各模塊設(shè)計(jì)介紹……………..73.2.1、單片機(jī)控制模塊………………….73.2.2、外部傳感器模塊………………….83.2.3、電機(jī)驅(qū)動(dòng)模塊……………………83.2.4、LCD液晶顯示模塊………………….94、統(tǒng)軟件設(shè)計(jì)…………….104.1系統(tǒng)軟件設(shè)計(jì)框圖…………………104.2系統(tǒng)軟件設(shè)計(jì)代碼…………………125、設(shè)計(jì)數(shù)據(jù)測量……………192.2.2、外部傳感器模塊這里有三個(gè)地方需要用到傳感器,分別是檢測黑線,檢測車速,檢測障礙物,我們分別用TCRT5000檢測黑線與檢測障礙物,用霍爾元件檢測車速。TCRT5000具有緊湊的結(jié)構(gòu)發(fā)光燈和檢測器安排在同一方向上,利用紅外光譜發(fā)射對象存在另一個(gè)對象上,操作的波長大約是950毫米,調(diào)理電路簡單,工作性能穩(wěn)定;利用霍爾效應(yīng),在車輪的內(nèi)側(cè)裝上二條細(xì)磁鐵,把霍耳傳感器同樣裝在車輪的內(nèi)側(cè),測量霍爾傳感器的輸出就可以知道車輪轉(zhuǎn)過的圈數(shù),工作原理比較簡單易懂。2.2.3、電機(jī)驅(qū)動(dòng)模塊這里我們有兩種方案,一種是采用分立元件構(gòu)成驅(qū)動(dòng)電路;另一種是采用專用芯片L298N。雖然分立元件構(gòu)成電機(jī)驅(qū)動(dòng)電路,結(jié)構(gòu)簡單,價(jià)格低廉,在實(shí)際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定;而L298N是一個(gè)具有高電壓大電流的全橋驅(qū)動(dòng)芯片,它相應(yīng)頻率高,一片L298N可以分別控制兩個(gè)直流電機(jī),而且還帶有控制使能端。用該芯片作為電機(jī)驅(qū)動(dòng),操作方便,穩(wěn)定性好,性能優(yōu)良。所以最后決定選用專用芯片L298N作為電機(jī)驅(qū)動(dòng)模塊。2.2.4、電源模塊 電源模塊作用時(shí)把外部電壓降為5V,供給單片機(jī)和傳感器使用。2.2.5、顯示模塊這里我們有兩種方案,一種是采用LCD1602液晶屏;另一種是采用8位數(shù)碼管進(jìn)行顯示。采用LCD1602液晶屏,該液晶屏可以兩行顯示數(shù)字、字母,顯示清晰;采用8位數(shù)碼管進(jìn)行顯示,數(shù)碼管只能顯示數(shù)字。考慮到我們需要指示當(dāng)前數(shù)值是小車行駛時(shí)間還是距離,因此決定采用能顯示更多內(nèi)容的LCD作為顯示模塊的主要硬件。3、系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)3.1、系統(tǒng)總體電路圖89C52單片機(jī)P0接LCD液晶顯示屏的7到14數(shù)據(jù)端口P2口分別接電機(jī)驅(qū)動(dòng)模塊的A1,A2,B1,B2,C1,C2,D1,D2P1口的P10接LCD液晶顯示屏的數(shù)據(jù)命令選擇端,P11接LCD液晶顯示屏的讀寫選擇端,P12接LCD液晶顯示屏的使能端;P13到P16分別接電機(jī)驅(qū)動(dòng)模塊的電機(jī)a的使能控制端pwma,電機(jī)b的使能控制端pwmb,電機(jī)c的使能控制端pwmc,電機(jī)d的使能控制端pwmd;P17接尋跡傳感器的OUT端,用來檢測黑線;INT0接左邊壁障模塊的輸出端。INT1接右邊壁障模塊的輸出端。T0端接霍爾元件的輸出端,設(shè)置T0為計(jì)數(shù)模塊,根據(jù)計(jì)數(shù)值算出路程。3.2、系統(tǒng)各模塊設(shè)計(jì)介紹3.2.1、單片機(jī)控制模塊 模塊電路圖如下: 單片機(jī)在系統(tǒng)中起控制中心的作用,其內(nèi)部代碼見軟件設(shè)計(jì)部分。3.2.2、外部傳感器模塊(尋跡電路)1、沒有檢測到黑線,則H4發(fā)光到白紙,光發(fā)射到H4接受端,H4接收端導(dǎo)通,則2腳比較器反相端T1接地=0;3腳比較器同相端為3v,同相端大雨反相端out1輸出為1。2、檢測到黑線,則H4發(fā)光到黑線,完全被吸收,接受端沒有收到任何信號(hào),因?yàn)镠4截止,則2腳比較器反相端T1=VCC.=5v,3腳比較器同相端為3v,反相端大于同相端out1輸出為0.3、調(diào)試方法:黑色物體遮擋傳感器檢測T1腳電壓變化是否正常,調(diào)節(jié)電位器R13,使得3腳電壓介于T1電壓的最大和最小之間。3.2.3、電機(jī)驅(qū)動(dòng)模塊 模塊電路圖如下: 電機(jī)驅(qū)動(dòng)模塊利用電池組供電。單片機(jī)的兩個(gè)端口輸出“10”和“01”分別驅(qū)動(dòng)小車向前和向后動(dòng),另外一個(gè)端口輸出PWM波形,通過波形的占空比來控制直流電機(jī)的轉(zhuǎn)速。 L298N是SGS公司的產(chǎn)品,內(nèi)部同樣包含4通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī),或一個(gè)兩相步進(jìn)電機(jī)。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)VSS,VSS可接4.5~7V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46V。輸出電流可達(dá)2.5A,可驅(qū)動(dòng)電感性負(fù)載。1腳和15腳下管的發(fā)射極分別單獨(dú)引出以便接入電流采樣電阻,形成電流傳感信號(hào)。L298可驅(qū)動(dòng)2個(gè)電動(dòng)機(jī),OUT1,OUT2和OUT3,OUT4之間可分別接電動(dòng)機(jī),本實(shí)驗(yàn)裝置我們選用驅(qū)動(dòng)一臺(tái)電動(dòng)機(jī)。5,7,10,12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn)。EnA,EnB接控制使能端,控制電機(jī)的停轉(zhuǎn)。3.2.4、LCD液晶顯示模塊 模塊電路圖如下: LCD1602為工業(yè)字符型液晶,能夠同時(shí)顯示16*02即32個(gè)字符。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,只要在數(shù)據(jù)端輸入相應(yīng)的ASCII碼,即可在LCD上顯示相應(yīng)字符。4、系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)軟件設(shè)計(jì)框圖開始是是是否否否是黑線數(shù)=3?黑線數(shù)量加1限速結(jié)束限速黑線數(shù)=4?黑線數(shù)=6?黑線數(shù)=9?是否黑線數(shù)=10?否黑線數(shù)=12?停車計(jì)時(shí)10s再啟動(dòng)結(jié)束限速限速否是否是否是是否有黑線?啟動(dòng)檢測路邊黑線停車停止計(jì)時(shí)顯示主界面顯示時(shí)間?顯示距離?顯示時(shí)間顯示距離開始是是是否否否是黑線數(shù)=3?黑線數(shù)量加1限速結(jié)束限速黑線數(shù)=4?黑線數(shù)=6?黑線數(shù)=9?是否黑線數(shù)=10?否黑線數(shù)=12?停車計(jì)時(shí)10s再啟動(dòng)結(jié)束限速限速否是否是否是是否有黑線?啟動(dòng)檢測路邊黑線停車停止計(jì)時(shí)顯示主界面顯示時(shí)間?顯示距離?顯示時(shí)間顯示距離4.2系統(tǒng)軟件設(shè)計(jì)代碼#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={"DISTANCE:.m"};//顯示距離,單位:米u(yù)charcodetable1[]={"TIME:s"};//顯示運(yùn)行時(shí)間,單位:秒uintcodetable_pwm[]={5,17,17,6,17,10,0,5,10,17,6,17,10,0};//每個(gè)區(qū)間的PWM值sbitlcdrs=P1^0;//數(shù)據(jù)命令選擇端sbitlcdrw=P1^1;//讀寫選擇端sbitlcde=P1^2;//使能端sbitpwma=P1^3;//電機(jī)a的使能控制端sbitpwmb=P1^4;//電機(jī)b的使能控制端sbitpwmc=P1^5;//電機(jī)c的使能控制端sbitpwmd=P1^6;//電機(jī)d的使能控制端sbitrpr=P1^7;//尋線傳感器輸入端信號(hào)ucharnum;uintfx=0;//小車行進(jìn)方向,0為前進(jìn),1為后退uintt=0;//時(shí)間系數(shù)uintn=0;//黑線的個(gè)數(shù)uintpwm_date;//pwm值floata1,b1;inta0,a2,a3,a4,b0,b2,b3;voiddelay(uintm)//延遲n(ms){inti,j;for(i=m;i>0;i--)for(j=110;j>0;j--);}voidwrite_com(ucharcom)//寫命令{lcdrs=0;P0=com;delay(5);lcde=1;//使能信號(hào)端輸入高脈沖delay(5);lcde=0;}voidwrite_date(uchardate)//寫數(shù)據(jù){lcdrs=1;P0=date;delay(5);lcde=1;//使能信號(hào)端輸入高脈沖delay(5);lcde=0;}voidlcd_init()//lcd初始化{lcdrw=0;lcde=0;write_com(0x38);//設(shè)置16X2顯示,5X7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)write_com(0x06);//寫一個(gè)字符后地址指針加1write_com(0x01);//顯示清0,數(shù)據(jù)指針清0}voidint0_ringht()interrupt0//左邊壁障模塊檢測到信號(hào)右轉(zhuǎn){if(rpr==1)//檢測紅外線是否檢測到模塊檢測到黑線{n++; if(n==6)//到達(dá)終點(diǎn)線{ fx++; P2=0x55;//電機(jī)反轉(zhuǎn) delay(10000);//等待10sn++; } delay(100);} if(fx==0) P2=0x2a;//前進(jìn)時(shí)右轉(zhuǎn) else P2=0x15;//后退時(shí)右轉(zhuǎn) if(n==13){ write_com(0x80+0x0a);//顯示路程a0=TL0;a1=a0*0.102;a2=a1/10;a3=a1-a2*10;write_date(0x30+a2);//顯示路程十位write_date(0x30+a3);//顯示路程個(gè)位write_com(0x80+0x0d);a4=(a1-a2*10-a3)*10;write_date(0x30+a4);//顯示路程十分位delay(1);write_com(0x80+0x09+0x40);//顯示時(shí)間b0=t;b1=b0/50;b2=b1/10;b3=b1-b2*10;write_date(0x30+b2);//顯示時(shí)間十位write_date(0x30+b3);//顯示時(shí)間個(gè)位EA=0;//關(guān)cpu中斷TR0=0;//關(guān)定時(shí)器0TR1=0;//關(guān)定時(shí)器1ET1=0;//關(guān)定時(shí)器1中斷EX0=0;//關(guān)外部中斷0EX1=0;//關(guān)外部中斷1}}voidint1_left()interrupt2//右邊壁障模塊檢測到信號(hào)左轉(zhuǎn){if(rpr==1)//檢測紅外線是否檢測到模塊檢測到黑線{n++; if(n==6)//到達(dá)終點(diǎn)線 { fx++; P2=0x55;//電機(jī)反轉(zhuǎn) delay(10000);//等待10sn++; } delay(100);} if(fx==0) P2=0xa2;//前進(jìn)時(shí)左轉(zhuǎn) else P2=0x51;//后退時(shí)左轉(zhuǎn) if(n==13){ write_com(0x80+0x0a);//顯示路程a0=TL0;a1=a0*0.102;a2=a1/10;a3=a1-a2*10;write_date(0x30+a2);//顯示路程十位write_date(0x30+a3);//顯示路程個(gè)位write_com(0x80+0x0d);a4=(a1-a2*10-a3)*10;write_date(0x30+a4);//顯示路程十分位delay(1);write_com(0x80+0x09+0x40);//顯示時(shí)間b0=t;b1=b0/50;b2=b1/10;b3=b1-b2*10;write_date(0x30+b2);//顯示時(shí)間十位write_date(0x30+b3);//顯示時(shí)間個(gè)位EA=0;//關(guān)cpu中斷u中斷TR0=0;//關(guān)定時(shí)器0TR1=0;//關(guān)定時(shí)器1ET1=0;//關(guān)定時(shí)器1中斷EX0=0;//關(guān)外部中斷0EX1=0;//關(guān)外部中斷1}}voidT1_time()interrupt3//定時(shí)中斷子程序{t++;;TH1=(65533-18349)/256;//定時(shí)中斷時(shí)間為20msTL1=(65533-18349)%256;pwm_date=table_pwm[n];pwma=1;pwmb=1;pwmc=1;pwmd=1;delay(pwm_date);pwma=0;pwmb=0;pwmc=0;pwmd=0;}voidmain(){lcd_init();//lcd初始化write_com(0x80);for(num=0;num<16;num++){write_date(table[num]); delay(5);}write_com(0x80+0x40);for(num=0;num<16;num++){write_date(table1[num]); delay(5);}TMOD=0x15;//設(shè)置定時(shí)器0為計(jì)數(shù)模式//定時(shí)器1設(shè)置為定時(shí)中斷模式,選擇模式1TH0=0x00;TL0=0x00;TH1=(65533-18349)/256;//定時(shí)中斷時(shí)間為20msTL1=(65533-18349)%256;TR0=1;//開定時(shí)器0TR1=1;//開定時(shí)器1ET1=1;//開定時(shí)器1中斷EX0=1;//開外部中斷0EX1=1;//開外部中斷1IT0=0;//設(shè)置外部中斷0為低電平觸發(fā)IT1=0;//設(shè)置外部中斷1為低電平觸發(fā)PT1=1;//設(shè)置定時(shí)器1為高優(yōu)先級(jí)EA=1;//開cpu中斷while(1){if(fx==0)P2=0xaa;//電機(jī)正轉(zhuǎn)elseP2=0x55;//電機(jī)反轉(zhuǎn)if(rpr==1)//檢測紅外線是否檢測到模塊檢測到黑線{ n++; if(n==6)//到達(dá)終點(diǎn)線{ fx++; P2=0x55;//電機(jī)反轉(zhuǎn) delay(10000);//等待10sn++; }d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論