基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作_第1頁
基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作_第2頁
基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作_第3頁
基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作_第4頁
基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1產(chǎn)品功能分析...........................................................................................................1

2設(shè)計(jì)方案遴選...........................................................................................................1

2.1芯片及開發(fā)板的選擇方案............................................................................1

2.1.1選用ArduinoUNO開發(fā)板................................................................1

2.1.2選用51系列單片機(jī)芯片...................................................................2

2.2傳感器的選擇方案.......................................................................................2

2.2.1選擇GPS定位傳感器........................................................................2

2.2.2選擇ADXL345傳感器......................................................................2

2.3系統(tǒng)框圖設(shè)計(jì)...............................................................................................3

3產(chǎn)品硬件設(shè)計(jì)...........................................................................................................4

3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)..............................................................4

3.2按鍵電路設(shè)計(jì)...............................................................................................6

3.3ADXL345三軸加速度傳感器模塊電路........................................................7

3.4LED信號(hào)指示燈電路設(shè)計(jì)............................................................................8

4產(chǎn)品軟件設(shè)計(jì)...........................................................................................................9

4.1程序流程圖....................................................................................................9

4.2產(chǎn)品程序清單.............................................................................................10

5產(chǎn)品使用說明.........................................................................................................10

5.1產(chǎn)品裝配圖..................................................................................................10

5.2產(chǎn)品調(diào)試......................................................................................................11

5.3產(chǎn)品使用說明..............................................................................................11

參考資料.....................................................................................................................12

附錄.............................................................................................................................13

附錄1元器件清單............................................................................................13

附錄2電路原理圖............................................................................................14

附錄3PCB設(shè)計(jì)圖.............................................................................................15

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄4產(chǎn)品實(shí)物圖............................................................................................16

附錄5主程序代碼............................................................................................18

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于51單片機(jī)老人防摔倒報(bào)警器的設(shè)計(jì)與制作

1產(chǎn)品功能分析

隨著現(xiàn)代社會(huì)老齡化的程度越來越高,我們不論在手機(jī)還是新聞上經(jīng)常能

看到老年人跌倒了,由于長時(shí)間未被發(fā)現(xiàn)而起不來,進(jìn)而導(dǎo)致老人重傷甚至死

亡。老年人跌倒造成的致病、住院率和死亡率急速提高,帶來了嚴(yán)重的社會(huì)負(fù)

擔(dān)和經(jīng)濟(jì)負(fù)擔(dān)。于是需要在不影響老年人正?;顒?dòng)的前提之下,通過科學(xué)的手

段監(jiān)測(cè)老年人的活動(dòng),在檢測(cè)到摔倒后迅速報(bào)警求助,能夠讓身邊的人來幫助

老人,就可以有效地減少老年人跌倒帶來的健康傷害和醫(yī)療開支。于是,本說

明書設(shè)計(jì)了一種基于ADXL345傾角傳感器的跌倒檢測(cè)與報(bào)警系統(tǒng)。

本設(shè)計(jì)由STC89C52單片機(jī)電路、ADXL345加速度傳感器電路、按鍵電路、

蜂鳴器報(bào)警電路和電源電路組成。主要功能如下:

1、產(chǎn)品豎直放置的時(shí)候,蜂鳴器不報(bào)警,產(chǎn)品歪倒一定角度,3s左右沒

有恢復(fù)豎直,則蜂鳴器鳴叫報(bào)警。

2、設(shè)計(jì)帶有誤報(bào)警按鍵,蜂鳴器報(bào)警的時(shí)候,如果老人認(rèn)為是誤報(bào)警,

則按鍵按下,蜂鳴器停止報(bào)警。

3、按鍵停止報(bào)警后,如果還未站起,延時(shí)一段時(shí)間3s左右還會(huì)報(bào)警,防

止老人發(fā)生意外。

2設(shè)計(jì)方案遴選

在進(jìn)行硬件電路配置之前一定要選擇好產(chǎn)品的零部件,讓器件發(fā)揮基本功

能。一個(gè)完整的老人防摔倒產(chǎn)品由多個(gè)元部件組合而成,其中也有不同的模塊

供我們選擇,我們需要綜合各方面的因素來考慮,產(chǎn)品的基本形式是由顯示功

能,報(bào)警功能,角度測(cè)量功能組成。

2.1芯片及開發(fā)板的選擇方案

2.1.1選用ArduinoUNO開發(fā)板

Arduino是一款便捷靈活、方便上手的開源硬件產(chǎn)品,具有豐富的接口。

