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

正文內(nèi)容

基于單片機(jī)的多功能智能小車畢設(shè)畢業(yè)論文(完整版)

  

【正文】 控速模塊 */void CtrSpeedINT(void)。 //延時(shí)子程序bit IsBusy(void)。 //設(shè)置寫(xiě)數(shù)據(jù)模式void WriteCmd(char cmd)。在這期間遇到了很多從來(lái)都沒(méi)有遇到過(guò)的問(wèn)題,但是通過(guò)自己的努力和老師、同學(xué)的幫助最后把它們一一解決了。為節(jié)約電源,LCD的背光用單片機(jī)進(jìn)行控制。當(dāng)走完S型鐵片后的一定時(shí)間里,小車自動(dòng)停止。 方案2采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。為節(jié)約電源電量并且不影響LCD的功能,LCD的背光用單片機(jī)進(jìn)行控制,使LCD的背光在小車行駛的過(guò)程中不亮,因?yàn)槲覀儾槐乜雌滹@示;在其它我們需要看顯示的內(nèi)容的時(shí)候LCD背光亮。 要求 基本要求(1)分區(qū)控制:如(圖1)所示: 車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線)。 metal sensor TLQ5MC to detect the way the sensor to the iron plates, so that the feedback signal to send to the microcontroller, so that microcontroller in accordance with predetermined operating mode to control the car traveling in the regions according to a predetermined speed, and the operating mode selected by the microcontroller to control the car traveling along the Sshaped iron plates。本次設(shè)計(jì)的簡(jiǎn)易智能電動(dòng)車,采用AT89S52單片機(jī)作為小車的檢測(cè)和控制核心;采用金屬感應(yīng)器TLQ5MC來(lái)檢測(cè)路上感應(yīng)到的鐵片,從而把反饋到的信號(hào)送單片機(jī),使單片機(jī)按照預(yù)定的工作模式控制小車在各區(qū)域按預(yù)定的速度行駛,并且單片機(jī)選擇的工作模式不同也可控制小車順著S形鐵片行駛;采用霍爾元件A44E檢測(cè)小車行駛速度;采用1602LCD實(shí)時(shí)顯示小車行駛的時(shí)間,小車停止行駛后,輪流顯示小車行駛時(shí)間、行駛距離、平均速度以及各速度區(qū)行駛的時(shí)間。 metal sensors。當(dāng)離開(kāi)S型鐵片跑道或者感應(yīng)不到鐵片一段時(shí)間的時(shí)候,小車自動(dòng)停止,并記錄行駛時(shí)間,路程,平均速度并通過(guò)LCD顯示出來(lái)。但無(wú)論是反射式紅外傳感器還是對(duì)射式紅外傳感器,他們對(duì)都對(duì)外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,且價(jià)格較為昂貴。小車走動(dòng)的模式選擇有:(1) 直線型:滿足設(shè)計(jì)任務(wù)的基本要求,能穩(wěn)定的走完全程。(圖7)第4章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) 路面檢測(cè)模塊 應(yīng)用一個(gè)金屬感應(yīng)器,安裝在車盤(pán)下,離地略小于或約四毫米。原理圖如(圖9)所示:(圖9)第5章 最小系統(tǒng)圖 該系統(tǒng)主要用到的是單片機(jī),所以主要的部分是最小系統(tǒng)圖,該最小系統(tǒng)圖如(圖10)所示: 第6章 系統(tǒng)調(diào)試與仿真該最小系統(tǒng)的最終PCB板圖(包括LCD接口以及其他的外部擴(kuò)展電路部分,考慮到最小系統(tǒng)的簡(jiǎn)潔以及容易看懂,外部擴(kuò)展電路不在最小系統(tǒng)圖上顯示。 //LCD初始化void SetWriteCmd(void)。 //顯示單個(gè)字符void DisplayString(char x,char y,char *str)。 //所有中斷初始化void SpeedINT(void)。 //時(shí)鐘中斷初始化void CtrSpeed(void)。 //判斷T1是否已經(jīng)響應(yīng)中斷short IsT0INT2=1。short Back=0。char HighSpeedAreaEndTime。char Nocurve=0。 //已經(jīng)被選擇的模式標(biāo)志char SelectedMode=10。 //確定/返回鍵選擇標(biāo)志bit ReturnSelection。char PassLine=0。float Rate=。 //延時(shí)等待LCD啟動(dòng) LCDInit()。 //INTO邊沿觸發(fā) EX1=1。 while(1) { WriteCmd(LCD_CLS)。 break。 break。 //延時(shí)消除抖動(dòng) while(1) { if (Next==True) break。 WriteCmd(LCD_CLS)。 while(1) { WriteCmd(LCD_CLS)。Tlx[1]=0x60。 break。 //這里沒(méi)有速度設(shè)置,因?yàn)槟J(rèn)速度就是Low break。 //延時(shí)消除抖動(dòng) while(1) { if (Next==True) //如果再一次按下Next鍵,則跳出 break。Tlx[3]=0x78。 //標(biāo)志模式選擇和速度選擇完畢 Running=True。 DisplayString(0x0,1, Curve )。 DisplayString(0x0,1, Normal )。 DisplayString(0x0,1, High )。)。 if (SelectedMode==Lineamp。 case 1 :{ P01=P02=P03=0。 if(IsT0INT==1) {P03=1。Round!=0amp。} else {P01=0。P04=0。P04=0。P03=1。P02=1。} } } } } } } if (IsT1INT==1) { IsT1INT=0。 P03=0。 //默認(rèn)情況下直線模式會(huì)自動(dòng)顯示各個(gè)區(qū)域經(jīng)過(guò)的時(shí)間 WriteCmd(LCD_CLS)。s39。 Delay(200)。 if ( HighSpeedAreaPassTime 9) //通過(guò)高速區(qū)的時(shí)間超過(guò)s DisplaySingleChar(0x0B,1,HighSpeedAreaPassTime/10+0x30)。s39。 /*首先顯示主菜單,然后顯示第一個(gè)選項(xiàng)*/ DisplayString(0x0,0,Now Choose what )。 if (SelectedShow==True) break。 ReturnSelection=True。 ReturnSelection=False。 //按下了Next鍵,那么這個(gè)時(shí)候關(guān)閉返回鍵的功能 if (AVGSpeedShow==False) //還沒(méi)有顯示AVGSpeed選項(xiàng),顯示它 { //即第一次選擇了確定鍵 WriteCmd(LCD_CLS)。 TotalDistanceShow=True。 DisplayAVGSpeed()。 if (SelectedShow==True) break。 TotalDistanceShow=True。 DisplayAVGSpeed()。 ReturnSelection=True。 ReturnSelection=False。 Selected=False。 //延時(shí)消除抖動(dòng) } } } if (ReturnMain==True) //按下了返回鍵,返回主菜單 { ReturnMain=False。 } } if (SelectedShow==True) { SelectedShow=False。 ReturnSelection=True。 SelectedReturn=False。 Delay(5)。 //光標(biāo)移動(dòng)設(shè)置 WriteCmd(LCD_DispCtr)。 Delay(5)。 } continue。 //延時(shí)消除抖動(dòng) } } } /*第六次按鍵*/ while(1) { if (Next==True) break。 Selected=False。 } /*第五次按鍵*/ while(1) { if (Next==True) break。 if (ReturnSelection==False) { if (TotalDistanceShow==True) { WriteCmd(LCD_CLS)。 DisplayString(0x0,0, Total Distance )。 //延時(shí)消除抖動(dòng) } } } if (ReturnMain==True) //按下了返回鍵,返回主菜單 { ReturnMain=False。 ReturnSelection=True。 //延時(shí)消除抖動(dòng) } } if (Selected==True) //按下了確定鍵或返回鍵 { SelectedShow=False。 ReturnMain=False。 ReturnSelection=True。 //延時(shí)消除抖動(dòng) } } if (Selected==True) //按下了確定鍵或返回鍵 { SelectedShow=False。 DisplayString(0x0,1,Next Show)。 //表明AVGSpeed選項(xiàng)已經(jīng)顯示過(guò)了 Delay(250)。 Delay(250)。 SelectedReturn=False。 Delay(100)。 LowSpeedArea2PassTime=LowSpeedArea2EndTimeHighSpeedAreaEndTime。 Delay(200)。 DisplayString(0,1, Costed )。 LowSpeedArea1PassTime=LowSpeedArea1EndTimeLowSpeedArea1StartTime。 Delay(200)。 //行程結(jié)束,小車停止 P31=1。 ComputeSpeedANDDistance()。P04=0。Backid=1。P02=0。P02=0。P03=0。(Back00)amp。P01=P02=0。 }break。AutoMode==0) flag=Area0。 } WriteCmd(LCD_CLS)。 WriteCmd(LCD_CLS)。 WriteCmd(LCD_CLS)。 WriteCmd(LCD_CLS)。 WriteCmd(LCD_CLS)。 break。Tlx[0]=0xc0。 break。 WriteCmd(LCD_CLS)。Tlx[2]=0xd0。 DisplayString(0x0,1,Next Yes)。amp。 break。 break。 WriteCmd(LCD_CLS)。 DisplayString(0x0,1,Next Yes)。 //INT1邊沿觸發(fā) SelectedAll=False。 DisplayString(0x0,1,Designed By 202)。 //時(shí)間的倍數(shù)/************************
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1