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

下載本文檔

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

文檔簡介

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

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

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

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

5、  關(guān)鍵詞:單片機(jī);AT89C52;計步器;振蕩傳感器</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è)計3</b></p><p>  2.1 設(shè)計要求3</p><p>  2.2 總體方案設(shè)計3</p><p><b>  3 硬件設(shè)計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è)計

14、13</p><p>  4.1 總體程序13</p><p>  4.2 主程序14</p><p>  4.3 距離計算程序15</p><p>  4.4 卡路里計算程序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 計步器成品調(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è)計作品說明書36</p><p><b>  1 引言</b></p><p>  1.1 課題的研究背景</p><p>  隨著社會的發(fā)展,人們越來越注重自己的健康,跑步成為一種方便而又有效的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)支持觀察和修改存儲器和寄存器,支持?jǐn)帱c(diǎn)、觀察點(diǎn)、單步及運(yùn)行和停機(jī)命令。在使用JTAG調(diào)試時,所有的模擬和數(shù)字外設(shè)都可全功能運(yùn)行[3]。</p><p>  AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲器,256字節(jié)內(nèi)部 RAM,32個

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

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

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

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

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

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

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

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

43、ight Emitting Diode);液晶顯示器LCD(Liquid Crystal Display);近幾年也有配置CRT顯示器的。液晶顯示器簡稱是利用液晶經(jīng)過處理后能夠改變光線傳輸方向的特性,達(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è)計采用的是型號為PCD8544的LCD,其外形圖見圖3-6。其內(nèi)部結(jié)構(gòu)見圖3-7。</p><p>  圖3-7 PCD8544 方塊圖</p><p>  PCD8544是一塊低功耗的CMOS LCD控制驅(qū)動器,設(shè)計為驅(qū)動48行84列的圖形顯示。所有必須的顯示功能集成在一塊芯片上,包括LCD電壓及偏置電壓發(fā)生器,只須很少外部元件且功耗小[6]

45、。5110與微控制器的接口使用串行總線。以下是PCD8544主要的幾個引腳的功能:</p><p>  SDIN:串行數(shù)據(jù)線;</p><p>  SCLK:串行時鐘線;</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)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;另一類是無觸點(diǎn)式開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者造價低,后者壽命長。目前,微機(jī)系統(tǒng)中最常見的是觸點(diǎn)式開關(guān)按鍵[7]。 </p><p>  按鍵按照接口原理可分為編碼鍵盤與非編碼鍵盤兩類,這兩類鍵盤的主要區(qū)別是識別鍵符及給出相應(yīng)鍵碼的方法。

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

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

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

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

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

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

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

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

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

58、sbit sclk=P2^0; //時鐘</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;//指定水銀開關(guān)控制引腳</p><p>  芯片AT89C52主控模塊控制整個程序運(yùn)行的流程、協(xié)調(diào)各個功能模塊的工作以及完成各個界面的切

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

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

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

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

64、t;/p><p><b>  {</b></p><p>  while(Switch ==0) //等待水銀動作開關(guān)復(fù)位,一個跑步動作結(jié)束</p><p><b>  {</b></p><p>  Check_Key(); //在等待過程中檢測按鍵是否被按下</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ù)第一步的檢測布書Numer,即可

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

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

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

69、3控制。</p><p>  計算卡路里的具體步驟如下:</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)行過程可由圖4-5顯示程序流程圖具體體現(xiàn)。</p><p>

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

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

74、0);//設(shè)定顯示配置:普通模式</p><p><b>  }</b></p><p>  SPI接口寫數(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>  在以上兩個程序的基礎(chǔ)上編寫顯示程序,需要預(yù)先寫入漢字和字符數(shù)據(jù),以備在之后程序運(yùn)行過程中調(diào)用顯示漢字或字符。</p><p>  4.6功能模式切換程序</p><p>  圖4-6 開始/暫停按鍵程序流程圖</p><p>  圖4-7

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

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

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

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

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

84、擇了水銀開關(guān),即使水銀開關(guān)需小心使用。</p><p>  焊接過程遇到了很多問題,因?yàn)橛嫴狡魇且患∥矬w,需要將諸多元器件焊接在一塊小板上,很容易導(dǎo)致短路,虛焊,還有就是將芯片燒壞。在焊第三塊板后,終于完成了。</p><p>  編寫程序是最關(guān)鍵的。通過翻閱資料,幸運(yùn)的,找到與我設(shè)計的計步器大體相似的程序。然后開始在它的基礎(chǔ)上,根據(jù)我要實(shí)現(xiàn)的設(shè)計目標(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對電路進(jìn)行測試,成功后,將電路網(wǎng)格化,最后生成PCB板。圖5-1為所設(shè)計計步器的PCB圖。</p><p>  圖5-1 計步器的PCB圖</

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

102、準(zhǔn)確,功能更多,以符合不同使用者的所需的功能。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 戴劍松,李靖等.運(yùn)用計步器測量步行之研究[N].北京:北京體育大學(xué)學(xué)報,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)浮子開關(guān)[N].中華人民共和國國家知識產(chǎn)權(quán)局,2003.</p><p>  [6] Philips semi

104、conductors.PCD8544 48 × 84 點(diǎn)矩陣LCD控制/驅(qū)動產(chǎn)品說明書[M],1999,4.</p><p>  [7] 謝自美,羅杰,趙云娣等.電子線路設(shè)計、使用、測試(第二版)[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] 萬光毅,孫九安等.SoC單片機(jī)實(shí)驗(yàn)、實(shí)踐與應(yīng)

106、用設(shè)計--基于C8051F系列[M].北京;北京航天航空大學(xué)出版社,2006,5.</p><p>  [12] 童長飛.C8051F系列單片機(jī)開發(fā)與C語言編程[M].北京航空航天大學(xué)出版社,2005,2.</p><p>  [13] 雷鳴.薛學(xué).張瓊.CIP51及其在嵌入式單片機(jī)系統(tǒng)的應(yīng)用[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 計步器SCH原理圖</p><p>  附2-2 計步器PCB原理圖</p><p>  附錄3 畢業(yè)設(shè)計

109、作品說明書</p><p><b>  作品名稱</b></p><p>  基于C8051F005的計步器</p><p><b>  作品功能</b></p><p>  計步,測距,能量 功能</p><p>  計步范圍: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ī) + 計步傳感器

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

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

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

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論