久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6462|回復: 3
收起左側

景區環境預知系統—主控模塊設計論文

[復制鏈接]
ID:161768 發表于 2017-8-16 03:57 | 顯示全部樓層 |閱讀模式
景區環境預知系統——主控模塊設計

摘要

本文針對現存的景區環境管理問題,結合已有的先進通信技術,完成了景區環境預知系統中主控模塊的設計。課題中采用STM32作為系統的主控芯片,通過串口通信的方式進行數據的發送、接收以及最終在LCD上進行顯示。本文包含軟硬件兩部分設計內容,其中詳細介紹了主控芯片STM32的電路設計,并編程實現了STM32數據的接收、發送以及LCD顯示。本系統充分利用了STM32體積小、低功耗、低成本、處理速度較快等優勢,滿足景區環境參數采集的實時性需求。景區環境預知系統實現了PM2.5、人群密度、煙霧值、雨量和紅外線強度的采集和顯示,便于景區人群密度的控制、環境參數的警示以及安全隱患的提前預判,從而減少人員傷害帶來的諸多損失。實驗表明,本系統能滿足景區環境的預判,并且具備很好的穩定性和實時性,對景區環境和安全有良好的監控和預警作用。
目錄
1  緒論
1.1課題背景            
1.2研究意義            
1.3 景區環境預知系統的國內外發展情況            
1.4 論文的內容和組織結構            
2  整體的方案設計
2.1系統設計原則            
2.2 系統總體設計方案            
2.3 zigbee與串口通信技術            
     2.3.1 zigbee技術            
     2.3.2 串口通信技術            
2.4 STM32芯片介紹            
3  硬件的設計與實現
3.1 主控模塊總體接口設計            
3.2 硬件電路設計            
     3.2.1 整體原理圖設計            
     3.2.2 電源電路設計            
     3.2.3 復位電路設計            
     3.2.4 時鐘電路設計            
     3.2.5 UART電路設計            
     3.2.6 LCD電路設計            
4  系統軟件實現
4.1 景區環境預知系統開發環境            
     4.1.1 Keil的簡介            
     4.1.2 Keil軟件的工程創建            
4.2 系統軟件設計            
4.3 程序實現              21
     4.3.1串口初始化              21   
     4.3.2 LCD驅動            
     4.3.3 STM32數據的接收和發送            
4.4 上位機顯示            
5  
參考文獻
致  謝
畢業設計(論文)知識產權聲明
畢業設計(論文)獨創性聲明
附錄1 上位機顯示部分代碼

1 緒論
1.1課題背景
隨著人們生活水平的提高,人們都喜歡回歸自然,給自己來一段說走就走的旅行。走出家門放松身心的需求越來越強烈,但是有的景區存在著安全隱患,如果能設計一套系統,使得我們能預先知曉景區安全隱患的存在就再好不過了,不僅可以避免旅游的人群遭遇山體滑坡、擁擠造成的踩踏等意外,還可以為旅游集團和相關事業單位提供參考樣本數據。通過這些寶貴的樣本數據,更便于旅游景區的管理,并能更及時的針對現存的旅游景區問題制定相應的措施。
景區環境預知系統包括煙霧監測模塊、溫濕度數據采集、PM2.5值數據采集、人流量監測、雨量檢測、紅外線檢測等模塊。通過傳感器采集好需要的參數,再將這些數據匯總到協調器上,最終將協調器上的數據通過串口傳送給PC機、LCD屏等設備進行顯示,方便檢測人員對整個景區的環境狀況進行預判。本課題的研究采用STM32作為主控來實施開發,重點研究STM32平臺下的串口通信。預知系統中,基于Zigbee無線技術進行參數的采集和傳輸,從而STM32的相關技術應用和Zigbee無線技術是景區環境預知系統的主要技術組成。
景區環境預知系統的主控制芯片選擇了ST公司的STM32系列32位閃存的嵌入式ARMv7微處理器STM32F103C8T6。該處理器具有性能高、功耗低、實時性強的Cortex-M3內核,在嵌入式領域具有價格競爭的優勢。Thumb-2指令集效率更高性能更強,既有32位的高代碼密度,又有16位的速度,對中斷事件的響應更加迅速,又融入了先進的業界功耗水平,不但如此,還免費提供了開發工具,STM32提供了強大的固件庫函數,可以讓用戶便捷地訪問STM32各個標準外設。提供的驅動覆蓋了GPIO、ADC、USART、I2C和SPI等所有標準外設。
ZigBee作為一種新興的技術,專用于需求低成本、低能耗、短距離的無線網絡通信領域中,已被廣泛應用,是目前WSN   領域的一大熱點。ZigBee具有低功耗、低成本、短時延、安全性、可靠性和大容量等特點。
伴隨著ZigBee技術的廣泛應用,并能夠在各個領域展現ZigBee技術非凡的特點,可以預測在不久的將來,ZigBee技術的應用將會使我們的生活更加智能化、數字化,徹底改變人們的生活方式。

1.2研究意義

當前,我國旅游消費日益成為老百姓的一種常態化生活方式。據國家旅游局統計數據顯示,2015年,國內游達40億人次,人均出游接近3次,旅游已成為居民日常生活的必要組成部分。在出游方式上,自助游超過85%,自駕游超過60%,旅游已經走向大眾化、生活化、休閑化。但是目前“黑導黑車”、“天價菜單”、混亂的“一日游”等旅游市場上的不公平、不規范事件時有發生,嚴重損害了游客利益,阻礙了我國旅游市場的健康發展。另一方面,也是游客們對旅游地點的不了解,各種情況的不清楚,導致一些不好的事情發生。

其實,近年來類似同城旅游、阿里行等一些旅游網站的出現,也為市民提供了一定的信息,但這些信息都是經過一定的人工處理,或者是從主觀情感宣傳的一系列景區,戶外環境。“揚長避短”,沒有很客觀直白的去進行環境的描述。并且缺乏實時數據監測,導致一個景點游客多等一系列問題。
然而,景區環境預知系統很好的解決了這一方面的問題。實時收集景區內各個地點的環境參數,經過匯總之后,通過網絡傳向客戶端,不僅景區主管部門,甚至旅游人群可以作為切身利益獲得者第一時間得到景區環境的相關參數,為出門旅游做更好的打算。景區環境預知系統為想要出行的市民提供了大量、實時的數據信息,這種方式也是科技發展的趨勢,給人們帶來無限的方便。例如,客戶群可以根據這些信息來決定旅行的穿著和具體的攜帶物品,真正的實現了未出門先洞察天下的生活模式。擁有了景區環境預知系統也會避免游客扎堆等現象,人們可以提前向系統上傳自己的出行計劃,從而實現景點參觀人數的客觀統計,客戶便可以通過統計數據來判斷景區參觀人數是否飽和,再決定是否要進一步實施旅游計劃。此類基于互聯網通信技術的發展會提升人類生活質量并達到一個新的高度。

