基于NRF905遠(yuǎn)程溫度監(jiān)控系統(tǒng)_第1頁(yè)
基于NRF905遠(yuǎn)程溫度監(jiān)控系統(tǒng)_第2頁(yè)
基于NRF905遠(yuǎn)程溫度監(jiān)控系統(tǒng)_第3頁(yè)
基于NRF905遠(yuǎn)程溫度監(jiān)控系統(tǒng)_第4頁(yè)
基于NRF905遠(yuǎn)程溫度監(jiān)控系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩107頁(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、南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文)摘要本論文以STC89C52單片機(jī)為核心,給出了一種無(wú)線溫度監(jiān)控系統(tǒng)的硬件和軟件的設(shè)計(jì)。該系統(tǒng)由STC89C52,無(wú)線收發(fā)模塊nRF905,時(shí)間芯片DS1302,DS18B20溫度傳感器,LCD12864液晶顯示器等組成。該系統(tǒng)通過(guò)STC89C52控制,由DS18B20采集溫度數(shù)據(jù),DS1302提供時(shí)間,在LCD12864上顯示時(shí)間溫度等信息并通過(guò)NRF905進(jìn)行無(wú)線收發(fā),以達(dá)到遠(yuǎn)程監(jiān)控的目的。該系統(tǒng)具有準(zhǔn)確度高、實(shí)時(shí)性好、功耗小、操作方便等優(yōu)點(diǎn)。 關(guān)鍵詞:無(wú)線傳輸;溫度監(jiān)控;STC89C52單片機(jī);無(wú)線收發(fā)模塊nRF905Abstract STC89C52

2、single-chip microcomputer as the core, this paper presents a wireless temperature monitoring system hardware and software design. The system consists of STC89C52, wireless transceiver modules nRF905, time chip DS1302, DS18B20 temperature sensor, LCD12864 LCD, etc. The system is controlled by STC89C5

3、2, temperature data acquisition by DS18B20, DS1302 provides time, display time and temperature and other information and wireless transceiver based on NRF905 in LCD12864, in order to achieve the purpose of remote monitoring. The system has high accuracy and good real-time performance, low consumptio

4、n, convenient operation, etc. Key words: Wireless transmission; temperature measurement; STC89C52 Single-chip microcomputer; wireless transceiver module nRF905 目錄第一章 緒論51.1 前言51.2 選題背景與意義51.3系統(tǒng)總體設(shè)計(jì)61.4主要章節(jié)安排6第二章 系統(tǒng)硬件框架82.1 硬件系統(tǒng)電路82.2硬件電路及工作原理9 2.2.1 主控器件STC89C529 2.2.2 LCD1286411 2.2.3 DS18B20溫度傳感器1

5、3 2.2.4 NRF905射頻模塊16 2.2.5 時(shí)鐘芯片DS130220 2.2.6 報(bào)警器22 2.2.7 獨(dú)立鍵盤23第三章 軟件總體設(shè)計(jì)及各模塊部分程序詳細(xì)介紹263.1 設(shè)計(jì)總思路26 3.2 各模塊軟件部分的設(shè)計(jì)原理26 3.2.1主程序模塊26 3.2.2功能實(shí)現(xiàn)模塊39 (1)溫度采集模塊程序設(shè)計(jì)29 (2)日期模塊程序設(shè)計(jì)34 (3)液晶顯示模塊程序設(shè)計(jì)37 (4)預(yù)警溫度及時(shí)間的設(shè)定程序39 (5)報(bào)警程序設(shè)計(jì)44 (6)無(wú)線收發(fā)模塊程序設(shè)計(jì)45第四章 系統(tǒng)的調(diào)試48 4.1 KEIL軟件開發(fā)48 4.2 軟件調(diào)試49 4.2.1軟件調(diào)試環(huán)境49 4.2.2軟件調(diào)試過(guò)程

6、49 4.3 制板及調(diào)試51 4.4 調(diào)試中遇到的問題及解決的方法51第五章 總結(jié)與展望53致謝54 參考文獻(xiàn):55附錄A:56附錄B:57附錄C:58附錄D:60 第一章 緒論1.1 前言遠(yuǎn)程溫度監(jiān)控系統(tǒng)在工業(yè)和農(nóng)業(yè)生產(chǎn),科學(xué)研究和人們的生活領(lǐng)域中得到了廣泛的應(yīng)用,工業(yè)生產(chǎn)過(guò)程中,很多時(shí)候都需要對(duì)溫度進(jìn)行嚴(yán)格的監(jiān)控以使得生產(chǎn)能夠順利進(jìn)行,使用自動(dòng)化溫度控制系統(tǒng);可以對(duì)生產(chǎn)環(huán)境的溫度進(jìn)行自動(dòng)控制保證生產(chǎn)的自動(dòng)化智能化能夠順利安全進(jìn)行,從而提高企業(yè)的安全效率.溫度對(duì)于工農(nóng)業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。傳感器主要經(jīng)歷了三個(gè)發(fā)展階段:模擬集成溫度傳感器、模擬集成溫度控制器、智能溫度傳感器。

7、進(jìn)入新世紀(jì)后,溫度傳感器的發(fā)展趨勢(shì)迅速,溫度傳感器的精度越來(lái)越高,功能越來(lái)越強(qiáng)大。隨著單片機(jī)技術(shù)的飛速發(fā)展,通過(guò)單片機(jī)對(duì)被控對(duì)象進(jìn)行控制成為今后自動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方向。采用51單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量;隨著無(wú)線通信技術(shù)的快速發(fā)展,其遠(yuǎn)程溫度檢測(cè)技術(shù)也在不斷地提高。系統(tǒng)中采用DS18B20作為高精度溫度傳感器,采用了無(wú)線收發(fā)芯片nRF905 ,其發(fā)射功率為10 dBm,使用立柱型天線, 發(fā)射速率50 Kbps,外置433MHz天線,空曠通訊距離可達(dá)300米左右,抗干擾能力較強(qiáng)

