版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(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)先級為高級EX1=1; 開 INTI 中斷IT1二
7、1; /INT1邊沿觸發(fā)PX1=1; /INTI優(yōu)先級為高級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) 作為測速的計(jì)數(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有兩個(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í),開始測速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等.壓縮文件請下載最新的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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)議服務(wù)合同協(xié)議書的履行期限
- 苯板采購合同的履行威脅
- 螺旋式機(jī)器購買協(xié)議
- 房屋買賣合同的違約金計(jì)算及支付方式
- 電腦交易協(xié)議示范
- 招標(biāo)方案設(shè)計(jì)背景介紹
- 目標(biāo)責(zé)任書撰寫技巧
- 裝卸信譽(yù)保證
- 網(wǎng)絡(luò)打印機(jī)采購協(xié)議
- 致愛妻忠誠的保證書
- 軍事理論課(2024)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 魅力歌劇-《飲酒歌》課件 2024-2025學(xué)年人音版初中音樂九年級上冊
- 2024年心血管運(yùn)動(dòng)醫(yī)學(xué)指南要點(diǎn)解讀課件
- 安防監(jiān)控系統(tǒng)技術(shù)標(biāo)投標(biāo)書例范本
- 牛肉丸銷售合同模板
- 2024年資格考試-高校教師崗前培訓(xùn)考試近5年真題集錦(頻考類試題)帶答案
- 上海市普陀區(qū)曹楊二中2025屆生物高二上期末綜合測試試題含解析
- 1.1 公有制為主體多種所有制經(jīng)濟(jì)共同發(fā)展 課件-2024-2025學(xué)年高中政治統(tǒng)編版必修二經(jīng)濟(jì)與社會(huì)
- 第三單元(單元測試)-2024-2025學(xué)年四年級上冊數(shù)學(xué)人教版
- 中高層管理人員薪酬激勵(lì)制度
- 2024年秋季新人教版七年級上冊英語全冊教案設(shè)計(jì)
評論
0/150
提交評論