畢業(yè)設(shè)計(jì)----運(yùn)動(dòng)員心率無線檢測(cè)系統(tǒng)的設(shè)計(jì)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  題目:運(yùn)動(dòng)員心率無線檢測(cè)系統(tǒng)的設(shè)計(jì)</p><p>  Title: Athletes Heart Rate Wireless Detection System</p><p>  院系名稱:物理與通信電子學(xué)院</p><p>  學(xué)生姓名: </p><p>  學(xué)生學(xué)號(hào):

2、 </p><p>  專 業(yè):電子信息工程 </p><p>  指導(dǎo)老師: </p><p>  完成時(shí)間:2011年4月 </p><p><b>  摘 要</b></p><p>  運(yùn)動(dòng)員心率,即

3、運(yùn)動(dòng)員在運(yùn)動(dòng)時(shí)保持的心率[1]狀態(tài)。不管是有氧運(yùn)動(dòng),還是無氧運(yùn)動(dòng),都有一個(gè)合適的心率才能達(dá)到較佳的訓(xùn)練效果。保持最佳運(yùn)動(dòng)心率對(duì)運(yùn)動(dòng)員的訓(xùn)練效果和安全都很重要。如果心率過高,會(huì)對(duì)身體健康不利,導(dǎo)致惡心、頭暈、胸悶;心率低對(duì)身體沒有危害,但是鍛煉效果不好。</p><p>  本設(shè)計(jì)以AT89S52單片機(jī)為核心,由心率傳感器,信號(hào)處理電路,NRF24L01無線模塊,顯示模塊和上位機(jī)等組成的一個(gè)運(yùn)動(dòng)員心率無線檢測(cè)系統(tǒng)。

4、該系統(tǒng)可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員心率檢測(cè),檢測(cè)誤差在±2次/每分鐘,心率值在前端由數(shù)碼管顯示方便運(yùn)動(dòng)員自己觀察,由Labview編寫的上位機(jī)程序能對(duì)運(yùn)動(dòng)員的心率值進(jìn)行保存并且顯示心率變化曲線方便觀察運(yùn)動(dòng)員的心率波動(dòng)情況,而且無線模塊的發(fā)送距離在空曠的地方能達(dá)到50米以上。</p><p>  關(guān)鍵詞: AT89S52;運(yùn)動(dòng)員心率;NRF24L01;Labview。</p><p><

5、b>  Abstract</b></p><p>  Athletes heart rate, that athlete's heart rate during exercise to maintain condition. Either aerobic exercise or anaerobic exercise, there is an appropriate training he

6、art rate in order to achieve better results. Maintain optimal exercise heart rate training for effectiveness and safety of athletes is important, if heart rate is too high, will health disadvantage, leading to nausea, di

7、zziness, chest tightness, heart rate does no harm, but the exercise is not effective. The design of the AT89</p><p>  Key words: AT89S52; Athletes heart rate; NRF24L01; Labview.目 錄</p><p>&

8、lt;b>  摘 要I</b></p><p>  AbstractII</p><p><b>  1 引言1</b></p><p><b>  2 設(shè)計(jì)要求1</b></p><p>  3 總體方案設(shè)計(jì) [3]1</p><p>&l

9、t;b>  4 方案論證2</b></p><p>  4.1 傳感器選擇2</p><p><b>  4.2無線模塊2</b></p><p>  5系統(tǒng)硬件電路設(shè)計(jì)3</p><p>  5.1單片機(jī)最小系統(tǒng)3</p><p>  5.1.1 單片機(jī)AT89S52

10、3</p><p>  5.1.2 單片機(jī)AT89S52最小系統(tǒng)4</p><p><b>  5.2顯示電路5</b></p><p>  5.3無線模塊電路6</p><p>  5.3.1 NRF24L01簡(jiǎn)介6</p><p>  5.3.2 SPI協(xié)議7</p>

11、<p>  5.3.3 NRF24L01時(shí)序7</p><p>  5.4串口模塊電路8</p><p>  5.4.1 串口芯片MAX232[12]8</p><p>  5.4.2 串口電路8</p><p>  5.5電源模塊電路9</p><p>  5.5.1 正5V電源模塊9<

12、/p><p>  5.5.2 LM317穩(wěn)壓模塊9</p><p>  6 軟件程序設(shè)計(jì)10</p><p>  6.1單片機(jī)程序設(shè)計(jì)10</p><p>  6.2上位機(jī)程序設(shè)計(jì)13</p><p>  6.2.1 VISA配置串口14</p><p>  6.2.2讀串口數(shù)據(jù)14&l

13、t;/p><p>  6.2.3心率測(cè)量15</p><p>  6.2.4 Excel文件生成程序15</p><p>  6.2.5心率值保存程序16</p><p><b>  7 程序仿真16</b></p><p>  7.1心率信號(hào)的測(cè)量與顯示仿真16</p>&l

14、t;p>  7.2單片機(jī)模擬SPI協(xié)議時(shí)序仿真17</p><p>  7.3串口發(fā)送仿真18</p><p>  8設(shè)計(jì)系統(tǒng)的調(diào)試結(jié)果與數(shù)據(jù)分析18</p><p><b>  9 結(jié)束語20</b></p><p><b>  參考文獻(xiàn)21</b></p><

15、p>  附錄一:電路圖22</p><p>  附錄二:Labview整體程序圖24</p><p>  附錄三:源程序25</p><p><b>  1 引言 </b></p><p>  心率作為自主神經(jīng)在竇房[2]結(jié)水平相互作用的反應(yīng),它與人體心臟功能和狀態(tài)密切相關(guān),近年來在醫(yī)學(xué)和運(yùn)動(dòng)醫(yī)學(xué)領(lǐng)域受到廣