8、,可以有效地實(shí)現(xiàn)各種場(chǎng)合溫度的直接測(cè)量,并進(jìn)行溫度傳輸。 1.2 選題背景與意義遠(yuǎn)程溫度控制廣泛應(yīng)用于人們的生產(chǎn)和生活中,人們使用溫度計(jì)來(lái)采集溫度,通過(guò)人工操作加熱、通風(fēng)和降溫設(shè)備來(lái)控制溫度,這樣不但控制精度低、實(shí)時(shí)性差,而且操作人員的勞動(dòng)強(qiáng)度大。即使有些用戶采用半導(dǎo)體二極管作溫度傳感器,但由于其互換性差,效果也不理想。在某些行業(yè)中對(duì)溫度的要求較高,由于工作環(huán)境溫度不合理而引發(fā)的事故時(shí)有發(fā)生。對(duì)工業(yè)生產(chǎn)可靠進(jìn)行造成影響,甚至操作人員的安全。為了避免這些缺點(diǎn),需要在某些特定的環(huán)境里安裝數(shù)字溫度測(cè)量及控制設(shè)備。本設(shè)計(jì)由于采用了新型單片機(jī)對(duì)溫度進(jìn)行控制,以其測(cè)量精度高,操作簡(jiǎn)單??蛇\(yùn)行性強(qiáng),價(jià)格低廉

9、等優(yōu)點(diǎn),特別適用于生活,醫(yī)療,工業(yè)生產(chǎn)等方面的溫度測(cè)量及控制。 遠(yuǎn)程溫度監(jiān)控在日常生活中有著廣泛的用途, 此次的溫度監(jiān)測(cè)器基于此而設(shè)計(jì), 它的最大的優(yōu)點(diǎn)在于可以測(cè)量顯示當(dāng)前溫度,并通過(guò)無(wú)線收發(fā)裝置nRF905將溫度發(fā)送給主機(jī),將當(dāng)前溫度與預(yù)置溫度進(jìn)行比較,當(dāng)當(dāng)前溫度超過(guò)預(yù)置溫度時(shí)發(fā)出報(bào)警, 實(shí)現(xiàn)對(duì)實(shí)時(shí)溫度進(jìn)行監(jiān)測(cè)、整理和分析的目的。由于該系統(tǒng)設(shè)計(jì)合理,采用低功耗報(bào)警器僅需占用少量資源即可進(jìn)行高精度的溫度測(cè)量。操作方便,性能穩(wěn)定,合理的使用編譯軟件,可以快速的獲取采集數(shù)據(jù),在實(shí)際的使用中獲得了理想的效果。在遠(yuǎn)程溫度監(jiān)控上,形成了一套完整的控制方案,可以移植應(yīng)用于設(shè)備恒溫、屋內(nèi)暖氣,工業(yè)和農(nóng)業(yè)等許

10、多方面。1.3系統(tǒng)總體設(shè)計(jì)設(shè)計(jì)的內(nèi)容是遠(yuǎn)程溫度監(jiān)控系統(tǒng)的發(fā)送和接收部分。整個(gè)系統(tǒng)分為軟件和硬件兩個(gè)部份,在硬件的基礎(chǔ)上完成軟件的設(shè)計(jì),設(shè)計(jì)的要求如下。(1) 完成系統(tǒng)硬件和軟件總體設(shè)計(jì)。(2) 完成無(wú)線發(fā)送端nRF905軟件設(shè)計(jì)。(3) 完成LCD驅(qū)動(dòng)子程序設(shè)計(jì)。(4) 完成DS18B20溫度采集子程序設(shè)計(jì)。(5) 完成C51單片機(jī)主程序設(shè)計(jì)。(6) 實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)控的過(guò)程演示。1.4主要章節(jié)安排第一章 緒論第二章 系統(tǒng)的發(fā)送端和接收端硬件設(shè)計(jì)框架, 主要介紹下硬件部分的元器件的性能。第三章 軟件的總體設(shè)計(jì),及各個(gè)子程序的軟件流程圖。第四章 部分程序的詳細(xì)介紹,把各個(gè)模塊的程序設(shè)計(jì)中比較重要的

11、程序拿出來(lái)加以分析。第五章 系統(tǒng)的調(diào)試 第六章 總結(jié)與展望 第二章 系統(tǒng)硬件框架2.1 硬件系統(tǒng)電路發(fā)送端由溫度傳感器DS18B20,時(shí)鐘DS1302,STC89S52單片機(jī),nRF905無(wú)線射頻模塊,LCD12864液晶顯示屏,蜂鳴器組成。 MCU處理器STC89C52溫度傳感器 DS18B20 時(shí)鐘芯片 DS1302 可調(diào) 按鍵 LCD12864 顯示屏蜂鳴器報(bào)警 模塊NRF905無(wú)線 射頻模塊 圖1 發(fā)送端系統(tǒng)設(shè)計(jì)框圖發(fā)送端由溫度傳感器DS18B20,時(shí)鐘DS1302,STC89S52單片機(jī),nRF905無(wú)線射頻模塊,LCD12864液晶顯示屏,蜂鳴器組成。MCU處理器STC89C52

