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

正文內(nèi)容

智能公交小車系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-25 05:13 本頁面
 

【文章內(nèi)容簡介】 制信號,通過驅(qū)動芯片控制電機,達到實時控制改變小車狀態(tài)。(7) 報警裝置:當(dāng)小車到站后,小車需要鳴笛,所以通過使用蜂鳴器達到到站鳴笛的效果。綜合上述的幾個功能模塊,: 主程序軟件延時程序宏定義程序初始化程序報警程序定時五秒程序信息采集程序電機驅(qū)動控制程序 ,小車上電后,調(diào)用初始化子程序,進行初始化,然后進行判斷小車的動態(tài)標識位是否為1,若為0,則繼續(xù)掃描小車動態(tài)標識位(flag2);若小車動態(tài)標志位(flag2)為1,則調(diào)用小車狀態(tài)信息掃描子程序,得到狀態(tài)標志值,再調(diào)用改變小車狀態(tài)子程序,將掃描小車狀態(tài)得到的標志值作為改變小車狀態(tài)子程序的實參,執(zhí)行改變小車狀態(tài)子程序,然后在去查詢小車標志位(flag2)的值是否為一,這樣循環(huán)下去。 void main() { init()。//初始化 while(1) { if(flag2==1)//小車動態(tài)標識位是否為1{ mm=dscan()。//調(diào)用掃描小車狀態(tài)子程序 vrun()。//調(diào)用小車狀態(tài)改變函數(shù)}} } 宏定義函數(shù)在宏定義函數(shù)中,定義程序中要用到的全局變量和定義宏常量。設(shè)置位變量和單片機、器件的控制端口對應(yīng)口位對應(yīng)便于操作和便于自己理解,從而提高程序的可讀性和易于改變。define uint unsigned intdefine uchar unsigned charsbit L1=P1^3。//作為右邊第二個光電感應(yīng)器采集的信號sbit L2=P1^4。//作為右邊第一個光電感應(yīng)器采集的信號sbit CC=P1^5。//作為中間光電感應(yīng)器采集的信號sbit R1=P1^6。//作為左邊第一個光電感應(yīng)器采集的信號sbit R2=P1^7。//作為左邊第一個光電感應(yīng)器采集的信號sbit beep=P1^0。//做為控制蜂鳴器位sbit A1=P3^0。//控制左邊電機的IN1sbit A2=P3^1。//控制左邊電機的IN2sbit B1=P3^2。//控制右邊電機的IN3sbit B2=P3^3。//控制右邊電機的IN4uchar flag1,flag2,a,mm。/*flag1作為定時五秒標識位,flag2作為小車動態(tài)標識位,a作為計數(shù)產(chǎn)生多少次定時器0次數(shù)累加器,mm作為掃描循跡到的小車狀態(tài)標志值*/ 初始化子程序設(shè)計首先將定時五秒標識復(fù)位,因為還未調(diào)用定時五秒子程序時,所以該標志位應(yīng)該為零,同樣未產(chǎn)生定時器0中斷,所以應(yīng)該將定時器0中斷次數(shù)累加器清零,設(shè)置TMOD=0x01,即T0用作定時,工作方式為方式0,因為設(shè)計中要處理定時器0中斷,所以應(yīng)該打開總中斷、定時器中斷。然后讓小車啟動時向前行駛,讓后將小車動態(tài)標識位置為1,以便實時掃描小車行駛過程中路面的動態(tài)信息,繼而控制電機改變小車的狀態(tài)。void init()//初始化{ flag1=0。//五秒延時到標識P3=0xff。 a=0。//定時器0中斷累加器 TMOD=0x01。//設(shè)置定時器0為方式0 EA=1。//開總中斷 ET0=1。//開定時器中斷 vrun(2)。//啟動時讓小車向前進 flag2=1。//小車動態(tài)變化標識} 開始五秒延時到標識清零定時器0中斷累加器設(shè)置定時器0為方式0開總中斷開定時器中斷調(diào)vrun(2),啟動時讓小車向前行小車動態(tài)變化標識置1 返回 該延時子程序采用軟件延時,累計每執(zhí)行一條指令所耗費的時間,達到需要的延時,軟件延時由于其延時時間不精確,所以用在一些短暫的延時。該延時子程序如下所示:void delay(uchar z)//延時{ uchar x,y。 for(x=z。x0。x) for(y=110。y0。y)。 }開始設(shè)置兩變量x,y并給x初始化 x=0初始化y N返回 Y y—1 y=0 N Y x—1智能小車公交系統(tǒng)定時程序用于當(dāng)小車到站時,蜂鳴器鳴笛10次后,停止五秒后再啟動小車,繼續(xù)行駛。該定時子程序設(shè)計采用定時中斷方式,每次中斷間隔時間為5萬微秒(晶振頻率為12MHZ,而定時器0計數(shù)50000次就會將TF0置為1,提出中斷請求,而在初始化子程序中總中斷和定時器0中斷都已被打開,所以一有中斷就會被響應(yīng),然后跳到中斷服務(wù)子程序執(zhí)行相應(yīng)要實現(xiàn)的功能。),要求定時5秒,所以應(yīng)該產(chǎn)生100次定時器0中斷。void delay1()//延時五秒子程序{/*給定時器0寄存器送初值*/ TH0=(6553650000)/256。//分離計數(shù)初試值高位值給寄存器高位 TL0=(6553650000)%256。///分離計數(shù)初試值低值位給寄存器低位 TR0=1。 //啟動定時器0 while(!flag1)。//等待時間到五秒 flag1=0。//重新將定時五秒標識復(fù)位 }/*定時器0中斷程序*/ void time0() interrupt 1 { a++。//計數(shù)產(chǎn)生多少次定時器0中斷/*充新為定時0器寄存器送初值*/ TH0=(6553650000)/256。//分離計數(shù)初試值高位值給寄存器高位 TL0=(6553650000)%256。///分離計數(shù)初試值低值位給寄存器低位 if(a==100) / /判斷是否到定時到五秒 { a=0。//將計數(shù)產(chǎn)生多少次定時器0中斷次數(shù)清為0 flag1=1。//將定時五秒標識置位 }}開始開始重裝定時器0寄存器初值初始化定時器0寄存器 累加器a+1A==100定時器0開始計數(shù) N Y 到五秒 將五秒定時標識、a清零 N Y返回 中斷返回 掃描子程序設(shè)計。: 小車結(jié)構(gòu)圖電機的控制和小車的控制方法表332表31 電機控制方法左電機右電機電機狀態(tài)電機狀態(tài)A1A2B1B200不轉(zhuǎn)00不轉(zhuǎn)01前轉(zhuǎn)01前轉(zhuǎn)10后轉(zhuǎn)10后轉(zhuǎn)11不轉(zhuǎn)11不轉(zhuǎn)表32 小車運行控制方法小車運動狀態(tài)0101前進1010后退1101左轉(zhuǎn)0111右轉(zhuǎn): 到終點站 到站點 采用五個光電感應(yīng)器對軌道(引導(dǎo)黑線)進行循跡, 開始器倒向后輸入信號。給P1口送高電平器信息;;邊第一個光電感器信息;感器信息。(由于硬件電路設(shè)計中中間光電感應(yīng)器讀讀取狀態(tài)信號回來的信號經(jīng)LM324搭建的比較器后0表示未循跡到黑線,1表示循跡到黑線;其他的0表示循跡到,查狀態(tài)真值表1表示未循跡到黑線)。返回標志值 五個光電感應(yīng)器真值表0x00 LLRR2都循跡到黑線CC未循跡到0x08 LLR1都循跡到黑線RCC未循跡到0x10 LLR2都循跡到黑線RCC未循跡到0x18 LLCC都循跡到黑線RR2未循跡到0x20 LLRRCC都循跡到黑線0x28 LLRCC都循跡到黑線R2未循跡到0x30 LLCC、R2都循跡到黑線R1未循跡到0x38 LLCC都循跡到黑線RR2未循跡到0x40 LRR2都循跡到黑線LCC未循跡到0x48 LR1都循跡到黑線LCC、R2未循跡到0x50 LR2都循跡到黑線LRCC未循跡到0x58 L1循跡到黑線LRRCC都未循
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1