16、泛關(guān)注。在醫(yī)學(xué)領(lǐng)域中監(jiān)測(cè)心率主要的手段是通過心電監(jiān)護(hù)儀,而運(yùn)動(dòng)醫(yī)學(xué)中是采用腕式心率表或心率計(jì)。前者適用于靜態(tài)狀態(tài)的患者,后者則適用于運(yùn)動(dòng)員自身去觀看。因此如果要實(shí)時(shí)監(jiān)測(cè)處于運(yùn)動(dòng)中人體心率信號(hào),這兩種方法都不適用。</p><p>  為了使醫(yī)生或教練員能夠?qū)崟r(shí)監(jiān)測(cè)運(yùn)動(dòng)中的患者或運(yùn)動(dòng)員的心率信號(hào),研制一種運(yùn)動(dòng)員心率無線檢測(cè)系統(tǒng)就非常有必要了。</p><p><b>  2 設(shè)計(jì)要

17、求</b></p><p>  運(yùn)動(dòng)員心率遠(yuǎn)程無線檢測(cè)系統(tǒng)的設(shè)計(jì),基本要求如下:</p><p>  心率誤差:-2~+2次/每分鐘;</p><p>  心率值前端由數(shù)碼管顯示;</p><p>  要求上位機(jī)能顯示接收心率值;</p><p>  發(fā)射距離大于50米;</p><p&

18、gt;  3 總體方案設(shè)計(jì) [3] </p><p>  根據(jù)設(shè)計(jì)要求,本系統(tǒng)的總體設(shè)計(jì)系統(tǒng)框圖如圖1所示,主要包括傳感器模塊,信號(hào)處理,單片機(jī),顯示模塊,無線模塊,串口模塊,上位機(jī)。首先用傳感器對(duì)運(yùn)動(dòng)員心率信號(hào)進(jìn)行采集,然后經(jīng)過信號(hào)處理后用單片機(jī)進(jìn)行計(jì)數(shù),計(jì)數(shù)完成后,單片機(jī)控制顯示模塊對(duì)心率值進(jìn)行顯示,并且將心率值通過無線模塊進(jìn)行發(fā)送;遠(yuǎn)端單片機(jī)無線模塊對(duì)心率值進(jìn)行接收,接收完成后通過串口模塊將心率數(shù)據(jù)傳送給上

19、位機(jī),上位機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行顯示和保存。</p><p><b>  圖1 系統(tǒng)框圖</b></p><p><b>  4 方案論證</b></p><p><b>  4.1 傳感器選擇</b></p><p>  現(xiàn)階段應(yīng)用的心率傳感器[4][5][6]種類繁多,性能各

20、異,根據(jù)其工作原理主要可分為三種:一種是通過感受脈動(dòng)處分壓力的變化而描述脈搏圖,即壓力式脈搏傳感器;另一種則是通過感受脈管容積的變化來描述脈象,即光電式脈搏傳感器;第三種是通過感受人體生物電的變化來描述脈象,即心電電極。</p><p>  由于本設(shè)計(jì)是為了對(duì)運(yùn)動(dòng)員的心率進(jìn)行測(cè)量,所以光電式脈搏傳感器在本設(shè)計(jì)中首先被排除,因?yàn)楣怆娛矫}搏傳感器的干擾比較大,而且光電式傳感器不便于佩戴,其次由于心電電極對(duì)運(yùn)動(dòng)員的心率

21、進(jìn)行測(cè)量,測(cè)量過程中運(yùn)動(dòng)員會(huì)分泌大量的汗液,電極的佩戴也不方便,而且目前市場(chǎng)上的心電電極多為一次性的,并不是十分方便使用,而且人體的生物電要對(duì)多點(diǎn)進(jìn)行檢測(cè)才能獲得較準(zhǔn)確的脈搏信號(hào),所以本設(shè)計(jì)采用壓電式脈搏傳感器。</p><p>  經(jīng)過實(shí)驗(yàn)效果分析和比對(duì),本設(shè)計(jì)選用了HK-2000A[7]集成化數(shù)字脈搏傳感器。該傳感器使用了新型的高分子聚合物傳感材料PVDF,具有很好的壓電特性和很好的仿生特性,與人體組織的阻抗

22、耦合性好,能緊貼皮膚,靈敏度高。采用高度集成化工藝將力敏元件(PVDF壓電膜)、靈敏度溫度補(bǔ)償元件、感溫元件、信號(hào)調(diào)理電路集成在傳感器內(nèi)。壓電式原理采集信號(hào),模擬信號(hào)輸出,輸出同步于脈搏波動(dòng)的脈沖信號(hào),脈搏波動(dòng)一次輸出一正脈沖,方便后續(xù)的信號(hào)處理。</p><p><b>  4.2無線模塊</b></p><p>  現(xiàn)階段生活中很多地方都要用到無線傳輸,無線傳輸模

23、塊非常的多。根據(jù)其原理可以分為兩套方案:</p><p>  方案一:藍(lán)牙模塊[8]</p><p>  藍(lán)牙工作于2.4GHZ的全球通用ISM(工業(yè),科學(xué),醫(yī)學(xué))頻段, 以保證藍(lán)牙在全世界范圍內(nèi)的運(yùn)用. 藍(lán)牙系統(tǒng)的天線發(fā)射功率符合FCC關(guān)于ISM波段的要求0dBm。系統(tǒng)的最大跳頻速率為1600跳/秒,在2.402GHz到2.480GHz之間,采用79個(gè)1MHZ帶寬的頻點(diǎn)。系統(tǒng)設(shè)計(jì)的通信距