1.3 景區環境預知系統的國內外發展情況
   近年來,伴隨人們對旅游需求的提高,景區環境預知系統的研發成了一個迫切攻克的課題,國內外諸多學者開始進行深入研究,尋找最優化的解決方案。現在國內部分景區已經配備了人群密集度預警等系統,來檢測部分景區的環境參數。
目前我國經濟可謂處于高速發展階段,旅游業也在迅猛發展,同時也伴隨著環境破壞,但為了能夠用旅游業帶動經濟的發展,以及堅持可持續發展,景區的環境監測和相關的措施制定就變得必不可少了。為了更好的去針對存在的景區環境問題進行改善,就需要引入通信技術來實現環境參數的實時監測,從而為環境問題的發現提供有效的幫助。結合國內現有的環境監測技術,并考慮中國人口密度、國民平均素質、人們生活習慣等國情,實現未來景區環境預警系統是時代發展的必然趨勢。同時,環境監測系統在為市民提供大量景點的可靠環境實時數據方面也有很大的意義。通常所講的環境監測也就是選用多種傳感器以及終端設備對現場的陽光紫外線、溫濕度等參數進行采集,最后匯總到上位機上進行顯示,并且通過編碼實現參數的界限值設定,一旦采集的參數超出了界限就進行報警提示,從而實現環境監測的終極目標。環境監測的主要目的有兩個:一是通過實時檢測,獲得景區等地的環境參數,為相關部門和人民群眾提供數據,便于下一步決策;二是通過監測進行環境的預警,提早的去避免一些不合理存在。無論從哪個方面考慮,景區環境監測系統絕對是時代進步的產物,提高了旅游的安全性和便捷性,通過數據的反應能警示人們熱愛、保護我們共同的家園,建設一個舒服、綠色的旅游大環境。   
然而最類似于景區環境預知系統的產品就是旅游環境監測站。主要針對城市、旅游景區用戶的一種實用型的自動氣象站,觀測要素可以根據用戶需求靈活調整和增減,還可以配套多種戶內戶外型顯示屏,為市民提供各類實時的數據。
也隨著技術,以及為了滿足市民對信息更加細化準確的要求,環境檢測產品的功能也越來越強大。比如武漢新普惠科技有限公司的PH-JQ旅游景區環境監測站,它是在原有的常規氣象要素如風向、風速、溫度、濕度、氣壓、雨量、紫外線、PM2.5空氣質量的基礎上,還增加了能見度、花粉濃度及二氧化碳、二氧化硫、一氧化碳、噪聲等污染指數的監測。觀測要素可以根據用戶需求靈活調整和增減,還可以配套多種戶內戶外型顯示屏,為市民提供各類實時的氣象資料。
圖1.1 環境監測基站
當然監測站也只是環境監測產品中的一種,如圖1.1所示,在旅游業發展越來越迅速的時代,對景區環境監測的產品和系統也就應運而生,并且具有廣闊的前景。景區環境參數的采集和監管不僅對市民提供了實時數據,更是為研究環境變化的科學家提供了大量的數據。隨著科技的進步,各類環境參數的監測站也在一步步普及,希望通過國內外不斷的研究早日實現景區環境參數的全面檢測,形成一個可靠、實時的系統,方便人們旅游。

1.4 論文的內容和組織結構

本課題的研究意義在針對現有的環境監測問題,設計出景區環境預警系統的主控模塊,實現協調器數據的控制,基于串口通信進行數據的傳輸和最終LCD的顯示,最后還發揮自己的java基礎知識,設計了上位機的簡單界面。
  • 緒論。介紹景區環境預警系統的課題背景、研究目的和意義,簡述系統所依托的通信技術,完成類似預警系統的國內外綜述。
  • 整體的方案設計。本章介紹了系統方案的設計原則,并根據設計原則制定出了整體的設計方案,對方案中所用到的串口通信技術、zigbee技術以及STM32主控芯片進行了詳述。
  • 硬件的設計與實現。通過對設計方案的實施過程和原理進一步學習,完成STM32最小系統、復位電路、時鐘電路和串口電路等原理圖的設計。
  • 系統軟件實現。給出軟件流程圖和部分操作的函數代碼,并最終用Java語言實現了簡單的上位機顯示。
  • 結論


2  整體的方案設計
本文主要是基于STM32主控模塊來實現景區環境預知系統,完成景區環境的參數采集和LCD顯示。本課題的設計與實現需滿足低成本、高效率、實用性的要求,故在本章中對系統所需硬件的選型和系統的整體構架設計均以這些要求為基準。
2.1系統設計原則
在整體方案確立以前,首先要分析系統的設計需求,對系統的構成做詳細、科學的分析,從而選定符合需求的硬件設備來實現景區環境參數的采集與傳輸。只有堅持此原則才能使最終實現的系統更加穩定可靠并且符合實際項目的需求。細化設計原則如下所示:
    a.實時性好
為了能達到景區環境預知的目標,必須要考慮的就是預知系統的實時性。只有能及時的采集和傳輸環境參數才能實現各種潛在危險的預知,從而盡早的去避免。
    b.可靠性強
一個成熟優秀的系統必須具有良好的可靠性,由于景區環境預知系統所在現場環境變化多端,因此必須要軟硬件資源穩定可靠性高的系統,也需要一些比較成熟的技術。
    c.成本便宜
大多數的系統設計需要考慮成本問題,所選器件不能太昂貴,以免出現問題更換成本太高而造成不必要的經濟損失。本文設計的系統將應用于復雜多變的景區中,容易損壞造成損失,所以在保證可靠性的前提下要做到選擇成本低廉和技術成熟的器件,選擇性價比較高的芯片和開源軟件,減少研發成本。
2.2 系統總體設計方案
基于STM32和Zigbee的智慧景區系統總體包含五部分,分別為數據采集模塊、圖像采集模塊、數據控制模塊和數據傳送模塊。數據采集模塊是由溫濕度傳感器、風速計、電阻應變片、噪聲傳感器、PM2.5傳感器和無線協調器等組成。各個傳感器采集到的數據通過終端節點在無線協調器中進行數據整理。圖像采集用串口攝像頭來完成,此處主要為了實施對景區人流量的監控。數據控制模塊主要采用STM32芯片來作為主控芯片,控制數據采集模塊的數據采集。數據傳送