能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達(dá)和其他裝置來反

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

饋、影響環(huán)境。它沒有復(fù)雜的單片機(jī)底層代碼,沒有難懂的匯編,只是簡單而

實(shí)用的函數(shù)。標(biāo)準(zhǔn)化的接口模式為它的可持續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ),但價(jià)格

較高,不適合做企業(yè)大規(guī)模開發(fā),不能滿足一些高性能和復(fù)雜的應(yīng)用需求。

2.1.2選用51系列單片機(jī)芯片

選擇STC89C52作為系統(tǒng)的主要芯片。芯片配合PC端就可以將代碼燒入到

單片機(jī)里,省去了很多步驟,速度比上一代更快。它是從軟件到內(nèi)部硬件都擁

有整套的按位操作系統(tǒng),稱為微處理器,片內(nèi)RAM雙重功能地址區(qū)間是所擁有

的功能,以及乘法和除法指令,使用極為靈活。本設(shè)計(jì)采用此方案來進(jìn)行硬件

電路設(shè)計(jì)。

2.2傳感器的選擇方案

2.2.1選擇GPS定位傳感器

GPS(全球定位系統(tǒng))是一種基于衛(wèi)星技術(shù)的定位系統(tǒng),它可以在全球范

圍內(nèi)精確地定位任何一個(gè)點(diǎn)的位置。GPS定位的基本原理是通過接收衛(wèi)星發(fā)射

的信號(hào)來確定接收器的位置,可能會(huì)因?yàn)樵趥鞑ミ^程中信號(hào)差而產(chǎn)生誤差,且

與我們實(shí)現(xiàn)的功能不太相符。

2.2.2選擇ADXL345傳感器

ADXL345傾角傳感器實(shí)時(shí)采集老人在日常活動(dòng)中產(chǎn)生的傾角數(shù)據(jù),然后將

數(shù)據(jù)送到單片機(jī)STC89C52進(jìn)行處理,并判斷老年人的實(shí)時(shí)狀態(tài)。當(dāng)系統(tǒng)檢測(cè)

到跌倒發(fā)生時(shí),發(fā)出報(bào)警聲音提醒老人和周圍的人,選擇ADXL345傳感器比較

適合我們?cè)O(shè)計(jì)的產(chǎn)品。因此,本設(shè)計(jì)選擇此方案來實(shí)現(xiàn)數(shù)據(jù)檢測(cè)。

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.3系統(tǒng)框圖設(shè)計(jì)

電源模塊

角度傳感器模塊蜂鳴器模塊

51單片機(jī)系統(tǒng)

按鍵模塊

圖2.1系統(tǒng)設(shè)計(jì)框圖

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3產(chǎn)品硬件設(shè)計(jì)

由STC89C52RC單片機(jī)組成的系統(tǒng),角度傳感器,蜂鳴器模塊,按鍵模塊

和電源組成。主要是是利用角度傳感器檢測(cè)板塊角度是否傾斜。

按鍵模塊,一個(gè)是重新測(cè)量角度,第二個(gè)是調(diào)節(jié)角度值,調(diào)到多少度判定

為摔倒。

蜂鳴器模塊主要用于提示和報(bào)警,如果角度超過設(shè)置的角度值設(shè)定的溫度

值則報(bào)警。

3.1STC89C52RC單片機(jī)核心電路設(shè)計(jì)

STC89C52RC是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具

有8K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器。

一、STC89C52主要特性如下:

(1)8K字節(jié)程序存儲(chǔ)空間;

(2)512字節(jié)數(shù)據(jù)存儲(chǔ)空間;

(3)內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間;

(4)可直接使用串口下載。

二、STC89C52主要參數(shù)如下:

(1)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意

選擇,指令代碼完全兼容傳統(tǒng)8051;

(2)工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V單片機(jī));

(3)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作

頻率可達(dá)48MHz;

(4)用戶應(yīng)用程序空間為8K字節(jié);

(5)片上集成512字節(jié)RAM;

(6)通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P3是準(zhǔn)雙向口/弱上拉,

P0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用

時(shí),需加上拉電阻;