24、離為10米(0db),如果增加發(fā)射功率(20DB),這一距離也可以達(dá)到100米。</p><p>  方案二: 2.4G無線模[9]</p><p>  2.4G無線模塊工作在全球免申請(qǐng)ISM頻道2400M-2483M范圍內(nèi),實(shí)現(xiàn)開機(jī)自動(dòng)掃頻功能,共有50個(gè)工作信道,可以同時(shí)供50個(gè)用戶在同一場(chǎng)合同時(shí)工作,無需使用者人工協(xié)調(diào)、配置信道。同時(shí),可以根據(jù)成本考慮,選擇50米內(nèi)、150米、600

25、 米多種類型無線模塊。接收單元和遙控器單元具有1鍵自動(dòng)對(duì)碼功能,數(shù)字地址編碼,容量大,避免地址重復(fù)。</p><p>  藍(lán)牙模塊和2.4G無線模塊都是以2.4G為載波,但是兩者的區(qū)別在于兩者采用的協(xié)議不同。但是相對(duì)來說2.4G無線模塊的功耗更低,在相同的傳輸距離的情況下2.4G模塊的價(jià)格也更低,傳輸質(zhì)量上兩者都差不多,但是藍(lán)牙是有專利的,生產(chǎn)藍(lán)牙產(chǎn)品需要進(jìn)行付費(fèi)。綜上所述本設(shè)計(jì)選用2.4G無線模塊實(shí)現(xiàn)心率值的無

26、線傳輸。</p><p><b>  5系統(tǒng)硬件電路設(shè)計(jì)</b></p><p>  硬件電路的設(shè)計(jì)主要包括單片機(jī)最小系統(tǒng)及顯示電路、無線模塊、串口模塊和電源電路五部分。單片機(jī)采用AT89S52或其兼容系列,現(xiàn)場(chǎng)測(cè)量部分采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差,遠(yuǎn)端使用11.0592MHz高精度晶振,以獲的穩(wěn)定的波特率,減少誤差。顯示電路采用簡(jiǎn)單

27、實(shí)用的三位一體LED數(shù)碼管。無線模塊使用NRF24L01[10]模塊。串口模塊電路使用MAX232實(shí)現(xiàn)電平轉(zhuǎn)換。</p><p>  5.1單片機(jī)最小系統(tǒng)</p><p>  5.1.1 單片機(jī)AT89S52</p><p><b>  主要性能:</b></p><p> ?。?) 與MCS-51單片機(jī)產(chǎn)品兼容<

28、/p><p> ?。?) 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器</p><p> ?。?) 1000次擦寫周期 </p><p>  (4)全靜態(tài)操作:0Hz~33Hz</p><p> ?。?) 三級(jí)加密程序存儲(chǔ)器</p><p> ?。?) 32個(gè)可編程I/O口線 </p><p> ?。?)

29、 三個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ?。?) 八個(gè)中斷源</b></p><p>  (9) 全雙工UART串行通道 </p><p> ?。?0)低功耗空閑和掉電模式</p><p> ?。?1)掉電后中斷可喚醒 </p><p>  (12) 看門狗定時(shí)器

30、</p><p> ?。?3)雙數(shù)據(jù)指針 </p><p><b>  (14)掉電標(biāo)識(shí)符</b></p><p><b>  功能特性描述:</b></p><p>  AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲(chǔ)器。使用A

31、tmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。</p><p>  AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)

32、據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止.AT89S52的引腳結(jié)構(gòu)如圖2所示。</p><p>  圖2 AT89

33、S52的引腳結(jié)構(gòu)</p><p>  5.1.2 單片機(jī)AT89S52最小系統(tǒng)</p><p>  AT89S52是片內(nèi)有EPROM的單片機(jī)。因此,用這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單、可靠。用AT89S52單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路以及擴(kuò)展的簡(jiǎn)單I/O口即可,如圖3所示。由于受集成度、片內(nèi)功能的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn)為:有可供用

34、戶使用的較多的I/O口線。由于不需要擴(kuò)展外部存儲(chǔ)器,EA應(yīng)接高電平,P0、P1、P2、P3均作為用戶I/O口使用。內(nèi)部存儲(chǔ)器容量有限。</p><p>  應(yīng)用系統(tǒng)開發(fā)具有特殊性。如AT89S52的應(yīng)用軟件須依靠半導(dǎo)體廠家用半導(dǎo)體掩膜技術(shù)置入,故AT89S52應(yīng)用系統(tǒng)一般用作大批量生產(chǎn)的應(yīng)用系統(tǒng)。另外,P0、P2口的應(yīng)用與開發(fā)環(huán)境差別較大。</p><p>  圖3 單片機(jī)最小系統(tǒng)原理圖&

35、lt;/p><p><b>  5.2顯示電路</b></p><p>  LED采用3位一體8段共陰數(shù)碼管。該數(shù)碼管具有顯示清晰,穩(wěn)定可靠,接口電路簡(jiǎn)單,控制簡(jiǎn)單等優(yōu)點(diǎn)。AT89S52通過P0.0~P0.7與LED連接控制段選,然后通過另外三個(gè)I/O引腳控制位選.圖4為數(shù)碼管引腳圖。

36、 </p><p><b>  圖4 數(shù)碼管引腳圖</b></p><p><b>  5.3無線模塊電路</b></p><p>  無線模塊采用挪威 NORDIC 公司的 NRF24L01,無線模塊電路圖如圖5所</p><p><b&

