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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機的多功能智能小車設(shè)計(電路程序論文)(留存版)

2025-08-04 02:34上一頁面

下一頁面
  

【正文】 DisplayString(0x0,1,Next Show)。 DisplayString(0x0,0, AVGSpeed )。 //延時消除抖動 } if (AVGSpeedShow==True) //已經(jīng)顯示過 AVGSpeed選項了,則顯示下一個選項 { //即第一次選擇了 Next鍵 WriteCmd(LCD_CLS)。 } if (ReturnMain==True) //按下了返回鍵,返回主菜單 { ReturnMain=False。 if (ReturnSelection==True) //按下的是返回鍵 ReturnMain=True。 if (SelectedShow==True) break。 DisplayString(0x0A,1,m)。 DisplayString(0,0,Total Distance)。 LCD_E=Disable。 } void SetWriteData(void) { LCD_RW=Write。 } void DisplaySingleChar(char x,char y,char cchar) { SetXY(x,y)。 } void SetXY(char x,char y) { if (y) x|=0x40。 //顯示開以及光標設(shè)置 } /* LCD模式設(shè)置函數(shù) *\ SetWriteCmd() 設(shè)置 LCD為寫命令模式 SetReadCmd() 設(shè)置 LCD為讀命令模式 SetWriteData() 設(shè)置 LCD為寫數(shù)據(jù)模式 \**/ void SetWriteCmd(void) { LCD_RW=Write。 Selected=False。 SelectedReturn=False。 if (ReturnSelection==True) //按下的是返回鍵 ReturnMain=True。 //按下了確定鍵,那么這個時候開啟返回鍵的功能 Delay(250)。 Delay(250)。 DisplayString(0x0A,1,m/s)。 DisplayString(0x0,0, AVGSpeed )。 //按下了確定鍵,那么這個時候開啟返回鍵的功能 AVGSpeedShow=False。 DisplayString(0x0,1,you want to see )。 if (GoToChoosingDisplay==True) break。)。P04=0。P03=1。} else {P01=0。P02=1。P04=0。amp。 Delay(50)。 Delay(50)。 //5ms SelectedSpeed=High。 } } } if (SpeedSelected==True) //按下了確定鍵,退出速度選擇 { IsSelectingSpeed=False。 //4ms Thx[2]=0x8a。 /* 速度選擇 */ if (SelectedMode==Line amp。 } } } if (ModeSelected==True) //按下了確定鍵,退出模式選擇 { IsSelectingMode=False。 DisplayString(0x0,0, Line Mode )。 //初始化 LCD DisplayString(0x0,0, Starting... )。 float PrepareDistance。 //模式選擇是否完畢標志 bit Next。 char LowSpeedArea2EndTime。 char Thx[5]={0xf4,0xf4,0xc5,0xf4,0xff}。 //測速中斷 void ComputeTime(void)。 //設(shè)置寫命令模式 void SetReadCmd(void)。當走完 S 型鐵片后的一定時間里 ,小車自動停止。為節(jié)約電源電量并且不影響 LCD 的功能,LCD 的背光用單片機進行控制,使 LCD 的背光在小車行駛的過程中不亮,因為我們不必看其顯示;在其它我們需要看顯示的內(nèi)容的時候 LCD 背光亮。 本次設(shè)計的簡易智能電動車,采用 AT89S52 單片機 作為小車的檢測和控制核心;采用 金屬 感 應(yīng) 器 TLQ5MC 來檢測路上 感應(yīng)到 的鐵片, 從而把 反饋 到的 信號送單片機, 使 單片機 按照預(yù)定的 工作模式 控制小車在各 區(qū) 域 按預(yù)定的速度行駛, 并且單片機選擇的 工作模式 不同也可控制 小車順著 S 形鐵片行駛 ;采用 霍爾元件 A44E 檢測小車行駛速度;采用 1602LCD 實時顯 示小車行駛的時間,小車停止行駛后,輪流顯示小車行駛時間 、 行駛距離 、 平均速度以及各速度區(qū)行駛的時間。但無論是 反射式紅外傳感器還是對射式紅外傳感器,他們對都對外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,且價格較為昂貴。 8 (圖 7) 9 4.系統(tǒng)的具體設(shè)計與實現(xiàn): 路面檢測模塊: 應(yīng)用一個金屬感 應(yīng) 器,安裝在車盤下,離地略小于 或約 四 毫米。 //執(zhí)行命令 void SetXY(char x,char y)。 //控速單位時間中斷 void Clock0_Init(void)。 //20ms char Tlx1=0xe0。 //倒計時 char flag。 //顯示選擇標志 bit SelectedReturn。 int SecondHigh。 //開總中斷 EX0=1。 break。 DisplayString(0x0,1,Next Yes)。 WriteCmd(LCD_CLS)。 break。 DisplayString(0x0,1,Next Yes)。 continue。 WriteCmd(LCD_CLS)。 DisplaySingleChar(0x09,1,39。} else {P01=P02=P03=P04=0。} } else { //S型模式 if((Nocurve2)amp。P02=0。 if(Round%2) { if(IsT0INT2==1) {P01=1。P03=0。 //開 INT1中斷 Running=False。 Delay(200)。 DisplayString(0,1, Costed )。 Delay(250)。 DisplayString(0x0,1,Next Show)。 DisplayString(0x0,0, Total Distance )。 continue。 if (ReturnSelection==False) { if (TotalDistanceShow==False) //表明 AVGSpeed選項的內(nèi)容還沒有顯示 { WriteCmd(LCD_CLS)。 } 32 if (Next==True) //所有菜單項已經(jīng)顯示完畢,返回主菜單 { Next=False。 ReturnSelection=True。 DisplayDistance()。 Delay(5)。 LCD_RS=Data。 WriteData(cchar)。 LCD_E=Disable。 //光標移動設(shè)置 WriteCmd(LCD_DispCtr)。 SelectedReturn=False。 } } if (SelectedShow==True) { SelectedShow=False。 Selected=False。 ReturnSelection=True。 TotalDistanceShow=True。 DisplayAVGSpeed()。 //按下了 Next鍵,那么這個時候關(guān)閉返回鍵的功能 if (AVGSpeedShow==False) //還沒有顯示 AVGSpeed選項,顯示它 { //即第一次選擇 了確定鍵 WriteCmd(LCD_CLS)。 ReturnSelection=True。 /*首先顯示主菜單,然后顯示第一個選項 */ DisplayString(0x0,0,Now Choose what )。 if ( HighSpeedAreaPassTime 9) //通過高速區(qū)的時間超過 s DisplaySingleChar(0x0B,1,HighSpeedAreaPassTime/10+0x30)。s39。 P03=0。P02=1。P04=0。} 25 else {P01=0。 if(IsT0INT==1) {P03=1。 if (SelectedMode==Lineamp。 DisplayString(0x0,1, High )。 DisplayString(0x0,1, Curve )。Tlx[3]=0x78。 //這里沒有速度設(shè)置,因為默認速度就是 Low break。Tlx[1]=0x60。 WriteCmd(LCD_CLS)。 19 break。 while(1) { WriteCmd(LCD_CLS)。 //延時等待 LCD啟動 LCDInit()。 char PassLine=0。 //已經(jīng)被選擇的模式標志 char SelectedMode=10。 char HighSpeedAreaEndTime。 //判斷 T1是否已經(jīng)響應(yīng)中斷 short IsT0INT2=1。 //所有中斷初始化 void SpeedINT(void)。 //LCD初始化 void SetWriteCmd(void)。 ( 2) S 型:滿足設(shè)計任務(wù)的發(fā)揮部分的要求,小車能自動的感應(yīng)到在前面或在后面鐵片, 即第一次轉(zhuǎn)彎后若感應(yīng)到的是錯誤的方向 ,則小車會后退 自動調(diào)整方向,沿著 S型的鐵片走。原理圖 接線如(圖 4)所示: (圖 4) 5 LCD 顯示模塊: 采用 1602LCD,由單片機的總線模式連接。本設(shè)計結(jié)構(gòu)簡單,較容易實現(xiàn),但具有高度的智能化、人性化 ,一定程度體現(xiàn)了智能。 通過對方案 方案 2 的比較其優(yōu)缺點,綜合多方面因素決定選用方案 1,其原理圖接線如(圖5)所示: (圖 5) 控速模塊: 方案 1: 使用功率三極管作為功率放大器的輸出控制直流電機。當金屬傳感器檢測到鐵片時將對單片機發(fā)送中斷信號,單片機運行中斷,改變輸給電機驅(qū)動信號的電壓占空比來控制小車的速度 。 //定位顯示地址 void DisplaySingleChar(char x,char y,char cchar)。 //時鐘中斷初始化 void Clock1_Init(void)。 short Round=0。 bit Roundid=0。 //返回選擇標志
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1