(7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無

需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒

即可完成一片;

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.1STC98C52RC單片機(jī)核心電路圖

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.2STC98C52RC實(shí)物圖

3.2按鍵電路設(shè)計(jì)

復(fù)位按鍵開關(guān)的作用就是手按下時(shí)會(huì)通電,松開后又會(huì)斷電,瞬間短路

就會(huì)重啟控制的機(jī)器,相當(dāng)于一個(gè)重啟按鈕。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.3按鍵模塊原理圖

3.3ADXL345三軸加速度傳感器模塊電路

ADXL345角度傳感器是指它能夠感受到角度的變化并且轉(zhuǎn)換成可用輸出信

號(hào)的傳感器。是一種常用的MEMS(微電子機(jī)械系統(tǒng))傳感器,它可以測(cè)量物體在

三個(gè)方向的加速度,是一款小而薄的超低功耗3軸加速度計(jì)。數(shù)字輸出數(shù)據(jù)為

16位二進(jìn)制補(bǔ)碼格式,角度傳感器顧名思義就是用來測(cè)量角度的變化。當(dāng)往一

個(gè)方向轉(zhuǎn)動(dòng)的話,計(jì)數(shù)就會(huì)增加,轉(zhuǎn)動(dòng)方向也會(huì)跟著變化時(shí),計(jì)數(shù)則會(huì)相應(yīng)的

進(jìn)行減少。ADXL345三軸加速度傳感器首先由前端感應(yīng)器件感測(cè)加速度的大

小,然后就由感應(yīng)電信號(hào)器件轉(zhuǎn)換為可以識(shí)別的電信號(hào),這個(gè)信號(hào)其實(shí)就是模

擬信號(hào)。ADXL345中集成了AD轉(zhuǎn)換器,可以將模擬信號(hào)數(shù)字化,在計(jì)算機(jī)系統(tǒng)

中數(shù)字信號(hào)一律以二進(jìn)制補(bǔ)碼的形式來表示,在這也是一樣的,AD轉(zhuǎn)換器輸出

的是16位的二進(jìn)制補(bǔ)碼。經(jīng)過數(shù)字濾波器的濾波后在控制和中斷邏輯單元的

控制下訪問32級(jí)FIF0,通過串行接口讀取數(shù)據(jù)。ADX1345的控制命令也是通過

接收來自串口的讀寫命令來實(shí)現(xiàn)的,這主要是對(duì)寄存器的操作。

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.4ADXL345角度傳感器模塊原理圖

3.4LED信號(hào)指示燈電路設(shè)計(jì)

LED燈就是發(fā)光二極管,它其實(shí)就是半導(dǎo)體二極管的一種,是一種能夠?qū)?/p>

電能轉(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。發(fā)光二極

管和普通二極管都是一樣由兩部分組成,一部分是P型半導(dǎo)體,在它里面空穴

占主導(dǎo)地位,另一端是N型半導(dǎo)體,但這兩種半導(dǎo)體連接起來的時(shí)候,它們之

間就形成一個(gè)P-N結(jié)。也是具有單向?qū)щ娦浴T陔娐分?,電阻的作用是限流?/p>

保護(hù)LED燈以防太大的電流把LED燈燒壞。接低電平,LED燈亮,否則的話,

LED燈則不亮。其具體電路原理圖如下圖所示。

圖3.5LED燈電路原理圖

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4產(chǎn)品軟件設(shè)計(jì)

此產(chǎn)品采用的是C語言編程,由多個(gè)程序和模塊化程序組成的整體程序。

我們說一個(gè)完整的控制系統(tǒng)都是由硬件系統(tǒng)以及軟件系統(tǒng)組成的。前面主要介

紹了產(chǎn)品硬件的設(shè)計(jì)方案。為了充分利用系統(tǒng)軟件的設(shè)計(jì)功能,必須選擇支持

硬件平臺(tái)的軟件程序,一個(gè)能夠燒錄到單片機(jī)內(nèi)部的軟件。

4.1程序流程圖

圖4.1程序流程圖

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.2產(chǎn)品程序清單

圖4.2產(chǎn)品程序清單

5產(chǎn)品使用說明

5.1產(chǎn)品裝配圖

產(chǎn)品是由單片機(jī),LCD液晶顯示模塊,報(bào)警模塊,電源和電源開關(guān),蜂鳴

器報(bào)警模塊,報(bào)警燈閃爍模塊,角度傳感器模塊,按鍵控制模塊組成。

LCD液晶顯示

STC89C52RC芯片

電源和電源開關(guān)

按鍵控制

蜂鳴器報(bào)警

角度傳感器

報(bào)警閃爍燈

圖5.1產(chǎn)品裝配圖

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.2產(chǎn)品調(diào)試

檢測(cè)單片機(jī)上面的部件是否正確焊接在電路板上,所以需要自己對(duì)每一個(gè)