37、gt;  示。</b></p><p>  圖5 無線模塊電路圖</p><p>  5.3.1 NRF24L01簡(jiǎn)介 </p><p>  2.4G無線收發(fā) IC設(shè)計(jì)的一款高性能2.4G無線收發(fā)模塊,采用 GFSK 調(diào)制,工作在 2400‐2483M的國(guó)際通用 ISM 頻段,最高調(diào)制速率可達(dá) 2MBPS。24L01集成了所有與 RF協(xié)議相關(guān)的高速信號(hào)處

38、理部分,自動(dòng)重發(fā)丟失數(shù)據(jù)包和自動(dòng)產(chǎn)生應(yīng)答信號(hào)等,模塊的 SPI[11] 接口可以利用單片機(jī)的硬件 SPI口連接或用單片機(jī)的 I/O 口進(jìn)行模擬,內(nèi)部有 FIFO 可以與各種高低速微處理器接口,便于使用低成本單片機(jī)。NRF24L01模塊的引腳圖如圖6所示。NRF24L01工作方式有四種分別是:收發(fā)模式,配置模式,空閑模式,關(guān)機(jī)模式。</p><p>  圖6 NRF24L01模塊的引腳圖</p>&l

39、t;p>  5.3.2 SPI協(xié)議</p><p>  SPI是英語Serial Peripheral Interface的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI是一種高速的,全雙工,同步的通信,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便。</p><p>  SPI是一個(gè)環(huán)形總線結(jié)構(gòu),由SS(CS)、SCK、SDI、SDO 構(gòu)成,其

40、時(shí)序其實(shí)很簡(jiǎn)單,主要是在SCK 的控制下,兩個(gè)雙向移位寄存器進(jìn)行數(shù)據(jù)交換。 上升沿發(fā)送、下降沿接收、高位先發(fā)送。 上升沿到來的時(shí)候,SDO上的電平將被發(fā)送到從設(shè)備的寄存器中。下降沿到來的時(shí)候,SDI上的電平將被接收到主設(shè)備的寄存器中。 </p><p>  5.3.3 NRF24L01時(shí)序</p><p>  如圖7和如圖8所示分別是讀操作和寫操作</p><p>

41、;<b>  圖7讀操作</b></p><p><b>  圖8寫操作</b></p><p><b>  5.4串口模塊電路</b></p><p>  5.4.1 串口芯片MAX232[12]</p><p>  MAX232是美信公司專門為電腦的RS232標(biāo)準(zhǔn)串口設(shè)計(jì)的

42、單電源電平轉(zhuǎn)換芯片,使用+5V單電源供電。片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V- 。功耗低,典型供電電流5mA, 內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器,內(nèi)部集成兩個(gè)RS-232C接收器。MAX232引腳圖如圖9所示。</p><p>  圖9 MAX232引腳圖</p><p>  5.4.2 串口電路</p><p>  MAX

43、IM公司的MAX232接收/發(fā)送器是MAXIM公司特別為滿足EIA/TEA2232的標(biāo)準(zhǔn)而設(shè)計(jì)的,它們具有功耗低,工作電源為單電源,外接電容僅為0.1uF或1uF的電容,其價(jià)格低,可在一般需要串行通信的系統(tǒng)中使用。MAX232引腳C1+與C1-、C2+與C2-、V+與VCC、V-與GND之間的4個(gè)0.1uF的電容不可缺少,一般選用陶瓷介質(zhì)的電容。</p><p>  MAX232可以用作單片機(jī)和單片機(jī)之間、單片機(jī)

44、和PC機(jī)串口之間的符合RS232串行接口電路。只要將待進(jìn)行串行傳輸?shù)脑O(shè)備的發(fā)送和接收端相應(yīng)的接上,編程即可。MAX232電路圖如圖10所示。</p><p>  圖10 MAX232電路圖</p><p><b>  5.5電源模塊電路</b></p><p>  5.5.1 正5V電源模塊</p><p>  選擇78

45、05穩(wěn)壓芯片制作5V電源。如圖11所示為電源模塊圖。</p><p><b>  圖11電源模塊圖</b></p><p>  5.5.2 LM317穩(wěn)壓模塊</p><p>  LM317 [13]是美國(guó)國(guó)家半導(dǎo)體公司的三端可調(diào)正穩(wěn)壓器集成電路。LM317 的輸出電壓范圍是1.2V至37V,負(fù)載電流最大為1.5A。它的使用非常簡(jiǎn)單,僅需兩個(gè)外

46、接電阻來設(shè)置輸出電壓。此外它的線性調(diào)整率和負(fù)載調(diào)整率也比標(biāo)準(zhǔn)的固定穩(wěn)壓器好。LM317 內(nèi)置有過載保護(hù)、安全區(qū)保護(hù)等多種保護(hù)電路??烧{(diào)整輸出電壓低到1.2V。保證1.5A 輸出電流。典型線性調(diào)整率0.01%。典型負(fù)載調(diào)整率0.1%。80dB 紋波抑制比。輸出短路保護(hù)。過流、過熱保護(hù)。調(diào)整管安全工作區(qū)保護(hù)。標(biāo)準(zhǔn)三端晶體管封裝。其封裝形式如圖12所示,LM317可調(diào)電源電路圖如圖13所示。</p><p>  圖12

47、 LM317封裝圖</p><p>  圖13 LM317可調(diào)電源模塊圖</p><p><b>  6 軟件程序設(shè)計(jì)</b></p><p>  6.1單片機(jī)程序設(shè)計(jì)</p><p>  軟件設(shè)計(jì)思想:采用模塊化的分層次設(shè)計(jì)方法,將軟件系統(tǒng)功能由多個(gè)實(shí)現(xiàn)單一功能的子程序?qū)崿F(xiàn)。通過調(diào)用不同的子程序,實(shí)現(xiàn)了復(fù)雜功能控制。這