模塊的主要功能就是把所采集到的景區數據傳輸到上位機上。最終,在上位機上接受傳送過來的數據,進行數據解析并顯示,從而完成了景區環境參數的實時監控。系統的具體方案設計如圖2.1所示。
圖2.1 系統方案設計
    而景區環境預知系統(主控模塊)的設計,主要是整個系統的后半部分,用STM32來給協調器發送命令,當協調器收到命令后便通過串口給STM32主控發送早已打包好的景區環境參數,待STM32收到數據后再通過串口通信的方式傳送給PC機,在PC機上進行顯示,同時利用STM32控制LCD屏進行顯示。
2.3 zigbee與串口通信技術2.3.1 zigbee技術
ZigBee作為一種新興的技術,專用于需求低成本、低能耗、短距離的無線網絡通信領域中,已被廣泛應用,是目前WSN   領域的一大熱點。ZigBee具有以下的特點:
(a)低功耗:低功耗是ZigBee最為顯著的一個特點。由于ZigBee技術具有較低傳輸速率,發送接收電流較小,工作周期短且終端節點支持多種睡眠模式,使得采用ZigBee技術的設備非常省電,兩節五號干電池可以使一個設備正常工作6個月到2年的時間。
(b)低成本:ZigBee協議相對于藍牙和WIFI要簡單得多,因此對控制器的要求很低,可以采用規模很小的存儲器,降低了器件的成本,每個ZigBee芯片僅為2美元,并且ZigBee協議的使用是免費的,其可以工作在2.4GHZ的全球免費頻段。
(c)短時延:ZigBee一般從睡眠狀態轉入到工作狀態的時延只需15ms,設備搜索網絡進入網絡的時延為30 ms,進一步節省了電能,同時ZigBee在時延方面也做了一定的改進,使得數據傳輸時延以及從休眠模式喚醒時延   變得非常短。
(d)安全性:ZigBee的MAC層采用了高級加密標準(Advanced Encryption Standard,AES)技術對數據進行加密,以確保數據幀的安全性、可靠性和一致性,雖然加密是在MAC層進行處理的,但是網絡層控制著安全性的整個過程。
(e)可靠性:ZigBee的MAC層采用了基于時隙的CSMA/CA協議,在發送時對信道進行沖突檢測,并且專門為通信  寬帶業務預留了時隙,以避免發送數據幀時可能產生的沖     突與競   爭[2],提高了無線數據   傳輸的可靠性。
(f)大容量:ZigBee可以實現星形、樹簇和網狀三種拓撲結構,一個主設備最多可以連接254個ZigBee子設備,而主設備由上層網絡父節點管理,每一個節點可以分配到一個16位的網絡地址,除去廣播地址0xFFFF,因此最多可以擴展到216-1=65535個節點。
近年來各種無線通訊技術層出不窮,發展迅猛,廣泛應用的還有WIFI、藍牙4.0、GPRS、3G等,他們都有各自的獨特之處。GPRS(General Packet Radio Service)是2G向3G過渡的一種無線技術,經常被描述為2.5G,是一種基于GSM全球手機系統的數據傳輸技術。3G是第三代移動通訊的簡稱,可傳輸音頻、視頻等高速數據幀,主要特點是隨時隨地讓任何人的通信交流成為可能。藍牙4.0是2012年開發的新的藍牙版本,有效連接距離增加很多,功耗也有所降低,是一個很出色的無線系統,包括WIFI,但是伴隨而來的是高復雜度,和較高成本。
表2.1 ZigBee與其它技術的簡單比較
分類
WIFI(802.11)
藍牙4.0
3G
GPRS
ZigBee(802.15.4)
頻段
2.4Ghz
2.4Ghz
1880-1920MHz
2010-2025MHz
2300-2400MHz
900Mhz
1800Mhz
1900Mhz
2.4Ghz
868MHz(歐洲)915MHz(美國)
應用領域
辦公等公共場合
便攜設備,多媒體等
語音、視頻、網頁等
語音,數據
無線傳感器
節點功耗
10-50mA
20mA
80mA
60mA
5mA
網絡規模
253個
8個
無限制
無限制
65000個
傳輸速度
11-54Mbps
1Mbps
3Mbps
115Kbps
250Kbps
傳輸距離
幾公里
10-100m
無限制
無限制
10-1000m

如表2.1所示,是ZigBee技術與上面所講的其它幾種無線通信技術的比較,根據系統需求綜合比較來看,ZigBee技術最適合應用在WSN分布式采集系統中。
伴隨著ZigBee技術的廣泛應用,并能夠在各個領域展現ZigBee技術非凡的特點,可以預測在不久的將來,ZigBee技術的應用將會使我們的生活更加智能化、數字化,徹底改變人們的生活方式。
2.3.2 串口通信技術
a.串口通信的原理
串口通信(Serial Communications)描述了一種特定模式的信息傳遞方式和傳遞規則,即串口按照bit完成bit的發送和接收。雖然,眾所周知在并行通信的模式下,按照比特傳輸比較緩慢,但是串口通信有一個優勢,便是可以用兩根線同時完成數據的傳送和接收。串口通信的原理和結構不僅簡單,并且針對遠距離通信也有其獨特的優勢。在IEEE488協議中規定了并行通信的情況下設備總線的長度規格,一般短于20米,同時任意兩個設備之間的距離也有限制,通常低于兩米。然而,對于串口通信而言,距離長度可以長達1200米。一個典型的實例就是串口常用于ASCII碼的傳輸,它由地線、發送、接收三根通信線組成。又因為串口通信是異步操作,故串口就可以在一根線上發送數據的同時,利用另外一根線來實現數據的接受,其他線還可以用于握手,不過有時候并不需要。對于串口通信來說,波特率、數據位、停止位和奇偶校驗是特別重要的參數,在兩個端口之間進行數據傳輸,這幾個參數必須是一致的,否則無法實現端口間的通信。
(1)波特率,描述的是符號的傳輸速率快慢,也可以理解為單位時間內信號的變化次數。在日常生活中,電話的波特率有14400、28800和36600幾種值。波特率雖然可以很大,但是由于波特率與傳輸距離成反比的關系,故也有一定的限制,不同的傳輸模式需要選擇合理的波特率。高波特率常用于近距離的設備通信,例如GPIB設備通信。
(2)數據位,表達的是信號傳輸中的實際數據位。在計算機傳輸數據的信息包里,實際數據長度一般情況下不是8位,而是6/7位,這個數據位是可以根據自己的需求來設定的。經典的例子就是標準的ASCII和擴展ASCII數據位分別是7位和8位。每個數據包代表一個字節,數據包一般由四部分組成:開始位、數據位、奇偶校驗位和停止位,其中數據位的具體制定依照通信協議來完成。
(3)停止位,即包的最后一位,用于表示數據傳輸的截止。同時,停止位還可以用來同步設備的時鐘。
(4)奇偶校驗位,是用來進行通信檢錯的位信息,檢錯的具體方式又可以分為四種:奇、偶、高和低。當然此位是根據數據傳送的具體實施辦法來選取的,并不是必須的位。
串口通信,顧名思義,就是以串口的方式進行設備間的數據傳輸,并且傳輸的單位是位。串口通信具有很多優勢,尤其在遠距離通信裝置中,數據線使用量小為項目節省了大量成本。
在工業中,多數控制計算機以及GPIB兼容的設備都含有RS-232的串口,并且擁有規范的串口通信協議,用戶可以很方便的通過串口來獲取遠距離數據采集的數據包。
本課題基于串口通信研發了一套光伏發電站的監控系統,利用了串口通信的便捷性和穩定性來實現與上位機之間的通信,如圖2.2所示,為串口通信協議的體系結構圖。
圖2.2 串口通信協議的體系結構圖
    b.串口通信的傳輸方式
    (1)有線遠程數據傳輸
