計(jì)步器的設(shè)計(jì)【畢業(yè)論文】_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  本科畢業(yè)設(shè)計(jì)</b></p><p><b> ?。?0 屆)</b></p><p><b>  計(jì)步器的設(shè)計(jì)</b></p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí)

2、 通信工程 </p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要&

3、lt;/b></p><p>  計(jì)步器可以幫助人們實(shí)時(shí)掌握鍛煉情況。它的主要功能是檢測(cè)步數(shù),通過(guò)步數(shù)和步幅可計(jì)算行走的路程。并可通過(guò)步數(shù),來(lái)計(jì)算人體消耗的熱量。課題的主要任務(wù)是完成一個(gè)計(jì)步器的設(shè)計(jì)。</p><p>  計(jì)步器的工作原理是以計(jì)步傳感器測(cè)到步行所產(chǎn)生的震動(dòng),再由單片機(jī)經(jīng)過(guò)軟件判斷后顯示出要求的數(shù)據(jù)。其硬件部分電路由微處理器系統(tǒng),計(jì)步傳感器,信號(hào)處理模塊以及按鍵和顯示模

4、塊。主控單片機(jī)選用AT89C52,振蕩傳感器選用水銀開(kāi)關(guān),顯示選用帶漢字顯示的LCD模塊。其軟件部分主要由主程序、距離計(jì)算程序、卡路里計(jì)算程序、顯示程序以及功能模式切換程序構(gòu)成。</p><p>  經(jīng)軟硬件調(diào)試和實(shí)地測(cè)試,所設(shè)計(jì)的計(jì)步器具有快跑和慢跑模式,能顯示所跑的步數(shù),且能計(jì)算運(yùn)動(dòng)所消耗的卡路里數(shù)。符合任務(wù)書(shū)的要求,體積小,攜帶方便和實(shí)用等優(yōu)點(diǎn),具有一定的實(shí)用價(jià)值。</p><p>

5、  關(guān)鍵詞:?jiǎn)纹瑱C(jī);AT89C52;計(jì)步器;振蕩傳感器</p><p><b>  Abstract</b></p><p>  Pedometer can help people to control of the exercise real-time. Its primary function is testing at-bats and calculating

6、the distance walking through the steps and strides. It can calculate human consumption quantity of heat by the steps. The topic main task is to complete a pedometer design.</p><p>  The process of how pedome

7、ter maneuvers is as follows, the sensor detects the vibration change in the walking. Microcontroller shows requirements of the data after software judged. Part circuit of hardware circuit is consists of microprocessor,

8、pedometer sensor, signal processing module, buttons and display module. Master microcontroller chooses AT89C52, Oscillation sensor chooses mercury switch, CRT chooses LCD module with Chinese displaying. The software is m

9、ainly consists of the main program,</p><p>  By the software and hardware debugging and field testing, the design of pedometer has tow modes of run and jogging, and also can show the steps, can calculate the

10、 number of calories. It is according with the commitment requirements of small volume, convenient to carry and practical etc, and it has certain practical value.</p><p>  Key Words: Microcontroller; AT89S52;

11、 Pedometer; Oscillation Sensor</p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p>  1.1 課題的研究背景1</p><p>  1.2 論文內(nèi)容及章節(jié)結(jié)構(gòu)2</p><p>

12、<b>  2 總體設(shè)計(jì)3</b></p><p>  2.1 設(shè)計(jì)要求3</p><p>  2.2 總體方案設(shè)計(jì)3</p><p><b>  3 硬件設(shè)計(jì)5</b></p><p>  3.1 微處理器模塊5</p><p>  3.2 振蕩傳感器模塊6

13、</p><p>  3.3 顯示模塊10</p><p>  3.4 按鍵處理模塊11</p><p>  3.5 聲音模塊11</p><p>  3.6 總體原理圖11</p><p><b>  3.7 小結(jié)12</b></p><p>  4 軟件設(shè)計(jì)

14、13</p><p>  4.1 總體程序13</p><p>  4.2 主程序14</p><p>  4.3 距離計(jì)算程序15</p><p>  4.4 卡路里計(jì)算程序17</p><p>  4.5 顯示程序19</p><p>  4.6 功能模式切換程序18</

15、p><p><b>  4.7小結(jié)22</b></p><p>  5 制作和調(diào)試24</p><p>  5.1 硬件電路的布線和焊接25</p><p>  5.2 程序編譯和調(diào)試25</p><p>  5.2.1 電路調(diào)試25</p><p>  5.2.2

16、 程序調(diào)試26</p><p>  5.3 計(jì)步器成品調(diào)試28</p><p><b>  6 結(jié)論30</b></p><p><b>  致謝31</b></p><p><b>  參考文獻(xiàn)32</b></p><p>  附錄1 系

17、統(tǒng)實(shí)物圖33</p><p>  附錄2 系統(tǒng)原理圖35</p><p>  附錄3 畢業(yè)設(shè)計(jì)作品說(shuō)明書(shū)36</p><p><b>  1 引言</b></p><p>  1.1 課題的研究背景</p><p>  隨著社會(huì)的發(fā)展,人們?cè)絹?lái)越注重自己的健康,跑步成為一種方便而又有效的

18、鍛煉方式。但是如何知道自己跑了多少步?計(jì)步器可以幫助人們實(shí)時(shí)掌握鍛煉情況。它的主要功能是檢測(cè)步數(shù),通過(guò)步數(shù)和步幅可計(jì)算行走的路程。并可通過(guò)步數(shù),得以計(jì)算人體消耗的熱量,因此,各種計(jì)步器就應(yīng)運(yùn)而生。例如,手表計(jì)步器,鞋子計(jì)步器,音樂(lè)計(jì)步器等。計(jì)步器是一個(gè)佩戴在身上,用來(lái)計(jì)算走路步數(shù)的小配件。</p><p>  計(jì)步器原理是利用行走時(shí)身體的肢體擺動(dòng)從而影響振蕩傳感器,然后由單片機(jī)處理振蕩信息并進(jìn)行后續(xù)處理,如:計(jì)數(shù)

19、,存儲(chǔ),計(jì)算。顯示等。振蕩傳感器的原理一般都是一個(gè)可隨意移動(dòng)的小球,利用物體移動(dòng)時(shí)產(chǎn)生物理的慣性,導(dǎo)致小球在物體內(nèi)運(yùn)動(dòng),然后利用感應(yīng)器檢測(cè)小球的運(yùn)動(dòng),從而確定被檢測(cè)物的運(yùn)動(dòng)狀況[1]。本次設(shè)計(jì)計(jì)步器運(yùn)用到的振蕩傳感器是水銀開(kāi)關(guān)?,F(xiàn)在的計(jì)步器功能不再只有單一的計(jì)步功能,隨著技術(shù)的提高,還添加進(jìn)了很多附加功能,有附加MP3功能,有的還可驗(yàn)血壓,有的計(jì)步器可以輸入攜帶者的體重,然后結(jié)合步數(shù),計(jì)算所消耗的卡路里值,這個(gè)功能是最普遍的附加功能。使

20、用者在行走一段路后,計(jì)步器可根據(jù)預(yù)先設(shè)定的使用者信息,如體重,可計(jì)算并顯示出卡路里數(shù)。四十年前一位日本研究人員吉城旗野提出“日行萬(wàn)步”的運(yùn)動(dòng)理念,理念根據(jù)為:醫(yī)學(xué)家統(tǒng)計(jì)得出,人一天大約要過(guò)剩300卡的多余熱量,每天步行一萬(wàn)步,就意味著可以把這些過(guò)剩熱量消耗光[2]。走路時(shí)帶個(gè)計(jì)步器,可顯示步數(shù)、運(yùn)動(dòng)時(shí)消耗的熱量,調(diào)節(jié)靈敏度的計(jì)步器。有了電子計(jì)步器,一切都改變了,每天定量記錄運(yùn)動(dòng)的多少,在閑暇時(shí)間適當(dāng)?shù)牟叫锌梢詮浹a(bǔ)一天運(yùn)動(dòng)量的不足。 &

