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

正文內(nèi)容

汽車巡航控制系統(tǒng)設(shè)計(jì)說(shuō)明書張翅-資料下載頁(yè)

2024-12-06 03:41本頁(yè)面

【導(dǎo)讀】本設(shè)計(jì)是基于AT89C52單片機(jī)為控制核心的汽車巡航控制系統(tǒng)設(shè)計(jì)。的好或壞來(lái)仿真巡航設(shè)定后,舵機(jī)工作狀況。本設(shè)計(jì)說(shuō)明書對(duì)該系統(tǒng)的硬件電路,工作原理進(jìn)行了詳細(xì)的介紹。同時(shí)給出了軟件設(shè)計(jì)的流程圖和主要源代碼。

  

【正文】 else if(key3==0) 43 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 { delay(5)。 if(key3==0) { key=3。//3 表示加速鍵 while(!key3)。 } } else if(key4==0) { delay(5)。 if(key4==0) { key=4。//4 表示減速鍵 while(!key4)。 } } else if(key5==0) { delay(5)。 if(key5==0) { key=5。//5 表示取消鍵 while(!key5)。 } 44 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 } else //沒有鍵按下時(shí) KEY 復(fù)位 0 { key=0。 } if(jiayou==0)//加油鍵檢測(cè) { duoji=duoji+10。 speed_set=0。 } else if(jianyou==0)//減有鍵檢測(cè) { duoji=duoji10。 speed_set=0。 } } void display1()//顯示字符子程序 { write_cmd(0x80+0x00)。//光標(biāo)定為 for(num=0。num3。num++) { write_data(table[num])。//寫入字符串 } write_cmd(0x80+0x0C)。 for(num=0。num4。num++) { write_data(table2[num])。 } 45 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 write_cmd(0x80+0x40)。 for(num=0。num3。num++) { write_data(table1[num])。 } write_cmd(0x80+0x4C)。 for(num=0。num4。num++) { write_data(table2[num])。 } } void Count_Disp(void)//數(shù)據(jù)轉(zhuǎn)換函 數(shù) { if (flage1==1)//flage1 為采集完成標(biāo)志位 1 表示脈沖采集完成 { Pulse=T2H*256+T2L。//高八位乘以 256 加上低八位為采集到的脈沖個(gè)數(shù),讀取脈沖采集頻率為 1s 一次車輪, //Pulse=1500。 //假如車輪周長(zhǎng)為 1 米每轉(zhuǎn)一圈 50 個(gè)脈沖如果車速為 200KM/H,相當(dāng)于55m/s,每秒鐘產(chǎn)生 55*50=2750 脈沖, //計(jì)數(shù)器 2 的計(jì)數(shù)范圍為 065535 所以無(wú)論什么情況都不會(huì)產(chǎn)生溢出 speed_get=Pulse*(adval+400)*36/(5*700)*(duoji500)/800。//車速本來(lái)應(yīng)該為 speed_get=Pulse*3。 6/50 flage1=0。 //讀取完成,標(biāo)志位置 0 m=0。//讀取完成,標(biāo)志位置 0 } 46 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 if(speed_get1000000)//最大量程為 999999 {speed_get=999999。} bai=speed_get/10000。//百位 (wan) shi=(speed_get%10000)/1000。//十位 ge=((speed_get%10000)%1000)/100。//個(gè)位 xiaosu1=(((speed_get%10000)%1000)%100)/10。//小數(shù)點(diǎn) xiaosu2=((((speed_get%10000)%1000)%100)%10)。//小數(shù)點(diǎn) s_bai=speed_set/10000。//百位 (wan) s_shi=(speed_set%10000)/1000。//十位 s_ge=((speed_set%10000)%1000)/100。//個(gè)位 s_xiaosu1=(((speed_set%10000)%1000)%100)/10。//小數(shù)點(diǎn) s_xiaosu2=((((speed_set%10000)%1000)%100)%10)。//小數(shù)點(diǎn) } void display2()//顯示轉(zhuǎn)速子程序 { write_cmd(0x80+0x05)。//給液晶寫入命令,指定光標(biāo)位置 write_data(0x30+bai)。//給液晶寫入數(shù)據(jù) write_data(0x30+shi)。 write_data(0x30+ge)。 write_data(39。.39。)。 write_data(0x30+xiaosu1)。 write_data(0x30+xiaosu2)。 write_cmd(0x80+0x45)。 write_data(0x30+s_bai)。 write_data(0x30+s_shi)。 write_data(0x30+s_ge)。 47 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 write_data(39。.39。)。 write_data(0x30+s_xiaosu1)。 write_data(0x30+s_xiaosu2)。 } void display3()//顯示無(wú)效子程序 { write_cmd(0x80+0x05)。 for(num=0。num6。num++) { write_data(table3[num])。 } write_cmd(0x80+0x44)。 for(num=0。num8。num++) { write_data(table4[num])。 } } void xunhang_PID_Set(void) //分段 PID 控制函數(shù) { static int e2。 //上上次誤差 static int e1。 //上次誤差 static int e0。 //當(dāng)前誤差 static int e02。 //上上次誤差 static int e01。 //上次誤差 static int e00。 //當(dāng)前誤差 static int e002。 //上上次誤差 static int e001。 //上次誤差 48 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 static int e000。 //當(dāng)前誤差 static int Ek。 pan=speed_setspeed_get。 if(pan0) pan=pan。 if(pan=250) { e000=(speed_setspeed_get)。 Ek=(xunhang_Kppp*e00+xunhang_Kiii*(e00e01)+xunhang_Kddd*(e00+e022*e01))/1024。 //Ek=0。 e002=e001。 e001=e000。 e01=0。 e02=0。 e1=0。 e2=0。 } else if(pan700) { e00=(speed_setspeed_get)/8。 Ek=(xunhang_Kpp*e00+xunhang_Kii*(e00e01)+xunhang_Kdd*(e00+e022*e01))/1024。 e02=e01。 e01=e00。 e001=0。 e002=0。 49 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 e1=0。 e2=0。 } else { e0=(speed_setspeed_get)/8。 Ek=(xunhang_Kp*e0+xunhang_Ki*(e0e1)+xunhang_Kd*(e0+e22*e1))/1024。 e2=e1。 e1=e0。 e001=0。 e002=0。 e01=0。 e02=0。 } duoji=duoji+Ek。 if(duoji500) duoji=500。 else if(duoji2500) duoji=2500。 } void int_time0(void) interrupt 1//中斷 T0 服務(wù)程序 { pwm=0。 TR0=0。//關(guān)閉定時(shí)器 0 } void int_time1(void) interrupt 3//中斷 T1 服務(wù)程序 50 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 { m++。//中斷次數(shù)標(biāo)志位累加 TH1=0x63。 TL1=0xBF。//T1 賦初值定時(shí) 40ms TH0=(65536duoji)/256。//給定時(shí)器 0 賦值 TL0=(65536duoji)%256。 pwm=1。//PWM 位賦高電平 TR0=1。//打開定時(shí)器 0 if (m==25)//每次 40ms 加滿 25 次,表示 1s 時(shí)間到 { m=0。//次數(shù)標(biāo)志清零 TR2=0。//關(guān)閉計(jì)數(shù)器 2 T2H=TH2。//讀取計(jì)數(shù)器高八位和低八位的值 T2L=TL2。 flage1=1。//采集完成標(biāo)志位置 1,表示采集完成 TH2=0。 //計(jì)數(shù)器清零 TL2=0。 } TR2=1。 } main()//主函數(shù) { CPU_Init()。//單片機(jī)初始化 LCD_init()。//液晶初始化 ad_init()。//AD 初始化 while(1)//進(jìn)入死循環(huán) { ad_start()。//打開 AD 51 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書 key_scan()。//鍵盤掃描 ad_read()。//讀取 AD 信號(hào) if(key==1)//如果開關(guān)鍵按下 { flage2=~flage2。//系統(tǒng)狀態(tài)取反,原來(lái)開的現(xiàn)在關(guān),原來(lái)是關(guān)的,現(xiàn)在開 LCD_init()。//液晶 初始化 speed_set=0。//設(shè)定速度初始化 } else if(key==5)//如果取消鍵按下 { flage2=0。//關(guān)閉系統(tǒng) LCD_init()。//液晶初始化 } if(flage2)//如果系統(tǒng)狀態(tài)為 flage2=1,系統(tǒng)打開 { switch(key)/
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1