1) 調制解調器技術支持下的遠程數據傳輸
現代撥號通信方式是基于現有的有線電話網絡,從而實現計算機之間的相互
遠程通信。然而電話網信號和計算機網絡信號有一定的區別,那就是電話網只可
以處理和傳輸模擬信號,對于計算機和單片機等微處理器只可以處理和傳輸數字
信號。因此,當數據的計算機和微處理器通過電話網絡傳輸,在傳輸的兩端必須具有模擬信號的調制和解調的設備,經過相關處理得到對應的數字信號,然后再做進一步的操作。
具體來說,對于數據的發送端,利用調制解調器的調制功能,實現數字信號向模擬信號的轉換,如此一來,經過調制的數字信號就可以在電話網中傳輸。同樣的道理,在數據的接收端,利用調制解調器的解調功能,實現模擬信號向數字信號的轉換,如此使得計算機處理接收到的信號非常方便。撥號通信有標準的規則協議,現階段由于Hayes公司制定的AT命令支持所有的AT命令,因而成為名副其實的行業標準。近年來,隨著計算機技術的深入發展和不斷普及,尤其是語音撥號通信方式的出現,極大的推動了電話語音控制技術的發展。基于此,美國微軟公司和因特爾公司合作開發出了一種全新的應用程序接口 TAPI,這種接口可以匹配所有的硬件接口,如此一來為相應的軟件開發提供了極大的便利條件,又由于TAPI接口可以提供的許多種功能,所以現階段基于撥號通信的遠程監控技術體系里面都滯要運用到此種接口。
特別的,在所要傳輸的數據量比較小和通信數據頻率比較低的情況下,使用撥號通信方式可以極大地降低通信成本費用,而且可以在節約成本的前提下實現
通信數據信息的安全可靠傳輸,進而帶來比較可觀的經濟效益。
2) 因特網支持下的遠程數據傳輸
人類社會發展進入20世紀以來,計算機信息技術迅猛發展,特別是隨著因特網的全面普及,極大地改變了人類傳統的生產生活方式,不僅如此,還將向其他科技信息領域滲透,進而引發較大的技術創新與變革。隨著信息技術與傳統工業技術的深度融合發展,以因特網為基礎的監控技術引發了業內人士的廣泛關注和重視,因此被廣泛地應用到傳統工農業生產監控過程中。通過互聯網監控新技術等方法,研發技術人員可以輕松實現生產管理過程的控制與維護,對各個生產環節進行優化升級,大幅度地提升設備利用效率,有效降低生產成本,從而進一步擴大生產規模,提高經濟效益。
    (2)無線遠程數據傳輸