焊點(diǎn)進(jìn)行檢測(cè),確保沒有虛焊漏焊。

使用萬用表對(duì)電路板進(jìn)行測(cè)試,確保每個(gè)焊點(diǎn)連接的狀況是否合格,再檢

測(cè)各電源線跟地線有沒有短路的現(xiàn)象。

在構(gòu)建了調(diào)試平臺(tái)后,下一步就是需要去調(diào)試用到的軟件。如果程序調(diào)試

沒有問題的話,就需要確定系統(tǒng)功能是否滿足我們的要求。如果功能有問題的

話,就需要去重復(fù)調(diào)試程序,一直重復(fù)直到所有功能都滿足要求。

最后對(duì)產(chǎn)品進(jìn)行上電,檢查各方面是否運(yùn)行正常。

5.3產(chǎn)品使用說明

1.接通電源,按下開關(guān),LCD1602顯示器顯示當(dāng)前x軸,y軸,z軸的偏移

角度的情況。

2.通過按鍵可以重新檢測(cè)是否摔倒。

3.可以自己通過按鍵設(shè)置x軸,y軸,z軸報(bào)警的閾值

4.設(shè)置的閾值保存在單片機(jī)內(nèi)部,不用重新設(shè)置。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

參考資料

[1]秦志強(qiáng).《現(xiàn)代傳感器技術(shù)及應(yīng)用》[M].電子工業(yè)出版社.2010

[2]郭天祥.《新概念51單片機(jī)C語言教程》[M].電子工業(yè)出版社.2009

[3]沈一偉.《實(shí)用蜂鳴器研制技術(shù)》[M].東南大學(xué)出版社.2017

[4]舍茨.《實(shí)用電子元器件與電路基礎(chǔ)》.電子工業(yè)出版社.2009

[5]胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2002.

[6]張俊謨.單片機(jī)中級(jí)教程原理與應(yīng)用[M].北京航空航天大學(xué)出版社.2002.

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄

附錄1元器件清單

附表1元器件清單

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄2電路原理圖

附圖1產(chǎn)品原理圖

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄3PCB設(shè)計(jì)圖

附圖2產(chǎn)品PCB設(shè)計(jì)圖

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄4產(chǎn)品實(shí)物圖

附圖3產(chǎn)品實(shí)物圖正面

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附圖4產(chǎn)品實(shí)物圖反面

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄5主程序代碼

#include"system.h"

uint8buffer[16];

int16XAxisDegree,YAxisDegree,ZAxisDegree;

int16XAxisDegreeTemp,YAxisDegreeTemp,ZAxisDegreeTemp;

/***************************************************

//================關(guān)鍵字別名定義===========================

typedefunsignedcharuint8;

typedefcharint8;

typedefunsignedintuint16;

typedefintint16;

typedefunsignedlonguint32;

typedeflongint32;

****************************************************/

int16temp0,temp1;//intint16

int8XAlarmL=-90,XAlarmH=90;//charint8

int8YAlarmL=-90,YAlarmH=90;

int8ZAlarmL=-90,ZAlarmH=90;

uint8SystemSet;//unsignedcharuint8

bittab;

voidLcdDisplay(void)

{

int16temp;

if(SystemSet==0)

{

if(XAxisDegree==0)LCD1602_DisStr(0,0,"X:");

elseif(XAxisDegree>0)LCD1602_DisStr(0,0,"X:+");

elseLCD1602_DisStr(0,0,"X:-");

if(XAxisDegree<0)temp=(-1)*XAxisDegree;//轉(zhuǎn)化為正數(shù),顯示需

elsetemp=XAxisDegree;

sprintf(buffer,"%02d.%d",temp/10,temp%10);

LCD1602_DisStr(0,3,buffer);

if(YAxisDegree==0)LCD1602_DisStr(0,9,"Y:");

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

elseif(YAxisDegree>0)LCD1602_DisStr(0,9,"Y:+");

elseLCD1602_DisStr(0,9,"Y:-");

if(YAxisDegree<0)temp=(-1)*YAxisDegree;

elsetemp=YAxisDegree;

sprintf(buffer,"%02d.%d",temp/10,temp%10);

LCD1602_DisStr(0,12,buffer);

if(ZAxisDegree==0)LCD1602_DisStr(1,0,"Z:");

elseif(ZAxisDegree>0)LCD1602_DisStr(1,0,"Z:+");

elseLCD1602_DisStr(1,0,"Z:-");

if(ZAxisDegree<0)temp=(-1)*ZAxisDegree;

elsetemp=ZAxisDegree;

sprintf(buffer,"%02d.%d",temp/10,temp%10);

LCD1602_DisStr(1,3,buffer);

}

else

{

if(SystemSet==1)LCD1602_DisStr(0,4,"<XSet>");

elseif(SystemSet==2)LCD1602_DisStr(0,4,"<YSet>");

elseif(SystemSet==3)LCD1602_DisStr(0,4,"<ZSet>");

if(DataVal0==0)LCD1602_DisStr(1,0,"L:");

elseif(DataVal0>0)LCD1602_DisStr(1,0,"L:+");

elseLCD1602_DisStr(1,0,"L:-");

if(temp0<0)temp=(-1)*DataVal0;

//////////////////////////////////////////////////////////

elsetemp=DataVal0;

sprintf(buffer,"%02d",temp);

LCD1602_DisStr(1,3,buffer);

if(DataVal1==0)LCD1602_DisStr(1,9,"H:");

elseif(DataVal1>0)LCD1602_DisStr(1,9,"H:+");

elseLCD1602_DisStr(1,9,"H:-");

if(temp1<0)temp=(-1)*DataVal1;

elsetemp=DataVal1;

sprintf(buffer,"%02d",temp);

LCD1602_DisStr(1,12,buffer);

}

}