48、樣便于調(diào)試、修改和移植。</p><p>  由于本設(shè)計(jì)采用單片機(jī)控制,軟件設(shè)計(jì)程序編寫是用C語言來完成。其中主程序部分主要完成調(diào)用子程序。系統(tǒng)的初始化,中斷方式的設(shè)置,開中斷,存儲(chǔ)單元的清零等,數(shù)碼管的顯示,無線模塊發(fā)送,延時(shí)等均由相應(yīng)的子程序來完成。軟件編程是實(shí)現(xiàn)多功能、智能化、操作方便的關(guān)鍵。在本設(shè)計(jì)中,可以把子程序的各部分相互結(jié)合起來,達(dá)到設(shè)計(jì)所要求各項(xiàng)的功能。</p><p> 

49、?。?)主程序1主要完成定時(shí)器0初始化功能,無線模塊初始化,LED顯示的初始化,發(fā)送心率等。程序流程圖如圖14所示</p><p> ?。?)定時(shí)器0中斷服務(wù)程序設(shè)計(jì)。定時(shí)器0完成計(jì)時(shí)功能,定時(shí)50ms,進(jìn)行定時(shí)中斷計(jì)數(shù)并每隔5s更新一次顯示數(shù)據(jù)。程序流程圖如圖15所示</p><p>  (3)無線模塊發(fā)送初始化程序主要是完成無線模塊發(fā)送的初始化是無線模塊工作在發(fā)送模式。流程圖如圖16所

50、示</p><p>  (4)外部中斷0程序主要是完成計(jì)數(shù)功能,流程圖如圖17所示</p><p> ?。?)主程序2主要完初始化無線模塊,初始化串口,啟動(dòng)無線接收模式,接收心率和串口發(fā)送心率程序流程圖如圖18所示</p><p> ?。?)無線模塊接收初始化程序主要是完成無線模塊接收的初始化使無線模塊處于接收模式。流程圖如圖19所示</p><

51、p>  6.2上位機(jī)程序設(shè)計(jì)</p><p>  上位機(jī)軟件的編寫采用的是目前工業(yè)控制中使用較多的Labview[14]軟件進(jìn)行編寫的。該上位機(jī)設(shè)計(jì)能對(duì)串口接收到的心率值進(jìn)行顯示和保存。上位機(jī)的顯示界面如圖20所示。</p><p><b>  圖20上位機(jī)界面圖</b></p><p>  6.2.1 VISA配置串口</p>

52、;<p>  首先需要調(diào)用VISA Configure Serial Port完成串口參數(shù)的設(shè)置,包括串口資源分配、波特率、數(shù)據(jù)位、停止位、校驗(yàn)位和流控等等。VISA Configure Serial Port各參數(shù)意義如圖21所示。</p><p><b>  圖21 串口配置圖</b></p><

53、;p>  6.2.2讀串口數(shù)據(jù)</p><p>  讀取串口收到的數(shù)據(jù)四個(gè)為一組如果收到的數(shù)據(jù)的第一字節(jié)不為49,第四字節(jié)不為52則舍棄該數(shù)據(jù)。程序圖如圖22所示。</p><p>  圖22 讀串口數(shù)據(jù)程序圖</p><p><b>  6.2.3心率測(cè)量</b></p><p>  將數(shù)據(jù)的第二字節(jié)放大100倍

54、加上第三字節(jié)數(shù)據(jù)通過波形圖進(jìn)行心率值的顯示,如圖23所示。</p><p>  圖23波形顯示程序圖</p><p>  6.2.4 Excel文件生成程序</p><p>  要將從串口接收到的數(shù)據(jù)保存到Excel中需要?jiǎng)?chuàng)建和打開Excel,程序圖如圖24所示。</p><p>  圖24 Excel文件生成程序圖</p>

55、<p>  6.2.5心率值保存程序</p><p>  在生成的Excel中將每秒的心率值進(jìn)行保存,方便歷史數(shù)據(jù)的使用和查閱。程序如圖25所示。</p><p>  圖25心率值保存程序圖</p><p><b>  7 程序仿真</b></p><p>  仿真主要包括心率信號(hào)的測(cè)量、顯示和無線模塊SPI協(xié)

56、議時(shí)序仿真,串口發(fā)送仿真。</p><p>  7.1心率信號(hào)的測(cè)量與顯示仿真</p><p>  將發(fā)送部分的程序生成的Hex文件燒錄到單片機(jī)中,然后在外部中斷0口輸入一個(gè)頻率為100Hz的方波信號(hào),進(jìn)行仿真,得到的結(jié)果如圖26所示。</p><p>  圖26心率信號(hào)的測(cè)量、顯示仿真圖</p><p>  7.2單片機(jī)模擬SPI協(xié)議時(shí)序仿

57、真</p><p>  為了驗(yàn)證單片機(jī)產(chǎn)生的SPI信號(hào)的正確性,將模擬口的信號(hào)全部用Proteus的Digital Analysis進(jìn)行觀察。當(dāng)CE片選信號(hào)使能的情況下控制信號(hào)才有效。一個(gè)字節(jié)的數(shù)據(jù)在8個(gè)SCK信號(hào)周期下發(fā)送完成。與實(shí)際的SPI協(xié)議一致。</p><p>  圖27 單片機(jī)模擬SPI協(xié)議時(shí)序仿真</p><p><b>  7.3串口發(fā)送仿