近年來,之所以無線通信技術和信息技術的迅猛發展,是因為其技術體系是建立在已經成熟的有線遠程數據傳輸的基礎之上。無線遠程傳輸技術異軍突起,日益成為最富有發展潛力的新興的監控系統主流技術之一。對于無線數據通信技術,其最大的優點就是將中央監控中心計算機與各個分監控中心實現實時連接,而且可以做到整個監控過程不間斷和信息傳遞低延時,因此實現了真正意義上的中央監控對分中心監控的實時監測控制,這一點是有線監控技術一般不能達到的。
2.4 STM32芯片介紹
STM32F103微控制器構建與高性能的ARM Cortex-M3內核,工作頻率為72MHz,內置高速存儲器,豐富的增強型I/O端口。增強型器件都包含ADC、定時器、PWM定時器。
成本低、該系列微控制器與常見的8位、16位單片機在價格上基本接近。既有32位單片機的性能,又與8位、16位單片機價格相當,可直接代替8位/16位單片機應用于一些小型控制系統中。
性能高,包含標準和先進的通信接口:3個UART接口、2個SPI口、2個I2C接口、一個USB接口和一個CAN接口。STM32F103是一個完整的系列,其成員之間引腳對引腳完全兼容,軟件和功能也兼容。
a.STM32的優勢
通過對STM32的系統學習,詳細總結STM32的優勢如下所示:
(1)性價比高。STM32是32位的芯片,但是其價位幾乎與8位機持平,成本的考慮也是STM32廣泛應用于各種實際項目中的主要原因之一。
(2)外設配套齊全。STM32是一款高度集中的主控模塊,模塊中包含SPI、TIMER、IIC、ADC、DAC、RTC等外設,從而讓其具備許多便攜的功能,方便在其平臺上進行開發。
(3)產品型號多樣。STM32芯片可選擇性很強,包含5個系列的產品,分別針對不同的設計需求可以進行選型,并且有多種封裝用于選擇。
(4)實時性極佳。模塊含有84個中斷,另外引腳全部可以當做中斷,完全滿足大多數項目的需求,16級可編程優先級讓實現過程更加優化。
(5)功耗控制的便攜。STM32的外部設備均包含獨立的時鐘開關,從而可以利用時鐘開關來控制整個系統的功耗。
(6)開發成本低。項目中常基于STM32做開發,除了其自身成本比較低以外,還有個很重要的原因就是開發成本很低,迫切滿足實用性需求。STM32可以通過串口來實現程序的下載,方便、快捷,不需要昂貴的仿真器來幫助下載程序,并且SWD和JTAG兩種調試接口,讓仿真調試的方式簡化了好多。
b.開發板特點
在實際項目中做開發,我們還需要考慮的就是硬件的開發板特性,因為開發板的特性有時決定了是否符合項目的需求,總結STM32的開發板特點如下所示:
(1)小巧。整個板子尺寸為8cm*10cm*2cm(包括液晶屏,但不計算銅柱的高度)。
(2)靈活。板上除去晶振外,其他IO口全部引出,另外GPIOA和GPIOB的IO口還是按順序引出的,這樣的設計很大程度為研發人員在其基礎上擴展開發提供了便捷。外加的一鍵下載功能,省去了設置B0/B1的繁瑣,可以用電腦一鍵下載。
(3)資源豐富。板載十多種外設及接口,可以充分挖掘STM32的潛質。
(4)質量過硬。沉金PCB+全新優質元器件+定制全銅鍍金排針/排座+電源TVS保護,堅若磐石。
c.開發板資源
(1)CPU為STM32F103RBT6,擁有128K的FLASH和20K的SRAM;
(2)一個標準的JTAG/SWD調試下載口;
(3)1個電源指示燈(藍色);
(4)2個狀態指示燈(DS0:紅色,DS1:綠色);
(5)1個紅外接頭,配備一款小巧的紅外遙控器;
(6)1個IIC接口的EEPROM芯片,24C02,容量256字節;
(7)1個SPI FLASH芯片,W25X16,容量為2M字節;
(8)1個DS18B20/DS1820溫度傳感器預留接口;
(9)1個標準的2.4/2.8寸LCD接口,支持觸摸屏;
(10)1個OLED模塊接口;
(11)1個USB串口,可用于程序下載和代碼調試;
(12)1個USB SLAVE接口,用于USB通信;
(13)1個PS/2接口,可外接鼠標、鍵盤;
(14)1組5v電源供應/接入口;
(15)1組3.3V電源供應/接入口;
(16)1個啟動模式選擇配置接口;
(17)2個2.4G無線通信接口;
(18)1個RTC后備電池座,并帶電池;
(19)1個復位按鈕,可用于復位MCU和LCD;
(20)3個功能按鈕,其中WK_UP兼具喚醒功能;
(21)1個電源開關,控制整個電路板的電源;
(22)3.3v與5v電源TVS保護,有效防止燒壞芯片;

3  硬件的設計與實現
3.1 主控模塊總體接口設計
我們在景區環境預知系統的硬件設計中,始終堅持開始的方案設計分析思路,綜合考慮系統的可靠性、外觀、功耗以及安全性等元素。最終的定論中可以把整個系統分為兩大部分:主控模塊STM32和外圍通信設備。外圍的通信包括主芯片STM32跟協調器之間的通信和STM32跟上位機之間的通信,而選擇的方式為串口通信。具體的硬件平臺框圖如圖3.1所示。

圖3.1 系統的硬件框圖
3.2 硬件電路設計

3.2.1 整體原理圖設計
本節我們利用Altium Designer軟件畫出系統硬件原理圖。根據本課題需求,確定了系統結構以及原理設計,從而在軟件上畫出最終的STM32控制芯片的原理圖,如圖3.2所示。


圖3.3系統外接+5V供電電路
另外,+3.3V也是系統中器件常常需要的一個電壓值,在電路設計中通常采用穩壓芯片來進行轉換,然后穩定的輸出所需的+3.3V電壓值,穩壓芯片有多種,課題中利用AMS1086CM-3.3來進行電壓轉換。如圖3.4所示,電路設計原理圖,其中電容的配置同樣是為了起到電壓濾波的作用。
經過長期的電路設計發展,一些常用的引腳和模塊所需的電壓值也逐步形成一種規范,例如采用3.3V的電壓為I/O引腳供電,還有zigbee模塊、數據采集模塊等都是3.3V供電。如圖3.4所示,5V轉3.3V的電路設計實現原理圖。
圖3.4 5V轉3.3V電源電路設計
3.2.3 復位電路設計
復位電路的設計也是十分重要的,如果沒有復位設計,當上電后程序會自動跑,不便于控制。復位電路通常由RC電路外加按鍵構成,最終實現兩種復位模式:上電復位和手動復位。實現原理是T-RST引腳的輸入電平逐步由低轉高來產生復位信號。由于STM32F103芯片自身含有上電復位和電壓檢測復位,所以我們只需要搭建外部的手動復位電路。如圖3.5所示,復位電路的原理設計,其中,復位鍵S2在按下之前,RESET端的電平信號為高,芯片系統工作正常;按下S2鍵,T-RST端輸入電平由高轉低,從而控制完成芯片復位操作。

圖3.5 復位電路設計
3.2.4 時鐘電路設計
若系統想正常工作,都需要時鐘電源來為芯片內部結構供電,時鐘電源通常由外接晶振來構成,時鐘電路就好比人的心臟,為整個芯片提供工作必須的能量。STM32可外接兩個晶振:高速HSM和低速LSM,它們的作用分別為系統提供主頻和為系統提供日歷時鐘。時鐘電路的設計可以實現為一些定時功能提供時鐘源,保證VBAT可持續供電,當切斷電源時,PTC仍然可以照常工作。如圖3.6所示,時鐘電路設計原理。

圖3.6 時鐘電路設計
3.2.5 UART電路設計
UART是通用的異步接收/發送裝置,UART采用并行輸入、串行輸出的方式進行通信,是一種傳輸的收發機制,在多數設備上已經實現了集成。由于計算機內部傳輸數據是并行模式,故不能直接將數據發到Modem,需要引入UART整理后,方才可以實施異步傳輸。
在接收過程中,UART便從消息幀中去掉起始位和結束位,并根據通信協議的要求,選擇是否進行數據的奇偶校驗檢錯步驟,最后將將串行的數據字節轉換成并行。同時,UART還會產生額外信號來顯示數據的發送和接收狀態。例如,當存在一個奇偶錯誤,UART就置位奇偶標志,從而便于后期的數據糾正。如圖3.7所示,UART接口內部結構。
圖3.7 UART接口內部結構
    UART串口原理圖設計,保證了數據的準確發送、傳輸和接收。在景區環境預知系統-主控模塊設計中,采用的通信方式皆為串口通信的模式,故串口通信模塊是必不可少的一部分,其原理圖設計如圖3.8所示。