//角度測(cè)量

voidDegreeMeasure(void)

{

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

uint16temp;

int32temp0;

int16XTemp,YTemp,ZTemp;

doubletemp1;

ADXL345_ReadBytes();

temp=((uint16)XyzDataBuf[1]<<8)|XyzDataBuf[0];//合成數(shù)據(jù)

XTemp=(int16)temp;//因?yàn)橐远M(jìn)制的補(bǔ)碼的形式存放數(shù)據(jù),所以要轉(zhuǎn)

換成帶符號(hào)的值

temp=((uint16)XyzDataBuf[3]<<8)|XyzDataBuf[2];

YTemp=(int16)temp;

temp=((uint16)XyzDataBuf[5]<<8)|XyzDataBuf[4];

ZTemp=(int16)temp;

temp0=(int32)YTemp*YTemp;

temp0+=(int32)ZTemp*ZTemp;

temp1=sqrt(temp0);

temp1=atan(XTemp/temp1);//計(jì)算傾角的弧度值

XAxisDegreeTemp=temp1*1800/PI;//就是將弧度轉(zhuǎn)換為角度值,放大

10倍并且保留1位小數(shù)點(diǎn)

temp0=(int32)XTemp*XTemp;

temp0+=(int32)ZTemp*ZTemp;

temp1=sqrt(temp0);

temp1=atan(YTemp/temp1);

YAxisDegreeTemp=temp1*1800/PI;

temp0=(int32)YTemp*YTemp;

temp0+=(int32)XTemp*XTemp;

temp1=sqrt(temp0);

temp1=atan(ZTemp/temp1);

ZAxisDegreeTemp=temp1*1800/PI;

}

voidCalcAvrgDegree(void)

{

staticint16XSum=0,XMin=900,XMax=-900;

staticint16YSum=0,YMin=900,YMax=-900;

staticint16ZSum=0,ZMin=900,ZMax=-900;

staticuint8i=0;

if(XMin>XAxisDegreeTemp)XMin=XAxisDegreeTemp;//求最小值

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

if(XMax<XAxisDegreeTemp)XMax=XAxisDegreeTemp;//求最大值

XSum+=XAxisDegreeTemp;//累加

if(YMin>YAxisDegreeTemp)YMin=YAxisDegreeTemp;//求最小值

if(YMax<YAxisDegreeTemp)YMax=YAxisDegreeTemp;//求最大值

YSum+=YAxisDegreeTemp;//累加

if(ZMin>ZAxisDegreeTemp)ZMin=ZAxisDegreeTemp;//求最小值

if(ZMax<ZAxisDegreeTemp)ZMax=ZAxisDegreeTemp;//求最大值

ZSum+=ZAxisDegreeTemp;//累加

i++;

if(i>=10)//采樣10次求平均

{

XSum=XSum-XMax-XMin;//去除極值

XAxisDegree=XSum/(i-2);//求出平均AD值(因?yàn)槿コ藰O值,所

以次數(shù)要減2)

XSum=0;XMin=900;XMax=-900;//變量復(fù)位,準(zhǔn)備下一次計(jì)算

YSum=YSum-YMax-YMin;

YAxisDegree=YSum/(i-2);

YSum=0;YMin=900;YMax=-900

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論