58、真</b></p><p>  將接收端的程序生成的Hex文件添加到單片機(jī)中,觀察接收端發(fā)送出來的數(shù)據(jù)。因?yàn)槲以O(shè)置的是接收端數(shù)據(jù)一開始為31 00 00 34 所以在Virtual Terminal中顯示的為1 4,其之間的0不能進(jìn)行顯示。仿真圖形如圖28所示。</p><p>  圖28 串口發(fā)送仿真圖</p><p>  8設(shè)計(jì)系統(tǒng)的調(diào)試結(jié)果與數(shù)據(jù)分

59、析</p><p>  將接收端和發(fā)送端的程序分別燒錄進(jìn)兩個(gè)單片機(jī),將電路按設(shè)計(jì)原理圖接好,由于HK-2000A傳感器沒有買回來,所以頻率發(fā)生器來模擬心率信號(hào),將所有的東西連接好后啟動(dòng)電源和上位機(jī)界面,上位機(jī)的界面對(duì)心率值進(jìn)行顯示。如圖29所示。</p><p>  根據(jù)測(cè)試結(jié)果,采用NRF24L01的無線心率測(cè)量系統(tǒng)在有障礙物(寢室)能達(dá)到的距離為15米左右,在空曠的地方能傳輸?shù)木嚯x為6

60、5米左右。心率計(jì)能夠在前端對(duì)數(shù)據(jù)進(jìn)行顯示,并且可以將數(shù)據(jù)發(fā)送到上位機(jī)進(jìn)行顯示和保存。由于傳感器模塊為集成的,是整形后的,輸出直接為方波信號(hào),所以沒有進(jìn)行測(cè)試。心率測(cè)量的測(cè)量誤差沒有測(cè)量。</p><p>  圖29 上位機(jī)界面圖</p><p><b>  9 結(jié)束語</b></p><p>  這次畢業(yè)設(shè)計(jì)過程中綜合了所學(xué)的數(shù)字電路,模擬電路

61、,單片機(jī),C語言對(duì)單片機(jī)編程,對(duì)大學(xué)所學(xué)的知識(shí)起了一個(gè)很好的鞏固作用,同時(shí)也應(yīng)用到了Protell 99軟件畫圖和ISIS Profressional軟件仿真,仿真的結(jié)果還比較的準(zhǔn)確,但是實(shí)物卻沒有完全實(shí)現(xiàn)功能。這此過程中認(rèn)識(shí)到自己的知識(shí)面太狹小,也許是自己制作的實(shí)品太少了,對(duì)一些芯片的了解甚少,今后在工作中一定要補(bǔ)充這塊。同時(shí)也認(rèn)識(shí)到理論和實(shí)踐的差別,通過實(shí)際制作更能了解到一些模塊電路和芯片的功能,特別是檢查電路時(shí),讓自己對(duì)電路有更深

62、的了解。</p><p>  撰寫論文時(shí),也讓自己認(rèn)識(shí)到做每件事都應(yīng)認(rèn)真對(duì)待,要規(guī)范、嚴(yán)謹(jǐn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [2] 呂虎 華萍.探索人體奧秘.科學(xué)出版社,2008:118-132.</p><p>  [3] 包旭鶴.便攜式電子血壓計(jì)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,

63、(8):7-9.</p><p>  [4] 王家慶.脈搏信號(hào)處理方法研究與脈搏測(cè)量系統(tǒng)設(shè)計(jì)[D].北京工業(yè)大學(xué)碩士學(xué)位論文,2006:1—2.</p><p>  [5] 羅志昌,張松,楊益民.脈搏波的工程分析與臨床應(yīng)用[M].北京:科學(xué)出版社,2006:1-2,105一106,108—109.</p><p>  [6] 姜斌 宋蜇存 于鵬.脈象傳感器的發(fā)展概況

64、[J].科技資訊,2007,(5):22.</p><p>  [7] HK-2000系列集成化脈搏傳感器[EB/OL].合肥華科電子技術(shù)研究所,2004.</p><p>  [11] 周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程.北京航空航天大學(xué)出版社.2008:237-248</p><p>  [13] 王港元.電工電子實(shí)踐指導(dǎo)[M].江西科學(xué)技術(shù)出版社,2005<

65、;/p><p>  [14] 劉君華.基于LabVIEW的虛擬儀器設(shè)計(jì)[M].北京:電子工業(yè)出版社,2003</p><p>  [15] Gaey Wendt E,Klaus K W.A new type of hydraulic actuator using electrorheological fluids[J].InternationalJ Modern Physics B,1999(

66、14):2 176. </p><p>  [16] Gary W.Johnson,Richard Jennings. Graphical Programming,2011.</p><p><b>  附錄一:電路圖</b></p><p>  圖30 接收電路電路圖</p><p>  圖31 發(fā)送電路電路圖<

67、/p><p>  附錄二:Labview整體程序圖</p><p>  圖32 Labview程序圖</p><p><b>  附錄三:源程序</b></p><p><b>  發(fā)送程序</b></p><p>  #include <reg52.h></p

68、><p>  #include <intrins.h></p><p>  typedef unsigned char uchar;</p><p>  typedef unsigned char uint;</p><p>  int a,second,number,speed;</p><p>  int

69、ge,shi,bai;</p><p>  //*********************IO端口定義*************************</p><p>  sbit MISO=P1^2;</p><p>  sbit MOSI=P1^4;</p><p>  sbitSCK =P1^6;</p>

70、<p>  sbitCE =P1^5;</p><p>  sbitCSN=P1^7;</p><p>  sbitIRQ=P1^3;</p><p>  //*************************待發(fā)送數(shù)據(jù)********************</p><p>  uchar TxBuf[4

71、]=</p><p><b>  {</b></p><p>  0x01,0x21,0x00,0x00</p><p><b>  };</b></p><p>  unsigned char code temp[]={0x3f,0x06,0x5b,0x4f,//數(shù)碼管代碼</p>

72、<p>  0x66,0x6d,0x7d ,0x07,</p><p>  0x7f,0x6f};</p><p>  //******************************NRF24L01**********************</p><p>  #define TX_ADR_WIDTH 5 // 5 uints TX a