21、lt;/p><p>  先進(jìn)的計(jì)步器還應(yīng)設(shè)置由于速度值的不同,導(dǎo)致消耗卡路里值的不同,添加快/慢兩種情況,可正確的反應(yīng)出所走的步數(shù)與能量消耗量。同樣一步,消耗的卡路里是不同的,具體數(shù)據(jù)見(jiàn)表1-1。因此,添加步行快/慢對(duì)于能量消耗值的計(jì)算能更加準(zhǔn)確。計(jì)步器的使用已經(jīng)越來(lái)越普遍,除傳統(tǒng)攜帶在腰部的計(jì)步器之外,還設(shè)計(jì)出了手表計(jì)步器,佩戴在手腕上的計(jì)步器,利于隨時(shí)觀察步數(shù),卡路里數(shù)的情況。另外,國(guó)內(nèi)有家鞋廠,如LANEW公司

22、,更深具創(chuàng)意的將計(jì)步器安裝在鞋子上,使用更加方便。隨著電子技術(shù)的高速發(fā)展,電子系統(tǒng)的應(yīng)用領(lǐng)域越來(lái)越廣泛,計(jì)步器的技術(shù)追求和發(fā)展趨勢(shì)也相當(dāng)明顯。振蕩傳感器的快速發(fā)展,精度不斷提高,附加功能不斷添加,數(shù)字化趨勢(shì)。而計(jì)步器則向智能化,便攜化方向發(fā)展。</p><p>  表 1-1 日常運(yùn)動(dòng)所消耗的卡路里表</p><p>  1.2 論文的內(nèi)容及章節(jié)結(jié)構(gòu)</p><p&g

23、t;  本文主要從總體設(shè)計(jì)、硬件電路和軟件設(shè)計(jì)、調(diào)試結(jié)果以及結(jié)果分析等方面展開(kāi)敘述。其中,第二章介紹系統(tǒng)總體設(shè)計(jì),對(duì)多種方案對(duì)比,選擇其中一種,并對(duì)該系統(tǒng)方案進(jìn)行概述。第三章介紹系統(tǒng)的硬件設(shè)計(jì)部分,分模塊介紹系統(tǒng)的四個(gè)硬件模塊的設(shè)計(jì)(微處理器模塊、振蕩傳感器模塊、顯示模塊、按鍵模塊、聲音模塊),其中重點(diǎn)介紹完全自行設(shè)計(jì)并制作的微處理模塊。第四章介紹系統(tǒng)的軟件部分設(shè)計(jì),介紹軟件的整體結(jié)構(gòu)以及各個(gè)子模塊的程序流程圖,分析程序功能。重點(diǎn)介紹單

24、片機(jī)配置,以及計(jì)步,距離,能量計(jì)算公式模塊功能切換的編寫(xiě)。第五章介紹調(diào)試與制作過(guò)程,以及測(cè)試數(shù)據(jù),分析測(cè)試結(jié)果。第六章介紹本系統(tǒng)的設(shè)計(jì)過(guò)程以及結(jié)果。</p><p><b>  2 總體設(shè)計(jì)</b></p><p><b>  2.1 設(shè)計(jì)要求</b></p><p>  本課題研究的主要內(nèi)容是設(shè)計(jì)一個(gè)能記錄步數(shù)和消耗的

25、卡路里的多功能計(jì)步器。</p><p>  基本目標(biāo)是:在使用者行走時(shí),通過(guò)傳感器,能準(zhǔn)確感測(cè)到步行時(shí)產(chǎn)生的震動(dòng),同時(shí)led能正確顯示出要求的數(shù)據(jù),包含行走的總步數(shù),距離,消耗的能量。其中,記錄步數(shù)的最大值為9999,當(dāng)步數(shù)為9999時(shí),可以按清零鍵對(duì)計(jì)步器的數(shù)據(jù)清零,實(shí)現(xiàn)循環(huán)使用,并且也設(shè)暫停鍵,暫停期間計(jì)步器保持顯示最后的數(shù)據(jù)。</p><p>  在完成基本功能后,可以進(jìn)一步增加功能

26、,如:在開(kāi)始計(jì)步和結(jié)束計(jì)步時(shí)計(jì)步器會(huì)發(fā)出提示音;每走1000步時(shí),也會(huì)發(fā)出相應(yīng)的提示音。</p><p>  2.2 總體方案設(shè)計(jì)</p><p>  越來(lái)越多的人通過(guò)體育活動(dòng)改善了自己的健康,當(dāng)下計(jì)算行進(jìn)速度或計(jì)算活動(dòng)量也越加盛行,各種計(jì)步器就應(yīng)運(yùn)而生。傳統(tǒng)的計(jì)步器對(duì)步行者的步數(shù)進(jìn)行計(jì)數(shù),主要是利用步行時(shí)髖關(guān)節(jié)移動(dòng)進(jìn)行計(jì)數(shù),靈敏度受髖關(guān)節(jié)影響較大,計(jì)步的準(zhǔn)確度不高。為了克服傳統(tǒng)計(jì)步器的缺

27、點(diǎn),設(shè)計(jì)了一種利用水銀開(kāi)關(guān)振蕩感應(yīng)器的具有液晶顯示和能計(jì)算活動(dòng)能耗的多功能計(jì)步器,通過(guò)水銀開(kāi)關(guān)檢測(cè)步行產(chǎn)生的振蕩,通過(guò)主控芯片計(jì)算步數(shù),然后根據(jù)所計(jì)步數(shù)和輸入的參數(shù)計(jì)算能耗,最后通過(guò)液晶顯示步數(shù)、能耗以及時(shí)間。對(duì)于誤差方面,就會(huì)利用多次試驗(yàn),調(diào)整水銀開(kāi)關(guān)角度,記錄各個(gè)角度的誤差,最后選擇最佳角度,即誤差值最小,計(jì)步的準(zhǔn)確度相對(duì)最高。</p><p>  本設(shè)計(jì)采用ATMEL公司的AT89C52單片機(jī)為系統(tǒng)核心,先

28、由水銀開(kāi)關(guān)傳感器采集步行產(chǎn)生的振蕩信號(hào),再由單片機(jī)的I/O口記錄步數(shù),根據(jù)記錄到的步數(shù)和輸入的參數(shù)計(jì)算活動(dòng)量,最后通過(guò)液晶實(shí)時(shí)顯示步數(shù),能耗和時(shí)間。其系統(tǒng)框圖見(jiàn)圖2-1。</p><p>  復(fù)位電路 調(diào)整/比較 振蕩</p><p>  晶振 電路 傳感

29、器</p><p>  蜂鳴器 MCU LCD</p><p>  (AT89C52) 1602</p><p>  功能鍵 開(kāi)始/停止 電源</p><p><b>  

30、按鍵</b></p><p>  圖2-1 系統(tǒng)組成方框圖</p><p>  選用AT89C52作為主芯片,此芯片是一種低功耗、高性能的CMOS8 位微處理器,具有8KB在系統(tǒng)可編程Flash 存儲(chǔ)器,1000次擦寫(xiě)周期,非常適合開(kāi)發(fā)研究用[3]。</p><p>  顯示器選用PCD8544LCD液晶顯示模塊,它是由點(diǎn)陣字符液晶顯示器和專用的行列驅(qū)

