畢業(yè)設(shè)計論文基于51單片機的多功能智能小車設(shè)計論文電路程序論文
《畢業(yè)設(shè)計論文基于51單片機的多功能智能小車設(shè)計論文電路程序論文》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計論文基于51單片機的多功能智能小車設(shè)計論文電路程序論文(70頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢業(yè)設(shè)計(論文)基于51單片機的多功能智能小車設(shè)計論文(電路+程序+論文) 基于單片機的多功能智能小車設(shè)計論文 電路程序論文 摘 要 關(guān)鍵詞智能車 單片機 金屬感應(yīng)器 霍爾元件 1602LCD 智能作為現(xiàn)代的新發(fā)明是以后的發(fā)展方向他可以按照預(yù)先設(shè)定的模式在一個環(huán)境里自動的運作不需要人為的管理可應(yīng)用于科學勘探等等的用途智能電動車就是其中的一個體現(xiàn)本次設(shè)計的簡易智能電動車采用AT89S52單片機作為小車的檢測和控制核心采用金屬感應(yīng)器TL-Q5MC來檢測路上感應(yīng)到的鐵片從而把反饋到的信號送單片機使
2、單片機按照預(yù)定的工作模式控制小車在各區(qū)域按預(yù)定的速度行駛并且單片機選擇的工作模式不同也可控制小車順著S形鐵片行駛采用霍爾元件A44E檢測小車行駛速度采用1602LCD實時顯示小車行駛的時間小車停止行駛后輪流顯示小車行駛時間3 11 要求3 2 方案比較與選擇4 21路面檢測模塊4 22 LCD顯示模塊5 23測速模塊5 24控速模塊6 25模式選擇模塊7 3 程序框圖7 4 系統(tǒng)的具體設(shè)計與實現(xiàn)9 41路面檢測模塊9 42 LCD顯示模塊9 43測速模塊9 44控速模塊9 45復(fù)位電路模塊9 46模式選擇模塊9 5 最小系統(tǒng)圖10
3、6 最終PCB板圖12 7 系統(tǒng)程序13 8 致謝46 9 參考文獻47 10 附錄48 1 設(shè)計任務(wù) 設(shè)計并制作了一個智能電動車 圖1 車輛從起跑線出發(fā)出發(fā)前車體不得超出起跑線在第一個路程CD區(qū)3~6米以低速行駛通過時間不低于10s第二個路程D~E速通過時間不得于秒自動記錄顯示時間行駛距離 圖2 車輛沿著S形鐵片行駛自動轉(zhuǎn)彎自動尋找正確方向和鐵片當離開S型鐵片跑道或者感應(yīng)不到鐵片一段時間的時候小車自動停止并記錄行駛時間路程平均速度并通過LCD顯示出來 2 方案比較與選擇 根據(jù)設(shè)計任務(wù)要求并且根據(jù)我們自己的需要而附加的功能該電路的總體框圖可分為幾個基本的模塊框圖
4、如圖3所示 圖3 21 路面檢測模塊 采用鐵片感應(yīng)器TL-Q5MC來檢測路面上的鐵片從而給單片機中斷脈沖原理圖接線如圖4所示 圖4 22 LCD顯示模塊 采用1602LCD由單片機的總線模式連接為節(jié)約電源電量并且不影響LCD的功能LCD的背光用單片機進行控制使LCD的背光在小車行駛的過程中不亮因為我們不必看其顯示在其它我們需要看顯示的內(nèi)容的時候LCD背光亮 23 測速模塊 231 方案1 采用采用霍爾開關(guān)元器件A44E檢測輪子上的小磁鐵從而給單片機中斷脈沖達到測量速度的作用霍爾元件具有體積小頻率響應(yīng)寬度大動態(tài)特性好對外圍電路要求簡單使用壽命長價格低廉等特點電源要求不高安裝也較
5、為方便霍爾開關(guān)只對一定強度的磁場起作用抗干擾能力強因此可以在車輪上安裝小磁鐵而將霍爾器件安裝在固定軸上通過對脈沖的計數(shù)進行車速測量 232 方案2 采用紅外傳感器進行測速但無論是反射式紅外傳感器還是對射式紅外傳感器他們對都對外圍環(huán)境要求較高易受外部環(huán)境的影響穩(wěn)定性不高且價格較為昂貴 通過對方案1方案2的比較其優(yōu)缺點綜合多方面因素決定選用方案1其原理圖接線如圖5所示 圖5 24 控速模塊 241 方案1 使用功率三極管作為功率放大器的輸出控制直流電機線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單成本低加速能力強但功率損耗大特別是低速大轉(zhuǎn)距運行時通過電阻R的電流大發(fā)熱厲害損耗大對于小車的長時間運行不
6、利 242 方案2 采用繼電器對電動機的開或關(guān)進行控制通過開關(guān)的切換對小車的速度進行調(diào)整此方案的優(yōu)點是電路較為簡單缺點是繼電器的響應(yīng)時間慢易損壞壽命較短可靠性不高 243 方案3 采用由雙極性管組成的H橋電路用單片機控制晶體管使之工作在占空比可調(diào)的開關(guān)狀態(tài)精確調(diào)整電機轉(zhuǎn)速這種電路由于工作在管子的飽和截止模式下效率非常高H橋電路保證了可以簡單地實現(xiàn)轉(zhuǎn)速和方向的控制電子開關(guān)的速度很快穩(wěn)定性也很高是一種廣泛采用的調(diào)速技術(shù) 綜合3種方案的優(yōu)缺點決定選擇方案3其電路原理圖如圖6所示 圖6 25 模式選擇模塊 模式選擇模塊通過一個74LS00與非門和兩個不帶鎖按鈕來控制單片機單片機的兩個中
7、斷口從而按動按鈕來選擇小車走動的路型來選擇小車的速度是快速中速慢速走完路程小車停止后還可以通過按鈕選擇想要在LCD上想看的信息比如總時間走過各段路程的時間平均速度總路程等 小車走動的模式選擇有 1 直線型滿足設(shè)計任務(wù)的基本要求能穩(wěn)定的走完全程之后按順序循環(huán)不斷的顯示走完全程所用的時間走完高速區(qū)所用的時間和走完低速區(qū)所用的時間這三個時間或者可以通過兩個按鈕以及LCD顯示的菜單選擇所要看的內(nèi)容如平均速度全程距離以及那三個時間 2 S型滿足設(shè)計任務(wù)的發(fā)揮部分的要求小車能自動的感應(yīng)到在前面或在后面鐵片即第一次轉(zhuǎn)彎后若感應(yīng)到的是錯誤的方向則小車會后退自動調(diào)整方向沿著S型的鐵片走當走完S型鐵片后的一
8、定時間里小車自動停止之后自動進入菜單由我們自己選擇要看的內(nèi)容時間平均速度和所走的距離 3自動型小車先以一定的速度走完全程之后再以一定的速度倒退回起點再調(diào)整速度在一定的時間內(nèi)走完全程走完后LCD顯示的內(nèi)容與直線型顯示的內(nèi)容一樣 3 程序框圖 單片機主程序框圖速度感應(yīng)程序框圖和鐵片感應(yīng)程序框圖分別如圖7所示 圖7 4.系統(tǒng)的具體設(shè)計與實現(xiàn) 41 路面檢測模塊 應(yīng)用一個金屬感應(yīng)器安裝在車盤下離地略小于或約四毫米當金屬傳感器檢測到鐵片時將對單片機發(fā)送中斷信號單片機運行中斷改變輸給電機驅(qū)動信號的電壓占空比來控制小車的速度 42 LCD顯示模塊 采用1602LCD由單片機的總
9、線模式連接為節(jié)約電源LCD的背光用單片機進行控制 43 測速模塊 通過霍爾元件感應(yīng)磁鐵來產(chǎn)生脈沖 當霍爾元件在離磁場較近時輸出會是高電平其它時候是低電平 一個車輪均勻放四個小磁鐵計算一秒所得的脈沖數(shù)從而計算出一秒小車輪子轉(zhuǎn)動圈數(shù)再測量出小車車輪周長即可計算出小車當前速度累加可得到當前路程 44 控速模塊 考慮到元器件的缺少以及我們所用的電路的驅(qū)動電機的電路原理圖和和小車自帶的電路的電機驅(qū)動原理圖一樣所以暫時使用小車自帶的電機驅(qū)動電路圖 45 復(fù)位電路模塊 單片機的復(fù)位電路通過手動來實現(xiàn)復(fù)位電路圖如圖8所示 圖8 46 模式選擇模塊 兩個中斷口使用和感應(yīng)鐵片感應(yīng)速度所使用的中斷
10、口一樣通過一個與非門和按鈕控制原理圖如圖9所示 圖9 5.最小系統(tǒng)圖 該系統(tǒng)主要用到的是單片機所以主要的部分是最小系統(tǒng)圖該最小系統(tǒng)圖如圖10所示 圖12 6 最終PCB板圖 該最小系統(tǒng)的最終PCB板圖包括LCD接口以及其他的外部擴展電路部分考慮到最小系統(tǒng)的簡潔以及容易看懂外部擴展電路不在最小系統(tǒng)圖上顯示分別如圖11圖12所示 圖11 圖12 7.系統(tǒng)程序 按照預(yù)定的功能系統(tǒng)實現(xiàn)預(yù)定的功能的程序如下所示 include include \ 宏定義區(qū) \ d
11、efine LCD_RW P2_6 讀寫控制端 define LCD_RS P2_7 數(shù)據(jù)命令選擇端 define LCD_E P2_5 執(zhí)行使能端 define LCD_Data P1 P1口 define Write 0x00 低電平寫入 define Read 0x01 高電平讀出 define Data 0x01 高電平選擇數(shù)據(jù) define Cmd 0x00 低電平選擇命令 define Enable 0x00 躍變到低電平時執(zhí)行命令
12、 define Disable 0x01 define True 0x01 define False 0x00 define LCD_Init 0x38 初始化模式 define LCD_DispCtr 0x0C 開顯示及光標設(shè)置 define LCD_CloseCtr 0x08 關(guān)顯示 define LCD_CLS 0x01 清屏幕 define LCD_EnterSet 0x06 顯示光標 define Busy P1_7 忙信號
13、define CircleLength 0132 小車轉(zhuǎn)一輪的長度為132m define P03 P0_3 后電機 define P04 P0_4 后電機 define P01 P0_1 前電機 define P02 P0_2 前電機 define P31 P0_5 控制液晶背光 define P33 P3_3 define Line 0x00 0代表直線模式 define Curve 0x01 1代表S型模式 de
14、fine Normal 0x00 0 代表正常速度 define Low 0x01 1 代表低速 define High 0x02 2 代表高速 \ 全局函數(shù)聲明區(qū) \ void LCDInit void LCD初始化 void SetWriteCmd void 設(shè)置寫命令模式 void SetReadCmd void 設(shè)置讀命令模式 void SetWriteData void 設(shè)置寫數(shù)據(jù)模式 void WriteCmd
15、 char cmd 寫命令 void WriteData char ddata 寫數(shù)據(jù) void ExecuteCmd void 執(zhí)行命令 void SetXY char xchar y 定位顯示地址 void DisplaySingleChar char xchar ychar cchar 顯示單個字符 void DisplayString char xchar ychar str 顯示一段字符串 void Delay unsigned int time 延時主程序 void DelayUs un
16、signed int time 延時子程序 bit IsBusy void 判斷忙標志函數(shù) void DisplayTime void 顯示時間 void DisplayAVGSpeed void 顯示平均速度 void DisplayDistance void 顯示路程 void INTInit void 所有中斷初始化 void SpeedINT void 測速中斷 void ComputeTime void void ComputeSp
17、eedANDDistance void 計算速度和距離 void CtrSpeedINT void 控速中斷 void Time0INT void void Time1INT void 控速單位時間中斷 void Clock0_Init void 時鐘中斷初始化 void Clock1_Init void 時鐘中斷初始化 void CtrSpeed void \ 全局變量區(qū)
18、 \ float SpeedCount 0 測速計數(shù)脈沖 float Speed 00 float Distance 00 char Time1INTCount 0 T1中斷時間計時 float PassTime 000 小車行走的時間 short IsT0INT 1 bit IsT1INT 判斷T1是否已經(jīng)響應(yīng)中斷 short IsT0INT2 1 char Thx[5] 0xf40xf4
19、0xc50xf40xff 3ms3ms15ms3ms char Tlx[5] 0x480x480x680x480xff char Thx0 0xd8 char Tlx0 0xf0 char Thx1 0xb1 20ms char Tlx1 0xe0 short Round 0 short Back 0 short Back0 0 bit Backid bit Stop 0 char Area0 0 char Area1 0 區(qū)域變量 char LowSpeed
20、Area1StartTime char LowSpeedArea1EndTime char HighSpeedAreaEndTime char LowSpeedArea2EndTime char LowSpeedArea1PassTime 0 第一個低速區(qū)通過時間 char HighSpeedAreaPassTime 0 高速區(qū)通過時間 char LowSpeedArea2PassTime 0 第二個低速區(qū)通過時間 char ReadyToGo 4 倒計時 char flag bit Roun
21、did 0 char Nocurve 0 char ChangeFlag char Mode bit Running bit SelectedAll 模式和速度是否選擇完畢標志 bit IsSelectingMode 模式選擇標志 bit IsSelectingSpeed 速度選擇標志 bit ModeSelected 已經(jīng)被選擇的模式標志 char SelectedMode 10 模式選擇是否完畢標志 bit Next Next鍵標志
22、 bit SpeedSelected 已經(jīng)被選中的速度方案標志 char SelectedSpeed 速度選擇是否完畢標志 bit ChoosingDisplay 人工選擇菜單開始標志 bit SelectedShow 顯示選擇標志 bit SelectedReturn 返回選擇標志 bit Selected 確定返回鍵選擇標志 bit ReturnSelection 返回鍵啟用標志 bit AVGSpeedShow 平均速
23、度顯示標志 bit TotalDistanceShow 總路程顯示標志 bit ReturnMain 返回主菜單標志 bit AutoDisplay 自動顯示標志 bit GoToChoosingDisplay 人工選擇標志 bit AutoMode 0 char PassLineID 0 char PassLine 0 float PrepareDistance float FirstDistance float SecondDistance float ThirdDis
24、tance int FirstHigh int SecondHigh int ThirdHigh float Rate 125 5ms時的速度 float Count 4 時間的倍數(shù) \ 全局函數(shù)實現(xiàn)區(qū) \ void main P01 0 P02 0 P03 0 P04 0 P31 1 單片機復(fù)位背光開 Delay 40 延時等待LCD啟動 LCDInit
25、 初始化LCD DisplayString 0x00" Starting " DisplayString 0x01"Designed By 202" Delay 300 WriteCmd LCD_CLS EA 1 開總中斷 EX0 1 開INT0中斷 IT0 1 INTO邊沿觸發(fā) EX1 1 開INT1中斷 IT1 1 INT1邊沿觸發(fā) SelectedAll False 開始模式和速度選擇
26、 DisplayString 0x00"Choose The Mode " DisplayString 0x01"you want " Delay 50 WriteCmd LCD_CLS IsSelectingMode True while 1 WriteCmd LCD_CLS DisplayString 0x00" Line Mode " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動
27、while 1 不斷檢測中斷直到按確定鍵或是NEXT鍵 if Next True 如果按Next鍵則直接跳出 break if ModeSelected True 如果按確定鍵則設(shè)置模式為Line并跳出 SelectedMode Line break 如果什么鍵都沒有按下那么一直顯示等待 if ModeSelected True 按下了確定鍵退出模式選擇 IsSelectingMode F
28、alse break if Next True 按下了Next鍵顯示下一個菜單項 Next False WriteCmd LCD_CLS DisplayString 0x00" Curve Mode " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動 while 1 不斷檢測中斷直到按確定鍵或是Next鍵 if Next True 如果再一次按下Ne
29、xt鍵則跳出 break if ModeSelected True 如果按下確定鍵則設(shè)置模式為Curve并跳出 SelectedMode Curve break if ModeSelected True 按下了確定鍵退出模式選擇 IsSelectingMode False break if Next True 再一次按下了Next鍵則循環(huán)模式選擇 Next False Writ
30、eCmd LCD_CLS DisplayString 0x00" AutoMode " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動 while 1 if Next True break if ModeSelected True AutoMode 1 break if ModeSelected True
31、 IsSelectingMode False break if Next True Next False continue Delay 50 WriteCmd LCD_CLS if SelectedMode Line AutoMode 0 DisplayString 0x00" Now Choose a " DisplayString 0x01" kind of Speed " Delay 50 WriteCmd LCD_CLS
32、 IsSelectingSpeed True while 1 WriteCmd LCD_CLS DisplayString 0x00" Normal Speed " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動 while 1 if Next True 如果按Next鍵則直接跳出 break if SpeedSelected True 如果按確定鍵
33、則設(shè)置速度為Normal并跳出 Thx[0] 0xecTlx[0] 0x78 5ms Thx[1] 0xf0Tlx[1] 0x60 4ms Thx[2] 0x8aTlx[2] 0xd0 30ms Thx[3] 0xf4Tlx[3] 0x48 3ms SelectedSpeed Normal break 如果什么鍵都沒有按下那么一直顯示等待 if SpeedSelected True 按下了確定鍵退出速度選
34、擇 IsSelectingSpeed False break if Next True Next False WriteCmd LCD_CLS DisplayString 0x00" Low Speed " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動 while 1 if Next True 如果再一次按下Next鍵則跳出
35、 break if SpeedSelected True 如果按下確定鍵則設(shè)置速度為Low并跳出 SelectedSpeed Low 這里沒有速度設(shè)置因為默認速度就是Low break if SpeedSelected True 按下了確定鍵退出速度選擇 IsSelectingSpeed False break if Next True Next False
36、 WriteCmd LCD_CLS DisplayString 0x00" High Speed " DisplayString 0x01"Next Yes" Delay 300 延時消除抖動 while 1 if Next True 如果再一次按下Next鍵則跳出 break if SpeedSelected True 如果按下確定鍵則設(shè)置速度為High并跳出 Thx[0] 0xe0Tlx[0] 0
37、xc0 8ms Thx[1] 0xe0Tlx[1] 0xc0 8ms Thx[2] 0x63Tlx[2] 0xc0 40ms Thx[3] 0xecTlx[3] 0x78 5ms SelectedSpeed High break if SpeedSelected True 按下了確定鍵退出速度選擇 IsSelectingSpeed False break if
38、Next True 再一次按下了Next鍵則循環(huán)速度選擇 Next False continue SelectedAll True 標志模式選擇和速度選擇完畢 Running True Delay 50 WriteCmd LCD_CLS if SelectedMode Line DisplayString 0x00"Choosen Mode is " DisplayString 0x01"
39、 Line " Delay 50 WriteCmd LCD_CLS if SelectedMode Curve DisplayString 0x00"Choosen Mode is " DisplayString 0x01" Curve " Delay 50 WriteCmd LCD_CLS if AutoMode 1 DisplayString 0x00"Choosen Mode is " DisplayString 0x01" Aut
40、oMode " Delay 50 WriteCmd LCD_CLS if SelectedMode Line if SelectedSpeed Normal DisplayString 0x00"Choosen Speed is" DisplayString 0x01" Normal " Delay 50 WriteCmd LCD_CLS if SelectedSpeed Low DisplayString 0x00
41、"Choosen Speed is" DisplayString 0x01" Low " Delay 50 WriteCmd LCD_CLS if SelectedSpeed High DisplayString 0x00"Choosen Speed is" DisplayString 0x01" High " Delay 50 WriteCmd LCD_CLS INTInit 初始化所有中斷
42、DisplayString 0x00"Left Times To Go" while ReadyToGo-- DisplaySingleChar 0x71ReadyToGo0x30 DisplaySingleChar 0x091s Delay 300 WriteCmd LCD_CLS DisplayString 0x050"Go" Delay 100 WriteCmd LCD_CLS DisplayString 0x00" Living " DisplayString 0x01"Designe
43、d by 202" if SelectedMode LineAutoMode 0 flag Area0 else flag 1 while flag 5 if AutoMode 1 自動模式 switch PassLineID case 0 if IsT0INT 1 P01 P02 P04 0P03 1 else
44、 P01 P02 P03 P04 0 break case 1 P01 P02 P03 0P04 1 break case 2 P01 P02 P04 0P03 1 break default break else if SelectedMode Line 直線模式
45、 flag Area0 if IsT0INT 1 P03 1P04 0P01 P02 0 else P03 0P04 0P01 P02 0 else S型模式 if Nocurve 2 Round 0 Back0 0 Back 0 if Backid 1
46、 P01 1P02 0P03 0P04 1 else P01 0P02 1P03 0P04 1 Back 1 else if Round 0 if IsT0INT2 1 P01 0P02 0P03 1P04 0 else P01 0P02 0P03 0P04 0
47、 else if P33 0 if IsT0INT2 1 P01 0P02 0P03 1P04 0 else P01 0P02 0P03 0P04 0 else EX1 1 if Round2
48、 if IsT0INT2 1 P01 1P02 0P03 1P04 0Backid 1 else P01 1P02 0P03 0P04 0 else if IsT0INT2 1 P01 0P02 1P03 1P04 0Backid 0 el
49、se P01 0P02 1P03 0P04 0 if IsT1INT 1 IsT1INT 0 ComputeTime ComputeSpeedANDDistance 補中斷路程加上最后一次中斷缺失的路程 ComputeSpeedANDDistance P04 1P03 0P01 P02 0Delay 90 P03
50、 0P04 0 行程結(jié)束小車停止 P31 1 行程結(jié)束背光開 ET0 0x0 關(guān)T0中斷 ET1 0x0 關(guān)T1中斷 EX1 0x01 開INT1中斷 Running False AutoDisplay True 默認情況下直線模式會自動顯示各個區(qū)域經(jīng)過的時間 WriteCmd LCD_CLS if SelectedMode Line 直線模式才顯示 while 1
51、 if GoToChoosingDisplay True break Delay 200 WriteCmd LCD_CLS Delay 200 DisplayString 00" LowSpeedArea1" DisplayString 01" Costed " DisplaySingleChar 0x0C1s LowSpeedArea1PassTime LowSpeedArea1EndTime-LowSpeedArea1StartTime DisplaySingleChar 0x0A1Lo
52、wSpeedArea1PassTime100x30 if LowSpeedArea1PassTime 9 通過第一個低速區(qū)的時間超過s DisplaySingleChar 0x0B1LowSpeedArea1PassTime100x30 if GoToChoosingDisplay True break Delay 200 WriteCmd LCD_CLS Delay 200 DisplayString 00" HighSpeedArea " DisplayString 0
53、1" Costed " DisplaySingleChar 0x0C1s HighSpeedAreaPassTime HighSpeedAreaEndTime-LowSpeedArea1EndTime DisplaySingleChar 0x0A1HighSpeedAreaPassTime100x30 if HighSpeedAreaPassTime 9 通過高速區(qū)的時間超過s DisplaySingleChar 0x0B1HighSpeedAreaPassTime100x30 if GoToChoosingDi
54、splay True break Delay 200 WriteCmd LCD_CLS Delay 200 DisplayString 00" LowSpeedArea2 " DisplayString 01" Costed " DisplaySingleChar 0x0C1s LowSpeedArea2PassTime LowSpeedArea2EndTime-HighSpeedAreaEndTime DisplaySingleChar 0x0A1LowSpeedArea2PassTime100x30
55、 if LowSpeedArea2PassTime 9 通過第二個低速區(qū)的時間超過s DisplaySingleChar 0x0B1LowSpeedArea2PassTime100x30 AutoDisplay False ---------------- 菜單選擇你想要看的內(nèi)容--總時間總路程以及平均速度 -------------- ChoosingDisplay True WriteCmd LCD_CLS 首先顯示主菜單然后顯示第一個選項 DisplayString 0x00"N
56、ow Choose what " DisplayString 0x01"you want to see " Delay 100 while 1 WriteCmd LCD_CLS DisplayString 0x00" Costed Time " DisplayString 0x01"Next Show" Delay 250 延時消除抖動 不斷檢測確定鍵和Next鍵 while 1 if Next True break if S
57、electedShow True break 按下了確定鍵顯示第一個選項的內(nèi)容 if SelectedShow True SelectedShow False SelectedReturn False Selected False WriteCmd LCD_CLS DisplayString 00"Costed Time is" DisplayTime DisplayString 0x0A1"s" ReturnSelection True 按
58、下了確定鍵那么這個時候開啟返回鍵的功能 AVGSpeedShow False Delay 250 延時消除抖動 按下了Next鍵則顯示第二個選項 if Next True 按下Next鍵顯示AVGSpeed菜單項 Next False WriteCmd LCD_CLS DisplayString 0x00" AVGSpeed " DisplayString 0x01"Next Show" ReturnMa
59、in False ReturnSelection False 按下了Next鍵那么這個時候關(guān)閉返回鍵的功能 AVGSpeedShow True 表明AVGSpeed選項已經(jīng)顯示過了 Delay 250 延時消除抖動 顯示第一個選項的內(nèi)容后又不斷檢測返回鍵確定鍵和Next鍵 while 1 if Next True break if Selected True break if Next True
60、Next False ReturnMain False ReturnSelection False 按下了Next鍵那么這個時候關(guān)閉返回鍵的功能 if AVGSpeedShow False 還沒有顯示AVGSpeed選項顯示它 即第一次選擇了確定鍵 WriteCmd LCD_CLS DisplayString 0x00" AVGSpeed " DisplayString 0x01"Next Show" TotalDistanceShow F
61、alse 顯示了AVGSpeed則表明TotalDistance還沒有顯示 Delay 250 延時消除抖動 if AVGSpeedShow True 已經(jīng)顯示過AVGSpeed選項了則顯示下一個選項 即第一次選擇了Next鍵 WriteCmd LCD_CLS DisplayString 0x00" Total Distance " DisplayString 0x01"Next Show" TotalDistanceShow True
62、 表明顯示了TotalDistance選項 Delay 250 延時消除抖動 if Selected True 按下了確定鍵或返回鍵 SelectedShow False SelectedReturn False Selected False if ReturnSelection True 第一次選擇了確定鍵故這次按下的是返回鍵 ReturnMain True if ReturnSelection False
63、 WriteCmd LCD_CLS DisplayString 00"The AVGSpeed is" DisplayAVGSpeed DisplayString 0x0A1"ms" ReturnSelection True 按下了確定鍵那么這個時候開啟返回鍵的功能 Delay 250 延時消除抖動 TotalDistanceShow False if ReturnMain True 按下了返回鍵返回主菜單
64、 ReturnMain False continue 如果沒有返回主菜單則繼續(xù)檢測Next鍵和確定鍵 while 1 if Next True break if SelectedShow True break 按下Next鍵顯示下一個選項 if Next True Next False ReturnMain False ReturnSelection False 按下了Next鍵那么這
65、個時候關(guān)閉返回鍵的功能 if TotalDistanceShow True ReturnMain True if TotalDistanceShow False 還沒有顯示TotalDistance選項顯示它 WriteCmd LCD_CLS DisplayString 0x00" Total Distance " DisplayString 0x01"Next Show" TotalDistanceShow True Delay 250
66、 延時消除抖動 if Selected True 按下了確定鍵或返回鍵 SelectedShow False SelectedReturn False Selected False if ReturnSelection True 按下的是返回鍵 ReturnMain True if ReturnSelection False if TotalDistanceShow False 表明AVGSpeed選項的內(nèi)容還沒有顯示 WriteCmd LCD_CLS DisplayString 00"The AVGSpeed is" DisplayAVGSpeed DisplayString 0x0A1"ms" ReturnSelection True Delay 250 延時消除
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社保與商保區(qū)別
- 蘇少版小學二年級上冊音樂(五線譜)全冊ppt課件
- 抗生素基礎(chǔ)知識課件
- 人教版高中英語選修六Unit2Readingppt課件新
- 高一下學期開學收心主題班會全解課件
- 培訓(xùn)管理手冊的說明課件
- 蘇教化學必修江蘇專用專題單元課時電能轉(zhuǎn)化為化學能課件
- 部編版《掌聲》課件
- 小學綜合實踐活動《我有一雙小巧手:不倒翁》課件
- 2021年蘇教版一年級科學下冊全冊ppt課件
- 統(tǒng)(部)編版語文五年級下冊13-人物描寫一組教學PPT-附教案、說課稿和課時練課件
- 六年級科學上冊-生活中的能量ppt課件-冀教版
- 幼兒園課件-小班社會活動:我能我會
- 【新人教版】一年級數(shù)學上冊10的認識和加減法課件
- 23電阻的串聯(lián)和并聯(lián)