12、可調(diào) 按鍵 LCD12864 顯示屏蜂鳴器報(bào)警 模塊NRF905無(wú)線 射頻模塊 圖2 接收端系統(tǒng)設(shè)計(jì)框圖 其主要實(shí)現(xiàn)的以下的功能:(1) DS1302時(shí)間模塊:DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘功能準(zhǔn)確提供:年、月、日、星期、時(shí)、分、秒。(2) LCD12864液晶顯示模塊:將采集到的時(shí)間溫度等信息12864液晶上顯示。(3) DS18B20溫度的采集模塊:通過(guò)DS18B20數(shù)字溫度傳感器實(shí)現(xiàn)溫度的采集。(4) 鍵控模塊:S1復(fù)位鍵;S2加1鍵;S3光標(biāo)選擇鍵;S4確認(rèn)鍵。(5) 無(wú)線收發(fā)模塊:將采集到的溫度、時(shí)鐘等信息通過(guò)NRF905進(jìn)行收發(fā)。(6) 報(bào)警模塊:當(dāng)出現(xiàn)異常狀況時(shí)系統(tǒng)報(bào)警,硬件設(shè)計(jì)是

13、通過(guò)三極管的放大作用來(lái)驅(qū)動(dòng)蜂鳴器。2.2硬件電路及工作原理硬件電路主要有主控器件STC89C51、時(shí)鐘芯片DS1302、液晶顯示LCD12864、蜂鳴器,繼電器電路,無(wú)線收發(fā)芯片NRF905等構(gòu)成,以下就詳細(xì)介紹這些元器件。 2.2.1 單片機(jī)STC89C52RCSTC89C52RC是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和512 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元及2K字節(jié)EEPROM存儲(chǔ)空間。(1)主要功能特性:l  兼容MCS51指令系

14、統(tǒng);l  8k可反復(fù)擦寫Flash ROM;l  32個(gè)雙向I/O口;l  512x8bit內(nèi)部RAM;l  3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;l  時(shí)鐘頻率0-24MHz;l  2個(gè)串行中斷,可編程UART串行通道;l  2個(gè)外部中斷源,共8個(gè)中斷源;l  2個(gè)讀寫中斷口線,3級(jí)加密位;l  低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;(2) 主要管腳有: l  18腳: 通用I/O接口p1.0p1.7;l  9腳: rst復(fù)位鍵;l  10 .11:RXD 串

15、口輸入TXD串口輸出;1219:I/O p3接口 l  12,13腳 INT0中斷0 ,INT1中斷1; l  14,15腳: 計(jì)數(shù)脈沖T0 T1 l  16,17腳: WR寫控制 RD讀控制輸出端; l  18,19腳: 晶振諧振器); l  20 腳 地線; l  2128腳 p2 接口 高8位地址總線; l 29腳: psen 片外rom選通端  l  30腳:ALE/PROG 地址鎖存; l  31腳:EA rom取指令控器 高電平片內(nèi)取 低電平片外; l  3239腳:p0.

16、7p0.0 l  40腳:電源+5V。 圖3 STC89C52RC 2.2.2 LCD12864LCD12864是一款具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人圖形界面。可以顯示4行8列32個(gè)漢字,每個(gè)漢字由16×16的點(diǎn)陣組成,也可以通過(guò)點(diǎn)陣來(lái)顯示圖形.12864的另一顯著特點(diǎn)是低電壓低功耗。采用該類型的液晶顯示屏與其他點(diǎn)陣液晶顯示屏相比,

17、能夠顯示更多的圖形和文字,硬件電路和軟件程序也都變得簡(jiǎn)潔多了??紤]到經(jīng)濟(jì)效益,該模塊的價(jià)格和同樣的點(diǎn)陣型液晶模塊相比價(jià)格較低。LCD12864引腳圖如圖所示: 圖4 LCD12864引腳圖(1) 引腳說(shuō)明(具體的引腳功能見表1)1電源地0V(VSS);2電源正5V(VCC);3亮度引腳(VO);4顯示選擇引腳(RS),高電平數(shù)據(jù)模式,低電平指令模式;5讀寫選擇引腳(R/W),高電平讀,低電平寫;6使能引腳(E),高電平使能,下降沿鎖存;7、8、9、10、11、12、13、14三態(tài)數(shù)據(jù)線,15串口方式(PSB);16空腳(NC);17復(fù)位(RESET),低電平復(fù)位;18驅(qū)動(dòng)電壓(VOUT);19

18、 背光電源正5V(A);20背光電源負(fù)0V(K)。管腳號(hào)名稱LEVEL功能1VSS0V電源地2VDD+5V電源正(3.0V-5.5V)3VO-對(duì)比度(亮度)調(diào)整4CSH/L模組片選端,高電平有效5SIDH/L串行數(shù)據(jù)輸入端6CLKH/L串行同步時(shí)鐘:上升沿時(shí)讀取SID數(shù)據(jù)15PSBLL:端口方式17/RESETH/L復(fù)位端19AVDD背光源電壓+5V20KVSS背光源負(fù)端0V 表1 引腳功能圖 (2) 、顯示特性 l 顯示方式:STN、半透、正顯 l 驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS l 視角方向:6點(diǎn) l 背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/51/10 l 通訊方