31、動(dòng)器、控制器及必要的連接件,結(jié)構(gòu)件裝配而成的液晶顯示模塊,可以顯示數(shù)字和西文字符。具有體積小、能耗低、顯示方便、超薄輕巧等優(yōu)點(diǎn)。</p><p>  振蕩傳感器選用水銀開(kāi)關(guān),性價(jià)比較高。</p><p><b>  3 硬件設(shè)計(jì)</b></p><p>  3.1 微處理器模塊</p><p>  以AT89C52單片

32、機(jī)為核心,完成計(jì)步、活動(dòng)量的計(jì)算、聲音提醒、參數(shù)輸入以及液晶顯示等。本設(shè)計(jì)采用ATMEL公司的AT89C52單片機(jī)為系統(tǒng)核心,先由水銀開(kāi)關(guān)傳感器采集步行產(chǎn)生的振蕩信號(hào),再由單片機(jī)的I/O口記錄步數(shù),根據(jù)記錄到的步數(shù)和輸入的參數(shù)計(jì)算活動(dòng)量,最后通過(guò)液晶實(shí)時(shí)顯示步數(shù),能耗和時(shí)間。</p><p>  AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫(xiě)的只讀程序

33、存儲(chǔ)器(PEROM)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度,非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器 (CPU) Flash存儲(chǔ)單元, 和功能強(qiáng)大AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合[3].</p><p>  該器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,這些具有片內(nèi) VDD監(jiān)視器、 WDT和時(shí)鐘振蕩

34、器的MCU是真正能獨(dú)立工作的片上系統(tǒng)。片內(nèi)JTAG調(diào)試支持功能允許使用安裝在最終應(yīng)用系統(tǒng)上的產(chǎn)品MCU進(jìn)行非侵入式(不占用片內(nèi)資源)、全速、在系統(tǒng)調(diào)試[3]。該調(diào)試系統(tǒng)支持觀察和修改存儲(chǔ)器和寄存器,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、單步及運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時(shí),所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行[3]。</p><p>  AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部 RAM,32個(gè)

35、I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位[4]。</p><p>  在課題的設(shè)計(jì)中所用到的AT89C

36、52的外部接口以及相應(yīng)的功能具體如下:</p><p>  1.P1.0:T2(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出,用來(lái)啟動(dòng)程式,定時(shí)器2中斷程序?qū)Χ〞r(shí)器2中斷次數(shù)進(jìn)行計(jì)數(shù)。</p><p>  2.P1.1:T2EX(定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)輸入腳),用來(lái)切換顯示器模式,這也是選用89C52的原因。因?yàn)橛胁东@自動(dòng)載入頻率產(chǎn)生器的功能。</p><p>

37、  3.作為輸入腳用,用來(lái)接水銀開(kāi)關(guān)、運(yùn)用單片機(jī)I/O口。外部脈沖接到一個(gè)I/O口,定時(shí)掃描,先檢測(cè)到高電平,然后檢測(cè)到低電平,記錄一個(gè)步數(shù)。</p><p>  4.P3.2:INT0外部中斷0的輸入腳,用來(lái)切換快/慢步狀態(tài)。外部中斷0初始化程序主要對(duì)外部中斷的觸發(fā)方式進(jìn)行設(shè)置,并關(guān)閉中斷。</p><p>  5.X1,X2:使用11.059MHZ的石英晶體來(lái)產(chǎn)生的整個(gè)系統(tǒng)所需的時(shí)序。

38、</p><p>  3.2振蕩傳感器模塊</p><p>  圖3-1 水銀開(kāi)關(guān)電路圖</p><p>  表3-1 振蕩傳感器</p><p>  如果選用小型重錘作為振蕩傳感器,但使用不到一個(gè)月就會(huì)產(chǎn)生機(jī)械疲乏,而加速規(guī)程序?qū)懛ㄝ^復(fù)雜,而且難調(diào)試成功。因此選擇水銀開(kāi)關(guān),使用簡(jiǎn)單,雖然會(huì)受到干擾,但是如果放置在特定位置,并調(diào)節(jié)擺放角度

39、,就可獲得需要的信號(hào),將誤差降至最低。</p><p>  水銀開(kāi)關(guān),它是電路開(kāi)關(guān)的一種,以一接著電極的小巧容器儲(chǔ)存著一小滴水銀,容器中多數(shù)注入惰性氣體或真空。</p><p>  水銀開(kāi)關(guān)的工作原理:因?yàn)橹亓Φ年P(guān)系,水銀水珠會(huì)隨著容器中較低的地方流去,如果同時(shí)接觸到兩個(gè)電極的話,開(kāi)關(guān)便會(huì)將電路閉合,開(kāi)啟開(kāi)關(guān)。容器的形狀也會(huì)影響水銀水珠接觸電極的條件,例如郵包炸彈使用的會(huì)是倒V字型的,令收

40、件人在不知情的情況下傾側(cè)郵包,閉合電路,制動(dòng)爆炸,但送件人則不會(huì)[5]。</p><p>  使用水銀開(kāi)關(guān)時(shí),一定要注意安全,因?yàn)樗y對(duì)人體及環(huán)境均有毒害,因此使用水銀開(kāi)關(guān)時(shí),要?jiǎng)?wù)必小心謹(jǐn)慎,以免破裂,在不使用時(shí),也應(yīng)該妥善處理。</p><p>  具體可供選擇的水銀開(kāi)關(guān)型號(hào)有很多,本設(shè)計(jì)中選用的水銀開(kāi)關(guān)的型號(hào)是MAC-709A-516,其具體參數(shù)見(jiàn)表3-2。該水銀開(kāi)關(guān)的外形圖,規(guī)格圖,

41、玻璃管型水銀開(kāi)關(guān)工作原理圖分別見(jiàn)圖3-2,圖3-3,及圖3-4。MAC-709A-516是一款玻璃殼封裝的水銀開(kāi)關(guān),也是使用最多的一種形式,這種水銀開(kāi)關(guān)傾斜一個(gè)工作角度時(shí),兩個(gè)電極通過(guò)水銀便可進(jìn)行開(kāi)關(guān)的通/斷動(dòng)作。玻璃管封裝式水銀開(kāi)關(guān)的優(yōu)點(diǎn)是可以從外部觀察到它的工作狀態(tài),缺點(diǎn)是容易破碎,水銀外溢。</p><p>  圖3-2 水銀開(kāi)關(guān)外形圖</p><p>  圖3-3 水銀開(kāi)關(guān)規(guī)格

42、圖</p><p>  圖3-4 玻璃管型水銀開(kāi)關(guān)工作原理圖</p><p>  表3-2 水銀開(kāi)關(guān)參數(shù)表</p><p><b>  3.3 顯示模塊</b></p><p>  圖3-5 顯示模塊電路圖</p><p>  單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器主要有發(fā)光二極管顯示器,簡(jiǎn)稱LED(L

43、ight Emitting Diode);液晶顯示器LCD(Liquid Crystal Display);近幾年也有配置CRT顯示器的。液晶顯示器簡(jiǎn)稱是利用液晶經(jīng)過(guò)處理后能夠改變光線傳輸方向的特性,達(dá)到顯示字符或者圖形的目的[6]。其特點(diǎn)是體積小、重量輕、功耗極低、顯示內(nèi)容豐富等特點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中有著日益廣泛的應(yīng)用。</p><p>  圖3-6 PCD8544 48*84 點(diǎn)矩陣 LCD</

44、p><p>  本文的設(shè)計(jì)采用的是型號(hào)為PCD8544的LCD,其外形圖見(jiàn)圖3-6。其內(nèi)部結(jié)構(gòu)見(jiàn)圖3-7。</p><p>  圖3-7 PCD8544 方塊圖</p><p>  PCD8544是一塊低功耗的CMOS LCD控制驅(qū)動(dòng)器,設(shè)計(jì)為驅(qū)動(dòng)48行84列的圖形顯示。所有必須的顯示功能集成在一塊芯片上,包括LCD電壓及偏置電壓發(fā)生器,只須很少外部元件且功耗小[6]