圖3.8 串口通信接口設計
3.2.6 LCD電路設計
字符型點陣式LCD模塊是一種專門用于顯示字母、數字、符號等點陣式液晶顯示模塊,項目中可以用LCD對STM32接收到的數據進行顯示。LCD與STM32的連接如圖3.9所示。
圖3.9 LCD電路圖設計
1


4 系統軟件實現
4  系統軟件實現4.1 景區環境預知系統開發環境4.1.1 Keil的簡介
Keil是一種窗口化的軟件開發平臺,廣泛應用于嵌入式應用程序開發。在此平臺下我們可以對程序進行編輯、調試和仿真,并且其支持匯編、C語言等多種語言的混合編程。經過不斷地更新,Keil的界面功能也越發健全,便于初學者上手學習,并且使用方便。Keil除了編譯器功能強大以外還擁有C編譯器、裝載器等編譯工具。詳細分析Keil的開發環境及其功能組件,總結其的一些特征如下:
a.源代碼編輯器功能強大
b.針對大部分開發工具,可以配置對應的數據庫,從而便于程序的快速開發
c.擁有工程管理器,可以來創建和維護工程
d.是集匯編、編譯和鏈接過程于一體的編譯工具
e.可以對開發工具的對話框進行設置
f.具備外設模擬器的編碼調試功能,助于程序的開發
g.含有高級GDI接口,從而實現軟硬件的連接
h.可以完成程序下載,即Flash ROM到Flash編程器
i.詳細的開發工具介紹,方便用戶學習和使用
4.1.2 Keil軟件的工程創建
(1)當我們打開Keil軟件后,可以單擊ProjectNew Vision Project…菜單項,從而Vision就會打開對話框。此處,我們通常對每個新建工程使用獨立的文件夾,輸入工程名保存,便實現了新工程的創建。若如想查閱我們已經創建的工程,可以在Project Workspace區域的Files選項卡里查看,如圖4.1所示。               
圖4.1 Keil新建工程
1


西安工業大學北方信息工程學院畢業設計(論文)
    (2)此時Keil會自動彈出對話框,可以根據目標芯片選擇對應的CPU主控,此步操作可以實現對芯片STM32的選取。
    (3)Keil會提示復制CPU指定的啟動代碼到工程中去。工程中需要使用這些啟動代碼,選擇“是(Y)”,如果不使用Keil編寫啟動代碼可以選擇“否(N)”,如圖4.2所示。
圖4.2 Keil CPU代碼復制
    (4)選擇FileNew或者單擊圖標以創建一個新的源文件,會打開一個空的編輯窗口,用戶可以在此窗口里輸入源代碼,如圖4.3所示。然后選擇FileSave命令,以擴展名*.C保存文件至之前新建的文件夾里以便于以后尋找。

圖4.3 Keil導入*.C文件

    (5)完畢后,再在工程工作區中選擇“Source Group1”右擊選擇Add Files選項,出現一個對話框,在對話框里選擇前面創建的C源文件,然后點擊“Add”,此時文件已經被添加到工程然后點擊“Close”關閉即可。如圖4.4所示。然后開始輸入程序。

圖4.4 Keil添加文件到工程
    (6)在程序完成編譯后,我們在projectOptions for TargetOutput中選擇Create HEX file選項,Keil會在編譯過程中同時產生HEX文件。如圖4.5所示,編譯結束。
圖4.5 HEX文件的生成
4.2 系統軟件設計
    根據系統的總體方案設計,我們可以清晰的了解到整個系統的數據傳輸流程,從而對我們的軟件設計提供幫助。首先通過STM32向協調器發送數據請求命令,當協調器收到命令后通過串口向STM32發送數據,下一步就是STM32和上位機之間的通信,以及STM32控制LCD進行數據顯示。故景區環境預知系統--主控模塊的軟件流程如圖4.6所示。
圖4.6 系統軟件流程圖

4.3 程序實現