19、式:串行、并口可選 l 內(nèi)置DC-DC轉(zhuǎn)換電路,無(wú)需外加負(fù)壓 l 無(wú)需片選信號(hào),簡(jiǎn)化軟件設(shè)計(jì) l  l 工作溫度: 0 - +55 ,存儲(chǔ)溫度: -20 - +60 l 低電源電壓(VDD:+3.0-+5.5V) l 顯示分辨率:128×64點(diǎn) l 內(nèi)置漢字字庫(kù),提供8192個(gè)16×16點(diǎn)陣漢字 l 內(nèi)置 128個(gè)16×8點(diǎn)陣字符 l 2MHZ時(shí)鐘頻率 2.2.3 DS18B20溫度傳感器美國(guó)DALLAS公司推出DS18B20是智能化數(shù)字式溫度傳感器,所有的轉(zhuǎn)換電路和傳感組件在一個(gè)很小的三極管的集成電路中。送入DSl8B20的信息和從DSl8B

20、20送出的信息都是通過(guò)單總線接口完成的,因此單片機(jī)和DSl8B20之間僅需一條數(shù)據(jù)總線的鏈接。可以由數(shù)據(jù)線本身提供讀,寫和完成溫度變換所需的電源,從而無(wú)需提供外部電源。DSl8B20采用“一線總線”的接口,現(xiàn)場(chǎng)測(cè)量的溫度直接通過(guò)“單總線”的方式進(jìn)行傳輸,“單總線”的數(shù)字傳輸方式有助于提高系統(tǒng)的抗干擾的能力。DS18B20 采集溫度范圍為-55+125,在-10+85范圍內(nèi)測(cè)量溫度精度較高,精度為范圍±0.5 圖5 DS18B20連接硬件圖 (1).特征:    l    采用獨(dú)特的單線接口。只需要連接一個(gè)引腳就可以實(shí)現(xiàn)通信l 

21、;   能夠連接多個(gè)傳感器來(lái)測(cè)量分布式溫度,使檢測(cè)變得快捷簡(jiǎn)化l    無(wú)需其他外部組件l   可以實(shí)用用數(shù)據(jù)線來(lái)供電l    不需要備用電源l    用來(lái)測(cè)量從-55+125范圍的溫度,增量值為0.5l    用9位2進(jìn)制數(shù)字方式輸出溫度l    用戶可定義的,不容易丟失數(shù)據(jù)的溫度告警設(shè)置l    告警搜索命令識(shí)別和尋址溫度在編定的極限之外的器件(溫度告警情況)(2).引腳定

22、義: l DQ為數(shù)字信號(hào)輸入/輸出端; l GND為電源地; l VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。(3).內(nèi)部結(jié)構(gòu)DSl8B20內(nèi)部有四個(gè)主要部分: 64位光刻ROM數(shù)據(jù)存儲(chǔ)器 溫度傳感器 非易失性電可擦寫溫度報(bào)警觸發(fā)器TH、TL 非易失性電可擦寫設(shè)置寄存器。除此之外還有告訴緩存存儲(chǔ)器。器件只有3根外部引腳,其中VDD和GND為電源引腳,另一根DQ線則用作O總線,因此稱為一線式數(shù)據(jù)總線。與單片機(jī)接口的每個(gè)IO口可掛接多個(gè)DQVDD圖6 DS18B20內(nèi)部結(jié)構(gòu)(4).DS18B20使用中注意事項(xiàng) DS1820雖然測(cè)量溫度具有高精度,系統(tǒng)設(shè)計(jì)簡(jiǎn)單,采用單總線連接,無(wú)需占用多

23、個(gè)接口等優(yōu)點(diǎn),但在實(shí)際操作中需要注意下列幾個(gè)問題:l 較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820和STC89C52之間采用串行方式傳送數(shù)據(jù),因此,在對(duì)DS1820讀寫程序編寫時(shí),必須嚴(yán)格控制讀寫時(shí)序,否則將不能讀取出測(cè)量的溫度。l 在DS1820的相關(guān)的資料中都沒有提到DS1820在單總線上所掛數(shù)量多少問題,容易造成誤解,認(rèn)為可以在單總線上掛任意許多個(gè)DS1820,然而在實(shí)際操作中中并不是這樣的。在單總線上所掛DS18B20數(shù)量超過(guò)8個(gè)時(shí),就需要解決單片機(jī)的總線驅(qū)動(dòng)問題,在進(jìn)行測(cè)量多點(diǎn)溫度系統(tǒng)設(shè)計(jì)時(shí)尤其要注意這一點(diǎn)。l DS1820對(duì)連接的總線電纜的長(zhǎng)度是有一定限制。當(dāng)傳輸采用

24、普通的信號(hào)電纜時(shí)不能夠太長(zhǎng),如果長(zhǎng)度達(dá)到50m進(jìn)行傳輸,讀取的測(cè)溫?cái)?shù)據(jù)就會(huì)出現(xiàn)錯(cuò)誤。當(dāng)采用雙絞線帶屏蔽電纜時(shí),傳輸距離較長(zhǎng),正常情況下通訊距離能達(dá)到150m,每米絞合次數(shù)越多時(shí),正常情況下通訊距離可以進(jìn)一步加長(zhǎng)。出現(xiàn)這種情況主要是因?yàn)榭偩€分布電容促使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS1820為溫度傳感器的遠(yuǎn)距離溫度監(jiān)控系統(tǒng)設(shè)計(jì)時(shí),總線分布電容和阻抗匹配問題需要得到充分考慮。l 在DS1820測(cè)量溫度程序設(shè)計(jì)中,當(dāng)向DS1820發(fā)出溫度轉(zhuǎn)換命令后,程序總是在等待DS1820的返回信號(hào),只要其中一個(gè)DS1820接觸不良或斷線,當(dāng)程序進(jìn)行讀該DS1820時(shí),將不會(huì)得到到返回信號(hào),該程序就進(jìn)入了死

