


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rè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)先級(jí)為高級(jí)EX1=1; 開 INTI 中斷IT1二
7、1; /INT1邊沿觸發(fā)PX1=1; /INTI優(yōu)先級(jí)為高級(jí)ClockO_Init(); /初始化時(shí)鐘中斷TM0D=0xll; /T0/T1 定時(shí)方式 1ETO二0x01; /開 T0 中斷ETl=0x01; 開 T1 中斷voidClockO_Init(void)TR0=0x01; 啟動(dòng) TOTHO二ThxO; /定時(shí)初值TLO=TlxO;voidClockl_Init(void)TR1 二0x01; 啟動(dòng) T1THl=0x3C; 定時(shí)初值-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有兩個(gè)功能(1) 作為菜單選擇的Next鍵(2) 作為測(cè)速的計(jì)數(shù)器*/voidSpeedINT (void) interruptO /中斷 INTOif (SelectedAll=False) /如果模式和速度還沒有選擇完 畢,則此中斷作為Next 鍵Next=True;if(Running=True) /如果模式和速度已經(jīng)選擇完畢,則 此中斷作為測(cè)速中斷SpeedCount+;if (ChoosingDisp 1 ay=True) /如果是
10、在選擇要顯示的內(nèi)容Next=True;/*外部中斷外部中斷1有兩個(gè)功能(1) 作為菜單選擇的確定鍵/返回鍵(2) 控速*/voidCtrSpeedINT (void) interrupt2 /中斷 INTI if (SelectedAll=False) /如果模式和速度還沒有選擇完 畢,則此中斷作為確定鍵if(IsSelectingMode=True) /模式選擇標(biāo)志ModeSelected二True;if(IsSelectingSpeed=True) /速度選擇標(biāo)志SpeedSelected二True;if (Running=True) /如果模式和速度選擇已經(jīng)完畢,則 此中斷作為控速中斷i
11、f(AreaO-O) 經(jīng)過第一條鐵線(即起跑線),開始計(jì) 時(shí),開始測(cè)速EXO=1;Clockl_Init ();P31二0; 過起跑線,背光滅if (Area0=l)LowSpeedArealStartTime=PassTime; /讀取進(jìn)入第一個(gè)低 速區(qū)的時(shí)刻if(AreaO=2)LowSpeedArealEndT ime=PassT ime: /讀取離開第一個(gè)低速 區(qū)的時(shí)刻,也就是進(jìn)入高速區(qū)的時(shí)刻if(AreaO=3)HighSpeedAreaEndT ime=PassTime: / / 讀取離開高速區(qū)的時(shí) 刻,也就是進(jìn)入第二個(gè)低速區(qū)的時(shí)刻if(AreaO=4)LowSpeedArea2E
12、ndTime=PassTime: /讀取離開第二個(gè)低速去的時(shí)刻if (AutoMode=l) /自動(dòng)模式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; 啟動(dòng) TOTHO二Thxl; /定時(shí)初值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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省保定市清苑區(qū)2023-2024學(xué)年五年級(jí)下學(xué)期期末質(zhì)量監(jiān)測(cè)語文試題(有答案)
- 運(yùn)營商招聘面試題庫及答案
- 云南省安全員b證考試試題及答案
- 園林規(guī)范考試試題及答案
- 娛樂運(yùn)營筆試題目及答案
- 《幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)》課件-第七章 掌握幼兒園各領(lǐng)域教育活動(dòng)的設(shè)計(jì)方法(下)4音樂
- 臨床三基模擬試題(附參考答案)
- 呼叫中心服務(wù)員-高級(jí)工題庫+參考答案
- 金融行業(yè)下的輪崗培訓(xùn)模式探索
- 金融行業(yè)的大數(shù)據(jù)管理與風(fēng)險(xiǎn)控制策略研究
- 成本加酬金合同協(xié)議書
- 創(chuàng)新創(chuàng)業(yè)實(shí)戰(zhàn)案例解析智慧樹知到期末考試答案章節(jié)答案2024年東北農(nóng)業(yè)大學(xué)
- 基于stm32四軸飛行器控制系統(tǒng)設(shè)計(jì)
- 2024年安徽省高考化學(xué)試卷(真題+答案)
- 2019-2020學(xué)年河南省濟(jì)源市七年級(jí)下學(xué)期期末數(shù)學(xué)試卷-(解析版)
- 江蘇省蘇州市常熟市2023-2024學(xué)年五年級(jí)下學(xué)期數(shù)學(xué)期末檢測(cè)
- 血液凈化抗凝新進(jìn)展-萘莫司他
- 重慶市大渡口區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末測(cè)試數(shù)學(xué)試題
- 顱腦外傷的麻醉管理
- 華夏文化五千年智慧樹知到期末考試答案章節(jié)答案2024年大連工業(yè)大學(xué)
- 廣東省廣州市2022-2023學(xué)年五年級(jí)下學(xué)期語文期末試卷(含答案)4
評(píng)論
0/150
提交評(píng)論