45、。5110與微控制器的接口使用串行總線。以下是PCD8544主要的幾個(gè)引腳的功能:</p><p>  SDIN:串行數(shù)據(jù)線;</p><p>  SCLK:串行時(shí)鐘線;</p><p><b>  D/C:模式選擇;</b></p><p><b>  SCE:芯片使能;</b></p>

46、;<p>  RES:外部復(fù)位輸入端。</p><p>  功能引腳與單片機(jī)管腳的連接方式如圖3-5所示。SCE與單片機(jī)的P2.3連接,將RES(RST)連接到單片機(jī)的P2.4,D/C連接到單片機(jī)的P2.5引腳,將DIN連接到單片機(jī)的P2.6,SCLK連接到P2.7。</p><p><b>  3.4 按鍵模塊</b></p><p

47、>  圖3-8 按鍵模塊電路圖</p><p>  按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價(jià)低,后者壽命長(zhǎng)。目前,微機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵[7]。 </p><p>  按鍵按照接口原理可分為編碼鍵盤(pán)與非編碼鍵盤(pán)兩類,這兩類鍵盤(pán)的主要區(qū)別是識(shí)別鍵符及給出相應(yīng)鍵碼的方法。

48、編碼鍵盤(pán)主要是用硬件來(lái)實(shí)現(xiàn)對(duì)鍵的識(shí)別,非編碼鍵盤(pán)主要是由軟件來(lái)實(shí)現(xiàn)鍵盤(pán)的定義與識(shí)別[7]。</p><p>  全編碼鍵盤(pán)能夠由硬件邏輯自動(dòng)提供與鍵對(duì)應(yīng)的編碼,此外,一般還具有去抖動(dòng)和多鍵、竄鍵保護(hù)電路。這種鍵盤(pán)使用方便,但需要較多的硬件,價(jià)格較貴,一般的單片機(jī)應(yīng)用系統(tǒng)較少采用。非編碼鍵盤(pán)只簡(jiǎn)單地提供行和列的矩陣,其它工作均由軟件完成。由于其經(jīng)濟(jì)實(shí)用,較多地應(yīng)用于單片機(jī)系統(tǒng)中[8]。在本套設(shè)計(jì)中由于只需要幾個(gè)功能

49、鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)。</p><p>  按鍵的原理圖見(jiàn)圖3-8。由圖中可知鍵盤(pán)電路由S1、S2和S3 組成,通過(guò)按鍵可以完成對(duì)當(dāng)前模式的切換。按鍵為低電平有效。</p><p>  3.5 聲音播報(bào)模塊</p><p>  圖3-9 聲音模塊電路圖</p><p>  在計(jì)步器數(shù)據(jù)發(fā)生重要變化時(shí),需要發(fā)出提示音來(lái)告訴使用者。本

50、設(shè)計(jì)中采用蜂鳴器來(lái)發(fā)出提示音。其原理圖見(jiàn)圖3-9,蜂鳴器具體接在主控單片機(jī)的P1.7口。由圖中可知,當(dāng)端口P1.7口輸出低電平時(shí),三極管Q1導(dǎo)通,驅(qū)動(dòng)蜂鳴器將發(fā)出響聲;當(dāng)端口P1.7口輸出高電平時(shí),三極管Q1斷開(kāi),驅(qū)動(dòng)蜂鳴器停止。</p><p><b>  3.6 總體原理圖</b></p><p>  圖3-10 計(jì)步器的總體電路圖</p><

51、;p><b>  3.7 小結(jié)</b></p><p>  計(jì)步傳感器,微處理器系統(tǒng),信號(hào)處理模塊,顯示模塊四大模塊構(gòu)成了本設(shè)計(jì)的硬件部分。</p><p>  計(jì)步傳感器就是用水銀開(kāi)關(guān),比較實(shí)惠。微處理器系統(tǒng)是硬件的核心,是軟件部分實(shí)現(xiàn)的硬件基礎(chǔ),控制其他硬件模塊。在設(shè)計(jì)階段,由于AT89C51/52是一般較為通用的MUC,在很多方面,兩者在很多方面都類似,所

52、以調(diào)試程序需要使用U-EC5通過(guò)JTAG口實(shí)現(xiàn)調(diào)試,實(shí)驗(yàn)板上已經(jīng)預(yù)留接口,同樣通過(guò)該接口載入程序。顯示模塊接收單片機(jī)指令,顯示設(shè)定內(nèi)容。信號(hào)處理模塊連接微處理器系統(tǒng)和計(jì)步傳感器,實(shí)現(xiàn)信號(hào)的轉(zhuǎn)換,影響著本設(shè)計(jì)的精確度。</p><p>  硬件是軟件實(shí)現(xiàn)的基礎(chǔ),在有了硬件基礎(chǔ)之后便可以通過(guò)軟件實(shí)現(xiàn)各種功能。</p><p><b>  4 軟件設(shè)計(jì)</b></p

53、><p><b>  4.1 總體程序</b></p><p>  本設(shè)計(jì)單片機(jī)程序采用C語(yǔ)言編寫(xiě),開(kāi)發(fā)環(huán)境為WAVE。軟件編寫(xiě)的好壞直接關(guān)系到計(jì)步、能耗的準(zhǔn)確度以及是否有良好的人機(jī)交互功能。軟件部分包括單片機(jī)對(duì)硬件各模塊的整合、控制,主要實(shí)現(xiàn)計(jì)步、能耗計(jì)算、液晶顯示等功能,其主要由如下幾個(gè)程序模塊構(gòu)成。整個(gè)軟件采用C語(yǔ)言編程。</p><p> 

54、 圖4-1 系統(tǒng)設(shè)計(jì)程序流程圖</p><p>  圖4-1是計(jì)步器軟件的系統(tǒng)設(shè)計(jì)流程圖。首先對(duì)所用到的各種部件進(jìn)行初始化,等待中,然后根據(jù)應(yīng)用的功能,調(diào)用各個(gè)子程序完成相應(yīng)的功能。計(jì)步器程序設(shè)計(jì)大致可分為以下五個(gè)模塊:</p><p><b> ?。?)主程序;</b></p><p> ?。?)距離計(jì)算程序;</p><

55、;p>  (3)卡路里計(jì)算程序;</p><p><b> ?。?)顯示程序。</b></p><p>  (5)功能模式切換程序。</p><p><b>  4.2 主程序</b></p><p>  圖4-2 主程序流程圖</p><p>  主程序的運(yùn)行過(guò)程可

56、由圖4-2主程序流程圖具體體現(xiàn)。</p><p>  編寫(xiě)程序,第一步應(yīng)該是編寫(xiě)單片機(jī)基本數(shù)據(jù)。因?yàn)閱纹瑱C(jī)是整個(gè)程序的主控核心。在了解芯片AT89C52的各個(gè)接口功能后,設(shè)計(jì)中采用定時(shí)器T2中斷完成,其余狀態(tài)循環(huán)調(diào)用子程序,當(dāng)P1.1端口或者P1.2端口開(kāi)關(guān)按下時(shí),轉(zhuǎn)入清零或者快/慢跑切換功能程序。</p><p>  下面為此計(jì)步器程序所用到的單片機(jī)I/O的具體程序定義:</p&g

57、t;<p>  sbit sce=P2^4; //片選</p><p>  sbit res=P2^3; //復(fù)位,0復(fù)位 </p><p>  sbit dc=P2^2; //1寫(xiě)數(shù)據(jù),0寫(xiě)指令</p><p>  sbit sdin=P2^1; //數(shù)據(jù)</p><p>  