25、循環(huán)。在對(duì)DS18B20進(jìn)行軟件設(shè)計(jì)和硬件連接時(shí),都必須重視這一點(diǎn)。 2.2.4 nRF905射頻模塊 挪威Nordic公司推出nRF905是單射頻發(fā)射器芯片,工作所需電壓為1.9V-3.6V,它共有32引腳封裝(5×5),工作在433/868/915MHz這3個(gè)頻道。nRF905能夠自動(dòng)完成處理字頭和CRC(循環(huán)冗余校驗(yàn))的工作,徹斯特編/解可以通過(guò)內(nèi)部硬件自動(dòng)完成,使用SPI接口與單片機(jī)通信,配置非常方便,其功耗非常低,以-10dBm的輸出功率發(fā)射時(shí)電流只有11mA,在接收模式時(shí)電流大小為12.5mA。nRF905單無(wú)線收發(fā)器工作由一個(gè)完全集成的頻率調(diào)制器,一個(gè)帶解調(diào)器的接收器,

26、一個(gè)功率放大器,一個(gè)晶體震蕩器和一個(gè)調(diào)節(jié)器組成。ShockBurst工作模式的特點(diǎn)是產(chǎn)生前導(dǎo)和CRC自己完成的,通過(guò)SPI接口來(lái)進(jìn)行編程配置能夠很容易實(shí)現(xiàn)。傳輸前聽的載波檢測(cè)協(xié)議,當(dāng)正確的數(shù)據(jù)包被接收或發(fā)送時(shí)有數(shù)據(jù)準(zhǔn)備就緒信號(hào)輸出,偵測(cè)接收的數(shù)據(jù)包當(dāng)?shù)刂氛_輸出地址匹配信號(hào)。 圖7 nRF905硬件連接圖(1).特征l 433Mhz開放ISM頻段免許可證使用l 最高工作速率50kbps,高效GFSK調(diào)制,抗干擾能力強(qiáng)l 125頻道,滿足多點(diǎn)通信和跳頻通信需要l 內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制l 低功耗1.9-3.6V工作,待機(jī)模式下狀態(tài)僅為2.5uAl 收發(fā)模式切換時(shí)間< 65

27、0usl 電路可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)l TX Mode:在+10dBm情況下,電流為30mA;RXMode:12.2mAl 標(biāo)準(zhǔn)DIP間距接口,便于嵌入式應(yīng)用(2).接口電路引腳說(shuō)明表3.1為基于nRF905的無(wú)線收發(fā)電路的引腳定義:l VCC腳接電壓范圍為3.3V3.6V之間,超過(guò)3.6V將會(huì)燒毀模塊。推薦電壓3.3V。l 除電源VCC和接地端,其余腳都可以直接和5V單片機(jī)IO口直接相連。l 硬件上面沒有SPI的單片機(jī)也可以控制本模塊,用普通單片機(jī)IO口模擬SPI不需要單片機(jī)SPI模塊介入,只需添加代碼模擬SPI時(shí)序即可。l 13腳、14腳為接地腳,需要和母板的邏輯地連

28、接起來(lái)l 與51系列單片機(jī)P0口連接時(shí)候,需要加10K的上拉電阻,與其余口連接不需要。圖8 NRF905引腳圖 管腳名稱管腳功能說(shuō)明1VCC電源電源+3.33.6V DC2TX_EN數(shù)字輸入TX_EN= 1 TX 模式 TX_EN= 0 RX 模式3TRX_CE數(shù)字輸入使能芯片發(fā)射或接收4PWR_UP數(shù)字輸入芯片上電5uCLK時(shí)鐘輸出本模塊該腳廢棄不用,向后兼容6CD數(shù)字輸出載波檢測(cè)7AM數(shù)字輸出地址匹配8DR數(shù)字輸出接收或發(fā)射數(shù)據(jù)完成9MISOSPI 接口SPI 輸出10MOSISPI 接口SPI 輸入11SCKSPI 時(shí)鐘SPI 時(shí)鐘12CSNSPI 使能SPI 使能13GND地接地14G

29、ND地接地 表2 無(wú)線收發(fā)電路的引腳定義(3).模塊引腳和電氣參數(shù)表3.2為基于nRF905的無(wú)線收發(fā)電路的性能參考數(shù)據(jù)參數(shù)數(shù)值單位最低工作電壓3.0V最大發(fā)射功率10dBm最大數(shù)據(jù)傳輸率曼切斯特編碼50kbps輸出功率為-10 dBm時(shí)工作電流9mA接收模式時(shí)工作電流12.5mA溫度范圍-40 to +85典型靈敏度-100dBmPOWERDOWN 模式時(shí)工作電流2.5uA 表3 nRF905電路性能參考數(shù)據(jù) (4).工作方式NewMsg-RF905一共有四種工作模式,其中有兩種活動(dòng)RX/TX模式和兩種節(jié)電模式?;顒?dòng)模式:ShockBurst RX、ShockBurst TX節(jié)電模式:掉電和