73、ddress width</p><p>  #define RX_ADR_WIDTH 5 // 5 uints RX address width</p><p>  #define TX_PLOAD_WIDTH 4 // 20 uints TX payload</p><p>  #define RX_PLOAD_WIDTH 4 // 20

74、 uints TX payload</p><p>  uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01};//本地地址</p><p>  uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01};//接收地址</p><

75、;p>  //***************************************NRF24L01寄存器指令*******************************************************</p><p>  #define READ_REG 0x00 // 讀寄存器指令</p><p>  #define WRITE_REG

76、 0x20 // 寫寄存器指令</p><p>  #define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指令</p><p>  #define WR_TX_PLOAD 0xA0 // 寫待發(fā)數(shù)據(jù)指令</p><p>  #define FLUSH_TX 0xE1 // 沖洗發(fā)送 FIFO指令&l

77、t;/p><p>  #define FLUSH_RX 0xE2 // 沖洗接收 FIFO指令</p><p>  #define REUSE_TX_PL 0xE3 // 定義重復(fù)裝載數(shù)據(jù)指令</p><p>  #define NOP 0xFF // 保留</p><p>  //***

78、**********************************SPI(nRF24L01)寄存器地址****************************************************</p><p>  #define CONFIG 0x00 // 配置收發(fā)狀態(tài),CRC校驗(yàn)?zāi)J揭约笆瞻l(fā)狀態(tài)響應(yīng)方式</p><p>  #define EN_AA

79、 0x01 // 自動(dòng)應(yīng)答功能設(shè)置</p><p>  #define EN_RXADDR 0x02 // 可用信道設(shè)置</p><p>  #define SETUP_AW 0x03 // 收發(fā)地址寬度設(shè)置</p><p>  #define SETUP_RETR 0x04 // 自動(dòng)重發(fā)功能設(shè)置&l

80、t;/p><p>  #define RF_CH 0x05 // 工作頻率設(shè)置</p><p>  #define RF_SETUP 0x06 // 發(fā)射速率、功耗功能設(shè)置</p><p>  #define STATUS 0x07 // 狀態(tài)寄存器</p><p>  #define O

81、BSERVE_TX 0x08 // 發(fā)送監(jiān)測(cè)功能</p><p>  #define CD 0x09 // 地址檢測(cè) </p><p>  #define RX_ADDR_P0 0x0A // 頻道0接收數(shù)據(jù)地址</p><p>  #define RX_ADDR_P1 0x0B /

82、/ 頻道1接收數(shù)據(jù)地址</p><p>  #define RX_ADDR_P2 0x0C // 頻道2接收數(shù)據(jù)地址</p><p>  #define RX_ADDR_P3 0x0D // 頻道3接收數(shù)據(jù)地址</p><p>  #define RX_ADDR_P4 0x0E // 頻道4接收數(shù)據(jù)地址</p>&l

83、t;p>  #define RX_ADDR_P5 0x0F // 頻道5接收數(shù)據(jù)地址</p><p>  #define TX_ADDR 0x10 // 發(fā)送地址寄存器</p><p>  #define RX_PW_P0 0x11 // 接收頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define RX_PW_P1

84、 0x12 // 接收頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define RX_PW_P2 0x13 // 接收頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define RX_PW_P3 0x14 // 接收頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define RX_PW_P4 0x15 // 接收

85、頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define RX_PW_P5 0x16 // 接收頻道0接收數(shù)據(jù)長(zhǎng)度</p><p>  #define FIFO_STATUS 0x17 // FIFO棧入棧出狀態(tài)寄存器設(shè)置</p><p>  //************************************************

86、**********</p><p>  void Delay(unsigned int s);</p><p>  void inerDelay_us(unsigned char n);</p><p>  void init_NRF24L01(void);</p><p>  uint SPI_RW(uint uchar);</p&

87、gt;<p>  uchar SPI_Read(uchar reg);</p><p>  uint SPI_RW_Reg(uchar reg, uchar value);</p><p>  uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars);</p><p>  uint SPI_Writ

88、e_Buf(uchar reg, uchar *pBuf, uchar uchars);</p><p>  unsigned char nRF24L01_RxPacket(unsigned char* rx_buf);</p><p>  void nRF24L01_TxPacket(unsigned char * tx_buf);</p><p><b&g

89、t;  //延時(shí)程序</b></p><p>  void delay(int x)</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  for(j=0;j<x;j++)</p><p>  fo

90、r(i=0;i<10;i++);</p><p><b>  }</b></p><p>  //***************定時(shí)器初始化**************************/</p><p>  void time0_init()</p><p><b>  {</b>&l

91、t;/p><p>  TMOD=0x01;//設(shè)置定時(shí)器0工作模式</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  EA=1; //開總中斷</p><p>  ET0=1;//開T0中斷</p>&l

92、t;p>  IT0=1;// 設(shè)置負(fù)邊沿觸發(fā)</p><p>  EX0=1; // 開外部中斷</p><p>  TR0=1;//啟動(dòng)定時(shí)器T0</p><p><b>  number=0;</b></p><p><b>  }</b></p><p><