58、sbit sclk=P2^0; //時(shí)鐘</p><p>  sbit LED_1 = P1^3; //指定工作指示燈引腳</p><p>  sbit KEY_1 = P1^0; //指定工作/暫停鍵引腳</p><p>  sbit KEY_2 = P1^1; //指定清零鍵引腳</p><p>  s

59、bit KEY_3 = P1^2; //指定快/慢跑切換鍵引腳</p><p>  sbit Leep = P1^7; //指定蜂鳴器控制引腳</p><p>  sbit Switch = P3^2;//指定水銀開(kāi)關(guān)控制引腳</p><p>  芯片AT89C52主控模塊控制整個(gè)程序運(yùn)行的流程、協(xié)調(diào)各個(gè)功能模塊的工作以及完成各個(gè)界面的切

60、換和顯示,如圖4-2所示。子程序控制著整個(gè)程序的運(yùn)行順序,完成定義初始值,進(jìn)入工作狀態(tài)后,通過(guò)掃描按鍵,判斷要即將進(jìn)行的工作,將采集來(lái)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)后,顯示在LCD上,然后再循環(huán)掃描按鍵,就如此周而復(fù)始的循環(huán)工作。</p><p>  電路上連接的是11.059MHZ的石英晶體,用11.059MHZ的石英晶體來(lái)產(chǎn)生的整個(gè)系統(tǒng)所需的時(shí)序脈波計(jì)時(shí)單位:1/(11.0592/12)=1.085us。 <

61、/p><p><b>  4.3距離計(jì)算程序</b></p><p>  圖4-3 距離計(jì)算程序流程圖</p><p>  距離計(jì)算程序的運(yùn)行過(guò)程可由圖4-3距離計(jì)算程序流程圖具體體現(xiàn)。</p><p>  在完成掃描按鍵,確定工作狀態(tài)后,計(jì)步器進(jìn)入到正常工作狀態(tài),通過(guò)檢測(cè)水銀開(kāi)關(guān)的工作情況,可判斷是否完成一個(gè)步行動(dòng)作。如

62、果確定為一個(gè)步行動(dòng)作,通過(guò)程序的對(duì)數(shù)據(jù)的處理,產(chǎn)生距離數(shù)據(jù),并將步數(shù)和距離一起顯示在LCD上。這只是一個(gè)過(guò)程,計(jì)步器功能的實(shí)現(xiàn)主要通過(guò)循環(huán),在完成上述的一個(gè)過(guò)程后,會(huì)返回掃描按鍵,檢測(cè)按鍵有無(wú)動(dòng)作,如按鍵沒(méi)動(dòng)作,程序?qū)⒗^續(xù)檢測(cè)水銀開(kāi)關(guān),記錄步數(shù),一直循環(huán)下去。如檢測(cè)到按鍵有動(dòng)作后,將馬上退出循環(huán)狀態(tài)。其計(jì)算的具體步驟見(jiàn)下。</p><p>  1.檢測(cè)水銀開(kāi)關(guān),確定步行動(dòng)作。其主要代碼如下:</p>

63、<p>  if(Switch==0) // 檢測(cè)水印開(kāi)關(guān)并判斷開(kāi)關(guān)是否導(dǎo)通, Switch=0代表開(kāi)關(guān)導(dǎo)通,有跑步動(dòng)作發(fā)生; Switch=1:代表動(dòng)作發(fā)生</p><p><b>  {</b></p><p>  Delay(20); //延時(shí)</p><p>  if(Switch == 0) //再次檢測(cè)&l

64、t;/p><p><b>  {</b></p><p>  while(Switch ==0) //等待水銀動(dòng)作開(kāi)關(guān)復(fù)位,一個(gè)跑步動(dòng)作結(jié)束</p><p><b>  {</b></p><p>  Check_Key(); //在等待過(guò)程中檢測(cè)按鍵是否被按下</p><p&g

65、t;  break; //退出等待循環(huán)</p><p><b>  }</b></p><p>  Key_Used = 0; //按鍵狀態(tài)清零</p><p>  Numer++; //退出等待后,步數(shù)+1</p><p>  2.取人的正常一步的距離為0.3米為基數(shù),根據(jù)第一步的檢測(cè)布書(shū)Numer,即可

66、以計(jì)算出距離Distance。其算法如下:</p><p>  Distance = Numer*3; //距離 = 步數(shù)×0.3 </p><p>  3.距離的顯示:由于LCD顯示功能有限,所以在顯示距離時(shí),當(dāng)距離小于100米時(shí),會(huì)顯示小數(shù)位;當(dāng)距離大于100米時(shí),小數(shù)位不顯示,只顯示整數(shù)位。</p><p>  4.4 卡路里計(jì)算程序

67、 </p><p>  圖4-4 卡路里計(jì)算程序流程圖</p><p>  卡路里計(jì)算程序的運(yùn)行過(guò)程可由圖4-4卡路里計(jì)算程序流程圖具體體現(xiàn)。</p><p>  在完成掃描按鍵,確定工作狀態(tài)后,計(jì)步器進(jìn)入到正常工作狀態(tài),通過(guò)檢測(cè)水銀開(kāi)關(guān)的工作情況,可判斷是否完成一個(gè)步行動(dòng)作。如果確定為一個(gè)步行動(dòng)作,通過(guò)程序的對(duì)數(shù)據(jù)的處理,產(chǎn)生卡路里數(shù)據(jù),并將步數(shù)

68、和卡路里一起顯示在LCD上。這只是一個(gè)過(guò)程,計(jì)步器功能的實(shí)現(xiàn)主要通過(guò)循環(huán),在完成上述的一個(gè)過(guò)程后,會(huì)返回掃描按鍵,檢測(cè)按鍵有無(wú)動(dòng)作,如按鍵沒(méi)動(dòng)作,程序?qū)⒗^續(xù)檢測(cè)水銀開(kāi)關(guān),記錄步數(shù),一直循環(huán)下去。如檢測(cè)到按鍵有動(dòng)作后,將馬上退出循環(huán)狀態(tài)</p><p>  卡路里的計(jì)算比距離的計(jì)算復(fù)雜些。考慮到人步行時(shí)會(huì)產(chǎn)生不同的速度,而卡路里的值會(huì)受速度的影響,所以,在程序中添加了步行快/慢兩種模式,分別顯示為S/F,并由按鍵S

69、3控制。</p><p>  計(jì)算卡路里的具體步驟如下:</p><p>  按鍵S3,LCD顯示S,則表示系統(tǒng)進(jìn)入慢跑模式。</p><p>  代碼:Numer++; //退出等待后,步數(shù)+1</p><p>  if(Fast_Slow) //判斷快跑/慢跑狀態(tài)</p><p>  {Calory =

70、 Numer*2;} //Fast_Slow = 0:慢跑狀態(tài) 熱量 = 步數(shù)×0.02</p><p>  按鍵S3,LCD顯示F,則表示系統(tǒng)進(jìn)入快跑模式。</p><p>  代碼:Numer++; //退出等待后,步數(shù)+1</p><p>  if(Fast_Slow) //判斷快跑/慢跑狀態(tài)</p><p>

71、;  { Calory = Numer*4;} //Fast_Slow = 1:快跑狀態(tài) 熱量 = 步數(shù)×0.4</p><p><b>  4.5 顯示程序</b></p><p>  圖4-5 顯示程序流程圖</p><p>  顯示程序的運(yùn)行過(guò)程可由圖4-5顯示程序流程圖具體體現(xiàn)。</p><p>