30、SPI編程STANDBY和SPI編程nRF905工作模式由TRX_CE、TX_EN、PWR_UP的設(shè)置來(lái)設(shè)定,具體如表3.3。PWR_UPTRX_CETX_EN工作模式0XX掉電和SPI編程10XStandby和SPI編程110ShockBurst RX111ShockBurst TX 表4 無(wú)線收發(fā)模塊的設(shè)定l ShockBurst模式:ShockBurstTM收發(fā)模式下,使用片內(nèi)的先入先出堆棧區(qū),數(shù)據(jù)低速?gòu)奈⒖刂破魉腿敫咚侔l(fā)射,這樣可以盡量節(jié)能,因此也能得到很高的射頻數(shù)據(jù)發(fā)射速率。與射頻協(xié)議相關(guān)的所有高速信號(hào)處理都在片內(nèi)進(jìn)行,這樣做的好處:盡量節(jié)能;低系統(tǒng)費(fèi)用(低速微處理器也能進(jìn)行高速射頻

31、發(fā)射);數(shù)據(jù)在空中停留時(shí)間短,抗干擾性高。ShockBurstTM技術(shù)同時(shí)也減小了整個(gè)系統(tǒng)的平均工作電流。在ShockBurstTM收發(fā)模式下,RF905自動(dòng)處理字頭和CRC校驗(yàn)碼。在接收數(shù)據(jù)時(shí),自動(dòng)把字頭和CRC校驗(yàn)碼移去。在發(fā)送數(shù)據(jù)時(shí),自動(dòng)加上字頭和CRC校驗(yàn)碼,當(dāng)發(fā)送過(guò)程完成后,DR引腳通知微處理器數(shù)據(jù)發(fā)射完畢。ShockBurst TX發(fā)送流程:.當(dāng)微控制器有數(shù)據(jù)要發(fā)送時(shí),通過(guò)SPI接口,按時(shí)序把接收機(jī)的地址和要發(fā)送的數(shù)據(jù)送傳給RF905,SPI接口的速率在通信協(xié)議和器件配置時(shí)確定;.微控制器置高TRX_CE和TX_EN,激發(fā)RF905的ShockBurstTM發(fā)送模式;.RF905的

32、ShockBurstTM發(fā)送:a.射頻寄存器自動(dòng)開啟;b.數(shù)據(jù)打包(加字頭和CRC校驗(yàn)碼);c.發(fā)送數(shù)據(jù)包;d.當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好引腳被置高;.AUTO_RETRAN被置高,RF905不斷重發(fā),直到TRX_CE被置低;.當(dāng)TRX_CE被置低,RF905發(fā)送過(guò)程完成,自動(dòng)進(jìn)入空閑模式。注意:ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過(guò)程開始,無(wú)論TRX_EN和TX_EN引腳是高或低,發(fā)送過(guò)程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,RF905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。ShockBurst RX接收流程:.當(dāng)TRX_CE為高、TX_EN為低時(shí),RF905進(jìn)入ShockBurst

33、TM接收模式;.650us后,RF905不斷監(jiān)測(cè),等待接收數(shù)據(jù);.當(dāng)RF905檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高;.當(dāng)接收到一個(gè)相匹配的地址,AM引腳被置高;.數(shù)據(jù)包接收完畢,芯片自動(dòng)移去字頭、地址和CRC校驗(yàn)位,然后DR腳置高.微控制器把TRX_CE置低,nRF905進(jìn)入空閑模式;.微控制器通過(guò)SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi);.當(dāng)所有的數(shù)據(jù)接收完畢,nRF905把DR引腳和AM引腳置低;.nRF905此時(shí)可以進(jìn)入ShockBurstTM接收和發(fā)送模式或關(guān)機(jī)模式。當(dāng)正在接收一個(gè)數(shù)據(jù)包時(shí),TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改變,RF905立即把其工作模式改變,數(shù)據(jù)包則丟失

34、。當(dāng)微處理器接到AM引腳的信號(hào)之后,其就知道RF905正在接收數(shù)據(jù)包,其可以決定是讓RF905繼續(xù)接收該數(shù)據(jù)包還是進(jìn)入另一個(gè)工作模式。l 節(jié)能模式:RF905的節(jié)能模式包括關(guān)機(jī)和節(jié)能模式。關(guān)機(jī)模式的工作電流最小一般為2.5uA。進(jìn)入關(guān)機(jī)模式后,配置字中內(nèi)容保持,不接收或發(fā)送數(shù)據(jù)。在空閑模式有利于減小工作電流,內(nèi)部的部分晶體振蕩器處于工作狀態(tài)。其從空閑到發(fā)送或接收模式的啟動(dòng)時(shí)間也比較短。 2.2.5 時(shí)鐘芯片DS1302DS1302 是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘和31個(gè)靜態(tài)RAM,簡(jiǎn)單通過(guò)的串行接口與單片機(jī)進(jìn)行通信,實(shí)時(shí)時(shí)鐘/日歷電路提供秒,分,時(shí),日,日期

35、,月,年的信息,自動(dòng)調(diào)整每月的天數(shù),閏年的天數(shù)也可以通過(guò)自動(dòng)調(diào)整,采用24小時(shí)制還是12小時(shí)制可以通過(guò)AM/PM指示決定,DS1302與單片機(jī)之間能簡(jiǎn)單采用同步串行的方式通信,僅需用到RES復(fù)位,I/O數(shù)據(jù)線,SCLK串行時(shí)鐘3個(gè)口線。對(duì)時(shí)鐘,RAM的讀/寫,可以采用單字節(jié)或者多大31個(gè)字節(jié)的字符組方式。 圖9 DS1302硬件連接圖(1).主要性能指標(biāo):l DS1302具有能計(jì)算2100年之前的秒,分,時(shí),日,日期,月,年的能力,還有閏年調(diào)整能力。l 內(nèi)部含有31個(gè)字節(jié)靜態(tài)RAM,可提供用戶訪問。l 采用串行數(shù)據(jù)傳送方式,簡(jiǎn)單3線接口。l 工作電壓范圍寬:2.05.5V。l 工作電流:2.0

