版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 《基于單片機(jī)的</b></p><p> 自行車(chē)?yán)锍瘫怼y(cè)速儀》</p><p><b> 單片機(jī)大作業(yè)</b></p><p><b> 目 錄</b></p><p><b> 摘要</b></p>
2、<p><b> 第一章 系統(tǒng)設(shè)計(jì)</b></p><p> 1.1 設(shè)計(jì)任務(wù)和要求</p><p><b> 1.1.1設(shè)計(jì)任務(wù)</b></p><p> 1.1.2 基本要求</p><p> 1.2 總體設(shè)計(jì)方案</p><p> 1.2.1系統(tǒng)總
3、體設(shè)計(jì)思路</p><p> 1.2.2方案設(shè)計(jì)與討論</p><p><b> 1.3功能描述</b></p><p><b> 1.4操作說(shuō)明</b></p><p><b> 1.5結(jié)構(gòu)框圖</b></p><p><b> 1
4、.6原理說(shuō)明</b></p><p><b> 第二章 硬件設(shè)計(jì)</b></p><p><b> 2.1 硬件電路</b></p><p> 2.2 主要元件介紹</p><p><b> 第三章 軟件設(shè)計(jì)</b></p><p>
5、; 3.1 系統(tǒng)主程序流程圖</p><p><b> 3.2 仿真截圖</b></p><p><b> 3.3 源程序代碼</b></p><p> 基于80C51單片機(jī)的</p><p> 自行車(chē)?yán)锍瘫怼y(cè)速儀</p><p> 摘 要:本文介紹了一種基于
6、單片機(jī)控制的簡(jiǎn)易自動(dòng)自行車(chē)速度以及里程計(jì)算系統(tǒng),包括自行車(chē)?yán)锍瘫淼挠布?gòu)成,軟件邏輯以及程序代碼。該里程測(cè)速系統(tǒng)以AT89C51作為系統(tǒng)控制核心,采用光電傳感器來(lái)檢測(cè)信號(hào),通過(guò)一定時(shí)間間隔內(nèi)對(duì)信號(hào)的采集,結(jié)合自行車(chē)本身車(chē)輪參數(shù),經(jīng)過(guò)單片機(jī)對(duì)采集信號(hào)進(jìn)行分析計(jì)算,最終在LCD以及LED上顯示車(chē)輛行駛里程、平均速度和瞬時(shí)速度,并且具有超速報(bào)警功能。</p><p> 關(guān)鍵詞:自行車(chē)測(cè)速;單片機(jī);光電傳感器,LCD/
7、LED顯示 </p><p><b> 一、系統(tǒng)設(shè)計(jì)</b></p><p> 1.1 設(shè)計(jì)任務(wù)和要求1.1.1設(shè)計(jì)任務(wù)</p><p> 設(shè)計(jì)一個(gè)自行車(chē)?yán)锍瘫?、測(cè)速儀,可以將自行車(chē)一段時(shí)間內(nèi)的行駛里程,瞬時(shí)速度,平均速度在LCD上顯示出來(lái),有一個(gè)能用LCD顯示的腕式自行車(chē)?yán)锍田@示器,傳感器采用霍爾元器件,安裝在自行車(chē)的車(chē)輪上;<
8、/p><p> 1.1.2 基本要求</p><p> 能實(shí)時(shí)顯示當(dāng)前的車(chē)速和行駛里程;</p><p> 能去除或保留原先的里程數(shù);</p><p><b> 電池供電。</b></p><p> 1.2 總體設(shè)計(jì)方案</p><p> 1.2.1系統(tǒng)總體設(shè)計(jì)思路
9、</p><p> 本系統(tǒng)實(shí)現(xiàn)自行車(chē)運(yùn)行過(guò)程中對(duì)行駛里程、當(dāng)前瞬時(shí)速度、平均速度進(jìn)行測(cè)量和顯示。總體設(shè)計(jì)思路如圖1所示。系統(tǒng)包括控制器模塊、信號(hào)檢測(cè)采集模塊、顯示模塊、電源模塊四部分。</p><p> 系統(tǒng)工作時(shí),傳感器采集到信號(hào)(用按鍵代表脈沖、或者用頻率輸入代表信號(hào)輸入)傳輸給單片機(jī),單片機(jī)計(jì)數(shù)器統(tǒng)計(jì)脈沖個(gè)數(shù),定時(shí)器記錄相應(yīng)時(shí)間長(zhǎng)度,經(jīng)過(guò)運(yùn)算,將行駛里程、平均速度送給LCD顯示,
10、當(dāng)前(瞬時(shí))速度送給7段數(shù)碼管顯示。</p><p> 1.2.2方案設(shè)計(jì)與討論</p><p><b> 速度測(cè)量原理</b></p><p> 測(cè)量自行車(chē)的速度的原理有兩種:</p><p> 測(cè)量一定時(shí)間間隔t里自行車(chē)車(chē)輪轉(zhuǎn)過(guò)的圈數(shù)q。假設(shè)車(chē)輪周長(zhǎng)為c,則速度V=c*q/t測(cè)量自行車(chē)車(chē)輪轉(zhuǎn)過(guò)一圈的時(shí)間t,則
11、速度V=c/t本里程表是根據(jù)第一個(gè)原理計(jì)算速度的。</p><p><b> 傳感器的選擇</b></p><p> 紅外光電傳感器。把紅外對(duì)管分別安裝在自行車(chē)車(chē)輪的兩側(cè),當(dāng)車(chē)輪轉(zhuǎn)動(dòng)時(shí),輻條會(huì)阻擋紅外對(duì)管的光路,接收管輸出低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。紅外對(duì)管的優(yōu)點(diǎn)是測(cè)量精度高,缺點(diǎn)是安裝比較復(fù)雜和容易受外來(lái)光線、灰塵等的影響。</p>
12、<p> 開(kāi)關(guān)型霍爾傳感器。霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開(kāi)關(guān)型霍爾傳感器安裝在自行車(chē)貼近車(chē)輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無(wú)抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等?;魻杺鞲衅鞯膬?yōu)點(diǎn)是穩(wěn)定和安裝簡(jiǎn)易,缺點(diǎn)是成本較高。</p><p> 干簧管。干簧管是一種磁敏的有觸點(diǎn)無(wú)源電子開(kāi)關(guān)元件,應(yīng)用在里程表上的原理與開(kāi)關(guān)型霍爾傳感
13、器類(lèi)似,把干簧管安裝在自行車(chē)貼近車(chē)輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,干簧管閉合,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。干簧管的優(yōu)點(diǎn)是成本低廉和安裝簡(jiǎn)易,缺點(diǎn)是比較脆弱和不夠穩(wěn)定。</p><p> 本里程表選用開(kāi)關(guān)型霍爾傳感器,穩(wěn)定、安裝簡(jiǎn)易。</p><p><b> 顯示模塊的選擇</b></p><p> 動(dòng)態(tài)
14、掃描LED數(shù)碼管顯示。里程表的顯示內(nèi)容以數(shù)字為主,利用LED數(shù)碼管可基本滿(mǎn)足使用要求,且成本較低。但是用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管,亮度太低,在陽(yáng)光下幾乎看不見(jiàn)顯示內(nèi)容,失去使用價(jià)值。</p><p> 串行靜態(tài)LED數(shù)碼管顯示。把單片機(jī)的串行口設(shè)置為方式0(同步移位寄存器),輸出顯示信息,可實(shí)現(xiàn)LED數(shù)碼管的靜態(tài)顯示,其亮度令人滿(mǎn)意。但由于要使用74HC164/74LS164串并轉(zhuǎn)換芯片驅(qū)動(dòng)LED數(shù)碼管,因此會(huì)
15、帶來(lái)體積大、成本高、功耗高等的缺點(diǎn)。</p><p> LCD液晶顯示模塊。液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。</p><p> 本里程表使用1602 LCD作為顯示模塊。外加四個(gè)七段管LED用來(lái)顯示5秒內(nèi)的當(dāng)前速度(近似瞬時(shí)速度)</p><p><b> 【功能
16、描述】</b></p><p> 以AT89C51型單片機(jī)為核心,實(shí)時(shí)測(cè)量并顯示自行車(chē)行駛過(guò)程中的各項(xiàng)參數(shù),包括當(dāng)前行駛累計(jì)時(shí)間、當(dāng)前行駛累計(jì)里程(m)、當(dāng)前速度(m/s)、平均速度(m/s)、當(dāng)前行駛時(shí)間等,各參數(shù)分屏顯示。本里程表具有時(shí)鐘功能,不安裝在自行車(chē)上時(shí)也可作為時(shí)鐘使用,實(shí)用性高。</p><p><b> 【操作說(shuō)明】</b></p
17、><p> 本例子所采用的是27#比賽公路自行車(chē),換算成公制,外徑700mm,半徑為350mm,探測(cè)器安裝在距離軸心200mm處,探測(cè)到一次,車(chē)輪轉(zhuǎn)動(dòng)2.15m,輪胎具體規(guī)格700*28C,28是指車(chē)胎的橫斷面的寬度為28mm,則周長(zhǎng)2150mm。</p><p> 附:輪胎直徑大小英寸與厘米對(duì)照表</p><p><b> 【結(jié)構(gòu)框圖】</b&g
18、t;</p><p> 系統(tǒng)由霍爾元件傳感器、顯示模塊、LED報(bào)警模塊、供電模塊和單片機(jī)小系統(tǒng)構(gòu)。</p><p><b> 【工作原理】</b></p><p> 里程、速度等都是由霍爾元器件測(cè)量。通過(guò)頻率計(jì)或者按鈕輸出脈沖,代表車(chē)輪轉(zhuǎn)動(dòng)圈數(shù),已知自行車(chē)輪胎的周長(zhǎng)為2.15m,輪子每轉(zhuǎn)動(dòng)一圈,安裝在車(chē)輪輻條上的磁鋼接近霍爾傳感器一次,傳
19、感器送一個(gè)脈沖信號(hào)給單片機(jī)的外部中斷計(jì)數(shù)器T1,產(chǎn)生一次中斷,圈數(shù)加一。圈數(shù)*2.15即為車(chē)前進(jìn)距離,而通過(guò)單片機(jī)T0定時(shí)器記錄時(shí)間,間隔5秒,5秒內(nèi)的前進(jìn)距離除以時(shí)間5秒,得到5秒內(nèi)的當(dāng)前速度。而總里程L除以總時(shí)間t得到平均速度。</p><p> 處理速度數(shù)據(jù)時(shí)同時(shí)刷新平均速度、當(dāng)前速度、運(yùn)行里程。</p><p> 若速度大于25km/h(6.95m/s)則P3.7輸出低電平,L
20、ED警示燈亮,提示速度過(guò)大。</p><p> 單片機(jī)定時(shí)器0定時(shí)時(shí)間為50ms,每20次刷新系統(tǒng)時(shí)鐘及計(jì)算累計(jì)行駛時(shí)間。</p><p><b> 【具體電路圖】</b></p><p> 【相關(guān)元器件及其簡(jiǎn)介】</p><p> ?。?)AT89C51單片機(jī)簡(jiǎn)介</p><p> AT
21、89C51是一種低功耗、高性能CMOS 8位微控制器,具有2K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案
22、。</p><p> AT89C51具有以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash,128字節(jié)RAM,32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,2個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C51 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器
23、/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p> (2)1602LCD液晶顯示模塊</p><p> 液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。</p><p> 本里程表使用常見(jiàn)的16
24、02字符型LCD模塊。1602可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、E三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光。</p><p><b> ?。?)霍爾元件</b></p><p> 霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開(kāi)關(guān)型霍爾傳感器安裝在自行車(chē)貼近車(chē)輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳
25、感器的時(shí)候,傳感器輸出一個(gè)無(wú)抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等?;魻杺鞲衅鞯膬?yōu)點(diǎn)是穩(wěn)定和安裝簡(jiǎn)易,缺點(diǎn)是成本較高。</p><p> 附錄 程序流程圖及程序代碼</p><p><b> 主程序流程圖:</b></p><p> 中斷服務(wù)子程序流程圖:</p><p><b> 仿真截圖:
26、</b></p><p> 用頻率計(jì)輸入頻率為5HZ的信號(hào),得到速度10.75m/s</p><p> 手動(dòng)按鈕,得到當(dāng)前速度7.74m/s</p><p> 全部運(yùn)行結(jié)果(含超速報(bào)警)</p><p> 全部運(yùn)行結(jié)果(未超速,報(bào)警燈未亮)</p><p><b> 程序代碼:</
27、b></p><p> #include<reg52.h></p><p> #include<intrins.h> //包含_nop_();函數(shù)定義的頭文件</p><p> void timer0_int();</p><p> sbit LED=P3^7;</p><p>
28、 sbit E=P3^2;//1602使能引腳</p><p> sbit RW=P3^1;//1602讀寫(xiě)引腳</p><p> sbit RS=P3^0;//1602數(shù)據(jù)/命令選擇引腳</p><p> unsigned char hour,minute,second;</p><p> unsigned char
29、 n,count;</p><p> unsigned long lengthbuf,lengthvalue;</p><p> unsigned char code Table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~9的共陰極七段管代碼</p><p> unsigned
30、char code Table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //0~9的共陰極七段管代碼,帶小數(shù)點(diǎn)</p><p> void Delay0(int Times);</p><p> void Display();</p><p> void delay() //延時(shí)5U
31、S</p><p><b> {</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b
32、> _nop_();</b></p><p><b> _nop_();</b></p><p><b> }</b></p><p> bit Busy(void)//讀狀態(tài)函數(shù),判斷液晶模塊的忙碌狀態(tài)</p><p><b> {</b>
33、;</p><p> bit busy_flag = 0;</p><p><b> RS = 0;</b></p><p><b> RW = 1;</b></p><p><b> E = 1;</b></p><p><b>
34、delay();</b></p><p> busy_flag = (bit)(P0 & 0x80);</p><p><b> E = 0;</b></p><p> return busy_flag;</p><p><b> }</b></p><
35、;p> void wcmd(unsigned char del) //將模式設(shè)置指令或顯示地址寫(xiě)入液晶模塊</p><p><b> {</b></p><p> while(Busy());</p><p><b> RS = 0;</b></p><p><b> R
36、W = 0;</b></p><p><b> E = 0;</b></p><p><b> delay();</b></p><p><b> P0 = del;</b></p><p><b> delay();</b></
37、p><p><b> E = 1;</b></p><p><b> delay();</b></p><p><b> E = 0;</b></p><p><b> }</b></p><p> void wdata(un
38、signed char del) ///將數(shù)據(jù)(字符ASCII碼)寫(xiě)入液晶模塊</p><p><b> {</b></p><p> while(Busy());</p><p><b> RS = 1;</b></p><p><b> RW = 0;</b>&
39、lt;/p><p><b> E = 0;</b></p><p><b> delay();</b></p><p><b> P0 = del;</b></p><p><b> delay();</b></p><p>&
40、lt;b> E = 1;</b></p><p><b> delay();</b></p><p><b> E = 0;</b></p><p><b> }</b></p><p> void L1602_init(void) //初始化液
41、晶模塊</p><p><b> {</b></p><p> wcmd(0x38); //功能設(shè)置,8位字長(zhǎng),2行,5*7點(diǎn)陣</p><p> wcmd(0x0c); //顯示設(shè)置,顯示屏右移</p><p> wcmd(0x06); //顯示設(shè)置,光標(biāo)右移,字符不移</p><p&
42、gt; wcmd(0x01); //清屏命令</p><p><b> }</b></p><p> void L1602_string(unsigned char hang,unsigned char lie,unsigned char p) //將數(shù)據(jù)寫(xiě)入液晶模塊</p><p><b> {</b>
43、;</p><p> unsigned char a;</p><p> if(hang == 1) a = 0x80; //顯示在第一行</p><p> if(hang == 2) a = 0xc0; //顯示在第一行</p><p> a = a + lie -1;</p><p>&
44、lt;b> wcmd(a);</b></p><p><b> wdata(p);</b></p><p><b> }</b></p><p> void timer0_int() interrupt 1 using 3 //中斷,用于構(gòu)成時(shí)鐘</p><p>&
45、lt;b> {</b></p><p><b> n++;</b></p><p> if(n==100)</p><p><b> {</b></p><p><b> n=0;</b></p><p><b>
46、 count++;</b></p><p><b> second++;</b></p><p> if(second>=60)</p><p><b> { </b></p><p><b> second=0;</b></p><
47、;p><b> minute++;</b></p><p> if(minute>=60)</p><p><b> {</b></p><p><b> minute=0;</b></p><p><b> hour++;</b>&
48、lt;/p><p> if(hour>=24) hour=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(count==5)</p>
49、<p><b> { </b></p><p><b> count=0;</b></p><p> lengthvalue=(TL1+TH1*256)*215-lengthbuf;</p><p> lengthbuf=(TL1+TH1*256)*215;</p><p>&
50、lt;b> }</b></p><p><b> TH0=0xd8;</b></p><p><b> TL0=0xf0;</b></p><p><b> } </b></p><p> int timer() //以秒為單
51、位計(jì)算運(yùn)行總時(shí)間</p><p><b> {</b></p><p> unsigned char a=100;</p><p> unsigned char b;</p><p> b=second+minute*60+hour*60*60;</p><p><b> re
52、turn b;</b></p><p><b> }</b></p><p> void Delay0(int Time) //延時(shí)子程序</p><p><b> {</b></p><p><b> int i;</b
53、></p><p> unsigned char j;</p><p> for(i=0;i<Time;i++)</p><p><b> {</b></p><p> for(j=0;j<150;j++) </p><p><b> {</b>&
54、lt;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void Display(unsigned int x) //在LED七段管中顯示最高速度</p><p&
55、gt;<b> {</b></p><p> unsigned char slc;</p><p> unsigned char a,b,c,d;</p><p> slc=0xef; //LED七段管選通</p><p> a= x/1000;</p><p>
56、 b=( x-a*1000)/100;</p><p> c=( x-a*1000-b*100)/10;</p><p><b> d= x%10;</b></p><p><b> {</b></p><p> P2=slc; //分別將最大速度的各個(gè)位掃描顯示<
57、;/p><p> slc=slc<<1;</p><p> P1=Table[a];</p><p> Delay0(10);</p><p><b> P2=slc;</b></p><p> slc=slc<<1;</p><p> P1
58、=Table1[b];</p><p> Delay0(10);</p><p><b> P2=slc;</b></p><p> slc=slc<<1;</p><p> P1=Table[c];</p><p> Delay0(10);</p><p
59、><b> P2=slc;</b></p><p> slc=slc<<1;</p><p> P1=Table[d];</p><p> Delay0(10);</p><p><b> }</b></p><p><b> retu
60、rn;</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> unsigned char i=0 ;</p><p> unsigned int v=0;
61、 //運(yùn)行速度</p><p> unsigned int vnow; //當(dāng)前速度</p><p> unsigned int a,b,c,d; //分別顯示速度的十位,個(gè)位,十分位,百分位</p><p> unsigned long quanshu; //定義車(chē)輪轉(zhuǎn)動(dòng)圈數(shù)</p><p> unsign
62、ed long length,length1,length2,length3,length4,length5,length6; //定義運(yùn)行長(zhǎng)度以及長(zhǎng)度的各個(gè)進(jìn)位,</p><p> unsigned int second1,second2,minute1,minute2,hour1,hour2;</p><p> L1602_init();</p><p>
63、 TMOD=0x51; //定時(shí)器T0,計(jì)數(shù)器T1,允許外部中斷,T1工作方式01,T0工作方式01</p><p> TH1=0x00; //計(jì)數(shù)器T1高位裝初值</p><p> TL1=0x00; //計(jì)數(shù)器T1低位裝初值</p><p> ET1=1; //計(jì)數(shù)器0開(kāi)中斷</p><p> TR1=
64、1; //計(jì)數(shù)器0開(kāi)始工作</p><p> TH0=0XD8; //T0設(shè)置時(shí)間常數(shù)</p><p><b> TL0=0XF0;</b></p><p><b> ET0=1;</b></p><p><b> EA=1;</b></p>
65、<p><b> TR0=1;</b></p><p> IT1=1; //外部中斷1請(qǐng)求觸發(fā)方式</p><p><b> EX1=1;</b></p><p> P1=0X00; //P1、P2口裝初值,用于LED七段管顯示用</p><p><b>
66、; P2=0xff;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> quanshu=TL1+TH1*256; //計(jì)算車(chē)輪旋轉(zhuǎn)圈數(shù)</p><p> length=quanshu*215; //騎行距離
67、</p><p> //計(jì)算里程各個(gè)進(jìn)位</p><p> length1=length/100000;</p><p> length2=(length-length1*100000)/10000;</p><p> length3=(length-length1*100000-length2*10000)/1000;</p&
68、gt;<p> length4=(length-length1*100000-length2*10000-length3*1000)/100;</p><p> length5=(length-length1*100000-length2*10000-length3*1000-length4*100)/10;</p><p> length6=length%10;<
69、;/p><p> if(timer()>0)</p><p> v=length/timer(); //計(jì)算速度</p><p> vnow=lengthvalue/5; //計(jì)算當(dāng)前速度(5秒內(nèi))</p><p> if(vnow>=695) LED=0;else LED=1; //速度超過(guò)6.
70、95m/s(即25km/h),則報(bào)警燈亮</p><p> Display(vnow); //在LED七段管上顯示當(dāng)前速度(5秒內(nèi))速度</p><p> Delay0(20);</p><p> a=(v/1000); //計(jì)算速度的各個(gè)進(jìn)位</p><p> b=(v-a*1000)/10
71、0;</p><p> c=(v-a*1000-b*100)/10;</p><p><b> d=v%10;</b></p><p> second1=second/10; //計(jì)算分秒時(shí)的十位與個(gè)位</p><p> second2=second%10;</p><p>
72、 minute1=minute/10;</p><p> minute2=minute%10;</p><p> hour1=hour/10;</p><p> hour2=hour%10;</p><p> L1602_string(1,1,'s'); //在LCD相應(yīng)位置顯示變量或者常量</p
73、><p> L1602_string(1,2,'p');</p><p> L1602_string(1,3,'e');</p><p> L1602_string(1,4,'e');</p><p> L1602_string(1,5,'d');</p>&l
74、t;p> L1602_string(1,6,' ');</p><p> L1602_string(1,7,'L');</p><p> L1602_string(1,8,'=');</p><p> L1602_string(1,9,length1+48);</p><p>
75、L1602_string(1,10,length2+48);</p><p> L1602_string(1,11,length3+48);</p><p> L1602_string(1,12,length4+48);</p><p> L1602_string(1,13,'.');</p><p> L1602_s
76、tring(1,14,length5+48);</p><p> L1602_string(1,15,length6+48);</p><p> L1602_string(1,16,'m');</p><p> L1602_string(2,1,a+48); </p><p> L1602_string(2,2
77、,b+48);</p><p> L1602_string(2,3,'.');</p><p> L1602_string(2,4,c+48);</p><p> L1602_string(2,5,d+48);</p><p> L1602_string(2,6,'m');</p><
78、;p> L1602_string(2,7,'/');</p><p> L1602_string(2,8,'s');</p><p> L1602_string(2,9,hour1+48);</p><p> L1602_string(2,10,hour2+48);</p><p> L1602
79、_string(2,11,':');</p><p> L1602_string(2,12,minute1+48);</p><p> L1602_string(2,13,minute2+48);</p><p> L1602_string(2,14,':');</p><p> L1602_strin
80、g(2,15,second1+48);</p><p> L1602_string(2,16,second2+48);</p><p> while(i<2) //LCD顯示延遲</p><p><b> {delay();</b></p><p><b> i++; }<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)自行車(chē)測(cè)速儀畢業(yè)設(shè)計(jì)
- 基于單片機(jī)自行車(chē)測(cè)速儀畢業(yè)設(shè)計(jì)
- 單片機(jī)測(cè)速儀課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--自行車(chē)?yán)锍田@示
- 單片機(jī)系統(tǒng)課程設(shè)計(jì)--實(shí)用測(cè)速儀
- 基于單片機(jī)自行車(chē)測(cè)速系統(tǒng)設(shè)計(jì)1
- 基于單片機(jī)自行車(chē)測(cè)速系統(tǒng)設(shè)計(jì)1
- 基于單片機(jī)的自行車(chē)測(cè)速系統(tǒng)的設(shè)計(jì)
- 基于單片機(jī)的自行車(chē)測(cè)速系統(tǒng)優(yōu)化設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-自行車(chē)?yán)锍逃?jì)速度計(jì)
- 單片機(jī)課程設(shè)計(jì)-自行車(chē)?yán)锍逃?jì)速度計(jì)
- 基于單片機(jī)的自行車(chē)測(cè)速系統(tǒng)優(yōu)化設(shè)計(jì).doc
- 基于單片機(jī)自行車(chē)測(cè)速系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 課程設(shè)計(jì)---自行車(chē)測(cè)速計(jì)
- 基于單片機(jī)的自行車(chē)速度及里程表設(shè)計(jì)
- 基于單片機(jī)的自行車(chē)?yán)锍瘫砑八俣葍x的畢業(yè)設(shè)計(jì)
- 自行車(chē)行程速度畢業(yè)設(shè)計(jì)--基于單片機(jī)的自行車(chē)?yán)锍趟俣扔?jì)設(shè)計(jì)
- 單片機(jī)自行車(chē)速度里程計(jì)論文
- 單片機(jī)自行車(chē)速度里程計(jì)論文
- 畢業(yè)論文——基于單片機(jī)的測(cè)速儀的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論