72、  顯示程序完成單片機(jī)與顯示器的數(shù)據(jù)通信,基礎(chǔ)程序?yàn)長(zhǎng)CD顯示器的初始化程序和數(shù)據(jù)寫(xiě)入程序。初始化程序完成對(duì)LCD的一系列初始化值的設(shè)置,數(shù)據(jù)寫(xiě)入程序是在完成相關(guān)數(shù)據(jù)統(tǒng)計(jì)后,完成傳輸并顯示出數(shù)據(jù)內(nèi)容。</p><p>  初始化LCD程序代碼如下:</p><p>  void LCD_init(void)</p><p>  {LCD_write_byte(0x2

73、1,0);//LCD功能設(shè)置:芯片活動(dòng),水平尋址,使用擴(kuò)展指令</p><p>  LCD_write_byte(0xca,0);//設(shè)置VOP值,室溫下的編程范圍為3.00-10.68</p><p>  LCD_write_byte(0x20,0);//LCD功能設(shè)置:芯片活動(dòng),水平尋址,使用基本指令</p><p>  LCD_write_byte(0x0C,

74、0);//設(shè)定顯示配置:普通模式</p><p><b>  }</b></p><p>  SPI接口寫(xiě)數(shù)據(jù)到LCD的具體代碼如下:</p><p>  void LCD_write_byte(unsigned char dt, unsigned char command)</p><p><b>  {&

75、lt;/b></p><p>  unsigned char i; </p><p><b>  sce=0;</b></p><p>  dc=command;</p><p>  for(i=0;i<8;i++)</p><p>  {if(dt&(0x80>&g

76、t;i))</p><p><b>  sdin=1;</b></p><p><b>  else</b></p><p><b>  sdin=0;</b></p><p><b>  sclk=0; </b></p><p>

77、<b>  sclk=1; </b></p><p><b>  }</b></p><p><b>  dc=1;</b></p><p><b>  sce=1;</b></p><p><b>  sdin=1;</b><

78、/p><p><b>  }</b></p><p>  在以上兩個(gè)程序的基礎(chǔ)上編寫(xiě)顯示程序,需要預(yù)先寫(xiě)入漢字和字符數(shù)據(jù),以備在之后程序運(yùn)行過(guò)程中調(diào)用顯示漢字或字符。</p><p>  4.6功能模式切換程序</p><p>  圖4-6 開(kāi)始/暫停按鍵程序流程圖</p><p>  圖4-7

79、快/慢模式切換按鍵程序流程圖</p><p>  圖4-8 清零按鍵程序流程圖</p><p>  功能模式的切換主要通過(guò)三個(gè)按鍵來(lái)完成。分別為:開(kāi)始/暫停鍵,清零鍵、快/慢模式鍵。三個(gè)按鍵在單片機(jī)芯片上的接口為P0—P2。</p><p>  功能模式切換的實(shí)現(xiàn)過(guò)程:</p><p>  1、開(kāi)始/暫停鍵。流程圖如圖4-6。過(guò)程為:開(kāi)始鍵

80、---〉暫停跑步---〉暫停鍵---〉繼續(xù)跑步---〉開(kāi)始鍵---〉停止跑步---〉暫停鍵---〉。暫停鍵只是停止程序運(yùn)行,數(shù)據(jù)仍會(huì)保留。如果要清楚數(shù)據(jù),必須使用清零鍵。</p><p>  2、快/慢模式鍵。流程圖如圖4-7。過(guò)程為:快/慢模式鍵---〉跑步模式為快/慢。快/慢模式對(duì)計(jì)步距離不影響,它只會(huì)影響卡路里的計(jì)算,使用者可根據(jù)自己的需要設(shè)置快/慢模式。</p><p>  3、清

81、零鍵。流程圖如圖4-8。過(guò)程為:清零鍵---〉數(shù)據(jù)清零為初始值。清零鍵在任何時(shí)候都可使用,當(dāng)按下清零鍵時(shí),系統(tǒng)處于待機(jī)狀態(tài),工作指示燈滅,數(shù)據(jù)清零為初始值,如要繼續(xù)使用工作,必須按開(kāi)始鍵。</p><p><b>  4.7小結(jié)</b></p><p>  以上模塊構(gòu)成了本設(shè)計(jì)的軟件部分。其中以單片機(jī)主程序?yàn)橹骶€索,該程序體現(xiàn)了整個(gè)程序的運(yùn)行流程,串聯(lián)其它各個(gè)功能子模

82、塊,并與硬件的各個(gè)模塊緊密連接,通過(guò)整個(gè)程序,實(shí)現(xiàn)獲得步行而產(chǎn)生的數(shù)據(jù),并對(duì)這些數(shù)據(jù)加以計(jì)算,得到使用者行走的步數(shù),距離,卡路里,并通過(guò)顯示程序控制顯示模塊顯示。單片機(jī)配置程序?qū)纹瑱C(jī)內(nèi)部進(jìn)行配置,為其它程序運(yùn)行提供基礎(chǔ)。完成了軟件部分設(shè)計(jì),本設(shè)計(jì)基本完成,如需擴(kuò)展功能,可以根據(jù)現(xiàn)有硬件基礎(chǔ),編寫(xiě)相應(yīng)程序?qū)崿F(xiàn)。</p><p><b>  5 制作和調(diào)試</b></p>&l

83、t;p>  5.1 硬件電路的布線和焊接</p><p>  在設(shè)計(jì)初期,經(jīng)過(guò)大量的翻閱計(jì)步器的相關(guān)資料后,畫(huà)出計(jì)步器系統(tǒng)的組成方框圖。根據(jù)系統(tǒng)方框圖,完成硬件設(shè)備的設(shè)計(jì)及焊接。由于個(gè)人能力有限,在尋求學(xué)長(zhǎng)的幫忙和自己的努力后,完成了電路圖及顯示器,振蕩器等元器件的選擇,也完成了程序的編寫(xiě)。在選擇振蕩器時(shí),曾經(jīng)考慮選擇ADXL202,但是由于此加速度傳感器受很多元素影響,在設(shè)計(jì)中也許會(huì)帶來(lái)很多困難,最后,選

84、擇了水銀開(kāi)關(guān),即使水銀開(kāi)關(guān)需小心使用。</p><p>  焊接過(guò)程遇到了很多問(wèn)題,因?yàn)橛?jì)步器是一件小物體,需要將諸多元器件焊接在一塊小板上,很容易導(dǎo)致短路,虛焊,還有就是將芯片燒壞。在焊第三塊板后,終于完成了。</p><p>  編寫(xiě)程序是最關(guān)鍵的。通過(guò)翻閱資料,幸運(yùn)的,找到與我設(shè)計(jì)的計(jì)步器大體相似的程序。然后開(kāi)始在它的基礎(chǔ)上,根據(jù)我要實(shí)現(xiàn)的設(shè)計(jì)目標(biāo),仔細(xì)修改,并且結(jié)合硬件多次調(diào)試,最

85、后完成目標(biāo)的實(shí)現(xiàn)。</p><p>  5.2 程序編譯和調(diào)試</p><p><b>  5.2.1電路調(diào)試</b></p><p>  選擇軟件Protel 99 SE對(duì)電路進(jìn)行測(cè)試,成功后,將電路網(wǎng)格化,最后生成PCB板。圖5-1為所設(shè)計(jì)計(jì)步器的PCB圖。</p><p>  圖5-1 計(jì)步器的PCB圖</

86、p><p>  5.2.2 程序調(diào)試</p><p>  首先對(duì)WAVE6000/S仿真頭等項(xiàng)目進(jìn)行設(shè)置。</p><p><b>  圖3-1仿真頭設(shè)置</b></p><p>  圖5-2 編譯屬性選擇</p><p>  [ASM 命令行]:使用偉福匯編器,和偉福預(yù)定義的符號(hào)。</p&g

