版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 光電式自行車速度里程表設(shè)計(jì)</p><p><b> 摘要</b></p><p> 隨著科技的迅速發(fā)展,單片機(jī)的應(yīng)用也越來(lái)越廣泛,并帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)不斷更新。現(xiàn)在的里程表大多是電子式的,用數(shù)碼管或液晶顯示器即時(shí)顯示,顯示更加直觀。電子式里程表采用接觸車速傳感器代替軟軸傳動(dòng),可使里程表的安裝位置不受距離限制,進(jìn)一步有效地克服了機(jī)械式里程表
2、中的諸多不足。</p><p> 方案采用了一種以單片機(jī)AT89C51為主控機(jī),使用光電傳感器進(jìn)行自行車?yán)锍?、速度測(cè)量的裝置。傳感器將不同車速產(chǎn)生的不同頻率的脈沖信號(hào)輸入到單片機(jī)進(jìn)行控制與計(jì)算,再采用LCD液晶顯示模塊進(jìn)行顯示,使得自行車的速度與里程數(shù)據(jù)能直觀的顯示給使用者。</p><p> 本設(shè)計(jì)主要包括自行車輪脈沖采集、鍵盤輸入和數(shù)據(jù)顯示等部分,主程序用C語(yǔ)言編寫,完成各項(xiàng)功能及
3、數(shù)據(jù)的處理。本里程表的設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單,成本低廉,顯示清晰,穩(wěn)定可靠等優(yōu)點(diǎn)。并且可以進(jìn)行擴(kuò)充,更方便于使用者。</p><p> 關(guān)鍵詞 光電傳感器 單片機(jī) 液晶顯示器 里程表 </p><p> THe design of photoelectric</p><p> bicycle odometer</p><p><b>
4、; Abstract</b></p><p> With the rapid development of technology, more and more widespread application of microcomputer, promote the traditional control detection technology constantly updated. Most o
5、f the current electronic odometer, and with the LED digital tube or LCD display real-time, display more intuitive. Electronic odometer flexible shaft using the contact speed sensor instead of driving, mileage tables can
6、 be installed without distance limitations, and further to effectively overcome the mechanical disadvant</p><p> The plan adopts the system and configuration of combining the microcontroller AT89C51 as the
7、main control computer ,using the photoelectric sensor bicycle odometer, speed measuring devices. when Different speed pulse signals of different frequencies produced by sensor are input into the microcontroller,after its
8、 calculation, liquid crystal will display the datas, making the bike's speed and distance data visually to the user. The design includes a bike wheel pulse acquisition, keyboard input</p><p> Key wo
9、rds odometer photoelectric sensor MCU LCD 目 錄</p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 1緒論1</b></p><p><b> 1.1問(wèn)題由來(lái)1</b
10、></p><p><b> 1.2課題現(xiàn)狀1</b></p><p><b> 1.3設(shè)計(jì)任務(wù)2</b></p><p><b> 2系統(tǒng)原理概述3</b></p><p> 2.1系統(tǒng)原理總概述3</p><p> 2.2系統(tǒng)
11、硬件組成原理3</p><p> 2.3軟件系統(tǒng)工作流程4</p><p> 3 系統(tǒng)硬件設(shè)計(jì)5</p><p> 3.1采集信息部分以及傳感器的選擇5</p><p> 3.2輪脈沖檢測(cè)與轉(zhuǎn)換電路6</p><p> 3.2.1. 輪脈沖檢測(cè)7</p><p> 3.2
12、.2. 信號(hào)預(yù)處理電路7</p><p> 3.3 單片機(jī)系統(tǒng)部分9</p><p> 3.3.1 AT89C51單片機(jī)介紹9</p><p> 3.3.2定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及控制9</p><p> 3.3.3中斷控制11</p><p> 3.4單片機(jī)外圍電路介紹11</p>&
13、lt;p> 3.4.1復(fù)位電路11</p><p> 3.4.2晶振電路12</p><p> 3.5顯示部分13</p><p> 3.5.1 LCD液晶顯示器13</p><p> 3.5.2 顯示接口電路設(shè)計(jì)15</p><p> 3.6報(bào)警電路17</p><p
14、> 3.7鍵盤控制17</p><p><b> 4軟件設(shè)計(jì)18</b></p><p> 4.1測(cè)量算法概述18</p><p> 4.2中斷子程序的設(shè)計(jì)19</p><p> 4.3 數(shù)據(jù)處理子程序的設(shè)計(jì)20</p><p> 4.3.1里程計(jì)算子程序21<
15、/p><p> 4.3.2.速度計(jì)算子程序21</p><p> 4.4顯示子程序的設(shè)計(jì)22</p><p><b> 5設(shè)計(jì)總結(jié)23</b></p><p> 5.1實(shí)現(xiàn)目標(biāo)與特點(diǎn)24</p><p> 5.2 結(jié)論及不足25</p><p><b&
16、gt; 致謝26</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 附錄28</b></p><p> 附錄I 系統(tǒng)電路原理圖28</p><p> 附錄II 設(shè)計(jì)源程序29</p><p><b>
17、 1 緒論</b></p><p><b> 1.1 問(wèn)題由來(lái)</b></p><p> 我國(guó)是人口大國(guó),也是自行車大國(guó),隨著生活節(jié)奏的不斷加快,自行車已經(jīng)不僅僅是運(yùn)輸、代步的工具,現(xiàn)在則是代表著綠色、環(huán)保、節(jié)能。因此其輔助功能也變得越來(lái)越重要。而且人們希望自行車的娛樂(lè)、休閑、鍛煉的功能越來(lái)越多,能帶來(lái)大家更多的健康與快樂(lè)。在這個(gè)背景下,自行車?yán)锍?/p>
18、表作為自行車的一大輔助工具迅速發(fā)展起來(lái)。科學(xué)、美觀、合理設(shè)計(jì)自行車?yán)锍瘫碛幸欢ǖ膶?shí)用價(jià)值.它能合理計(jì)算出速度及公里數(shù),使運(yùn)動(dòng)者運(yùn)動(dòng)適量,達(dá)到健康運(yùn)動(dòng)與代步的最佳效果。</p><p> 并且隨著人們生活水平的逐漸提高,人們對(duì)于生活質(zhì)量的要求也日益增加,尤其是對(duì)健身的要求。自行車在中國(guó)普遍作為代步工具。而在國(guó)外,自行車卻是一項(xiàng)十分受歡迎的健身運(yùn)動(dòng)。因?yàn)樗鼰o(wú)污染,價(jià)位低廉,老少皆宜。而且在運(yùn)動(dòng)過(guò)程中可以充分享受到大
19、自然,對(duì)于忙碌的現(xiàn)代人來(lái)說(shuō),無(wú)疑是一種較好的放松方法。在中國(guó)這種情況也在慢慢發(fā)生變化。因此愛(ài)好自行車運(yùn)動(dòng)的人需要一款里程表,以知道自己的運(yùn)動(dòng)情況。并根據(jù)外界條件,如溫度,風(fēng)速等進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),已達(dá)到最佳運(yùn)動(dòng)的效果。而對(duì)于自行車運(yùn)動(dòng)員來(lái)說(shuō),最為關(guān)心的莫過(guò)于一段時(shí)間內(nèi)的訓(xùn)練效果。因?yàn)榻叹氁鶕?jù)一段時(shí)間內(nèi)運(yùn)動(dòng)員的訓(xùn)練效果進(jìn)行評(píng)估,從而進(jìn)行適當(dāng)?shù)恼{(diào)整已使運(yùn)動(dòng)員達(dá)到最佳的狀態(tài)。因此需要一種裝置進(jìn)行對(duì)訓(xùn)練中各種參數(shù)的測(cè)定記錄。</p>
20、<p><b> 1.2 課題現(xiàn)狀</b></p><p> 傳統(tǒng)的機(jī)械式車速表是由旋轉(zhuǎn)磁場(chǎng)作用于轉(zhuǎn)動(dòng)盤,使轉(zhuǎn)動(dòng)盤連同車速表指針發(fā)生同向的偏轉(zhuǎn)。當(dāng)電磁轉(zhuǎn)矩與彈簧產(chǎn)生的阻力矩平衡時(shí),指針偏轉(zhuǎn)停留在某一角度上。指針偏轉(zhuǎn)角與車速成正比,因而可用其表示車速。</p><p> 機(jī)械式車速表的缺陷是明顯的。由于表盤指針偏轉(zhuǎn)程度正比于軟軸的轉(zhuǎn)動(dòng)時(shí)產(chǎn)生的磁力,當(dāng)
21、轉(zhuǎn)速較低的時(shí)候,磁力較小,隨轉(zhuǎn)速變化波動(dòng)較大。因此,低速時(shí)車速表指針擺動(dòng)劇烈、測(cè)量及顯示精度不高。對(duì)于發(fā)動(dòng)機(jī)后置的車輛,要將車速表指針的偏轉(zhuǎn)動(dòng)力由變速箱經(jīng)軟軸等傳至駕駛室,軟軸必然布置的較長(zhǎng),如何將這種長(zhǎng)長(zhǎng)的轉(zhuǎn)動(dòng)軟軸從結(jié)構(gòu)上布置妥當(dāng),肯定是一件十分困難的事情。</p><p> 現(xiàn)在的車速表大多是電子式的,用LED數(shù)碼管或LCD顯示,使速度顯示更加直觀。采用接觸車速傳感器代替軟軸傳動(dòng),可使車速表的安裝位置不受距
22、離限制,有效地克服了機(jī)械式車速表中的諸多不足。</p><p> 電子式車速表更加智能,車速表的功能也更加人性化,如加上了里程累計(jì)、超速提醒等功能。</p><p> 本設(shè)計(jì)就是針對(duì)騎自行車的人們?cè)谛羞M(jìn)中不能很好的把握自己達(dá)到了多大的速度,行駛了多遠(yuǎn)的距離而設(shè)計(jì)的。以往的里程表只能進(jìn)行測(cè)量速度,里程,時(shí)間,溫度等數(shù)據(jù),雖然能實(shí)現(xiàn)很多的功能,但是其中的一些功能不適合自行車業(yè)余愛(ài)好者,浪費(fèi)
23、資源,而且性價(jià)比也低,而且也不能很好的把握當(dāng)前運(yùn)動(dòng)量,從而不能很好的實(shí)現(xiàn)娛樂(lè)和鍛煉的效果。而本設(shè)計(jì)卻能實(shí)現(xiàn)娛樂(lè)和鍛煉的雙重效果,而且相對(duì)業(yè)余愛(ài)好者性價(jià)比更高。</p><p><b> 1.3 設(shè)計(jì)任務(wù)</b></p><p> 本設(shè)計(jì)要以單片機(jī)為核心,通過(guò)光電傳感器來(lái)檢測(cè)自行車的運(yùn)轉(zhuǎn)情況進(jìn)而實(shí)現(xiàn)電動(dòng)自行車的速度的測(cè)量,最后用液晶顯示器直觀地將速度與里程顯示出來(lái)
24、,并且在速度高于一定的值時(shí)可自動(dòng)向用戶報(bào)警,從而達(dá)到智能化的目的。</p><p><b> 主要設(shè)計(jì)內(nèi)容:</b></p><p> 1.傳感器電路模塊設(shè)計(jì)</p><p> 2.單片機(jī)外圍電路設(shè)計(jì)</p><p><b> 3.報(bào)警電路設(shè)計(jì)</b></p><p>
25、;<b> 4.顯示電路設(shè)計(jì)</b></p><p><b> 2 系統(tǒng)原理概述</b></p><p> 2.1 系統(tǒng)原理總概述</p><p> 本系統(tǒng)由信號(hào)預(yù)處理電路、單片機(jī)AT89C2051、LCD顯示模塊、開(kāi)關(guān)按鍵,報(bào)警模塊和系統(tǒng)軟件組成。其中信號(hào)預(yù)處理電路包含信號(hào)放大、波形變換和波形整形。對(duì)待測(cè)信號(hào)
26、進(jìn)行放大的目的是降低對(duì)待測(cè)信號(hào)的幅度要求;波形變換和波形整形電路則用來(lái)將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)相連的TTL信號(hào);通過(guò)單片機(jī)的設(shè)置可使內(nèi)部定時(shí)器T1對(duì)脈沖輸入引腳T0進(jìn)行控制,這樣能精確地算出加到T0引腳的單位時(shí)間內(nèi)檢測(cè)到的脈沖數(shù)。本設(shè)計(jì)中,計(jì)數(shù)的正確性決定了本裝置的精度,如何在復(fù)雜的環(huán)境中得到正確的計(jì)數(shù)脈沖,是本設(shè)計(jì)的重點(diǎn),設(shè)計(jì)中里程表顯示采用LCD1602液晶模塊,用液晶顯示器顯示是本設(shè)計(jì)的難點(diǎn)。并且在速度高于一定的值時(shí)可自動(dòng)向用
27、戶報(bào)警,從而達(dá)到智能速度里程表。</p><p> 2.2 系統(tǒng)硬件組成原理</p><p> 系統(tǒng)硬件由信號(hào)預(yù)處理電路、單片機(jī)AT89C2051、系統(tǒng)化LCD顯示模塊、開(kāi)關(guān)按鍵,報(bào)警模塊組成,系統(tǒng)的硬件組成框圖如下:</p><p> 圖2-1 系統(tǒng)總體設(shè)計(jì)框圖</p><p> 由于不同速度發(fā)出不同頻率的脈沖,通過(guò)光電傳感器檢測(cè)
28、出不同狀態(tài)的脈沖信號(hào),而一般的模擬信號(hào)都是微弱的,所以要把它放大,這就需要一個(gè)放大器。另外單片機(jī)能識(shí)別的都是TTL信號(hào),經(jīng)波形變換和波形整形電路方能將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)相連的形式。當(dāng)行駛達(dá)到一定的車速時(shí),會(huì)發(fā)出報(bào)警聲。不同的按鍵方式,液晶顯示器會(huì)顯示不同的數(shù)據(jù)。</p><p> 2.3 軟件系統(tǒng)工作流程</p><p> 在硬件設(shè)計(jì)完畢之后,接下來(lái)就是設(shè)計(jì)中最核心和最為主要
29、的軟件部分設(shè)計(jì)。所謂軟件設(shè)計(jì)就是把軟件需求變換成軟件的具體設(shè)計(jì)方案(即模塊結(jié)構(gòu))的過(guò)程。模塊化結(jié)構(gòu)設(shè)計(jì)即是根據(jù)要求和硬件設(shè)計(jì)的結(jié)構(gòu),將整個(gè)系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進(jìn)行程序編寫的過(guò)程。這樣的設(shè)計(jì)方法,使得系統(tǒng)的整個(gè)功能和各部分的功能趨于明朗化。當(dāng)系統(tǒng)出現(xiàn)問(wèn)題,就可以根據(jù)功能設(shè)置找出問(wèn)題的根源,從而更快地解決問(wèn)題。所以說(shuō),在整個(gè)設(shè)計(jì)過(guò)程中,軟件設(shè)計(jì)必須與硬件設(shè)計(jì)緊密地結(jié)合在一起。</p><
30、p> 圖2-2 系統(tǒng)軟件流程圖</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 本設(shè)計(jì)采用的是以紅外傳感器ST1101為傳感器,以AT89C51作為系統(tǒng)的主控芯片,以LCD1602、128*16液晶顯示器進(jìn)行顯示。</p><p> 圖3-1 系統(tǒng)硬件框圖</p><p> 3.1
31、 采集信息部分以及傳感器的選擇</p><p> 信息采集部分可以選用的傳感器種類一很多,例如磁感應(yīng)傳感器,光電感應(yīng)傳感器,金屬傳感器等。</p><p> 霍爾傳感器由永久磁鐵和開(kāi)關(guān)型霍爾集成電路組成?;魻柤呻娐酚苫魻栐?、放大器、整形電路及集電極開(kāi)路輸出等部分組成,其功能是把磁信號(hào)轉(zhuǎn)換成電信號(hào),霍爾元件為磁敏元件,當(dāng)垂直于霍爾元件的磁場(chǎng)強(qiáng)度發(fā)生變化時(shí),其兩端的電壓就會(huì)發(fā)生變化,
32、經(jīng)放大和整形即可輸出脈沖電信號(hào)。</p><p> 光電編碼器的工作原理與光電傳感器一樣,不過(guò)它已將光電傳感器、電子電路、碼盤等做成一個(gè)整體,只要用連軸器將光電傳感器的軸與轉(zhuǎn)軸相連,就能獲得多種輸出信號(hào)。它廣泛應(yīng)用于數(shù)控機(jī)床、回轉(zhuǎn)臺(tái)、伺服傳動(dòng)、機(jī)器人、雷達(dá)、軍事目標(biāo)測(cè)定等需要檢測(cè)角度的裝置和設(shè)備中。如圖3-2所示,是某光電編碼器的外形。</p><p> 光電傳感器是應(yīng)用非常廣泛的一種
33、器件,各種各樣的形式,如透射式、反射式等,基本原理就是當(dāng)發(fā)射管光照射到接收管時(shí),接收管導(dǎo)通,反之關(guān)斷。以透射式為例,如圖3-1所示,當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時(shí),開(kāi)關(guān)管關(guān)斷,否則打開(kāi)。為此可以制作一個(gè)遮光葉片如圖3-3所示,安裝在轉(zhuǎn)軸上,當(dāng)扇葉經(jīng)過(guò)時(shí),產(chǎn)生脈沖信號(hào)。當(dāng)葉片數(shù)較多時(shí),旋轉(zhuǎn)一周可以獲得多個(gè)脈沖信號(hào)。而考慮到實(shí)際可操作性以及設(shè)計(jì)要求方面,本設(shè)計(jì)選用的傳感器為光電傳感器。</p><p>
34、圖3-2 光電傳感器的原理圖</p><p> 圖3-3 遮光葉片</p><p> 將光敏電阻安裝在自行車前又的一側(cè),在同等高度的另一側(cè)安上一個(gè)高亮度的發(fā)光二極管。在同等高度的輻條上貼上一圈黑色材料,并在黑色材料上打上等間距的小孔,這樣當(dāng)小孔經(jīng)過(guò)光敏電阻時(shí),光敏電阻根據(jù)光電流的變化發(fā)出脈沖, 從而測(cè)量里程。</p><p> 紅外光電傳感器ST1101采
35、用高輸出的紅外光電二極管與高靈敏度光敏晶其特點(diǎn)是性能可靠,體積小,結(jié)構(gòu)簡(jiǎn)單,廣泛應(yīng)用于里程表。</p><p><b> 表3-1 主要參數(shù)</b></p><p> ST1101外圍電路如圖3-4所示,R1、R2均為限流電阻,限制發(fā)射二極管的電流,發(fā)射二極管的電流大則發(fā)射功率大,但不能超過(guò)它的極限電流。根據(jù)主要參數(shù)表,它的極限電流為50mA,當(dāng)兩者之間有孔時(shí),三
36、極管導(dǎo)通,當(dāng)兩者被隔離時(shí),三極管截止。</p><p> 圖3-4 傳感器外圍電路</p><p> 3.2 輪脈沖檢測(cè)與轉(zhuǎn)換電路</p><p> 本設(shè)計(jì)采用了ST1101紅外光電傳感器,進(jìn)行非接觸式檢測(cè)。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時(shí),傳感器將會(huì)輸出一個(gè)低電平,而當(dāng)沒(méi)有物體擋在中間時(shí)則輸出為高電平,從而形成一個(gè)脈沖。然后通過(guò)帶
37、施密特觸發(fā)器的反相器DM74LS14 來(lái)把放大器生成的單相脈沖轉(zhuǎn)換成與COMS 電平相兼容的方波信號(hào),再輸入給單片機(jī)。</p><p> 3.2.1 輪脈沖檢測(cè)</p><p> 該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個(gè)鋁盤,在這個(gè)鋁盤的邊沿處挖出若干個(gè)圓形過(guò)孔,把傳感器的檢測(cè)部分放在圓孔的圓心位置。每當(dāng)鋁盤隨著后輪旋轉(zhuǎn)的時(shí)候,傳感器將向外輸出若干個(gè)脈沖。&
38、lt;/p><p> 把這些脈沖通過(guò)一系列的波形整形成單片機(jī)可以識(shí)別的TTL電平,即可算出輪子即時(shí)的轉(zhuǎn)速。鋁盤的圓孔的個(gè)數(shù)決定了測(cè)量的精度,個(gè)數(shù)越多,精度越高。這樣就可以在單位時(shí)間內(nèi)盡可能多地得到脈沖數(shù)從而避免了因?yàn)閮蓚€(gè)過(guò)孔之間的距離過(guò)大,而車子正好在過(guò)孔之間或者是在下個(gè)過(guò)孔之前停止了,造成較大的誤差。</p><p> 本設(shè)計(jì)在鋁盤過(guò)孔的設(shè)計(jì)上采用9個(gè)過(guò)孔,從而留下了8個(gè)同等的間距這樣在
39、以后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖3-5所示。</p><p> 圖3-5 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)</p><p> 3.2.2 信號(hào)預(yù)處理電路</p><p> 如圖3-6所示,系統(tǒng)的信號(hào)預(yù)處理電路由二級(jí)電路構(gòu)成,第一級(jí)是由開(kāi)關(guān)三極管組成的零偏置放大器,采用開(kāi)關(guān)三極管可以保證放大器具有良好的高頻
40、響應(yīng)。當(dāng)輸入信號(hào)為零或負(fù)電壓時(shí),三極管截止,電路輸出高電平;而當(dāng)輸入信號(hào)為正電壓時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測(cè)量任意方波信號(hào)的頻率,也可以測(cè)量正弦波信號(hào)的頻率。由于放大器的放大功能降低了對(duì)待測(cè)信號(hào)的幅度要求,因此,系統(tǒng)能對(duì)任意大于0.5V 的正弦波和脈沖信號(hào)進(jìn)行測(cè)量。其中電阻R3為輸入電阻,R4為輸出電阻。預(yù)處理電路的第二級(jí)采用帶施密特觸發(fā)器的反相器DM74LS14 來(lái)把放大器生成的單相脈
41、沖轉(zhuǎn)換成與COMS 電平相兼容的方波信號(hào)(如圖3-7所示),同時(shí)將輸出信號(hào)加到單片機(jī)的P3.2口上。</p><p> 利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過(guò)程中的正反饋?zhàn)饔茫梢园堰呇刈兓徛闹芷谛孕盘?hào)變換為邊沿很陡的矩形脈沖信號(hào)。輸入的信號(hào)只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號(hào)。</p><p> 從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的
42、電容較大時(shí),波形的上升沿將明顯變壞;當(dāng)傳輸線較長(zhǎng),而且接受端的阻抗與傳輸線的阻抗不匹配時(shí),在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號(hào)通過(guò)導(dǎo)線間的分布電容或公共電源線疊加到矩形脈沖信號(hào)時(shí),信號(hào)上將出現(xiàn)附加的噪聲。無(wú)論出現(xiàn)上述的那一種情況,都可以通過(guò)用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+ 和VT- 設(shè)置得合適,均能受到滿意的整形效果。</p><p> 圖3-6信號(hào)預(yù)
43、處理電路圖圖</p><p> 圖3-7信號(hào)處理波形圖</p><p> 3.3 單片機(jī)系統(tǒng)部分</p><p> 3.3.1 AT89C51單片機(jī)介紹</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Me
44、mory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p> 圖3-8 AT89C51引腳圖</p><p> 3.3.
45、2 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及控制</p><p> 定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。TMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。定時(shí)/計(jì)數(shù)器結(jié)構(gòu)如圖3-9所示: </p><p> 圖3-9 定時(shí)/計(jì)數(shù)器結(jié)構(gòu)圖</p><p> AT89S5
46、2單片機(jī)定時(shí)/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動(dòng)和中斷申請(qǐng)[9]。</p><p> 1.工作方式寄存器TMOD</p><p> 工作方式寄存器TMOD用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如表3-2: 表3-2</p><p><b>
47、GATE:門控位。</b></p><p> GATE=0時(shí),以運(yùn)行控制位TRX(X=0,1)來(lái)啟動(dòng)定時(shí)/計(jì)數(shù)器運(yùn)行;</p><p> GATA=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作;</p><p> C/T計(jì)數(shù)器模式和定時(shí)器模式選擇位</p><p> C/T=
48、1時(shí),選擇計(jì)數(shù)器模式,計(jì)數(shù)器對(duì)外部輸入引腳T0(P3.4)或T1(P3.5)的外部脈沖計(jì)數(shù);C/T=0時(shí),選擇定時(shí)器模式。</p><p> M1M0:工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。</p><p><b> 表3-3</b></p><p> 2.控制寄存器TCON</p><p&g
49、t; TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和中斷申請(qǐng)。其格式如下:</p><p><b> 表3-4</b></p><p> TF1(TCON.7):</p><p> T1溢出中斷請(qǐng)求標(biāo)志位。T1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動(dòng)清0。T1工作時(shí)
50、,CPU可隨時(shí)查詢TF1的狀態(tài)。所以,TF1可用作查詢測(cè)試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。</p><p> TR1(TCON.6):</p><p> T1運(yùn)行控制位。TR1置1時(shí),T1開(kāi)始工作;TR1置0時(shí),T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止。</p><p> TF0(TCO
51、N.5):</p><p> T0溢出中斷請(qǐng)求標(biāo)志位,其功能與TF1類同。</p><p> TR0(TCON.4):</p><p> T0運(yùn)行控制位,其功能與TR1類同。</p><p> 3.3.3 中斷控制</p><p> CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器IE
52、控制的。</p><p><b> 表3-5</b></p><p> EX0(IE.0),外部中斷0允許位;</p><p> ET0(IE.1),定時(shí)/計(jì)數(shù)器T0中斷允許位; </p><p> EX1(IE.2),外部中斷0允許位;</p><p> ET1(IE.3),定時(shí)/計(jì)數(shù)
53、器T1中斷允許位;</p><p> ES(IE.4),串行口中斷允許位;</p><p> EA (IE.7), CPU中斷允許(總允許)位。</p><p> 3.4 單片機(jī)外圍電路介紹</p><p> 3.4.1 復(fù)位電路</p><p> AT89C51單片機(jī)的復(fù)位輸入引腳RST為AT89C51
54、提供了初始化的手段。有了它可以使程序從指定處開(kāi)始執(zhí)行,即從程序存儲(chǔ)器中的0000H地址單元開(kāi)始執(zhí)行程序。在89C51的時(shí)鐘電路工作后,只要在RST引腳上出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)內(nèi)部則初始復(fù)位。只要RST保持高電平,則89C51循環(huán)復(fù)位。只有當(dāng)RST由高電平變成低電平以后,89C51才從0000H地址開(kāi)始執(zhí)行程序。</p><p> 復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。</p>
55、;<p> 本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,如圖3-10所示,是常用復(fù)位電路之一。單片機(jī)復(fù)位通過(guò)按動(dòng)按鈕產(chǎn)生高電平復(fù)位稱手動(dòng)復(fù)位。上電時(shí),剛接通電源,電容C相當(dāng)于瞬間短路,+5V立即加到RESET端,該高電平使89C51全機(jī)自動(dòng)復(fù)位,這就是上電復(fù)位;若運(yùn)行過(guò)程中需要程序從頭執(zhí)行,只需按動(dòng)按鈕即可。按下按鈕,則直接把+5V加到了RESET端從而復(fù)位稱為手動(dòng)復(fù)位。復(fù)位后,P0到P3并行I/O口全為高電平,其它寄存器全部
56、清零 。</p><p> 圖3-10 AT89C51復(fù)位電路</p><p> 按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的。時(shí)鐘頻率選用6MHZ時(shí),C取22uF,Rs取200Ω,RK取1KΩ。</p><p> 3.4.2 晶振電路</p><p> 晶振電路由晶振和兩個(gè)負(fù)載電容
57、組成。晶振電路部分電路連接如圖3-11所示。</p><p><b> 圖3-11晶振電路</b></p><p> 晶振是給單片機(jī)提供工作信號(hào)脈沖的,這個(gè)脈沖就是單片機(jī)的工作速度。比如此系統(tǒng)所用的12MHz晶振,單片機(jī)工作速度就是每秒12M。在調(diào)試時(shí)要注意將PC串口波特率設(shè)為1200。至于兩個(gè)電容的大小,它是根據(jù)晶振廠家提供的晶振要求選值的,換句話說(shuō),晶振的頻率
58、就是在它提供負(fù)載電容下測(cè)得,能最大限度的保證頻率值誤差。兩個(gè)電容取值都是相同的,大部分在20-30pF,沒(méi)有相同電容的情況下,可以用兩個(gè)相差不大電容代替,但不能相差太大,容易造成諧振不平衡,容易造成停振或者干脆不起振。晶振電路在本系統(tǒng)中是并聯(lián)方式,連接在AT89c51的XTAL1和XTAL2引腳。</p><p><b> 3.5 顯示部分</b></p><p>
59、; 3.5.1 LCD液晶顯示器</p><p> 功能簡(jiǎn)介:其液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,每一個(gè)字符都有一個(gè)固定的代碼。LCD1602以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用。</p><p> 外形尺寸(LxWxH) 80.0x36x12.0 <
60、/p><p> 視域尺寸(WxHxT) 64.5x13.8</p><p> 驅(qū)動(dòng)電壓(V) 5.0V or 3.3V </p><p> 工作溫度:(oC) 0~50 or -20~70 </p><p> 存儲(chǔ)溫度:(oC) -10~60 or -30~8
61、0</p><p> 顯示類型: STN or FSTN </p><p> 顏色: 藍(lán)色(帶背光) </p><p><b> 生產(chǎn)工藝: SMT</b></p><p><b> 其主要技術(shù)參數(shù)為:</b></p><p> 顯示容量:4.5
62、~5.5V;</p><p> 工作電流:2.0mA(5.0V)</p><p> 模塊最佳工作電壓:5.0V</p><p> 字符尺寸:2.95×4.35(WXH)mm</p><p> 1602采用標(biāo)準(zhǔn)的16腳接口,其管腳定義如下:</p><p> 圖3-12 LCD1602實(shí)物圖</
63、p><p> 第1腳:VSS為地電源。</p><p> 第2腳:VDD接5V正電源。</p><p> 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。</p><p> 第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選
64、擇指令寄存器。</p><p> 第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。</p><p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p>
65、<p> 第15腳:背光電源接5V正電壓。</p><p> 第16腳:背光電源接地。</p><p> 1602的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。液晶模塊內(nèi)部的控制器共有11條控制指令,其指令具體功能介紹如下:</p><p> 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00
66、H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。</p><p> 指令4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p> 指令5:光
67、標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。</p><p> 指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p> 指令7:字符發(fā)生器RAM地址設(shè)置。</p><p> 指令8:DDRAM地址設(shè)置
68、。</p><p> 指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b> 指令10:寫數(shù)據(jù)。</b></p><p><b> 指令11:讀數(shù)據(jù)。</b></p><p> 與LED數(shù)碼管相比,液晶顯示器
69、的顯示效果相對(duì)較好,液晶顯示器顯示不僅直觀,而且界面具有人機(jī)交互美觀的特點(diǎn)。而且具有低功耗,容易控制,占用CPU資源少這些優(yōu)點(diǎn),從而成為一些顯示器的首選。</p><p> 3.5.2 顯示接口電路設(shè)計(jì)</p><p> 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字
70、符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。 </p><p> 以下是1602的16進(jìn)制ASCII碼表地址: </p><p> 讀
71、的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)。</p><p><b> 指令集 </b></p><p> 1602通過(guò)D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。 </p><p> 顯示模式設(shè)置: (初始化) </p><p
72、> 0011 0000 [0x38] 設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口; </p><p> 顯示開(kāi)關(guān)及光標(biāo)設(shè)置: (初始化) </p><p> 0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效) </p><p> 0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &a
73、mp;光標(biāo)加1), </p><p> N=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1), </p><p> S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移) </p><p> S=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng) </p><p> 數(shù)據(jù)指針設(shè)置: </p><p>
74、 數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H) </p><p><b> 其他設(shè)置: </b></p><p> 01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。</p><p> LCD顯示與單片機(jī)連接電路圖如圖3-13; </p><p&g
75、t; 圖3-13液晶原理圖</p><p><b> 3.6 報(bào)警電路</b></p><p> 本次報(bào)警電路采用蜂鳴器報(bào)警,當(dāng)即時(shí)速度超過(guò)預(yù)定值是蜂鳴器響,指示燈閃爍,提示應(yīng)該減速。報(bào)警電路圖如圖3-14所示。</p><p> 圖3-14報(bào)警電路圖</p><p><b> 3.7 鍵盤控制&
76、lt;/b></p><p> 鍵盤是實(shí)現(xiàn)人機(jī)對(duì)話的重要工具,用戶可用計(jì)算機(jī)向計(jì)算機(jī)輸入數(shù)據(jù)和指令,本系統(tǒng)采用獨(dú)立鍵盤接口,獨(dú)立式按鍵是指直接用I/O口線構(gòu)成單個(gè)的按鍵電路。每一個(gè)獨(dú)立式按鍵單獨(dú)占用一根I/O口線。獨(dú)立式按鍵接口電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。但每個(gè)按鍵都需要占用一根I/O口線,適用于按鍵數(shù)量少的鍵盤。電路中,按鍵輸入低電平有效。按鍵未按時(shí)有上拉電阻保證此時(shí)輸入為高電平。按鍵接口電路如圖:&l
77、t;/p><p> 圖3-15按鍵接口圖</p><p><b> 4 軟件設(shè)計(jì)</b></p><p> 待測(cè)信號(hào)經(jīng)預(yù)處理電路后加至單片機(jī)的P3.2引腳可為單片機(jī)測(cè)量信號(hào)頻率提供有效的輸入信號(hào)。單片機(jī)通過(guò)檢測(cè)P3.2引腳電平來(lái)決定是否啟動(dòng)測(cè)量頻率程序。當(dāng)該引腳為高電平時(shí),系統(tǒng)處于等待狀態(tài),要一直到該引腳出 現(xiàn)低電平時(shí)才開(kāi)始測(cè)頻率。我們可從
78、硬件的轉(zhuǎn)盤上知道兩個(gè)過(guò)孔之間在圓周上的距離。而這個(gè)距離M正好為計(jì)算速度和距離起到了基本的數(shù)據(jù)儲(chǔ)備作用。同時(shí)可以從TL0寄存器知道在兩秒內(nèi)單片機(jī)檢測(cè)到的N個(gè)脈沖。而M×N所得到的正是這兩秒內(nèi)鋁盤在圓周上所走得距離S。(此時(shí)假設(shè)在這個(gè) 兩秒內(nèi)車子是勻速前進(jìn)的),距離S除以2秒的時(shí)間,就可以大概的算出這2秒內(nèi)鋁盤的線速度。再根據(jù)鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關(guān)系,從而算出自行車在這2秒的平均速度
79、。至于里程的計(jì)算,根據(jù)速度計(jì)算的相加即可得到目前的總里程數(shù)。</p><p> 通過(guò)單片機(jī)計(jì)算出來(lái)的速度和里程的數(shù)據(jù),通過(guò)LCD1602顯示模塊顯示。當(dāng)自行車 行駛時(shí),單片機(jī)開(kāi)機(jī)經(jīng)過(guò)初始化后讀取并且顯示出來(lái),這樣以來(lái)用戶可以清楚的知道自己的車子已經(jīng)運(yùn)行了多少公里了。系統(tǒng)的軟件總流程如下;</p><p> 基于光電傳感器自行車?yán)锍瘫淼能浖O(shè)計(jì)包括上電初始化程序、中斷子程序、速度調(diào)用子
80、程序、里程調(diào)用子程序、LCD顯示子程序、延時(shí)子程序等幾大部分。由于要實(shí)現(xiàn)很多功能,所以采用模塊化設(shè)計(jì),下面就其主要部分分別加以分析。</p><p> 4.1 測(cè)量算法概述</p><p> 速度測(cè)量是工控系統(tǒng)中最基本的需求之一,最常用的是用數(shù)字脈沖測(cè)量某根軸的轉(zhuǎn)速,再根據(jù)機(jī)械比、直徑換算成線速度。脈沖測(cè)速最典型的方法有測(cè)頻率(M法)和測(cè)周期(T法)。</p><
81、p> M法是測(cè)量單位時(shí)間內(nèi)的脈數(shù)換算成頻率,因存在測(cè)量時(shí)間內(nèi)首尾的半個(gè)脈沖問(wèn)題,可能會(huì)有2個(gè)脈的誤差。速度較低時(shí),因測(cè)量時(shí)間內(nèi)的脈沖數(shù)變少,誤差所占的比例會(huì)變大,所以M法宜測(cè)量高速。如要降低測(cè)量的速度下限,可以提高編碼器線數(shù)或加大測(cè)量的單位時(shí)間,使用一次采集的脈沖數(shù)盡可能多。</p><p> T法是測(cè)量?jī)蓚€(gè)脈沖之間的時(shí)間換算成周期,從而得到頻率。因存在半個(gè)時(shí)間單位的問(wèn)題,可能會(huì)有1個(gè)時(shí)間單位的誤差。速
82、度較高時(shí),測(cè)得的周期較小,誤差所占的比例變大,所以T法宜測(cè)量低速。如要增加速度測(cè)量的上限,可以減小編碼器的脈沖數(shù),或使用更小更精確的計(jì)時(shí)單位,使一次測(cè)量的時(shí)間值盡可能大。</p><p> 設(shè)計(jì)中綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間,本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算歷程,因而具有較高的測(cè)距精度。在計(jì)算里程時(shí)取了自行車的理想狀態(tài)。實(shí)際中,誤差控制在幾米之內(nèi),相對(duì)于整個(gè)里程來(lái)說(shuō)不是很大。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通
83、用性和高效性。</p><p> 首先我們把槽型光電傳感器ST1101放在自行車的轉(zhuǎn)軸上,當(dāng)自行車啟動(dòng)時(shí),接通電源后,光電二極管發(fā)光,通過(guò)和不通過(guò)轉(zhuǎn)盤孔時(shí),使三極管導(dǎo)通或截止,這種變化將會(huì)光電傳感器產(chǎn)生脈沖電壓。由于轉(zhuǎn)盤共分為8個(gè)孔,轉(zhuǎn)盤轉(zhuǎn)動(dòng)一圈將會(huì)改變8次。所以將會(huì)產(chǎn)生8個(gè)方波,既每輸出8個(gè)方波代表自行車轉(zhuǎn)動(dòng)了一周。例如:我們的自行車車輪半徑為0.25m時(shí),計(jì)算得出車輪的周長(zhǎng)為1.5m。由于每一圈光電傳感器將
84、輸出8個(gè)脈沖,當(dāng)自行車行駛1KM時(shí)會(huì)轉(zhuǎn)動(dòng)667次,這樣每1千米將會(huì)產(chǎn)生5336個(gè)脈沖,單片機(jī)對(duì)這5336個(gè)脈沖計(jì)數(shù),當(dāng)達(dá)到這個(gè)數(shù)時(shí)單片機(jī)將會(huì)產(chǎn)生中斷。</p><p> 通過(guò)單片機(jī)計(jì)算出來(lái)的速度和里程的數(shù)據(jù),通過(guò)LCD1602顯示模塊直觀顯示。總里程數(shù)會(huì)自動(dòng)保存到單片機(jī)的數(shù)據(jù)存儲(chǔ)器,當(dāng)自行車行駛,單片機(jī)開(kāi)機(jī)經(jīng)過(guò)初始化后顯示出來(lái),這樣以來(lái)用戶可以清楚的知道自己的車子已經(jīng)運(yùn)行了多少公里了。而速度的顯示則是在計(jì)算出速
85、度里程后立刻顯示出來(lái),體現(xiàn)實(shí)時(shí)性。</p><p> 4.2 中斷子程序的設(shè)計(jì)</p><p> 定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。在單片機(jī)內(nèi)部有兩個(gè)定時(shí)/計(jì)數(shù)器,以對(duì)其中的計(jì)數(shù)結(jié)構(gòu)進(jìn)行計(jì)數(shù)的方法,來(lái)實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。當(dāng)結(jié)構(gòu)發(fā)生計(jì)數(shù)溢出時(shí),即表明定時(shí)時(shí)間或計(jì)數(shù)值已滿,這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一個(gè)溢出標(biāo)志,作為單片機(jī)接受中斷請(qǐng)求的標(biāo)志。這種中斷請(qǐng)求是在單片機(jī)芯
86、片內(nèi)部發(fā)生的,因此無(wú)須在芯片上設(shè)置引入端。</p><p> 定時(shí)/計(jì)數(shù)器控制寄存器TCON是8位寄存器,地址為88H,。其高4位用于定時(shí)/計(jì)數(shù)器中斷控制,低4位借給外部中斷,用做中斷標(biāo)志和觸發(fā)方式選擇位。本設(shè)計(jì)采用定時(shí)中斷,對(duì)自行車的里程和速度進(jìn)行計(jì)數(shù)。中斷子程序流程圖如圖4-1所示。</p><p> 圖4-1中斷子程序流程圖</p><p> 4.3
87、數(shù)據(jù)處理子程序的設(shè)計(jì)</p><p> 待測(cè)信號(hào)經(jīng)預(yù)處理電路后加至單片機(jī)的P3. 2( INT0) 引腳可為單片機(jī)測(cè)量信號(hào)周期提供有效的輸入信號(hào)。單片機(jī)通過(guò)檢測(cè)P3.2引腳電平來(lái)決定是否啟動(dòng)測(cè)量周期程序。當(dāng)該引腳為高電平時(shí),系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時(shí)才開(kāi)始測(cè)周期。測(cè)量時(shí)首先將零賦給THO、TL0 兩個(gè)寄存器以將定時(shí)器T0 的運(yùn)行控制位TR0 置位,同時(shí)也將ET0 置位以允許定時(shí)器T0 中斷。然
88、后再判斷P3. 2 引腳是否還為低電平,如為低電平則等待,直到出現(xiàn)高電平再開(kāi)始判斷P3. 2 引腳是否為低電平,當(dāng)其不是低電平時(shí)再等待。一旦出現(xiàn)低電平,則立即復(fù)位TR0終止定時(shí)器,以結(jié)束測(cè)周期程序。測(cè)周期過(guò)程中可能會(huì)發(fā)生定時(shí)器T0 的中斷,每發(fā)生一次中斷則將R0 寄存器加一,因此R0 實(shí)際上是周期值的高字節(jié)。測(cè)出的周期值存儲(chǔ)在R0、TH0、TL0 三個(gè)寄存器中,然后將其轉(zhuǎn)換成速度。速度是用車輪的周長(zhǎng)除以脈沖周期得到的。由于所測(cè)周期的單位
89、是μs,因此在相除轉(zhuǎn)換時(shí)應(yīng)將被除數(shù)擴(kuò)大10萬(wàn)倍,以保證得出正確的速度。</p><p> 4.3.1 里程計(jì)算子程序</p><p> 外中斷0服務(wù)程序用于對(duì)單片機(jī)P3.2口輸入的圈脈沖進(jìn)行計(jì)數(shù),為十六進(jìn)制計(jì)數(shù)器。當(dāng)車輪每轉(zhuǎn)一圈,通過(guò)光電傳感器將脈沖數(shù)輸入單片機(jī)內(nèi),通過(guò)計(jì)數(shù)器計(jì)出脈沖數(shù),再用乘法子程序算出里程數(shù)。其中階段里程為本次行駛所走過(guò)的里程,總里程為自行車從開(kāi)始使用當(dāng)前行駛的總
90、路程,兩者處理程序大致相同,總里程為階段里程</p><p> 的累加。將階段里程自動(dòng)與以前存儲(chǔ)的總里程相加,再存入該存儲(chǔ)器,當(dāng)單片機(jī)斷電后,階段里程清零,當(dāng)有重新開(kāi)始時(shí),單片機(jī)重新計(jì)數(shù)與計(jì)時(shí)。里程處理子程序流程圖如圖4-2所示。</p><p> 圖4-2 里程處理子程序流程圖</p><p> 4.3.2 速度計(jì)算子程序</p><p
91、> 內(nèi)部定時(shí)/計(jì)數(shù)器T0服務(wù)程序用于處理輪子轉(zhuǎn)動(dòng)一圈后的計(jì)時(shí)數(shù)據(jù)。定時(shí)器計(jì)出每轉(zhuǎn)一圈所用的時(shí)間,用自行車車輪的周長(zhǎng)除以時(shí)間就得出自行車的瞬時(shí)速度。階段平均速度為階段里程除以本次行駛的時(shí)間。下為瞬時(shí)速度處理子程序流程圖:</p><p> 圖4-3速度處理子程序流程圖</p><p> 4.4 顯示子程序的設(shè)計(jì)</p><p> 液晶顯示是本設(shè)計(jì)的難點(diǎn)
92、,為了讓顯示的內(nèi)容更豐富,顯示更合理,根據(jù)設(shè)計(jì)要求,里程表需要顯示速度、里程、時(shí)間等。當(dāng)接通電源或按Reset后,顯示歡迎畫面:</p><p> DigitalBikeMeter</p><p><b> Welcome….</b></p><p> 系統(tǒng)延時(shí)2秒后進(jìn)入時(shí)鐘設(shè)置畫面: </p&g
93、t;<p><b> Set Time</b></p><p><b> 00:00:00</b></p><p> 依次按S1-S3調(diào)整時(shí)鐘,S1設(shè)定時(shí)位,S2設(shè)定分位,S3設(shè)定秒位,待時(shí)間設(shè)定完成后按S4確認(rèn)。</p><p> 接著進(jìn)入自行車輪胎半徑設(shè)置畫面: </p>
94、<p> Set Bike Tire L=</p><p><b> 55cm</b></p><p> 按S1、S2調(diào)整輪胎直徑后,按S4確認(rèn),里程表開(kāi)始工作。</p><p> 各項(xiàng)參數(shù)分成四屏選擇顯示,按動(dòng)S5(Disp)按流程圖所示進(jìn)行切換。</p><p> 圖4-4 顯示流程圖</
95、p><p> 階段里程是指本次自行車所走過(guò)的路程,階段平均速度為階段里程與階段時(shí)間的比值,軟件編程的主要變量為:階段行駛里程(m)、階段時(shí)間、瞬時(shí)速度(m/s)、最大速度(m/s)、階段平均速度(m/s)、總里程(km或m)。</p><p><b> 5 設(shè)計(jì)總結(jié)</b></p><p> 5.1 實(shí)現(xiàn)目標(biāo)與特點(diǎn)</p>
96、<p><b> 一.實(shí)現(xiàn)目標(biāo)</b></p><p> 該課題的主要任務(wù)是開(kāi)發(fā)一個(gè)以MCS-51單片機(jī)為核心的自行車的速度里程表。本設(shè)計(jì)主要分為硬件部分和軟件部分,硬件部分著重考慮硬件電路的簡(jiǎn)單性,故盡可能簡(jiǎn)化硬件電路,節(jié)省線路板的空間,達(dá)到硬件電路最優(yōu)化設(shè)計(jì)。軟件采用C語(yǔ)言編寫,采用模塊化設(shè)計(jì)思想,程序可讀性強(qiáng)。通過(guò)仿真、實(shí)驗(yàn)驗(yàn)證了系統(tǒng)的可行,能滿足設(shè)計(jì)要求,達(dá)到設(shè)計(jì)的指標(biāo)
97、,實(shí)現(xiàn)對(duì)自行車?yán)锍?速度的計(jì)算功能,并用LCD顯示,設(shè)脈沖總數(shù)為m,車輪周長(zhǎng)為C,車輪轉(zhuǎn)一周輸出脈沖數(shù)為n,車輪行駛時(shí)轉(zhuǎn)一圈的時(shí)間為T0,則里程(S)與速度(v)分別根據(jù)以下公式求得:</p><p><b> S=m*C/n </b></p><p> v=C/T0 </p><p> 根據(jù)此公式將最終顯示出里程和速度。通過(guò)仿真
98、證明本次設(shè)計(jì)符合設(shè)計(jì)的要求,能實(shí)現(xiàn)對(duì)里程、速度的顯示,功能性較強(qiáng),具有一定的實(shí)踐意義,將會(huì)在許多場(chǎng)合應(yīng)用。但也有一些不足存在,當(dāng)顯示速度時(shí),若自行車轉(zhuǎn)動(dòng)太快,顯示器會(huì)顯示過(guò)快,應(yīng)該將速度定時(shí)顯示,使人們能夠清楚地看出速度。</p><p> ?。?)實(shí)現(xiàn)了總里程的測(cè)量,并且里程當(dāng)里程小于1KM時(shí),數(shù)據(jù)的顯示格式為000.0m,當(dāng)里程大于1KM時(shí),數(shù)據(jù)的顯示格式為000.00KM,更便于數(shù)據(jù)的讀取與測(cè)量。其中里程的
99、值為當(dāng)前行駛的里程。</p><p> ?。?)實(shí)現(xiàn)了速度包括平均速度瞬時(shí)速度的測(cè)量,并規(guī)定最大速度為8m/s,當(dāng)行駛速度超過(guò)該值時(shí),報(bào)警器會(huì)發(fā)出報(bào)鳴聲,提醒減速行駛。</p><p> ?。?)實(shí)現(xiàn)了時(shí)鐘的定時(shí)與當(dāng)前時(shí)間的顯示,使設(shè)計(jì)更合理。</p><p> ?。?)發(fā)揮部分 :可以顯示最大加速度,在軟件編程中實(shí)現(xiàn)。</p><p>&l
100、t;b> 二.設(shè)計(jì)特點(diǎn)</b></p><p> ?。?)利用紅外傳感器作信號(hào)采集單元,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),圓盤會(huì)阻擋紅外對(duì)管的光路,接收管輸出低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。其優(yōu)點(diǎn)是測(cè)量精度高。</p><p> ( 2 ) 開(kāi)關(guān)按鍵和指示燈設(shè)計(jì),使方案更便于實(shí)踐,設(shè)計(jì)更合理。</p><p> ( 3 ) LCD液晶顯示模塊。液晶
101、顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。</p><p> ?。?)測(cè)試數(shù)據(jù)全面,方案不僅能實(shí)現(xiàn)速度和里程的測(cè)量,還可以作為時(shí)鐘使用,另外,當(dāng)行駛超過(guò)一定的速度時(shí),自行車會(huì)自動(dòng)報(bào)警,提醒減速行駛。</p><p> 5.2 結(jié)論及不足</p><p> 本設(shè)計(jì)以AT89C2051為核心
102、,通過(guò)光電傳感器來(lái)檢測(cè)自行車的運(yùn)轉(zhuǎn)情況進(jìn)而實(shí)現(xiàn)電動(dòng)自行車的速度,里程的計(jì)算及里程的累計(jì),最后用液晶顯示器直觀地將速度與里程顯示給用戶,并且在速度高于一定的值時(shí)可自動(dòng)向用戶報(bào)警,從而達(dá)到智能速度里程表。</p><p><b> 存在的問(wèn)題及不足:</b></p><p> ?。?)通過(guò)T1計(jì)數(shù)時(shí),單片機(jī)每讀取一個(gè)脈沖至少需要3個(gè)機(jī)器周期的時(shí)間來(lái)完成。本系統(tǒng)采用的晶振
103、為12MHz,所以一個(gè)機(jī)器周期Tcy=12/f=1us。若要使單片機(jī)準(zhǔn)確讀取外部脈沖,則脈沖的輸入周期不能超過(guò)3us。如此可計(jì)算(轉(zhuǎn)盤齒數(shù)為10),系統(tǒng)能測(cè)量的轉(zhuǎn)速需低于:Vmax=60s/(3us*10)=6000000r/min。</p><p> ?。?)當(dāng)顯示速度時(shí),若自行車轉(zhuǎn)動(dòng)太快,顯示器會(huì)顯示過(guò)快,應(yīng)該將速度定時(shí)顯示,使人們能夠清楚地看出速度。</p><p> ?。?)測(cè)量的
104、精度有待改善,當(dāng)速度很慢時(shí),輸入的脈沖次數(shù)較少,用頻率測(cè)量法則有很大的誤差。</p><p> 綜上所述,在測(cè)速過(guò)程中,雖然由于硬件的緣故,未能實(shí)現(xiàn)對(duì)高速的測(cè)量,但本裝置結(jié)構(gòu)簡(jiǎn)單、實(shí)用,在降低測(cè)速器成本,提高測(cè)速穩(wěn)定性及可靠性等方面有一定價(jià)值,而且可以達(dá)到一般工業(yè)測(cè)速的測(cè)量標(biāo)準(zhǔn),具有廣泛的前景。</p><p><b> 致謝</b></p><
105、;p><b> 在本次畢業(yè)設(shè)</b></p><p> 學(xué)生簽名: </p><p> 日 期: </p><p><b> 參考文獻(xiàn)</b></p><p> [1]王福瑞.單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全[M].北京航空航天大學(xué)出版社,1999:4-9<
106、;/p><p> [2]邵群濤,徐余法.電機(jī)及拖動(dòng)基礎(chǔ)[M].機(jī)械工業(yè)出版社,2002:250-269</p><p> [3]馬西秦.自動(dòng)檢測(cè)技術(shù)[M].機(jī)械工業(yè)出版社,2001:210-230</p><p> [4]徐麗萍.自行車測(cè)速儀[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010</p><p> [5]余永權(quán),汪明慧,黃英.單片機(jī)在
107、控制系統(tǒng)中的應(yīng)用[M].電子工業(yè)出版社,2003</p><p> [6]孫育才.ATMEL新型AT89S52系列單片機(jī)及其應(yīng)用[M].清華大學(xué)出版社,2006:10-20</p><p> [7] 李剛,林凌. 新概念單片機(jī)教程[M].天津大學(xué)出版社,2007</p><p> [8]張毅剛.單片機(jī)原理及應(yīng)用[M].高等教育出版社,2003:120-124&
108、lt;/p><p> [9]雷玉堂.光電檢測(cè)技術(shù)(第2版)[M].中國(guó)計(jì)量出版社,2009:254-259</p><p> [10]郭培源,付揚(yáng).光電檢測(cè)技術(shù)與應(yīng)用[M].北京航空航天大學(xué)出版,2006:221-224</p><p> [11]W Q Yang. D M Spink, et. An image-reconstuction algorithm b
109、ased on Landweber’s iteration method for electrical-capacitance tomography. Meas. Sci. Technol. , 1999,10: 1065-1069</p><p> [12]Ateml AT89S51 Data sheets.website:www.21ic.com</p><p> [13]楊路明.
110、C語(yǔ)言程序設(shè)計(jì)[M].北京郵電大學(xué)出版社,2005:1-7</p><p> [14]王為青,程國(guó)鋼.單片機(jī)Keil Cx51應(yīng)用開(kāi)發(fā)技術(shù)[M].人民郵電出版社,2007:31-38</p><p><b> 附錄</b></p><p> 附錄I 系統(tǒng)電路原理圖</p><p> 附錄II 設(shè)計(jì)源程序</
111、p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> /****************************************************************</p><p><b> 引腳定義:<
112、;/b></p><p> P20=S1 時(shí)鐘設(shè)置時(shí)更改“時(shí)”,直徑設(shè)置時(shí)更改十位</p><p> P21=S2 時(shí)鐘設(shè)置時(shí)更改“分”的十位,直徑設(shè)置時(shí)更改個(gè)位</p><p> P22=S3 時(shí)鐘設(shè)置時(shí)更改“分”的個(gè)位</p><p> P23=Enter 確認(rèn)更改設(shè)置</p><p> P32
113、=Disp 正常工作時(shí)更改顯示模式</p><p> ****************************************************************************/</p><p> sbit P20=P2^0;</p><p> sbit P21=P2^1;</p><p> sbit
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 光電式自行車速度里程表設(shè)計(jì)(the design of photoelectric bicycle odometer)
- 基于單片機(jī)的自行車速度及里程表設(shè)計(jì)
- 機(jī)械制造與自動(dòng)化畢業(yè)設(shè)計(jì)(論文)自行車速度里程表的設(shè)計(jì)
- 自行車?yán)锍瘫碓O(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文--自行車?yán)锍瘫淼脑O(shè)計(jì)
- 自行車數(shù)字里程表.docx
- 畢業(yè)設(shè)計(jì)---汽車速度與里程表設(shè)計(jì)和實(shí)現(xiàn)
- 自行車速度里程實(shí)時(shí)顯示系統(tǒng)設(shè)計(jì)修改.doc
- 自行車?yán)锍瘫淼脑O(shè)計(jì)【文獻(xiàn)綜述】
- 自行車?yán)锍瘫淼脑O(shè)計(jì)【開(kāi)題報(bào)告】
- 基于單片機(jī)的自行車?yán)锍瘫砑八俣葍x的畢業(yè)設(shè)計(jì)
- 基于霍爾元件的自行車的速度里程表的設(shè)計(jì)說(shuō)明
- 基于霍爾元件的自行車的速度里程表的設(shè)計(jì)說(shuō)明
- 自行車行程速度畢業(yè)設(shè)計(jì)--基于單片機(jī)的自行車?yán)锍趟俣扔?jì)設(shè)計(jì)
- 自行車?yán)锍瘫碓O(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開(kāi)題報(bào)告】
- 單片機(jī)自行車速度里程計(jì)論文
- 單片機(jī)自行車速度里程計(jì)論文
-
評(píng)論
0/150
提交評(píng)論