36、V,小于300nA。l 時(shí)鐘或者RAM的數(shù)據(jù)讀寫有兩種傳送方式。l 采用8腳DIP或者SOIC封裝。l 與TTL兼容,Vcc=5V。l 可選用工業(yè)級(jí)溫度范圍:-40+85。l 具有涓流充電能力。l 采用主電源和備用電源雙電源供應(yīng)。l 備用電源可有電池?fù)]著大容量電容實(shí)現(xiàn)。(2).各引腳功能: 圖10 DS1302引腳圖 DS1302引腳說(shuō)明:上圖為DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源;X1和X2是振蕩源,外接32.768kHz晶振;RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送;I/O為串行數(shù)據(jù)輸入輸出端(雙向);SCLK是串行時(shí)鐘,輸入,控制

37、數(shù)據(jù)的輸入與輸出;CE輸出信號(hào),在讀,寫數(shù)據(jù)期間,必須為高。 2.2.6 報(bào)警器本次設(shè)計(jì)中采用了一個(gè)蜂鳴器。其與STC89C52的硬件連接方式如下: 圖11 蜂鳴器硬件連接圖蜂鳴器采用自激式蜂鳴器,只需要直流進(jìn)行驅(qū)動(dòng),蜂鳴器電路采用一個(gè)PNP三極管,在發(fā)射極加一個(gè)5V電源,因?yàn)閱纹瑱C(jī)的IO口驅(qū)動(dòng)能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過(guò)三極管放大驅(qū)動(dòng)電流,單片機(jī)口輸出方波,低電平有效,蜂鳴器就會(huì)發(fā)出聲音,當(dāng)P3.7口輸出高電平時(shí),Q1飽和導(dǎo)通,LS1獲得電工作發(fā)出鳴響,當(dāng)P3.6空輸出低電平時(shí)Q1截止,蜂鳴器失電,停止工作。 2.2.7 獨(dú)立鍵盤獨(dú)立鍵盤與STC89C52的硬件連接如下圖所示:圖1

38、2 獨(dú)立鍵盤硬件連接圖按鍵開關(guān)的抖動(dòng)問題 :組成鍵盤的按鍵有觸點(diǎn)式和非觸點(diǎn)式兩種,單片機(jī)中應(yīng)用的一般是由機(jī)械觸點(diǎn)構(gòu)成的。在下圖中,當(dāng)開關(guān)S5未被按下時(shí),P2.7輸入為高電平,S閉合后,P2.7輸入為低電平。由于按鍵是機(jī)械觸點(diǎn),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),會(huì)有抖動(dòng)。這種抖動(dòng)對(duì)于人來(lái)說(shuō)是感覺不到的,但對(duì)計(jì)算機(jī)來(lái)說(shuō),則是完全可以感應(yīng)到的,因?yàn)橛?jì)算機(jī)處理的速度是在微秒級(jí),而機(jī)械抖動(dòng)的時(shí)間至少是毫秒級(jí),對(duì)計(jì)算機(jī)而言,這已是一個(gè)“漫長(zhǎng)”的時(shí)間了。 為使CPU能正確地讀出P2.7口的狀態(tài),對(duì)每一次按鍵只作一次響應(yīng),就必須考慮如何去除抖動(dòng),常用的去抖動(dòng)的方法有兩種:硬件方法和軟件方法。單片機(jī)中常用軟件法,因此,對(duì)

39、于硬件方法我們不介紹。軟件法其實(shí)很簡(jiǎn)單,就是在單片機(jī)獲得P2.7口為低的信息后,不是立即認(rèn)定S已被按下,而是延時(shí)10毫秒或更長(zhǎng)一些時(shí)間后再次檢測(cè)P2.7口,如果仍為低,說(shuō)明S的確按下了,這實(shí)際上是避開了按鍵按下時(shí)的抖動(dòng)時(shí)間。而在檢測(cè)到按鍵釋放后(P2.7為高)再延時(shí)5-10個(gè)毫秒,消除后沿的抖動(dòng),然后再對(duì)鍵值處理。不過(guò)一般情況下,我們通常不對(duì)按鍵釋放的后沿進(jìn)行處理,實(shí)踐證明,也能滿足一定的要求。當(dāng)然,實(shí)際應(yīng)用中,對(duì)按鍵的要求也是千差萬(wàn)別,要根據(jù)不同的需要來(lái)編制處理程序,但以上是消除鍵抖動(dòng)的原則。 第三章 軟件總體設(shè)計(jì)及各模塊部分程序詳細(xì)介紹3.1 設(shè)計(jì)總思路 在設(shè)計(jì)之前對(duì)程序的結(jié)構(gòu)進(jìn)行了分析,

40、主程序調(diào)用了5個(gè)子程序,分別為:l 鍵盤掃描電路及按鍵處理程序l 溫度信號(hào)采集程序l 時(shí)間顯示程序l 液晶顯示程序l 報(bào)警控制程序l 主程序(包含無(wú)線收發(fā)子程序)同時(shí)軟件部分采用程序模塊化設(shè)計(jì),便于各功能的的調(diào)試和實(shí)現(xiàn)。系統(tǒng)軟件程序主要由主程序、功能實(shí)現(xiàn)2個(gè)部分組成。3.2 各模塊軟件部分的設(shè)計(jì)原理 3.2.1主程序模塊 主程序模塊采用循環(huán)查詢直至斷電退出,以達(dá)到溫度全天候監(jiān)控的目的。主要流程圖如圖所示。顯示報(bào)警溫度寫入NRF控制字 發(fā)送信息顯示當(dāng)前溫度顯示日期時(shí)間 開始初始化LCD屏 清除內(nèi)存顯示歡迎界面外部中斷初始顯示預(yù)置時(shí)間 斷電超出報(bào)警 報(bào)警 結(jié)束是否否是 圖13 發(fā)送板主程序流程圖