87、t;<p>  [編譯器選擇]:選擇偉福匯編器。</p><p>  [缺省顯示格式]:指定觀察變量顯示的方式,一般為混合十/十六進(jìn)制。</p><p>  除此之外軟件模擬器仿真其他設(shè)置一般情況下都是以51系列編譯器和匯編。</p><p>  如果程序編譯通過(guò)則在WAVE界面中的Message窗口會(huì)示意程序已通過(guò)編譯,如圖5-3所示。</p&

88、gt;<p>  圖5-3 編譯通過(guò)</p><p>  編譯后的程序就可以進(jìn)行調(diào)試仿真了。調(diào)試的手段有全速執(zhí)行、單步/跟蹤執(zhí)行、設(shè)置斷點(diǎn)執(zhí)行、執(zhí)行至光標(biāo)處等。</p><p>  在編寫(xiě)C語(yǔ)言時(shí),遇到了很多問(wèn)題:</p><p>  1.基本語(yǔ)法問(wèn)題,通過(guò)翻閱書(shū)籍,都自行解決了。</p><p>  2.計(jì)算公式,如步數(shù),距

89、離,卡路里之間的關(guān)系式,雖然有資料含有其三者的關(guān)系式,但是由于編寫(xiě)程序語(yǔ)言,電子元器件不同,最后顯示的結(jié)果差別很大,最后通過(guò)多次試驗(yàn),調(diào)試,修改,最后終于確定了公式:卡路里=步數(shù)×0.4(0.02);距離=步數(shù)×0.3;</p><p>  3.液晶顯示器的運(yùn)用是最困難的,編寫(xiě)文字,借用了一些別人編寫(xiě)的資料,然后再結(jié)合LCD 的說(shuō)明書(shū),進(jìn)行修改,邊修改,邊下載到單片機(jī)檢驗(yàn)時(shí)候正確,多次修改好后

90、,終于成功編寫(xiě);</p><p>  4.拓展設(shè)計(jì),增加將步行分為快,慢兩種模式。距離計(jì)算不變,因?yàn)榭?慢的步距都一樣。但是消耗的卡路里就不同了,所以最后加入卡路里計(jì)算公式為兩種:卡路里=步數(shù)×0.4;卡路里=步數(shù)×0.02。</p><p>  5.2.2 硬件下載調(diào)試</p><p>  完成仿真器軟件仿真后,就要連接上硬件也即電子計(jì)步器成品

91、板進(jìn)行硬件調(diào)試。</p><p>  將仿真器通過(guò)串行電纜連接計(jì)算機(jī)上,將仿真頭接到仿真器,檢查接線是否有誤,確信沒(méi)有接錯(cuò)后,接上電源,打開(kāi)仿真器的電源開(kāi)關(guān)。再進(jìn)行仿真器和通信設(shè)置。</p><p>  仿真器和仿真頭設(shè)置正確,并且硬件連接沒(méi)有錯(cuò)誤,出現(xiàn) “硬件仿真”的對(duì)話框,并顯示仿真器、仿真頭的型號(hào)及仿真器的序列號(hào)。表明仿真器初始化正確。</p><p>  硬

92、件調(diào)試很重要也很麻煩,由于本次設(shè)計(jì)硬件非PCB制板,而是手工焊板,焊點(diǎn)質(zhì)量、布線是否合理等對(duì)系統(tǒng)的影響比較大,這無(wú)疑增加硬件調(diào)試的難度。由于此前沒(méi)有很多的練習(xí),本次設(shè)計(jì)我所制作的電子計(jì)步器在質(zhì)量工藝上很難達(dá)到滿意程度,不過(guò)在調(diào)試中還算穩(wěn)定,基本功能都能較穩(wěn)定地實(shí)現(xiàn)。</p><p>  5.3 計(jì)步器成品調(diào)試</p><p>  為了檢測(cè)計(jì)步算法的可行性,我們做了以下實(shí)驗(yàn):測(cè)試系統(tǒng)主電路板

93、及附屬電源組成,在實(shí)驗(yàn)中本測(cè)試系統(tǒng)由測(cè)試對(duì)象隨身攜帶,用手拿著,調(diào)整角度。 </p><p>  按照水銀開(kāi)關(guān)的不同方位,分別進(jìn)行多次實(shí)驗(yàn),得到多組數(shù)據(jù)。</p><p>  實(shí)驗(yàn)背景:調(diào)整水銀開(kāi)關(guān)的角度;每次試驗(yàn)都為步行100步。</p><p>  目的:測(cè)試計(jì)步器的準(zhǔn)確性。</p><p>  調(diào)試情況1:同一個(gè)人,用不同的速度,調(diào)節(jié)水

94、銀開(kāi)關(guān)角度,檢測(cè)顯示器上顯示的步數(shù)。</p><p>  表5-1 情況1測(cè)試結(jié)果數(shù)據(jù)表</p><p>  調(diào)試情況2:同一人,用同一速度,調(diào)整每次攜帶計(jì)步器的角度和每步的距離,檢測(cè)顯示器上顯示的步數(shù)。</p><p>  表5-3 情況2測(cè)試結(jié)果數(shù)據(jù)表</p><p>  調(diào)試情況3:用同一速度,不同的三個(gè)人各調(diào)整每次攜帶計(jì)步器的角度

95、,檢測(cè)顯示器上顯示的步數(shù)。</p><p>  表5-3 情況3測(cè)試結(jié)果數(shù)據(jù)表</p><p>  調(diào)試情況4:用同一速度,正常人和較胖人各調(diào)整每次攜帶計(jì)步器的角度,檢測(cè)顯示器上顯示的步數(shù)。</p><p>  表5-4 情況4測(cè)試結(jié)果數(shù)據(jù)表</p><p>  根據(jù)以上數(shù)據(jù),進(jìn)行相應(yīng)地分析。</p><p>  