93、;b>  //顯示程序</b></p><p>  void display()</p><p><b>  { </b></p><p>  bai=speed%1000/100;</p><p>  shi=speed%100/10; </p><p>  ge=speed%

94、10;</p><p><b>  P2=0xdf;</b></p><p>  P0=temp[bai];</p><p>  delay(10);</p><p><b>  P2=0xbf;</b></p><p>  P0=temp[shi];</p>

95、<p>  delay(10);</p><p><b>  P2=0x7f;</b></p><p>  P0=temp[ge];</p><p>  delay(10); </p><p><b>  }</b></p><p>  //************

96、***************************************</p><p>  uint bdata sta; //狀態(tài)標(biāo)志</p><p>  sbitRX_DR=sta^6;</p><p>  sbitTX_DS=sta^5;</p><p>  sbitMAX_RT=sta^4;</p>

97、;<p>  /*******************************************************</p><p><b>  /*延時(shí)函數(shù)</b></p><p>  /****************************************************/</p><p>  vo

98、id inerDelay_us(unsigned char n)</p><p><b>  {</b></p><p>  for(;n>0;n--)</p><p><b>  _nop_();</b></p><p><b>  }</b></p>&

99、lt;p>  //***************************************************</p><p>  /*NRF24L01初始化</p><p>  //***************************************************/</p><p>  void init_NRF24L01(vo

100、id)</p><p><b>  {</b></p><p>  inerDelay_us(100);</p><p>  CE=0; // chip enable</p><p>  CSN=1; // Spi disable </p><p>  SCK=0; // Spi c

101、lock line init high</p><p>  SPI_RW_Reg(FLUSH_TX,0x00);</p><p>  SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 寫本地地址</p><p>  SPI_Write_Buf(WRITE_REG + RX_ADD

102、R_P0, RX_ADDRESS, RX_ADR_WIDTH); // 寫接收端地址</p><p>  SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 頻道0自動(dòng)ACK應(yīng)答允許</p><p>  SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 允許接收地址只有頻道0,如果需要多頻道可以參考Pag

103、e21 </p><p>  SPI_RW_Reg(WRITE_REG + RF_CH, 0); // 設(shè)置信道工作為2.4GHZ,收發(fā)必須一致</p><p>  SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); //設(shè)置接收數(shù)據(jù)長(zhǎng)度,本次設(shè)置為32字節(jié)</p><p>  SPI_RW_Reg

104、(WRITE_REG + RF_SETUP, 0x07); //設(shè)置發(fā)射速率為1MHZ,發(fā)射功率為最大值0dB</p><p>  SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // IRQ收發(fā)完成中斷響應(yīng),16位CRC,主發(fā)送</p><p><b>  }</b></p><p>  /**

105、**************************************************</p><p>  /*函數(shù):uint SPI_RW(uint uchar)</p><p>  /*功能:NRF24L01的SPI寫時(shí)序</p><p>  /*************************************************/&l

106、t;/p><p>  uint SPI_RW(uint uchar)</p><p><b>  {</b></p><p>  uint bit_ctr;</p><p>  for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit</p><p>

107、<b>  {</b></p><p>  MOSI = (uchar & 0x80); // output 'uchar', MSB to MOSI</p><p>  uchar = (uchar << 1); // shift next bit into MSB..</p>&

108、lt;p>  SCK = 1; // Set SCK high..</p><p>  uchar |= MISO; // capture current MISO bit</p><p>  SCK = 0; // ..then set SCK low again</p>&l

109、t;p><b>  }</b></p><p>  return(uchar); // return read uchar</p><p><b>  }</b></p><p>  /****************************************************

110、******/</p><p>  /*功能:NRF24L01讀寫寄存器函數(shù)</p><p>  /***********************************************************/</p><p>  uint SPI_RW_Reg(uchar reg, uchar value)</p><p><

111、;b>  {</b></p><p>  uint status;</p><p>  CSN = 0; // CSN low, init SPI transaction</p><p>  status = SPI_RW(reg); // select register</p><

112、p>  SPI_RW(value); // ..and write value to it..</p><p>  CSN = 1; // CSN high again</p><p>  return(status); // return nRF24L01 status uchar</p>

113、<p><b>  }</b></p><p>  /**********************************************************</p><p>  /*函數(shù):uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)</p><p>

114、  /*功能: 用于寫數(shù)據(jù):為寄存器地址,pBuf:為待寫入數(shù)據(jù)地址,uchars:寫入數(shù)據(jù)的個(gè)數(shù)</p><p>  /****************************************************/</p><p>  uint SPI_Write_Buf(uchar reg, uchar *pBuf, uchar uchars)</p><

115、;p><b>  {</b></p><p>  uint status,uchar_ctr;</p><p>  CSN = 0; //SPI使能 </p><p>  status = SPI_RW(reg); </p><p>  for(uchar_ctr=0; uch

116、ar_ctr<uchars; uchar_ctr++) //</p><p>  SPI_RW(*pBuf++);</p><p>  CSN = 1; //關(guān)閉SPI</p><p>  return(status); // </p><p><b>  }</b></p>

117、<p>  /************************************************************</p><p>  /*函數(shù):void nRF24L01_TxPacket(unsigned char * tx_buf)</p><p>  /*功能:發(fā)送 tx_buf中數(shù)據(jù)</p><p>  /*********

118、**********************************************/</p><p>  void nRF24L01_TxPacket(unsigned char * tx_buf)</p><p><b>  {</b></p><p>  CE=0;//StandBy I模式</p><

119、p>  SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 裝載接收端地址</p><p>  SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // 裝載數(shù)據(jù)</p><p>  //SPI_RW_Reg(WRITE_REG + CO

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論