4.3.1串口初始化

    因為我們需要對STM32的引腳進行定義,服務于自己的想法,所以首先要進行初始化操作,從而來定義波特率、優先級、串口功能等。串口初始化函數如下所示:
  1. void InitUart()
  2. {
  3. CLKCONCMD &= ~0x40;           // 設置系統時鐘源
  4. while(CLKCONSTA & 0x40);    // 等待晶振穩定
  5.     CLKCONCMD &= ~0x47;         // 設置系統主時鐘頻率為 32MHZ
  6.     SLEEPCMD|=0x04;            //關閉不用的RC振蕩器
  7.     PERCFG = 0x00;            //使用串口1的備用位置1 P0口
  8.     P0SEL  = 0x3c;           //P0_2,P0_3,P0_4,P0_5用作串口,第二功能
  9.     P2DIR &= ~0XC0;         //P0優先作為UART0 ,優先級

  10.     U0CSR |= 0x80;            //UART 方式
  11.     U0GCR |= 8;              //U0GCR與U0BAUD配合   
  12.     U0BAUD |= 59;           //波特率設為9600
  13.     UTX0IF = 1;             //UART0 TX 中斷標志初始置位1  (收發時候)
  14.     U0CSR |= 0X40;         //允許接收
  15.     IEN0 |= 0x84;         //開總中斷,接收中斷   
  16. }
  17. 4.3.2 LCD驅動
  18.     想讓LCD工作,首先也要對LCD模塊進行初始化如下過程:
  19. void LcdInit(void) //初始化程序
  20. {
  21. LCD_RST = 0;
  22. delay_us(20);
  23. LCD_RST = 1;
  24. delay_us(5);
  25. LCD_CS1=0;
  26. LCD_CS2=0;
  27. LCD_CS3=0;
  28. WriteCommand(0x3f);  //設置開顯示命令
  29. WriteCommand(0xc0);//設置起始位置
  30. LCD_CS1 = 1;
  31. LCD_CS2 = 1;
  32. LCD_CS3 = 1;
  33. LcdClear();    //清屏

  34.     初始化完成后,就要編寫LCD模塊的數據寫入函數,從而為LCD數據的顯示做準備,LCD的數據寫入函數,如下所示:

  35. void WriteData(u8  dat)  //寫數據
  36. {  
  37.         LCD_RS=1;     //寫數據
  38. //RW=0;
  39. LCD_DATA(dat);               //數據輸出到數據口
  40.    LCD_E=1;             //寫入到LCD
  41.    delay_us(10);
  42.    LCD_E=0;
  43. }
  44. 4.3.3 STM32數據的接收和發送
  45.     STM32既然作為主控模塊,那么數據的接收和發送即為其主要功能,下邊編寫其工作狀態的選擇,具體什么條件下進行數據的收和發。
  46. if(RXTXflag == 1)              //接收狀態
  47.         {
  48.             LED1=1;           //接收狀態指示
  49.             if( temp != 0)
  50.             {
  51.                 //'#'被定義為結束字符,最多能接收50個字符
  52.                 if((temp!='#')&&(datanumber<50))
  53.                 {
  54.                     Rxdata[datanumber++] = temp;
  55.                 }
  56.                 else
  57.                 {
  58.                     RXTXflag = 3;   //進入發送狀態
  59.                     LED1=0;        //關指示燈
  60.                 }
  61.                 temp  = 0;
  62.             }
  63.         }
  64.         if(RXTXflag == 3)         //發送狀態
  65.         {
  66.             LED2= 1;                          
  67.             U0CSR &= ~0x40;      //禁止接收
  68.             Uart_Send_String(Rxdata,datanumber); //發送已記錄的字符串
  69.             U0CSR |= 0x40;       //允許接收
  70.             RXTXflag = 1;       //恢復到接收狀態
  71.             datanumber = 0;     //指針歸0
  72.             LED2 = 0;           //關發送指示
  73.         }
復制代碼

4.4 上位機顯示
    本章節通過JAVA進行了上位機的顯示界面制作,實現了景區環境參數的簡單顯示,JAVA編寫的初始界面數據如圖4.7所示。
                       圖4.7 初始數據顯示界面
     接著,對我們本課題需要的煙霧值、雨量、PM2.5、紅外線和人流量數據進行采集和添加,設定數據的格式,設計環境參數采集的子界面,如圖4.8所示。
圖4.8 環境參數采集和添加界面
上一步驟是將景區環境的參數顯示在對應的窗口框里,接下來提交數據,即完成了一次數據的采集和保存,并顯示在主界面上,如圖4.9所示。
圖4.9 主界面數據顯示
從而實現了景區環境參數的上位機顯示制作,雖然功能簡單,但是可以很便捷的查看環境參數信息以及過往采集的數據。

5  結論
隨著通信技術的迅速發展,以及人們對生活品質追求越來越高,景區環境的檢測已經成了必不可少的部分,本課題針對當下景區管理存在的不便,設計實現了景區環境預知系統的主控模塊設計,研究內容也是智慧城市的重要分支之一。
在本系統的研究、實現過程中,收獲頗豐,總結如下:
a.STM32基本原理的學習
本系統中選用STM32作為主控芯片,來接收協調器的數據并將數據在LCD上進行顯示。通過大量的資料,了解了STM32的幾個系列產品,對STM32成本低、功耗低等優勢進行了總結。
b.LCD顯示和串口通信技術
首先了解了LCD顯示的原理,并編程實現了LCD的驅動,最后將數據在LCD上顯示,便于客戶的觀測。文中STM32收發數據皆通過串口通信的方式進行傳輸,故著重了解串口通信的原理。
c.智慧景區領域相關技術的了解
智慧景區系統的整體實現包括了zigbee無線通信技術、STM32控制、LCD顯示和PC機顯示等技術。通過深入了解整個大背景,豐富了作者的知識,最終針對任務書的要求,對STM32和LCD顯示做了深入研究。
由于各種條件的限制,系統中仍舊有諸多可以改進的地方,為了實現更好的通信技術服務于大眾,為了使客戶使用起來更加便利,系統主要體現的不足如下幾點:
a.可以擺脫串口傳輸數據的物理局限,使用WiFi等方式來實現。
b.上位機顯示的方式過于單一,LCD顯示還是不夠便捷,如果數據能通過無線網絡的方式在手機app上完成實時顯示的話,會讓系統更加滿足實際要求。
希望通過以后的深入學習來克服以上不足,不斷的優化系統,使景區環境預知系統更加智能化。

致謝
在拿到本課題的設計時,作者對課題的理解僅停留在表面的認知,對景區環境預知系統很是茫然,不知從何入手。在這里,首先要感謝指導導師王鵬教授,通過王老師不厭其煩的一遍遍講解,開始對課題有了進一步的認識,并且學會了看待問題的角度,分析一個課題首先要分析其背景下的技術支持,明白了萬變不離其宗的道理。
此后,在了解課題的目標和采用的關鍵技術后,學長和舍友的幫助使得作者很快接受諸多相關知識,大家給予的支持和幫助是畢設課題順利完成的基本保障。在課題研究過程中涉及了系統的軟件和硬件設計,軟件方面由于單片機不能接受JAVA語言,而作者只擅長JAVA語言,所以在C語言程序的涉及中及時請教了身邊的同學幫忙輔導;在硬件設計中,本課題需要進行STM32最小系統的原理圖設計以及PCB板的繪制,此過程中,出現了諸多難以解決的問題,比如復位電路的設計、STM32的最小系統原理設計等,經過不斷的在網上搜索資源和借助圖書館等資源,最終還是予以克服。從遇到困難到解決困難的這個過程使作者成長了很多,使在面對突發狀況時更加的沉著冷靜。
最終感謝學校安排的畢業設計,使得理論聯系實際,親自動手去操作,去尋找方法,畢業設計的完成為我們走入社會奠定了堅實的基礎。論文的撰寫使得語言表達能力和對工作的總結能力得到了提高。總之,感謝從畢業設計過程中學到知識的機會和身邊老師、同學身上感受到的溫暖,作者一定會進一步深入學習,不斷的提高專業知識,成為社會的有用之才。

附錄 1 上位機顯示部分代碼
  1. </head>
  2. <body bgcolor="sky blue">        //設置背景顏色
  3. <div align="center">             //設置居中格式
  4. <fieldset style="width: 300px">  //繪制框圖大小
  5. <legend style="margin-left: 100px">添加環境信息</legend>                     
  6. <form action="EnvironmentAction?action=add" method="post" style="text-align: left;">      
  7. <table>
  8. <font size="50px">
  9. <tr><th width="100px">煙霧值:</th><th width="150"><input name="yanWu"></th></tr>
  10. <tr><th>雨量值:</th><th><input name="yuLiang"></th></tr>
  11. <tr><th>PM2.5:</th><th><input name="PM2_5"></th></tr>
  12. <tr><th>紅外線:</th><th><input name="hwx"></th></tr>
  13. <tr><th>人流量:</th><th><input name="rll"></th></tr>
  14. </font>
  15. <tr><th colspan="2"><input type="submit" value="提交數據">       <input type="reset" value="重置"></th></tr>           
  16. </table>
  17. </form>
  18. </fieldset>
  19. </div>
  20. </body></html>
復制代碼
//數據處理類
  1. public class EnvironmentAction extends HttpServlet {
  2. //使本類具有web方向的一切功能
  3. List<Environment> environmentList = new ArrayList<Environment>();
  4. @Override
  5. 1

  6. 附錄1上位機顯示部分代碼
  7. protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
  8. throws ServletException, IOException {
  9. String action = arg0.getParameter("action");
  10. if ("add".equals(action)) {
  11.                   Doadd(arg0, arg1);
  12.                             }
  13.               }
  14. protected void Doadd(HttpServletRequest arg0, HttpServletResponse arg1)
  15. throws ServletException, IOException {
  16. String yanWu = arg0.getParameter("yanWu");
  17. String yuLiang = arg0.getParameter("yuLiang");
  18. String PM2_5 = arg0.getParameter("PM2_5");
  19. String rll = arg0.getParameter("rll");
  20. String hwx = arg0.getParameter("hwx");
  21. Environment environment = new Environment(yanWu, yuLiang, PM2_5, hwx,rll);
  22. List<Environment> environmentList = add(environment);
  23. arg0.setAttribute("environmentList", environmentList);
  24. arg0.getRequestDispatcher("show.jsp").forward(arg0, arg1);
  25.               }
  26. private List<Environment> add(Environment environment) {
  27. environmentList.add(environment);
  28. return environmentList;
  29.               }
  30. }
復制代碼

//數據顯示界面
  1. <body bgcolor="pink">
  2. <br><br><br>
  3. <%List<Environment>environmentList=(List<Environment>)request.getAttribute("environmentList"); %>             //獲得后臺傳來的數據
  4. <div align="center">
  5. <fieldset style="width: 380px">
  6. <legend style="margin-left: 150px">環境信息如下</legend>
  7. <br><br><br>
  8. <table width="500px">
  9. <tr><th>煙霧</th><th>雨量</th><th>PM2.5</th><th>紅外線</th><th>人流量</th></tr>                       //設置標題信息
  10. <% if(environmentList==null){%>           //判斷有無環境信息
  11. <tr><th colspan="5">沒有數據...</th></tr>  //提示信息
  12. <% } %>
  13. <c:forEach var="environment" items="${environmentList}">
  14. <tr>
  15. <th>${environment.yanWu}</th>
  16. <th>${environment.yuLiang}</th>
  17. <th>${environment.PM2_5}</th>
  18. <th>${environment.hwx}</th>
  19. <th>${environment.rll}</th>            
  20. </tr>
  21. </c:forEach>
  22. </table>
  23. <br><br><br>
  24. <a href="add.jsp">繼續添加數據</a><!--模擬傳感器傳來的數據,并進行數據錄入  -->                    
  25. </fieldset>
  26. </div>
  27. </body>
  28. </html>
復制代碼

  1. //數據模型:(定義實體類)
  2. package com.ddd.entity;
  3. import java.io.Serializable;
  4. public class Environment implements Serializable {
  5. private String yanWu;
  6. private String yuLiang;
  7. private String PM2_5;
  8. private String hwx;
  9. private String rll;
  10. public String getYanWu() {
  11.                             return yanWu;
  12. }
  13. public void setYanWu(String yanWu) {
  14.                             this.yanWu = yanWu;
  15. }
  16. public String getYuLiang() {
  17.                             return yuLiang;
  18. }
  19. public void setYuLiang(String yuLiang) {
  20.                             this.yuLiang = yuLiang;
  21. }
  22. public String getPM2_5() {
  23.                             return PM2_5;
  24. }
  25. public void setPM2_5(String pM2_5) {
  26.                             PM2_5 = pM2_5;
  27. }
  28. public String getHwx() {
  29.                             return hwx;
  30. }
  31. public void setHwx(String hwx) {
  32.                             this.hwx = hwx;
  33. }
  34. public String getRll() {
  35.                             return rll;
  36. }
  37. public void setRll(String rll) {
  38.                             this.rll = rll;
  39. }
  40. public Environment() {
  41.                             super();
  42.                             // TODO Auto-generated constructor stub
  43. }
  44. public Environment(String yanWu, String yuLiang, String pM2_5, String hwx,
  45.                             String rll) {
  46.                             super();
  47.                             this.yanWu = yanWu;
  48.                             this.yuLiang = yuLiang;
  49.                             PM2_5 = pM2_5;
  50.                             this.hwx = hwx;
  51.                             this.rll = rll;
  52. }
  53.               @Override
  54. public String toString() {
  55.                             return "Environment [yanWu=" + yanWu + ", yuLiang=" + yuLiang
  56.                                                         + ", PM2_5=" + PM2_5 + ", hwx=" + hwx + ", rll=" + rll + "]";
  57. }
  58. }
復制代碼


完整論文下載(word格式 可編輯):





回復

使用道具 舉報

ID:457851 發表于 2018-12-29 11:26 | 顯示全部樓層
nice!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩中字幕 | 国产在线一区二区三区 | 欧美成人h版在线观看 | av网站观看| 精品免费国产一区二区三区四区介绍 | 三极网站 | 羞羞色视频 | 最新日韩欧美 | www.日韩| 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 一区二区精品在线 | 福利久久 | 伊人精品在线视频 | 欧美日韩三区 | 97色在线视频 | 欧美极品在线 | jizz中国日本| 久草网址 | 国产亚洲精品91 | 91伊人网 | 欧美一级片免费看 | 毛片高清 | 日韩资源 | 国产一区二区三区色淫影院 | 久热国产在线 | 日韩免费av网站 | 男女爱爱福利视频 | 在线欧美亚洲 | 欧美一区二区在线观看 | 日本视频免费观看 | 欧美性生交大片免费 | 91 在线 | 羞羞视频网站免费观看 | 亚洲精品在 | 麻豆av一区二区三区久久 | 亚洲+变态+欧美+另类+精品 | 国产在线观看 | 99亚洲精品视频 | 久久综合一区 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | www国产亚洲精品久久网站 |