96、1.經(jīng)過(guò)測(cè)試后,我們得知計(jì)步器的準(zhǔn)確性和水銀開(kāi)關(guān)調(diào)整的角度有很大關(guān)系,只有在水銀開(kāi)關(guān)和水平面夾角于60°~75°間,才能測(cè)得較準(zhǔn)確的數(shù)據(jù),角度大于90°或小于60°都無(wú)法測(cè)出數(shù)值。</p><p>  2.計(jì)步器必定會(huì)存在誤差,因?yàn)殡娮悠骷旧砭痛嬖谡`差,如:水銀開(kāi)關(guān)傳感器的誤差,電路系統(tǒng)誤差,單片機(jī)的定時(shí)器誤差等。所以在一定的誤差范圍內(nèi),顯示的數(shù)值可以接受。</p&

97、gt;<p>  3.經(jīng)由實(shí)驗(yàn)數(shù)據(jù)得知,計(jì)步器的準(zhǔn)確度和不同的步距及走路姿勢(shì)有密切的聯(lián)系。</p><p>  4.在一般情況下,小孩步距約20cm,綜合以上結(jié)果得知小孩測(cè)試最為精準(zhǔn)。</p><p><b>  6 結(jié)論</b></p><p>  通過(guò)大量閱讀和參考各種有關(guān)電子計(jì)步器的相關(guān)書(shū)籍、雜志、文章以及互聯(lián)網(wǎng)上的數(shù)字資

98、源,熟悉電子計(jì)步器的基本原理之后選定方案,通過(guò)實(shí)踐摸索,有了一個(gè)比較全面的理論和實(shí)際認(rèn)識(shí)之后,確定系統(tǒng)方案,選定元器件。購(gòu)買(mǎi)選定的傳感器、液晶模塊,配合現(xiàn)有的單片機(jī)實(shí)驗(yàn)板,自制信號(hào)處理模塊電路,經(jīng)調(diào)試驗(yàn)證硬件電路正確可靠之后,進(jìn)行軟件設(shè)計(jì)。軟件設(shè)計(jì)首先設(shè)計(jì)軟件的整體框架,再對(duì)軟件部分分模塊編寫(xiě)程序,并加以整合,完成最終作品。</p><p>  步數(shù)的準(zhǔn)確性是本次設(shè)計(jì)的最關(guān)鍵所在,計(jì)步振蕩器的選擇也就很關(guān)鍵了,我

99、通過(guò)對(duì)一些振蕩器的性價(jià)比比較后,最后決定選用了相對(duì)性價(jià)比較高的水銀開(kāi)關(guān)。人體行走的擺動(dòng)很復(fù)雜,很容易造成振蕩傳感器的誤解,例如當(dāng)人原地踏步時(shí)產(chǎn)生的信號(hào),水銀開(kāi)關(guān)雖然對(duì)于使用角度要求較高,但是經(jīng)過(guò)多次實(shí)驗(yàn),得到了最適合的使用角度,可將誤差降至最低。</p><p>  其實(shí)對(duì)于這個(gè)設(shè)計(jì)來(lái)說(shuō),硬件部分與軟件部分都很重要,尤其是軟硬件結(jié)合部分。在軟件部分中需要處理軟件與硬件的接口,如單片機(jī)配置程序、顯示程序,都需要對(duì)硬

100、件電路非常了解,這些程序都與硬件直接聯(lián)系,脫離硬件無(wú)法運(yùn)行。</p><p>  軟件的程序編寫(xiě)部分,本來(lái)是想用之前實(shí)驗(yàn)課所學(xué)的匯編語(yǔ)言,隨之而來(lái)遇到了很多問(wèn)題,但由于找到一份與計(jì)步器相關(guān)的C語(yǔ)言程序,而且之前也學(xué)過(guò)C語(yǔ)言,通過(guò)閱讀大量C語(yǔ)言書(shū)籍,最后完成了程序編寫(xiě)。</p><p>  經(jīng)測(cè)試作品能實(shí)現(xiàn)預(yù)期功能,步數(shù)范圍0~9999,誤差為2步內(nèi),又能顯示相對(duì)的距離和消耗的能量達(dá)到任務(wù)書(shū)

101、要求。但是由于時(shí)間問(wèn)題,原本自己規(guī)劃的一些功能沒(méi)有完成,如語(yǔ)音功能及其它功能,希望在今后加以完善。</p><p>  通過(guò)本次系統(tǒng)設(shè)計(jì),對(duì)AT89C52單片機(jī)有了更為深入的了解,熟悉了該系列單片機(jī)的開(kāi)發(fā)系統(tǒng),內(nèi)部結(jié)構(gòu),能運(yùn)用該系列單片機(jī)豐富的片內(nèi)自由完成電子設(shè)計(jì)。同時(shí)學(xué)會(huì)運(yùn)用PCD8544LCD顯示器的運(yùn)用,水銀開(kāi)關(guān)的運(yùn)用,學(xué)會(huì)如何調(diào)節(jié)誤差,希望將來(lái)能使用準(zhǔn)確度更好的感測(cè)器,能解決擺放角度的限制,能使計(jì)步器更加

102、準(zhǔn)確,功能更多,以符合不同使用者的所需的功能。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 戴劍松,李靖等.運(yùn)用計(jì)步器測(cè)量步行之研究[N].北京:北京體育大學(xué)學(xué)報(bào),2008,2.</p><p>  [2] 金英.慢跑的能量消耗[J].遼寧體育科技,1981,1:15~17. </p><p&g

103、t;  [3] 余永權(quán). ATMEL89 系列單片機(jī)應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.</p><p>  [4] 丁元杰.單片微機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006,6.</p><p>  [5] 黃永年.一種水銀接點(diǎn)浮子開(kāi)關(guān)[N].中華人民共和國(guó)國(guó)家知識(shí)產(chǎn)權(quán)局,2003.</p><p>  [6] Philips semi

104、conductors.PCD8544 48 × 84 點(diǎn)矩陣LCD控制/驅(qū)動(dòng)產(chǎn)品說(shuō)明書(shū)[M],1999,4.</p><p>  [7] 謝自美,羅杰,趙云娣等.電子線路設(shè)計(jì)、使用、測(cè)試(第二版)[M].武漢:華中科技大學(xué)出版社,2006,8.</p><p>  [8] 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].北京:高等教育出版社,2007,6.</p><p&

105、gt;  [9] Paul Horowitz ,Winfield Hill.The Art of Electronics Second Edition[M].北京;電子工業(yè)出版社,2007,4.</p><p>  [10] 余永權(quán). ATMEL89系列單片機(jī)應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.</p><p>  [11] 萬(wàn)光毅,孫九安等.SoC單片機(jī)實(shí)驗(yàn)、實(shí)踐與應(yīng)

106、用設(shè)計(jì)--基于C8051F系列[M].北京;北京航天航空大學(xué)出版社,2006,5.</p><p>  [12] 童長(zhǎng)飛.C8051F系列單片機(jī)開(kāi)發(fā)與C語(yǔ)言編程[M].北京航空航天大學(xué)出版社,2005,2.</p><p>  [13] 雷鳴.薛學(xué).張瓊.CIP51及其在嵌入式單片機(jī)系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2003,1:61~64. </p><p>  [1

107、4] Silicon Laboratories.Mixed-Signal 32KB ISP FLASH MCU Family Rev.1.7[M],2003,11.</p><p>  附錄1 系統(tǒng)實(shí)物圖</p><p><b>  附1-1 整體圖</b></p><p><b>  附1-2 顯示</b><

108、/p><p>  附1-3 部分電路</p><p>  附1-4 顯示結(jié)果</p><p><b>  附錄2 原理圖</b></p><p>  附2-1 計(jì)步器SCH原理圖</p><p>  附2-2 計(jì)步器PCB原理圖</p><p>  附錄3 畢業(yè)設(shè)計(jì)

109、作品說(shuō)明書(shū)</p><p><b>  作品名稱</b></p><p>  基于C8051F005的計(jì)步器</p><p><b>  作品功能</b></p><p>  計(jì)步,測(cè)距,能量 功能</p><p>  計(jì)步范圍:0~9999步</p><

110、p><b>  誤差 < 1步</b></p><p><b>  運(yùn)行環(huán)境</b></p><p><b>  硬件環(huán)境:</b></p><p>  IBM PC機(jī) + U-EC5調(diào)試器 (調(diào)試階段使用)</p><p>  AT89C52單片機(jī) + 計(jì)步傳感器

111、(水銀開(kāi)關(guān)) + 顯示器</p><p><b>  軟件環(huán)境:</b></p><p>  開(kāi)發(fā)環(huán)境:silicon laboratories IDE </p><p>  編譯器:Keil C51</p><p><b>  編程語(yǔ)言:C語(yǔ)言</b></p><p>&l

112、t;b>  操作步驟</b></p><p>  將自制信號(hào)處理模塊插到開(kāi)發(fā)板上P1口</p><p>  插上PCD8544lcd顯示模塊</p><p>  開(kāi)發(fā)板上接通5V直流電源</p><p><b>  按下電開(kāi)關(guān)</b></p><p>  待系統(tǒng)啟動(dòng)完成穩(wěn)定之后,

113、使用者行走</p><p>  通過(guò)液晶顯示模塊顯示步數(shù),距離,消耗能量</p><p><b>  注意事項(xiàng)</b></p><p>  傳感器為水銀開(kāi)關(guān),要謹(jǐn)慎使用</p><p>  步數(shù)最大值為9999步,需要定時(shí)清零</p><p>  請(qǐng)勿在通電情況下插拔外接模塊</p>

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論