![PWM調(diào)速循跡智能小車程序精編_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/9ab575b6-04ad-442c-a9d1-258fcb78cab6/9ab575b6-04ad-442c-a9d1-258fcb78cab61.gif)
![PWM調(diào)速循跡智能小車程序精編_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/9ab575b6-04ad-442c-a9d1-258fcb78cab6/9ab575b6-04ad-442c-a9d1-258fcb78cab62.gif)
![PWM調(diào)速循跡智能小車程序精編_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/9ab575b6-04ad-442c-a9d1-258fcb78cab6/9ab575b6-04ad-442c-a9d1-258fcb78cab63.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、PWM調(diào)速循跡智能小車程序精編32m/*控速模塊*/#defineP03 P0_3 );DisplayString(0x0, 1, DesignedBy202); Delay (300);WriteCmd(LCD_CLS);EA二 1; );Delay (50);WriteCmd(LCD_CLS);IsSelectingMode二True;wh訂e (1)WriteCmd(LCD_CLS);DisplayString(0x0, 0, LineMode “);DisplayString(0x0, 1, "Next Yes);Delay (300):“);DisplayString(0x
2、0, 1, Designedby202); if(SelectedMode=Line&&AutoMode=0) flag=AreaO;elseflag=l;while (flag<5)if(AutoMode二二1);DisplaySingleChar(0x07, 1, PassTime2);DisplaySingleChar(0x08, 1, PassTime3);elseDisplaySingleChar(0x04, 1, PassTimel);DisplaySingleChar(0x05, 1, PassTime2);DisplaySingleChar (0x06,1
3、,');DisplaySingleChar(0x07, 1, PassTime3);DisplaySingleChar(0x08, 1, PassTime4);/*顯示平均速度*/voidDisplayAVGSpeed(void)intSpeedl二0x30;DisplaySingleChar(0x07, 1, Speed2);DisplaySingleChar(0x08, 1, Speed3);*/ voidDisplayDistance(void)intDistance1=0x30;intDistance2=0x30;intDistance3二0x30;intDistance4=0
4、x30;if (int) (DistancelOO)<100)Distancel+二0;Distance2+=(int) (Distance*100)/10;Distance3+=(int) (Distance*100)%10;elseif (int) (DistancelOO)>100&&(int)(DistancelOO)<1000)Distancel+=(int) (Distance*100)/100;Distance2+=(int) (Distance*100)/10%10;Distance3+=(int) (Distance*100)%10;else
5、 Distancel+=(int)(Distance*100)/1000; Distance2+=(int)(Distance*100)/100%10: Distance3+=(int)(Distance*100)/10%10;Distance4+=(int) (Distance*100)%10;if (int) (DistancelOO)<1000)DisplaySingleChar(0x05, 1, Distancel);DisplaySingleChar (0x06,1,');DisplaySingleChar(0x07, 1, Distance2);DisplaySing
6、leChar(0x08, 1, Distance3);elseDisplaySingleChar(0x04, 1, Distancel);DisplaySingleChar(0x05, 1, Distance2);DisplaySingleChar(0x06, 1,');DisplaySingleChar(0x07, 1, Distance3);DisplaySingleChar(0x08, 1, Distance4);*/ voidINTInit(void)EA=1; 開總中斷ITO=1; /INTO邊沿觸發(fā)PXO=1; /INTO優(yōu)先級為高級EX1=1; 開 INTI 中斷IT1二
7、1; /INT1邊沿觸發(fā)PX1=1; /INTI優(yōu)先級為高級ClockO_Init(); /初始化時鐘中斷TM0D=0xll; /T0/T1 定時方式 1ETO二0x01; /開 T0 中斷ETl=0x01; 開 T1 中斷voidClockO_Init(void)TR0=0x01; 啟動 TOTHO二ThxO; /定時初值TLO=TlxO;voidClockl_Init(void)TR1 二0x01; 啟動 T1THl=0x3C; 定時初值-50ms中斷一次TLl=0x0B0;/<y<y<y彳、彳*.、r、r、r、r、r、叫、r、r、叫、叫、r、"卜 叫叫、&qu
8、ot;卜 叫、"卜 叫、"卜 叫、叫、叫、"卜 叮、叫叫、*中斷處理程序*>£ >r >V# >!# %T >!# >!# %T >!# %T >!# %T >!# %T >!# %T >!xl#T #T%#T> #T #T #T #T #T #T #T #T #T #T #T #T #T #T #77£x %ix £xixki>、*.、x.xx.> XaX xTx x<x"卜 “卜"、"卜卜"卜"
9、;、"卜"、"卜卜"卜.卜卜、"卜/#7x #Tx #Tx <TS#7/*外部中斷0* 外部中斷0有兩個功能(1) 作為菜單選擇的Next鍵(2) 作為測速的計數(shù)器*/voidSpeedINT (void) interruptO /中斷 INTOif (SelectedAll=False) /如果模式和速度還沒有選擇完 畢,則此中斷作為Next 鍵Next=True;if(Running=True) /如果模式和速度已經(jīng)選擇完畢,則 此中斷作為測速中斷SpeedCount+;if (ChoosingDisp 1 ay=True) /如果是
10、在選擇要顯示的內(nèi)容Next=True;/*外部中斷外部中斷1有兩個功能(1) 作為菜單選擇的確定鍵/返回鍵(2) 控速*/voidCtrSpeedINT (void) interrupt2 /中斷 INTI if (SelectedAll=False) /如果模式和速度還沒有選擇完 畢,則此中斷作為確定鍵if(IsSelectingMode=True) /模式選擇標志ModeSelected二True;if(IsSelectingSpeed=True) /速度選擇標志SpeedSelected二True;if (Running=True) /如果模式和速度選擇已經(jīng)完畢,則 此中斷作為控速中斷i
11、f(AreaO-O) 經(jīng)過第一條鐵線(即起跑線),開始計 時,開始測速EXO=1;Clockl_Init ();P31二0; 過起跑線,背光滅if (Area0=l)LowSpeedArealStartTime=PassTime; /讀取進入第一個低 速區(qū)的時刻if(AreaO=2)LowSpeedArealEndT ime=PassT ime: /讀取離開第一個低速 區(qū)的時刻,也就是進入高速區(qū)的時刻if(AreaO=3)HighSpeedAreaEndT ime=PassTime: / / 讀取離開高速區(qū)的時 刻,也就是進入第二個低速區(qū)的時刻if(AreaO=4)LowSpeedArea2E
12、ndTime=PassTime: /讀取離開第二個低速去的時刻if (AutoMode=l) /自動模式PassLine+;switch(PassLine)case5 :PassLineID=l:break;caselO:PassLineID=2;break;default:PassLineID=PassLineID;break;else if (SelectedMode二二Line) /直線模式 ThxO=ThxAreaO+;TlxO=TlxAreal+;if (Area0=5)EXI二0;else /S型模式Nocurve+;Round+;if (Roundid=二1&&R
13、ound=2)Round+;Roundid=0;Back=0;Back0=0;EXI二0;IE1=O;if(AutoDisplay=True)GoToChoosingDisplay=True;if (ChoosingDisp1ay=True)SelectedShow二True;SelectedReturn二True;Selected二True;/*TO中斷*TO中斷用來輸出方波以控制速度*/ voidTimeOINT (void) interruptl /TO 中斷 if(AutoMode=l)IsTOINT*二1;switch(PassLine) case2 :PrepareDistance
14、=Distance;break;case3 :FirstDistance二Distance-PrepareDistance;break;case4 :SecondDistance二Distance-PrepareDistance-FirstDistance;break;case5 :ThirdDistance=Distance-PrepareDistance-FirstDistance-SecondDistance;break;defauIt:break;switch(PassLinelD)caseO :if(IsTOINT二二1)TR0=0x01;TH0=0xec;TL0=0x78; /5m
15、selseTR0=0x01;TH0=0xb1;TL0=0xe0; /20msbreak;easel :if (PassLine=5)FirstHigh=(int) (65536-20*FirstDistance/ (15*Count*Rate-FirstDistance)*1000);SecondHigh=(int)(65536-20*SecondDistance/ (15*Rate-SecondDistance)*1000);ThirdHigh=(int)(65536-20*FirstDistance/(15*Count*Rate-FirstDistance)*1000);TRO二0x01;
16、TH0=0xf4;TL0=0x48;break;case2 :AutoMode二0;SelectedMode二Line;Area0=Areal=0;PassTime=0;Distance=0;TR0=0x01;TH0=0xf4;TL0=0x48;Thx0=Thx1 = (FirstHigh &OxfO)>>8);Tlx0=Tlxl=(FirstHigh&0x0f);Thx2 =Thx2 = (SecondHigh&Oxf0)»8) :Tlx2=Tlx2 = (SecondHigh&OxOf);Thx3=Thx3 = (ThirdHigh &
17、amp;0xf0)»8) ; Tlx 3 =Tlx 3 = (ThirdHigh&OxOf);Thx4=Thx4=0xff;Tlx4=Tlx4=0xff;break;defauIt:break;elseif (SelectedMode二二Line)IsTOINT*二-1;if (Area0<5)if(IsTOINT=l)ClockO_Init ();elseTRO二0x01; 啟動 TOTHO二Thxl; /定時初值TL0=Tlxl;elseIsT0INT=-l;elseIsT0INT2*=-l;if(IsT0INT2=l)TRO=OxO1;TH0=0xd8;TLO=OxfO; /10ms elseTR0=0x01;TH0=0xb1;TL0=0xe0; /20msBack+;if (Back二90)Back0=70;if(Nocurve<2)&&(Back0>0)&&Back!=0)if(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年春八年級歷史下冊 第11課 城鄉(xiāng)人民生存狀態(tài)的滄桑巨變說課稿1(pdf) 川教版
- Unit 2 Understanding each other Project 說課稿-2023-2024學(xué)年高中英語牛津譯林版(2020)選擇性必修第四冊
- Unit 6 Meet my family Part B Let's talk Let's learn大單元整體說課稿表格式-2024-2025學(xué)年人教PEP版英語四年級上冊
- 2024年秋七年級生物上冊 3.5.2 綠色植物的呼吸作用說課稿 (新版)新人教版001
- 葡萄園立柱施工方案
- 2023三年級數(shù)學(xué)下冊 三 美麗的街景-兩位數(shù)乘兩位數(shù)信息窗1 美麗的街燈第2課時說課稿 青島版六三制
- 預(yù)制水泥臨時圍墻施工方案
- 臨時合同范例復(fù)制
- 西安電動推拉雨棚施工方案
- 2024秋一年級語文上冊 漢語拼音 11 ie üe er說課稿 新人教版
- 2024美團簡化版商家合作合同標準文本一
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 《休閑食品加工技術(shù)》 課件 1 休閑食品生產(chǎn)與職業(yè)生活
- 春季開學(xué)安全第一課
- 2025年新生兒黃疸診斷與治療研究進展
- 廣東大灣區(qū)2024-2025學(xué)年度高一上學(xué)期期末統(tǒng)一測試英語試題(無答案)
- 2025年四川中煙工業(yè)限責任公司招聘110人高頻重點提升(共500題)附帶答案詳解
- 課題申報書:數(shù)智賦能高職院校思想政治理論課“金課”實踐路徑研究
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
- H3CNE認證考試題庫官網(wǎng)2022版
- 感統(tǒng)訓(xùn)練培訓(xùn)手冊(適合3-13歲兒童)
評論
0/150
提交評論