41、開始初始化配置寄存器外部中斷初始化 顯示預(yù)置時(shí)間 初始化LCD初始化NRF905 接收信息 斷電超出預(yù)警 顯示時(shí)間日期 實(shí)現(xiàn)預(yù)警溫度 顯示當(dāng)前溫度 報(bào) 警 結(jié) 束是是否 圖14 接收板主程序流程圖 3.2.2功能模塊設(shè)計(jì) l DS18B20溫度的采集模塊 l DS1302時(shí)間模塊 l LCD12864液晶顯示模塊 l 按鍵模塊 l 報(bào)警控制模塊 l 無(wú)線收發(fā)模塊。 (1)溫度采集模塊程序設(shè)計(jì)DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所

42、有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 復(fù)位時(shí)序流程圖如下: 讀命令子程序流程圖如下:延時(shí)最少573us DS置0 DS置1 延時(shí) 等待DS18B20回應(yīng)DQ=0? FLAG1 置1 FLAG1 置0 延 時(shí) DQ置1 DQ置1 返 回DQ=0? FLAG1 置1 DS置1 延 時(shí) FLAG1 置0 返 回 延時(shí) 等待DS18B20回應(yīng)延時(shí)最少573us DS置0 DS置1 DS置1 DS置1 DS置0延時(shí)最少573us DS

43、置1 圖12 復(fù)位子程序流程圖 圖13 讀命令子程序流程圖寫命令子程序流程圖如下: 讀溫度子程序流程圖如下: FLAG1置0DQ=0?延時(shí)最少573us DQ置1 DQ置0 DQ置0 延 時(shí) FLAG1置1 DQ置1 返 回 短延時(shí),等待DS18B20回應(yīng)調(diào)用讀數(shù)據(jù)子程序 DS18B20初始化 跳過(guò)ROM匹配發(fā)送讀溫度命令BEH 返 回FLAG1=1? DQ置1 DS18B20復(fù)位寫入CCH命令逃過(guò)ROM發(fā)送溫度轉(zhuǎn)換命令44H延時(shí)750us以上寫入CCH命令逃過(guò)ROM發(fā)送溫度轉(zhuǎn)換命令44H延時(shí)750us以上 圖14 寫命令子程序流程圖 圖15 讀溫度子程序流程圖溫度采集函數(shù)相關(guān)程序void d

44、sreset(void) /復(fù)位和初始化命令 unsigned int i; DS=0; i=103; while(i>0)i-; DS=1; i=4; while(i>0)i-;bit tmpreadbit(void) /讀一位 unsigned int i; bit dat; DS=0;i+; /時(shí)序要求,滿足一定的延時(shí)要求 DS=1;i+;i+; dat=DS; i=8;while(i>0)i-; return (dat);unsigned char tmpread(void) /讀一個(gè)字節(jié) unsigned char i,j,dat; dat=0; for(i=1;i

45、<=8;i+) j=tmpreadbit(); dat=(j<<7)|(dat>>1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里 return(dat);void tmpwritebyte(unsigned char dat) /往ds18b20里面寫一個(gè)字節(jié) unsigned int i; unsigned char j; bit testb; for(j=1;j<=8;j+) testb=dat&0x01; dat=dat>>1; if(testb) /寫1 DS=0; i+;i+; DS=1; i=8;while(i

46、>0)i-; else DS=0; /寫0 i=8;while(i>0)i-; DS=1; i+;i+; void tmpchange(void) /DS18B20開始裝換 dsreset(); delay(10); tmpwritebyte(0xcc); / address all drivers on bus tmpwritebyte(0x44); / initiates a single temperature conversion/ 溫 度 顯 示 部 分 程 序 /unsigned int tmp() /讀取溫度 float tt; unsigned char a,b;

47、dsreset(); delay(10); tmpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); b=tmpread(); temp=b; temp<<=8; /兩個(gè)字節(jié)組成一個(gè)int型變量 temp=temp|a; tt=temp*0.0625; temp=tt*10+0.5; return temp; (2)日期模塊程序設(shè)計(jì)初始化修改時(shí)間 初始時(shí)間設(shè) 置命令按照新時(shí)間走時(shí)單片機(jī)讀取當(dāng)前時(shí)間溫度 將數(shù)據(jù)送入LCD顯示日歷時(shí)間調(diào)整命令NNY我們給DS1302配備了備用電源的,系統(tǒng)斷電并不會(huì)影響計(jì)時(shí)。但同時(shí)我們用戶也可以根據(jù)需求,或者第一次系統(tǒng)上電時(shí),用戶可設(shè)置初始時(shí)間。在正常走時(shí)過(guò)程中,可通過(guò)按鍵進(jìn)行調(diào)整時(shí)間, 單片機(jī)可以隨時(shí)從時(shí)間芯片中讀取時(shí)間數(shù)據(jù)。 圖16 時(shí)間模塊程序流程圖 時(shí)鐘函數(shù)相關(guān)程序/往DS1302寫入1Byte數(shù)據(jù)void DS1302_InputByte(unsigned char ucDa) unsigned char i;unsigned char temp;temp = ucDa; for(i=8; i>0; i-)T_IO = temp&0x01;T_CLK = 1;T_CLK = 0;temp = temp >>

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論