版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機的自行車測速系統(tǒng)基于單片機的自行車測速系統(tǒng) 摘要 伴隨著科技的發(fā)展和居民生活水平的不斷提高,自行車已然不是普通的代步、運輸工具,而已成為了大眾的休閑、鍛煉、娛樂的第一選擇。所以我所設(shè)計的自行車簡易數(shù)字里程表就基本能夠滿足現(xiàn)在大眾的需求在鍛煉的同時監(jiān)測自身的鍛煉量和安全,其可以讓人們清楚地知道自身當(dāng)前騎行速度、總騎行里程等物理量。此篇論文重點講述的是一種基于單片機的自行車速度里程表的設(shè)計。以 STC89C52單片機為主要元件,使用A44E 霍爾傳感器來測量自行車轉(zhuǎn)數(shù),從而完成對自行車?yán)锍?速度的測量,顯示屏采用1602LCD自行車的里程數(shù)及速度。文章闡述了自行車的速度里程表的硬件電路與
2、軟件部分。硬件部分是采用霍爾元件將自行車每轉(zhuǎn)一圈所產(chǎn)生的的脈沖數(shù)傳入單片機系統(tǒng),然后單片機系統(tǒng)將信號經(jīng)過處理送至顯示屏。軟件部分采用C語言進行編程,采用模塊化設(shè)計思想。該系統(tǒng)硬件電路簡單,子程序具有通用性,完全符合設(shè)計要求。關(guān)鍵詞 里程/速度 霍爾元件 單片機 LCD顯示Bicycle speed measuring system based on MCUAbstract With the development of science and technology and the improvement of living standards, the bicycle is not only
3、the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/spe
4、ed design based on the Hall element is elaborated. By STC89C52as kernel, using A44E Hall element to measure revolution, the measure and statistic are achieved. (Saved by 1602LCD , the bicycle speed can be displayed on LED. )In this article, the hardware circuit design of bicycle mileage/speed instru
5、ment are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in C language; the program is designed in
6、 the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design.Keywords Mileage / speed, Hall element, Single chip microcomputer, LCD II目錄引言1第1章概論21.1設(shè)計的目的與意義21.2技術(shù)的發(fā)展概況31.3設(shè)計的主要方向3第2章系統(tǒng)硬件平臺的設(shè)計42.1 總體設(shè)計方案說明42.2 單片機最小系統(tǒng)52.2.1 STC89C52單片機52.2.2 時鐘電路62.2.3 復(fù)位電路
7、72.3 顯示模塊72.4 霍爾傳感器及其測量原理102.5 DS1302時鐘芯片102.6 蜂鳴器及其電路12第3章系統(tǒng)軟件的設(shè)計與實現(xiàn)143.1 主程序流程圖143.2 顯示流程圖143.3 速度處理流程圖153.4時鐘芯片程序流程圖16第4章安裝調(diào)試與性能測量184.1 程序編寫軟件184.1.1 Keil C51簡介184.1.2應(yīng)用Keil軟件進行程序調(diào)試184.2電路仿真184.2.1 仿真軟件簡介184.2.2 仿真結(jié)果194.3硬件調(diào)試19結(jié)論21致謝語22參考文獻23附錄2444引言從自行車被締造到使用已經(jīng)歷經(jīng)了兩百多年的歷史,在這里歷史的長河中人類不曾停下嘗試與研發(fā)的腳步,
8、從如同玩具木馬般的木頭車演變至今日的種類繁多用途各異款式新穎的休閑、運動自行車,自行車被締造的用途也從開始的交通、代步工具轉(zhuǎn)換成為休閑、娛樂、運動等多方面的用途1。伴隨著人民生活質(zhì)量的提高與當(dāng)今社會的科學(xué)技術(shù)發(fā)展,自行車已然不再是普通的出行工具,而躍升成為強生健體、休閑娛樂、觀光旅行一種選擇。所以現(xiàn)在的自行車需要具備更多的功能以滿足人們不斷增強的需求。自行車簡易數(shù)字里程表的出現(xiàn)就是為了滿足一些把自行車作為鍛煉的一群人所需求的輔助工具而面世的,他的功能也從只能顯示里程進而發(fā)展到可以顯示速度與時間。這一次的設(shè)計采用了MCS-51系列的單片機,因為單片機近幾年的發(fā)展技術(shù)已經(jīng)相當(dāng)?shù)某墒炝?,運用其進行自
9、行車的測速系統(tǒng)設(shè)計是可以輕松實現(xiàn)的2,并且其體積小的特點也可以使得設(shè)計更加的小巧方便而不影響測速的準(zhǔn)確性和顯示的正確性。此次課題的主要設(shè)計思路是利用單片機進行處理,霍爾元件的其他元器件進行測量與數(shù)據(jù)的存儲,并通過1602顯示屏顯示速度、時間與里程數(shù)的自行車速度里程表。此次的文章先對我要進行設(shè)計的課題任務(wù)進行方案的探討以及可行性的論證,其中包括了硬軟件的方案的設(shè)計;從而根據(jù)探討出的結(jié)論進行了速度里程表的硬件設(shè)計,其中就有單片機、傳感器的選擇與顯示電路與時間電路的設(shè)計;之后進行軟件方面思路的設(shè)計用流程圖簡明的表示出來;最后也是相對而言的重要一步是進行仿真并對出現(xiàn)的問題進行分析處理并總結(jié)此次的設(shè)計3
10、。 本次的設(shè)計主要的硬件電路包括了單片機及其外圍電路和顯示采用的液晶顯示電路。這一次的軟件設(shè)計比較多其中有芯片的初始化程序、定時中斷子程序、顯示子程序等,這些程序都由C語言編寫并寫入單片機中進行運行。 第1章 概論1.1設(shè)計的目的與意義自行車是由人的雙腳輪流進行踩踏腳踏帶動鏈條驅(qū)動輪子進行運動的以人自身問動力的具有兩個輪子的交通工具,俗稱自由車、腳踏車或單車(在日本稱為“自転車”;在中國大陸、臺灣通常稱其為“自行車”或“腳踏車”,又因中國大陸最早的自行車是國外過來,所以又稱其為“洋車兒”,有些地方仍舊這么稱呼;在港澳則通常稱其為“單車”)。自行車因其方便快捷的使用方式和簡單輕松的維修方式,被人
11、們普遍的使用。不僅能成為代步工具也能成為貨物運輸?shù)钠鞑?,如今又是體育鍛煉的最佳選擇之一4。19世紀(jì)初第一批次的真正的能進入人們生活中的實用行自行車終于出現(xiàn)。自行車立馬風(fēng)靡歐洲成為當(dāng)時被歐洲人所喜愛的代步交通工具。自行車從發(fā)明出來到現(xiàn)在已經(jīng)有兩百多年的歷史了,已經(jīng)從大眾普遍認為的交通、運輸?shù)墓ぞ叩纳矸葜邪l(fā)生了悄無聲息的轉(zhuǎn)變。在現(xiàn)在的科技發(fā)展和人民生活水平的提高下,各種交通運輸工具應(yīng)運而生,而自行車也慢慢退出了之前的舞臺,但是就在這樣的背景下,自行車在運動、鍛煉、娛樂等方面發(fā)揮出了不一樣的作用。在現(xiàn)在的人人環(huán)保的意識深入人心后,自行車又有了發(fā)揮空間。中國毫無疑問是一個人口眾多的國家,自行車在中國的
12、發(fā)展也就理所當(dāng)然的促進了中國成為世界上自行車保有量最多的國家。自行車其構(gòu)造的簡單,操作的方便,促使人們對其產(chǎn)生了喜愛。同時騎自行車也可以作為一種休閑運動,是人們鍛煉身體的一種重要的方式,而且在運動過程中可以充分享受到大自然,對于忙碌的現(xiàn)代人來說,無疑是一種較好的放松方法。也正是因為有這種需要拓展了對自行車本身以外的要求,它能顯示當(dāng)前車子行駛的速度、里程、時間、,甚至還有GPS全球定位系統(tǒng)、MP3等娛樂功能。自行車運動需要一種對騎行的速度、路程進行監(jiān)測的的裝置,通過記錄的數(shù)據(jù),才能充分的了解運動員自己的訓(xùn)練成績及訓(xùn)練過程,并根據(jù)數(shù)據(jù)分析結(jié)果以進行適當(dāng)調(diào)節(jié)運動方式,以求達到最佳運動效果。這次是為了
13、設(shè)計一款操作簡單成本低的測速儀,為的是解決自行車騎行者在騎行時能夠了解當(dāng)前的行駛狀態(tài),然后根據(jù)周圍環(huán)境,能夠做出正確的判斷和操作,提高騎行者的安全性。這一次的設(shè)計所采用的測速系統(tǒng)是以單片機作為核心元器件的系統(tǒng),單片機在這系統(tǒng)中需要完成數(shù)據(jù)的輸入、處理以及輸出,完全符合設(shè)計所需要的要求。1.2技術(shù)的發(fā)展概況近幾年的科技發(fā)展使得微型計算機可靠性的提高和價格的下降,而單片機技術(shù)的發(fā)展也突飛猛進,運用單片機進行轉(zhuǎn)速的測量也不是難事,但是大部分的運用還處于工業(yè)運用狀態(tài),單片機測量轉(zhuǎn)速的生活化轉(zhuǎn)變還是少之又少。轉(zhuǎn)率的測量方式多樣,因采用了霍爾芯片可以采集脈沖,從而根據(jù)脈沖完成對轉(zhuǎn)速的測量,其中測量的方法主
14、要有:M法(測頻法)、T法(測周期法)和MPT法(頻率周期法)。而這次的設(shè)計采用了測頻法,也就是M法5。檢測轉(zhuǎn)速使用霍爾脈沖法,即將霍爾傳感器所接受的霍爾脈沖接收送入單片機,單片機進行設(shè)定程序的計算就可以得出速度和路程信息。因為這次的題目為測速,所以對裝置有著相對的要求,因為需要對路程以及速度進行統(tǒng)計所以對測速裝置有著分辨能力出眾、精度高河測量周期短的要求,而基于霍爾元件的脈沖發(fā)生器就具有這些特點而且霍爾元件還具有成本低、結(jié)構(gòu)簡單、操作方便、性能好等特點。現(xiàn)在已經(jīng)陸續(xù)有許多的自行車測速儀里程表被設(shè)計出來,但大多數(shù)功能較為單一的只進行速度和里程的顯示,但之后隨著人們的需求增高將會有更多的功能被加
15、入如MP3播放功能、短信收發(fā)功能、GPS導(dǎo)航定位功能、網(wǎng)絡(luò)功能等各種需求的不同而被加入其中,使得自行車測速更加的人性化、現(xiàn)代化、生活化,性價比更加的高。1.3設(shè)計的主要方向即使用單片機實現(xiàn):利用霍爾傳感器所測量出的得轉(zhuǎn)速信號轉(zhuǎn)換成為單片機所能識別的數(shù)字信號,將信號導(dǎo)入單片機之中,單片機根據(jù)所編輯的程序進行運算得出在一定時間內(nèi)的數(shù)字脈沖的頻率,再根據(jù)計數(shù)器中的數(shù)值進行計算得到里程數(shù)的數(shù)值通過單片機的管教進行輸出,輸入至顯示屏中顯示出速度里程,單片機再單獨提取時間芯片中的數(shù)據(jù)傳輸至顯示屏顯示。系統(tǒng)框圖如圖1-1所示。圖1-1 系統(tǒng)框圖第2章 系統(tǒng)硬件平臺的設(shè)計2.1 總體設(shè)計方案說明本設(shè)計的任務(wù)是
16、:使用AT89C52單片機為重要的處理核心,使用霍爾元件將自行車輪胎的物理量轉(zhuǎn)速轉(zhuǎn)換為數(shù)字量數(shù)據(jù)電脈沖,經(jīng)過處理后送置單片機中完成計算輸出顯示。速度與里程的測量采用了單片機中的定時/計數(shù)器,通過其所計算出的脈沖數(shù)與所設(shè)定的單位時間(成本設(shè)計為1s),經(jīng)過單片機中所編輯的程序所計算得出,最終的結(jié)果在顯示屏中顯示。本系統(tǒng)的總體思路如下:假設(shè)開始時在單片機中設(shè)定的輪圈周長為L,在自行車輪圈上設(shè)置a個永久性磁鐵,便可得到里程的最大誤差為L/a。經(jīng)過綜合的分析,在該設(shè)計中取值a=1。當(dāng)永久性磁鐵每經(jīng)過霍爾傳感器一次即自行車車輪每轉(zhuǎn)過一周,霍爾傳感器便可以采集到一個電脈沖信號,并通過單片機的P3.2引腳即
17、中斷0端輸入,從而單片機的計數(shù)器/定時器便可以得到一次計數(shù)中斷。每一次的中斷便是由于霍爾傳感器前有磁鐵經(jīng)過,又因為a取值為1所以為轉(zhuǎn)過一周,即里程值便可通過乘積求得 6。計數(shù)器計算出轉(zhuǎn)動的次數(shù)與所用時間T,便可以輕松計算出每個時間T的速率。如果自行車的速度超過了設(shè)定的數(shù)值時,系統(tǒng)發(fā)出信號,蜂鳴器響起。要求達到的各項指標(biāo)及實現(xiàn)方法如下:1. 使用霍爾傳感器得到輪圈所轉(zhuǎn)動的次數(shù)的脈沖信號。2. 對脈沖信號進行計數(shù)。實現(xiàn):利用單片機中自帶的計數(shù)器對霍爾傳感器所提供脈沖信號進行統(tǒng)計。3. 對所獲得的數(shù)據(jù)進行處理,并通過顯示屏顯示出里程數(shù)和即時速度。實現(xiàn):利用軟件所編輯的程序,對數(shù)據(jù)進行相關(guān)的處理從而得
18、到速度里程等相關(guān)的數(shù)據(jù)。最終實現(xiàn)目標(biāo):完成采用單片機作為控制元器件的一個具有速度、里程檢測并能將其顯示的自行車速度里程表。流程圖如圖2-1所示。 圖2-1 系統(tǒng)框圖2.2 單片機最小系統(tǒng)2.2.1 STC89C52單片機單片機在一塊芯片上集成了CPU、ROM、RAM、以及多種外圍功能接口,具有價格低、體積小、可靠性高、功能強、使用快捷靈活等特點。以單片機為核心的各種智能化電子設(shè)備,具有成本低,周期短,已與更新?lián)Q代,維修方便等優(yōu)點,已經(jīng)成為各種電子設(shè)計中所采用的普遍手段。AT89C52單片機的基本構(gòu)成如圖2-2所示。圖2-2 單片機的基本構(gòu)成由時鐘電路、ROM、RAM、定時器/計數(shù)器、并行接口、
19、串行接口和中斷系統(tǒng)組成一個單片機,由時鐘電路提供系統(tǒng)震蕩單片機進行運行,并行與串行接口進行數(shù)據(jù)的傳輸,定時器與計數(shù)器進行數(shù)據(jù)的統(tǒng)計,RAM、ROM進行數(shù)據(jù)的存儲,CPU進行程序的運行與數(shù)據(jù)的處理。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。最高運作頻率35Mhz,6T/12T可選。STC89C52單片機引腳圖如圖2-3所示。 圖2-3 STC89C52單片機主電源引腳2根:VCC(40引腳)電源輸入,接5V電源。GND(20引腳)接地線。外接
20、晶振引腳2根:XTAL1(引腳19)片內(nèi)振蕩電路的輸入端。XTAL2(引腳20)片內(nèi)振蕩電路的輸出端。控制引腳4根:RST/VPP(引腳9)復(fù)位引腳,即當(dāng)復(fù)位引腳收到兩個機械周期的高電平信號時,系統(tǒng)將會使單片機復(fù)位。ALE/PROG(引腳30)地址鎖存允許信號。PSEN(引腳29)外部存儲器讀選通信號,就是選通外部擴展的程序存儲器,當(dāng)程序運行時取指令時有效,對于程序存儲器只有讀沒有寫。EA/VPP(引腳31)程序存儲器的內(nèi)外部選通,即在高低電平時分別從內(nèi)外部存儲器讀取指令??删幊梯斎?輸出引腳32根:STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個接口都有
21、8位(8根引腳),一共32根。PO口(引腳39引腳32):8位雙向I/O口線,名稱為P0.0P0.7P1口(引腳1引腳8):8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7 P2口(引腳21引腳28):8位準(zhǔn)雙向I/O口線,名稱為P2.0P2.7 P3口(引腳10引腳17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.72.2.2 時鐘電路單片機的時鐘信號產(chǎn)生的方法有內(nèi)部時鐘方式、外部時鐘方式,絕大多數(shù)的單片機系統(tǒng)應(yīng)用的是內(nèi)部時鐘方式。內(nèi)部時鐘方式就是采用單片機自身具有的振蕩電路為自身提供時鐘信號,采用此種時鐘方式需要在XTAL1、XTAL2 的引腳上外接定時元件(一個石英晶體和兩個電容),這樣內(nèi)部
22、振蕩器便可以產(chǎn)生振蕩。所產(chǎn)生的晶振頻率一般是在1.2 12MHz 之間進行選擇,但是現(xiàn)在的晶振頻率有的時候可以達到24MHz甚至更高,但是因為頻率的提高功耗也就相對的增高。其中典型的石英晶振取值是11.0592MHz。時鐘電路就是一個震蕩電路,給單片機一個節(jié)拍,單片機基于這個節(jié)拍開始進行各種動作。時鐘電路本身不控制什么,但是單片機是根據(jù)時鐘電路給予的震蕩而進行相應(yīng)的工作的。STC89C52系列是1T的8051單片機,STC89C52系統(tǒng)時鐘兼容傳統(tǒng)8051。系列單片機有兩個時鐘源:內(nèi)部R/C振蕩時鐘和外部晶體時鐘。時鐘電路如圖2-4所示。 圖2-4 時鐘電路2.2.3 復(fù)位電路在單片機的程序運
23、行中幾乎不可能一次成功或者運行時保證不發(fā)生錯誤甚至于死機的狀況,所以在單片機的系統(tǒng)中都會設(shè)置一個復(fù)位電路進行程序的跑飛與死機情況的修復(fù)。復(fù)位電路所采用的原理為當(dāng)單片機的復(fù)位引腳接收到2us以上電平信號,使其電容的充放電時間多于2us,即可進行復(fù)位。當(dāng)振蕩器穩(wěn)定后,給予復(fù)位引腳上一個維持兩個機械周期的高電平CPU便可的搭配命令進行系統(tǒng)的復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。復(fù)位電路如圖2-5所示。 圖2-5 復(fù)位電路2.3 顯示模塊1602是字符型液晶顯示,為16*2顯示,這次的設(shè)計因為只需顯示總路程、速度、時間等信息,1602顯示屏價格較低體積較小符合此次設(shè)計的要求。 1602
24、LCD可以分為帶背光與不帶背光的兩個款式7,但是基控制器大部分為HD44780,1602LCD及兩者尺寸差別如圖2-6所示。 圖2-6 液晶顯示模塊圖 1602LCD引腳說明如下:第1腳:VSS接地。第2腳:VDD接5V正電源。第3腳:VO接3K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇。第5腳:R/W為讀寫信號線。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線接單片機P0口。第15腳:背光源正極接電源。第16腳:背光源負極接地。與單片機的接線如圖2-7所示。圖2-7 1602與單片機接線1602LCD基本操作時序:1.讀狀態(tài):輸入
25、:RS=L、RW=H、E=H 輸出:D0D7=狀態(tài)字2.寫指令:輸入:RS=L、RW=L、D0D7=指令碼、E=高脈沖 輸出:無3.讀數(shù)據(jù):輸入:RS=H、RW=H、E=H 輸出:D0D7=數(shù)據(jù)4.寫數(shù)據(jù):輸入:RS=H、RW=L、D0D7=數(shù)據(jù)、E=高脈沖 輸出:無 操作時序圖如圖2-8、圖2-9所示。圖2-8 讀操作時序圖圖2-9 寫操作時序圖2.4 霍爾傳感器及其測量原理霍爾傳感器如圖2-10所示。 圖2-10 霍爾傳感器如圖2-10所示是霍爾傳感器。霍爾傳感器是利用霍爾效應(yīng)(在置于磁場中的導(dǎo)體或半導(dǎo)體通入電流I,如果所通入的電流垂直于磁場B,就會在磁場與電流出現(xiàn)一個電勢差Uh并兩兩垂直
26、,這種現(xiàn)象稱為霍爾效應(yīng))制成的一種磁敏傳感器8。因為需要把轉(zhuǎn)速的信息轉(zhuǎn)化成為單片機所能接受到的信號,所以可以使用霍爾元件將轉(zhuǎn)速的信息轉(zhuǎn)化成為電脈沖經(jīng)過處理傳送至單片機,單片機進行計數(shù),采用M法(測頻法),由于轉(zhuǎn)速是單位時間內(nèi)的轉(zhuǎn)動次數(shù),所以取單位時間為1s,在一秒內(nèi)轉(zhuǎn)動的次數(shù)經(jīng)過單片機的統(tǒng)計可以得出轉(zhuǎn)速。脈沖信號的數(shù)量與電機轉(zhuǎn)速有著如下式表示的關(guān)系: V=N*L (2-1) 式(2-1)中:V為自行車車速(m/s),N為車輪單位時間內(nèi)的脈沖數(shù),L車輪的周長(m)。根據(jù)上式即可計算出自行車當(dāng)前的速度。2.5 DS1302時鐘芯片這次的設(shè)計中因為要對時間進行顯示所以才用了時間芯片,采用的時間芯片為
27、DS1302,因為其具有可對年、月、周、日、時、分、秒進行計時的功能正符合了這次設(shè)計對時間進行顯示的要求,其工作電壓為2.5V5.5V。DS1302與STC89C52的連接線有三條線如圖2-11所示。圖2-11 時鐘芯片RST是復(fù)位/片的選擇線,當(dāng)RST輸入的驅(qū)動電平為高電平時,啟動數(shù)據(jù)的傳輸功能。RST輸入有兩種功能:其一,當(dāng)RST接通的是控制邏輯時,地址命令序列就可以送入位移寄存器中;其二,RST可以進行停止數(shù)據(jù)的傳輸。當(dāng)RST處于高電平時,可以進行對時鐘芯片的操作,所有的數(shù)據(jù)傳輸還將被初始化。當(dāng)在傳輸數(shù)據(jù)的過程中RST被置為了低電平,那么這一次的數(shù)據(jù)截會被終止傳送,輸入輸出引腳就會變?yōu)楦?/p>
28、阻態(tài)。其中需要注意的是在通電運行的時候,在VCC還未超過2V之前,必須保持RST置為低電平。還有就是只有當(dāng)SCLK處于低電平時,RST才能被置為高電平。DS1302引腳圖如圖2-12所示。圖2-12 DS1302引腳圖各引腳說明如下:X1、X2(2、3號引腳):晶振引腳GND(4號引腳):接地引腳RST(5號引腳):復(fù)位引腳I/O(6號引腳):數(shù)據(jù)輸入/輸出引腳SCLK(7號引腳):串行時鐘引腳Vcc1、Vcc2(8、1號引腳):電源供電引腳DS1302控制字如表2-1所示。表2-1 DS1302控制字765432101RAMA4A3A2A1A0RD1. 位0(最低有效位):如果要進行寫操作則
29、要為邏輯0表示,如果要進行讀操作要進行邏輯1表示。2. 位5至位1(A4A0):指示操作單元的地址。3. 位6:當(dāng)位6為0時可以進行存取日歷時鐘數(shù)據(jù),而當(dāng)為1時則為進行存取RAM數(shù)據(jù)。4. 位7:在控制字中的最高位有效位只有為1時才能進行數(shù)據(jù)的寫操作。需要注意的是控制字的輸出是從最低位開始的,并且在控制字輸出后的下一個時鐘上升沿數(shù)據(jù)才開始寫入DS1302,數(shù)據(jù)的輸入也是從最低位(位0)開始的。同樣的道理,DS1302的數(shù)據(jù)讀取也是一樣的,在輸入8位控制字指令的下一個時鐘下降沿開始讀取數(shù)據(jù),也是從最低位(位0)開始讀取。DS1302有關(guān)日歷、時間的寄存器如表2-2所示。表2-2 DS1302日歷
30、、時間寄存器RWBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0RANGE81h80hCH10SecondsSeconds00-5983h82h10MinutesMinutes00-5985h84h12/24010HourHour1-12/0-23AM/ PM87h86h0010DateDate1-3189h88h00010MonMon1-128Bh8Ah00000Day1-78Dh8Ch10YearYear00-998Fh8EhWP000000091h90hTCSTCSTCSTCSDSDSRSRS這張表是DS1302內(nèi)部的7個與時間、日期有關(guān)的寄存器圖和一個寫保護寄存器,我們
31、所做的就是將初始設(shè)置的時間數(shù)據(jù)寫入秒寄存器、小時寄存器以及控制寄存器,然后再不斷地讀取秒寄存器、小時寄存器以及控制寄存器來獲取實時時間。2.6 蜂鳴器及其電路蜂鳴器是一個常見的電子發(fā)聲器件,高度一體化的結(jié)構(gòu)使其體積小巧,蜂鳴器一般具有兩個引腳,采用直流電供電,廣泛的運用于各種電子產(chǎn)品的發(fā)生器件中9。實物如圖2-13所示。圖2-13 蜂鳴器實物圖因為此次設(shè)計需要對超速進行報警所以采用了蜂鳴器當(dāng)速度超過了設(shè)定的速度界限時進行報警。蜂鳴器得電報警電路如圖2-14所示。圖2-14 蜂鳴器電路圖當(dāng)電源接入蜂鳴器后,多諧振蕩器工作產(chǎn)生1.52.5kHz的振蕩信號催動阻抗匹配器進行工作,而后阻抗匹配器推動蜂
32、鳴片產(chǎn)生蜂鳴聲。第3章 系統(tǒng)軟件的設(shè)計與實現(xiàn)3.1 主程序流程圖主程序是一個系統(tǒng)的基本框架如同一棵大樹的主干,其中調(diào)用了許多的子程序進行輔佐但其不能被子程序所調(diào)用。程序圖運用工序圖示符號對生產(chǎn)現(xiàn)場的整個制造過程做詳細的記錄,以便對零部件、產(chǎn)品在整個制造過程中的生產(chǎn)、加工、檢驗、儲存等環(huán)節(jié)待作詳細的研究與分析,特別適用于分析項目處理中的成本浪費,提高經(jīng)濟效益。此次設(shè)計的主程序流程圖如圖3-1所示。圖3-1 主程序流程圖3.2 顯示流程圖 該流程圖是客觀的表示如何將單片機中的速度路程等信息提取傳送至1602顯示屏顯示的過程。通電后的LCD1602顯示屏必須進行一次初始化,之后控制器將停留在等待信號
33、的狀態(tài)下,等待用戶進行信號的輸入。顯示流程圖如圖3-2所示。圖3-2 顯示流程圖3.3 速度處理流程圖從霍爾元件中讀取的脈沖個數(shù)無法直接得出速度的值,而需要進行單片機中對霍爾脈沖數(shù)所進行的計算才能得出,根據(jù)所設(shè)定的車輪半徑和一秒鐘的脈沖個數(shù),可以經(jīng)過計算的出速度的值,并通過相加的出路程的數(shù)值。速度處理是進行速度的顯示和監(jiān)控是否超速的一個顯示和報警系統(tǒng),當(dāng)計算的速度未超過設(shè)定的報警速度時正常顯示,反之報警提醒減速行駛。流程圖如圖3-3所示。圖3-3 速度處理流程圖3.4時鐘芯片程序流程圖顯示時間的芯片采用的是DS1302,此種芯片可以設(shè)置和輸出年、月、日、星期、時、分、秒這些信息,因為DS130
34、2內(nèi)置寄存器儲存數(shù)據(jù)并有外置晶振為芯片提供時鐘周期,其工作頻率為32.768KHz,所以外置晶振應(yīng)為32.768KHz。其時間顯示流程圖如圖3-4所示。因為設(shè)置時間時不可避免的會出現(xiàn)失誤,出現(xiàn)顫抖或松手產(chǎn)生誤操作,為了避免這種不必要的失誤,故可加入去抖的方法。一般的去抖方法有硬件去抖和軟件去抖。但是由于硬件去抖需要的電路更加的繁瑣,所以采取了比較方便的軟件去抖。簡單的說軟件去抖就是采用延時使抖動消除,因為抖動都是短暫的采用延時可以將抖動的時間掩蓋在很大的程度上避免抖動。防抖動流程如圖3-5所示。 圖3-5 防抖動流程圖 圖3-4 時間顯示流程圖第4章 安裝調(diào)試與性能測量4.1 程序編寫軟件4.
35、1.1 Keil C51簡介Keil C51是由美國Keil Software公司所研發(fā)出來的對于C語言程序進行編寫的軟件。因為C語言相較于匯編語言具有更加良好識別與編寫優(yōu)勢并在功能、結(jié)構(gòu)、可維護性上大大優(yōu)越于匯編語言,所以受到了廣泛的運用。當(dāng)開始一個新的項目時,在Keil C51中進行簡單的操作從數(shù)據(jù)庫選擇設(shè)備,Vision IDE就會為您配置好所需要的所有設(shè)備器材。Keil Vision調(diào)試器準(zhǔn)確地模擬8051設(shè)備的片上外圍設(shè)備。從模擬中可以進一步的了解所使用的硬件配置,節(jié)省了在安裝等實際操作中所使用的時間。 與此同時還能使用模擬器在還未獲得相應(yīng)器材的情況下進行設(shè)備程序編寫與測試。4.1.
36、2應(yīng)用Keil軟件進行程序調(diào)試軟件的調(diào)試就必須在具有相應(yīng)的開發(fā)系統(tǒng)的環(huán)境下操作??梢韵冗M行各各分散獨立模塊程序的調(diào)試,而后進行中斷程序模塊的調(diào)試,最后進行主程序得調(diào)試將各各子程序帶入運行。調(diào)試可以從小的范圍到大的范圍,而一些必要的中間量可以先作標(biāo)記或者設(shè)定,以免出錯。一把都會使用到多種的運行方式方式,每次任務(wù)執(zhí)行完畢時,要檢查CPU的狀態(tài),RAM中的相關(guān)內(nèi)容,輸入輸出口是否有異常情況等。發(fā)現(xiàn)問題時即時解決直至調(diào)試成功 10。KeilC51軟件的使用步驟是:首先新建一個工程項目文件;其次為工程選擇目標(biāo)器件;再次為所需的工程項目設(shè)置相對應(yīng)的軟硬件的調(diào)試環(huán)境,并依此創(chuàng)建所要使用的程序代碼將此寫入源程
37、序文件之中保存;最后把所要使用的源程序文件添加到相對應(yīng)的項目中。4.2 電路仿真4.2.1 仿真軟件簡介仿真軟件利用計算機進行實物仿真的一種技術(shù)手段可以在計算機中測試和調(diào)整減少在進行實物操作時的不必要的損耗和危險。Proteus軟件是一種低投入的電子設(shè)計自動化軟件,它不單單具有其它EDA工具軟件所具有的仿真功能,還可以仿真單片機和單片機的外圍器件。Proteus軟件有能力提供數(shù)字與模擬、交流與直流的仿真而且還可以仿真數(shù)千種元器件和多達30多個元件庫,有RAM、ROM、鍵盤、馬達、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,編譯方面支持Keil和MPLAB等編譯器。Proteus
38、軟件還提供許多的現(xiàn)實之中所用到的儀器儀表。此外,Proteus還提供了更加形象的圖形顯示功能,這樣就可以直觀明了的觀察到線路上變化的相關(guān)信息 11。4.2.2 仿真結(jié)果仿真結(jié)果如圖4-1所示。 圖4-1 仿真結(jié)果4.3硬件調(diào)試將元器件焊接進入電路版。然后進行硬件的調(diào)試。首先進行排除邏輯的故障,可以先對顯示屏LCD進行測試,將LCD單獨拿出對歌引腳進行測試,看是否與理論相符合,如諾相符則可以正常使用。其中的一些邏輯故障一般是由于設(shè)計中的錯誤或焊接過程中的失誤造成的。應(yīng)將焊接完成的電路版與電路原理圖對照,觀察是否有錯,要特別注意電源模塊,防止電源的短路和正負極的錯誤。如果發(fā)現(xiàn)元器件失效,則有可能為
39、電路錯誤或者元器件的損壞,應(yīng)先查看元器件周圍相關(guān)電路是否正確,如為正常則可更換相同元器件。在通電之前確認電源的正負極以及電壓的大小,否則可能會造成元器件的損壞,檢查Vcc與GND之間的電壓伏值,在5V左右則可以算作正常。如果發(fā)現(xiàn)高壓,在聯(lián)機調(diào)試的時候就會將仿真器件損毀,有時還會將系統(tǒng)中的元件燒壞,這回造成很大的損失和安全隱患。結(jié)論本次的設(shè)計主要目的是設(shè)計一款簡易的自行車數(shù)字路程表,要求操作簡單,顯示清楚明了,到現(xiàn)在系統(tǒng)的設(shè)計和制作都已經(jīng)全部完成了,基本達到了設(shè)計的要求。在后期的系統(tǒng)調(diào)試中也解決了一些問題,仿真的結(jié)果基本符合設(shè)計的目的。時間的顯示和設(shè)置達到了預(yù)期的目標(biāo)。但是在時間、條件等方面的因
40、素,這次設(shè)計中還是有許多可以改進的方面如顯示過于單一且顯示的信息過少,霍爾傳感器的精度不高可換作精度較高的傳感器,制作出來的樣品為電路板和元器件的組合不夠集成,不夠人性化等。從選題以來為了此項設(shè)計經(jīng)歷了許多的過程,如:1 資料的查閱,查閱了大量的現(xiàn)有單片機相關(guān)資料確定選用現(xiàn)在主流的STC89C52單片機作為此次設(shè)計所使用的單片機,查閱了可用于測速的傳感器種類選用了霍爾傳感器作為測速的傳感器。2 總體思路的確定,選定了單片機以及測速元件便可以確定要做怎樣的自行車測速系統(tǒng)。3 整體方案的確定,通過總體思路可以確定要做一個可以顯示時間、速度、里程以及超速報警的速度里程表,便設(shè)計了運用單片極最小系統(tǒng)為
41、基礎(chǔ)添加顯示屏和蜂鳴器電路的系統(tǒng)原理圖。4 電路元件的選取以及采購,通過系統(tǒng)原理圖中所需要的元件清單進行元器件的購買,主要采購的元件有STC89C51單片機、霍爾元件、時間芯片DS1302、顯示屏LCD1602、蜂鳴器、電阻電容。5 電路板的元件排版及焊接,運用采購的元件和電路原理圖進行元器件的排版焊接。因為以前進行過相關(guān)課程的學(xué)習(xí),所以可以熟練地運用電烙鐵進行電路元器件的焊接。6 電路元件的檢測,運用萬用表的蜂鳴檔進行電路元器件的焊接檢測,萬用表的蜂鳴檔是用來檢測電路是否為通路的專用檢測檔位,當(dāng)萬用表所接兩端為通路時萬用表蜂鳴檔發(fā)聲,反之為斷路或有大電阻。7 軟件系統(tǒng)的調(diào)試,運用Kiel軟件
42、與Proteus軟件進行電路仿真,根據(jù)電路圖的位置將元器件在Proteus軟件中進行安置,這里要注意的是要先放置核心元件,然后放入其它元件。放置完成后再Keil中進行Debug,可在Proteus中8 設(shè)計論文的撰寫,整個過程銜接緊密缺一不可,之前所做的一切為了后面所要做的奠定了基礎(chǔ)和保障。致謝語首先衷心的感謝我的指導(dǎo)老師陽老師。陽老師認真的教學(xué)態(tài)度、細心的教學(xué)方法讓我由衷的感謝。這段時間以來,在陽老師的把關(guān)下,圓滿的完成了畢業(yè)設(shè)計。不單單是學(xué)習(xí)到了許多的有用的知識,而且還學(xué)到了很多做人的道理,這些經(jīng)驗我相信在以后的工作生活中還是很有幫助的。此次的設(shè)計是在陽老師的悉心指導(dǎo)下完成的,從論文的選題
43、、展開到論文的成型,陽老師都付出了辛勤的汗水,在此向陽老師致以衷心的感謝和由衷的尊敬。在此也感謝在我畢業(yè)設(shè)計中給過我?guī)椭耐瑢W(xué),在我不知如何下手時給予我的那一些提示。在此為他們在這段時間的費心而表達謝意。在這論文的最后衷心的感謝所有幫助過我的、支持過我的、關(guān)心過我的老師、同學(xué)、朋友。在此,我要向他們表示我深深的謝意和美好的祝福。參考文獻1 丁敏. 電動自行車?yán)锍趟俣扔嫷脑O(shè)計J. 機械管理開發(fā), 20122 毛鐘林. 電動自行車數(shù)碼顯示表的設(shè)計J. 科技信息,20133 卜研. 考慮人體生物力學(xué)特征的山地自行車設(shè)計方法研究D. 天津大學(xué), 20094 晏定. 都市運動新元素人力驅(qū)動自行車研究D.
44、 湖北工業(yè)大學(xué), 20065 馬金權(quán) 李慶輝 強盛. 一種高精度實時電機轉(zhuǎn)速測量新方法J. 齊齊哈爾大學(xué)學(xué)報(自然科學(xué)版), 20026 尉喬南. 基于AT89C51的防超速防追尾計價器設(shè)計J. 管理工程師, 20097 曹怡然. 基于51單片機的高速公路收費系統(tǒng)J. 青年科學(xué)(教師版), 20138 李紅霞. 霍爾傳感器在轉(zhuǎn)速測量中的應(yīng)用J. 中小企業(yè)管理與科技, 20149 史俊海 李進財. 淺議汽車蜂鳴器作用與結(jié)構(gòu)原理J. 農(nóng)村實用科技信息, 201210 單正婭. 基于人工神經(jīng)網(wǎng)絡(luò)及小波分析的心音診斷系統(tǒng)的研究D. 江蘇大學(xué),200611 高梅 馬睿. 淺談基于Proteus的電子類實
45、訓(xùn)平臺構(gòu)建J. 數(shù)字技術(shù)與應(yīng)用,2015附錄實物圖程序#include /調(diào)用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量范圍0255#define uint unsigned int /無符號整型 宏定義變量范圍065535#include eeprom52.h/*ds1302 內(nèi)部RAM RAM0 1100 000R/W 1讀 0寫 RAM1 1100 001R/W . RAM30 1111 110R/W */sbit clk = P13; /ds1302時鐘線定義sbit io = P14; /數(shù)據(jù)線sbit rst = P15; /復(fù)位
46、線/秒 分 時 日 月 年 星期 uchar code write_add=0x80,0x82,0x84,0x86,0x88,0x8c,0x8a; /寫地址uchar code read_add =0x81,0x83,0x85,0x87,0x89,0x8d,0x8b; /讀地址uchar code init_ds =0x55,0x17,0x15,0x01,0x01,0x13,0x13; uchar miao,fen,shi,ri,yue,week,nian;uchar i;uchar t1_num,t2_num;/計時間中斷的次數(shù)unsigned long speed1,juli,time2;
47、float f_hz,speed_km,speed_m;/dlaout time1,speed_km,speed_m;uchar TH11,TL11;uchar flag_en; /開始計算速度使能uchar flag_stop_en; /要確定車子是否停下了uint juli_s; /每秒走的距離uint juli_z; /總路程float zhijing = 0.55; /直徑 0.55Mbit flag_1s = 1; /1suchar menu_1; /菜單設(shè)置變量uchar menu_2; /菜單設(shè)置變量long zong_lc; /總量程uchar flag_200ms;uint
48、shudu; /定義速度的變量uint bj_shudu = 80; /報警速度/這三個引腳參考資料sbit rs=P10; /寄存器選擇信號 H:數(shù)據(jù)寄存器 L:指令寄存器sbit rw=P11; /寄存器選擇信號 H:數(shù)據(jù)寄存器 L:指令寄存器sbit e =P12; /片選信號 下降沿觸發(fā)uchar code table_num=0123456789abcdefg;uchar i;sbit beep = P37; /蜂鳴器IO口定義/*1ms 延時函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*把數(shù)據(jù)
49、保存到單片機內(nèi)部eepom中*/void write_eeprom()SectorErase(0x2000);byte_write(0x2000, bj_shudu % 256);byte_write(0x2001, bj_shudu / 256);byte_write(0x2002, zong_lc % 256);byte_write(0x2003, zong_lc / 256 % 256);byte_write(0x2004, zong_lc / 256 / 256 % 256);byte_write(0x2055, a_a);/*把數(shù)據(jù)從單片機內(nèi)部eepom中讀出來*/void read_eeprom()uint value;bj_shudu = byte_read(0x2001);bj_shudu = 8;bj_shudu |= byte_read(0x2000);zong_lc = byte_read(0x2004);zong_lc = 16;value = byte_read(0x2003);zong_lc |= (value 8);zong_lc |= byte_read(0x20
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年稅務(wù)會計咨詢合同
- 銀行網(wǎng)點租賃合同模板
- 空氣凈化設(shè)備租賃協(xié)議樣本
- 排水管道管涵施工合同
- 超市收銀區(qū)地磚鋪裝項目協(xié)議
- 醫(yī)院防雷施工合同
- 商場衛(wèi)生清潔工招聘合同
- 未婚夫婚前房產(chǎn)協(xié)議
- 養(yǎng)老院租賃協(xié)議
- 通信工程商品混凝土施工協(xié)議
- 排球試題題庫
- CJJT148-2010 城鎮(zhèn)燃氣加臭技術(shù)規(guī)程
- 人教版八年級上冊地理問答題提綱
- 試驗檢測方案
- 小學(xué)語文朗讀指導(dǎo)案例
- 小提琴入門教學(xué)法智慧樹知到期末考試答案章節(jié)答案2024年四川音樂學(xué)院
- MOOC 研究生學(xué)術(shù)規(guī)范與學(xué)術(shù)誠信-南京大學(xué) 中國大學(xué)慕課答案
- 高爾斯華綏《品質(zhì)》原文閱讀-中學(xué)語文在線
- 西方文明史導(dǎo)論智慧樹知到期末考試答案2024年
- IATF16949質(zhì)量管理體系過程風(fēng)險和機遇評估分析表
- 《小巴掌童話》試題及答案共6套
評論
0/150
提交評論