基于單片機與VC串口通信的溫度采集系統(tǒng)設(shè)計.doc_第1頁
基于單片機與VC串口通信的溫度采集系統(tǒng)設(shè)計.doc_第2頁
基于單片機與VC串口通信的溫度采集系統(tǒng)設(shè)計.doc_第3頁
基于單片機與VC串口通信的溫度采集系統(tǒng)設(shè)計.doc_第4頁
基于單片機與VC串口通信的溫度采集系統(tǒng)設(shè)計.doc_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章 緒 論1.1 背景和意義傳統(tǒng)靠人工控制的溫度、濕度、液位等信號的測壓力控系統(tǒng),外圍電路比較復雜,測量精度較低,分辨力不高,需進行溫度校準(非線性校準、溫度補償、傳感器標定等);且它們的體積較大、使用不夠方便,更重要的是參數(shù)的設(shè)定需要有其它儀表的參與,外界設(shè)備多,成本高,因而越來越適應不了社會的要求。在對多類型、多通道信號同時進行檢測和控制中,傳統(tǒng)的測控系統(tǒng)能力有限。如何將計算機與各種設(shè)施、設(shè)備結(jié)合,簡化人工操作并實現(xiàn)自動控制,滿足社會的需求,成為一個很迫切的問題. 溫度檢測是現(xiàn)代檢測技術(shù)的重要組成部分,在保證產(chǎn)品質(zhì)量、節(jié)約能源和安全生產(chǎn)等方面起著關(guān)鍵的作用。隨著科學技術(shù)的發(fā)展,由單片集成電路構(gòu)成的溫度傳感器的種類越來越多,測量的精度越來越高,響應時間越來越短,因其使用方便、無需變換電路等特點已經(jīng)得到了廣泛的應用,例如:以前常用的ad590和lm35等,以及現(xiàn)在得到廣泛應用的dsl820、ds1821和ds1620等。本次畢業(yè)設(shè)計正是為了完成溫度采集而設(shè)計的,而且采用了前不久美國dallas公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器ds1820,可以說與人們的日常生活是息息相關(guān)的,具有很大的現(xiàn)實意義。1.2 目的和內(nèi)容新型數(shù)字化、網(wǎng)絡(luò)化傳感器在工程中的應用具有極其重要的意義。 這類傳感器是各種參量送入計算機系統(tǒng),進行智能監(jiān)測、控制的最前端。隨著科技的發(fā)展,數(shù)字化、網(wǎng)絡(luò)化傳感器應用日益廣泛,以其傳統(tǒng)方式不可比擬的優(yōu)勢漸漸成為技術(shù)的趨勢和主流。本次設(shè)計的目的就是以數(shù)字傳感器ds1820作為前端,采集溫度經(jīng)過單片機處理后,再采用串口通信,把溫度顯示在vc編輯的計算機界面上,實現(xiàn)與計算機的通信。本系統(tǒng)的設(shè)計包括硬件和軟件兩大部分。系統(tǒng)的硬件部分大致可分為四部分:ds1820溫度采集部分、單片機處理部分、顯示電路部分、與計算機串口通信部分。設(shè)計框圖如圖1.1所示:圖1.1 總設(shè)計框圖系統(tǒng)的軟件部分分為五大部分:讀取ds1820的內(nèi)部數(shù)據(jù)部分、單片機對溫度的處理部分、數(shù)碼顯示部分、串口通信部分、vc+界面部分。1.3 發(fā)展前景近年來,利用智能化數(shù)字式溫度傳感器以實現(xiàn)溫度信息的在線檢測已成為溫度檢測技術(shù)的一種發(fā)展趨勢。數(shù)字化技術(shù)推動了信息化的革命,在傳感器的器件結(jié)構(gòu)上采用數(shù)字化技術(shù),使信息的采集更加方便。例如,對于溫度信號采集系統(tǒng),傳統(tǒng)的模擬溫度傳感器多為鉑電阻、銅電阻等。每一個傳輸線至少有兩根導線,帶補償接法需要三根導線。如果對50路溫度信號進行檢測,就需要100根導線接到采集端口,然后還要經(jīng)過電橋電路、信號放大、通道選擇、a心轉(zhuǎn)換等,才能將溫度信號供計算機處理。而ds1820新型單總線數(shù)字溫度傳感器,采用3腳(或8腳)封裝,從ds1820讀出或?qū)懭霐?shù)據(jù)僅需要一根io口線。并且以串行通信的方式與微控制器進行數(shù)據(jù)通信。該器件將半導體溫敏器件、a心轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上,傳感器直接輸出的就是溫度信號數(shù)字值。信號傳輸采用兩芯(或三芯)電纜構(gòu)成的單總線結(jié)構(gòu)。一條單總線電纜上可以掛接若干個數(shù)字溫度傳感器,每個傳感器有一個唯一的地址編碼。微控制器通過對器件的尋址,就可以讀取某一個傳感器的溫度值,從而簡化了信號采集系統(tǒng)的電路。第2章 主要器件介紹2.1 溫度傳感器ds1820ds1820是美國dallas半導體公司生產(chǎn)的可組網(wǎng)數(shù)字式溫度傳感器,在其內(nèi)部使用了在板(on-b0ard)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。ds1820具有以下特性: 1、獨特的單線接口方式,ds1820在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds1820的雙向通訊。 2、ds1820支持多點組網(wǎng)功能,多個ds1820可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫。 3、ds1820在使用中不需要任何外圍元件。 4、溫范圍55125,固有測溫分辨率0.5。 5、測量結(jié)果以9位數(shù)字量方式串行傳送。ds1820采用3腳pr-35封裝或8腳soic封裝,引腳排列如圖2.1所示。i/o為數(shù)據(jù)輸入/輸出端(即單線總線),常態(tài)下呈高電平。udd是可供選用的外部+5v電源端不用時需接地。gnd為地,nc為空腳。圖2.1 ds1820的封裝圖2.1.1 ds1820的工作原理1、 ds1820的內(nèi)部結(jié)構(gòu)ds1820的內(nèi)部結(jié)構(gòu)如圖2.2所示:圖2.2 ds1820的內(nèi)部結(jié)構(gòu)該芯片內(nèi)部有經(jīng)過激光修正的rom,內(nèi)含64位rom編碼,包括產(chǎn)品系列號(高8位),產(chǎn)品序列號(中間48位)和crc編碼(低8位)編碼格式如下表2.1:表2.1 ds1820的rom結(jié)構(gòu)圖8位產(chǎn)品系列號48位產(chǎn)品序號8位crc編碼2、 ds1820測溫原理ds1820測溫原理如圖2.3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在55所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1 ,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2.3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。圖2.3 測溫原理框圖在正常測溫情況下,ds1820的測溫分辯率為0.5以9位數(shù)據(jù)格式表示,其中最低有效位(lsb)由比較器進行0.25比較,當計數(shù)器1中的余值轉(zhuǎn)化成溫度后低于0.25時,清除溫度寄存器的最低位(lsb),當計數(shù)器1中的余值轉(zhuǎn)化成溫度后高于0.25,置位溫度寄存器的最低位(lsb)。高字節(jié)溫度值只代表符號位,低字節(jié)具體對應的溫度格式如下表2.2所示: 表2.2 低字節(jié)溫度格式262524232221202-1下面舉例說明這種溫度輸出形式,如表2.3所示。表2.3 溫度輸出形式溫 度(temp_read)msb,lsb二進制溫度輸出十六進制溫度輸出+125.000000000,1111101000fa+25.000000000,001100100032+0.500000000,0000000100010.000000000,000000000000-0.511111111,11111111ffff續(xù)表溫 度(temp_read)msb,lsb二進制溫度輸出十六進制溫度輸出-25.011111111,11001110ffce-55.011111111,10010010ff922.1.2 ds1820操作協(xié)議dsl820作為一種單線器件,要求嚴格的協(xié)議來確保數(shù)據(jù)的正確讀寫這個協(xié)議是:初始化、rom操作命令、存儲器操作命令、處理數(shù)據(jù)。下面介紹ds1820工作的時序要求:1、 初始化在單總線上的所有處理均是從初始化開始,主機總線發(fā)送一個復位脈沖(最短為480us的低電平信號),ds1820在檢測到總線的上升沿之后等待1560us,接著發(fā)出存在脈沖(60us240us)。 任何命令的發(fā)送必須先由主機發(fā)出復位信號,收到dsl820發(fā)出的先導脈沖后,再發(fā)送命令和數(shù)據(jù)。復位和先導脈沖的時序如圖2.4所示。首先由主機把數(shù)據(jù)線下拉成低電平持續(xù)480us960us,然后釋放數(shù)據(jù)線完成復位操作,dsl820收到后,等待16us60us發(fā)出寬度為60us240us的低電乎,即先導脈沖,主機收到先導脈沖后說明握手成功,可以進行下一步的通訊。任何一次讀寫操作都必須先進行復位,發(fā)送一條rom指令,然后發(fā)送ram指令,完成預定的操作。 圖2.4 ds1820復位2、 讀寫時序讀寫時序:如圖2.5所示,主機寫入0時,將數(shù)據(jù)線拉成低電平并保持60us再釋放數(shù)據(jù)線,寫入1時要先使數(shù)據(jù)線變低,然后在15us內(nèi)釋放。主機讀取每位數(shù)據(jù)時,都先將數(shù)據(jù)線拉低至少1us的時間,然后釋放等待輸出的數(shù)據(jù),ds1820的輸出數(shù)據(jù)從下降沿起保持15us供主機采樣。圖2.5 ds1820的讀寫時序2.1.3 ds1820的指令系統(tǒng) 1、 rom操作指令 總線主機檢測到ds1820的存在,便可發(fā)出rom操作指令之一,這些指令如下:(1) 讀rom(read rom) 機器碼33h 適用于單片,讀出64位地址,當有多于一片的dsl820在線時,讀出的將是各片地址相與的結(jié)果。 (2) 匹配rom(match rom) 機器碼55h 適用多片dsl820、緊跟該命令之后要輸入64位地址,與該地址對應的ds1820響應以后的讀寫命令。(3) 跳過rom(skip rom) 機器碼cch 用于單片,它忽略64位地址。(4) 搜索rom(search rom) 機器碼f0h 該命令可以確認dsl820的個數(shù)和對應的64位地址。(5) 報警搜索rom(alarm rom)機器碼ech 執(zhí)行后,只有溫度超過設(shè)定的高限或低于設(shè)定的低限,片子才響應此命令,接卞來的搜尋過程同執(zhí)行search rom命令后相同。2、ram操作命令總線主機只有在發(fā)出rom操作命令之后,才可以對存儲器進行操作,相應命令如下:(1) 寫暫存存儲器(write scratchpad) 機器碼4eh 向筆記本的第3和第4字節(jié)寫上下限數(shù)據(jù),緊跟該命令后是傳送兩字節(jié)的數(shù)據(jù)。(2) 讀暫存存儲器(read scratchpad) 機器碼beh 讀內(nèi)部筆記本中9字節(jié)的內(nèi)容。(3) 內(nèi)部復制暫存存儲器(copy scratchpad) 機器碼48h將筆記本的第3和第4字節(jié)存入eep_rom。(4) 溫度變換(convert temperature) 機器碼44h 執(zhí)行后開始進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500ms,使用寄生電源時,數(shù)據(jù)線至少保持500ms的高電平。轉(zhuǎn)換后的結(jié)果保存在內(nèi)部9字節(jié)的筆記本中。(5) 重新調(diào)出eepram(recall eepram) 機器碼b8h 將eeprom中內(nèi)容恢復到筆記本中第3和第4字節(jié),每次上電自動執(zhí)行一次此命令。(6) 讀電源(read supply) 機器碼b4h 讀ds1820的供電模式,如果采用寄生模式,d51820發(fā)送0,如果采用外接電源, ds1820發(fā)送1。2.1.4 ds1820精度提高原理1、 ds1820內(nèi)部暫存寄存器ds1820內(nèi)部暫存寄存器的分布如表2.4所示,其中第7字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器1的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用ds1820提供的讀暫存寄存器指令(beh)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(lsb),得到所測實際溫度整數(shù)部分t整數(shù),然后再用beh指令讀取計數(shù)器1的計數(shù)剩余值m剩余和每度計數(shù)值m每度,考慮到ds1820測量溫度的整數(shù)部分以0.25、0.75為進位界限的關(guān)系,實際溫度t實際可用下式計算得到: t實際=(t整數(shù)0.25)+(m每度m剩余)/m每度 = t整數(shù)+0.75 (m剩余/m每度)2、 測量數(shù)據(jù)比較 表2.5為采用直接讀取測溫結(jié)果方法和采用計算方法得到的測溫數(shù)據(jù)比較,通過比較可以看出,計算方法在ds1820測溫中不僅是可行的,也可以大大的提高ds1820的測溫分辨率.表2.4 ds1820暫存寄存器分布 表2.5 ds1820直接測溫結(jié)果與計算測溫結(jié)果數(shù)據(jù)比較 寄存器內(nèi)容字節(jié)地址溫度低數(shù)字位0溫度高數(shù)字位1高溫限值2低溫限值3保留位4保留位5計數(shù)剩余值6每度計數(shù)值7crc校驗8次數(shù)t(直接)m剩余m每度t(實際)121.000728020.850234.000428234.238349.000308349.388452.000668451.964564.000498564.174679.000568779.106782.500168882.5682.1.5 硬件接法ds1820硬件接法有兩種:如圖2.6外接電源供電和圖2.7寄生電源供電: 圖2.6 外接電源供電 圖2.7 寄生電源供電 外接電源是多片ds1820同時進行溫度轉(zhuǎn)換的最保險的用法,此時gnd不能浮接。采用寄生模式時vdd必須接地,在溫度轉(zhuǎn)換期間ds1820通過高電平的數(shù)據(jù)線供電,傳遞數(shù)據(jù)時它由內(nèi)部從電電路的電容供電。這種用法的最大好處是節(jié)省了一根引線。由于每個ds1820在轉(zhuǎn)換期間約耗電1ma,所以當多個ds1820同時轉(zhuǎn)換時,電源可能供電不足,這時應再啟動轉(zhuǎn)換后10us以內(nèi),到通mosfet,把數(shù)據(jù)線直接聯(lián)到電源上。當溫度在100度以上時,不能使用寄生電源模式,因為高溫時大的漏電流有可能會拉下通訊時的高電平,cpu無法得到正確的數(shù)值。2.2 單片機介紹單芯片微電腦簡稱單片機。它是由中央處理器(cpu)、內(nèi)存單元及輸入輸出單元所組成。依靠地址總線、數(shù)據(jù)總線與控制總線,cpu可與內(nèi)存單元及i/o單元相連,構(gòu)成完整的微電腦系統(tǒng)。單芯片微電腦為將cpu、內(nèi)存及i/o等組合制作于同一芯片內(nèi)的微控制器,所以僅需要少量的外圍電路即可獨立工作。單片機具有電路簡單及不占空間的優(yōu)點,主要用于工業(yè)控制及民用消費性產(chǎn)品,如汽車遙控器、防盜器、冷氣機及工廠自動化。2.2.1 mcs-51系列簡介mcs-51系列根據(jù)電路結(jié)構(gòu)可分為四種版本,詳見表2.6。 表2.6 mcs-51系列單片機版 本組件名稱ram(byte)romi/o腳(pin)計時/計數(shù)器中斷romless803112803225rom80511284k rom3225eprom87511284k eprom3225eeprom89511284k eeprom3225通常在程序開發(fā)階段,常需要修改程序,故一般選用單芯片內(nèi)含程序內(nèi)存eprom和eeprom的版本。而eeprom為電可清除的新型產(chǎn)品,其壽命可達1000次,而且清除原有程序和燒錄程序都十分方便,已經(jīng)得到了廣泛應用;若程序發(fā)展到程序階段,則可采用rom版本,直接將程序燒錄進去,可降低成本。2.2.2 mcs-51內(nèi)部結(jié)構(gòu)mcs-51芯片的外部引腳和指令系統(tǒng)完全兼容,其內(nèi)部結(jié)構(gòu)除rom/eprom/ eeprom不同外,其余完全相同。它是由8位cpu、4kbytesrom、128bytesram、8位i/o口和很多工作寄存器及特殊功能寄存器(sfr)組成的。1、cpu是單片機的核心,是計算機的控制和指揮中心,由運算器和控制器組成。運算器包括一個可進行8位算術(shù)運算和邏輯運算的單元alu,8位的暫存器1,暫存器2,8位的累加器acc,寄存器b和程序狀態(tài)寄存器psw等??刂破靼ǔ绦蛴嫈?shù)器pc,指令寄存器ir,指令譯碼器id,震蕩器及定時電路等。2、8951片內(nèi)有rom(程序存儲器,只能讀)和ram(數(shù)據(jù)存儲器,可讀可寫)兩類,它們有個自獨立的存儲地址空間,與一般微機的存儲器配置方式很不相同。3、8051/8751/8951片內(nèi)程序存儲器rom容量為4kb,地址從0000h開始,用于存放程序和表格常數(shù)。mcs-51片內(nèi)數(shù)據(jù)存儲器ram均為128bytes,地址為00h-7fh,用于存放運算的中間結(jié)果,數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。在這128bytes的ram中,有32個字節(jié)單元可指定為工作寄存器,這同一般處理器不同。mcs-51的片內(nèi)ram和工作寄存器排在一個隊里統(tǒng)一編址。另外,8951還有sp,dptr,pcon等特殊寄存器,它們也同128字節(jié)的ram和在一個隊列里編址,地址為80h-ffh。在這128字節(jié)ram單元中有21個特殊寄存器(sfr),這些特殊功能寄存器還包括p0-p3口鎖存器。4、mcs-51有四個8位并行接口,即p0-p3。它們都是雙向端口,每一個端口各有8條i/o線,均可輸入/輸出。p0-p3口四個鎖存器同ram統(tǒng)一編址,可以把i/o口當作一般特殊功能寄存器來尋址。2.2.3 mcs-51單片機引腳功能圖2.8為mcs-51系列單片機的40支dip包裝的引腳圖。其中圖2.8 mcs-51系列單片機引腳圖許多引腳是多用途的,信號名稱后面括號中的數(shù)字為引腳號碼,現(xiàn)說明如下:1、 vss(20):接地信號線2、 vcc(40):+5v電源輸入引腳3、xtal1(19):反相振蕩放大器輸入4、xtal1(18):反相振蕩放大器輸出5、reset(9):復位輸入端6、(31):外部存取至能輸入信號線。7、p0.0p0.7(3239):端口0,8位輸入輸出端口。此端口為開汲極結(jié)構(gòu),當輸出端口使用時應外加提升電阻。8、 p1.0p1.7(18腳):端口1,8位輸入輸出端口。此端口具有內(nèi)部提升電阻的雙向i/o,每支腳可獨立做輸入輸出。 9、 p2.0p2.7(2128腳):端口2,8位輸入輸出端口。此端口具有內(nèi)部提升電阻的雙向i/o,與p1同。10、p3.0p3.7(1017腳):端口,8位輸入輸出端口。此端口也具有內(nèi)部提升電阻的雙向i/o。具有雙重功能,除當一般i/o外,每支腳的特殊功能如下:p3.0(rxd):串行口輸入p3.1(txd):串行口輸出p3.2(int0):外部中斷0輸入p3.3(int1):外部中斷1輸入p3.4(t0):定時器0的外部輸入p3.5(t1):定時器1的外部輸入p3.6():片外數(shù)據(jù)存儲器寫選通p3.7():片外數(shù)據(jù)存儲器讀選通2.2.4 mcs-51的復位動作reset引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間持續(xù)24個振蕩周期(即二個機器周期)以上。當復位發(fā)生時,除i/o、堆棧指針及sbuf外,內(nèi)部電路會將特殊功能緩沖器全部寫入0,如表2.7所示。表2.7 一些寄存器的復位狀態(tài)寄存器復位狀態(tài)寄存器復位狀態(tài)pc0000htcon00hacc00htl000hpsw00hth000hsp07htl100hdptr0000hthi00hp0p3ffhscon00hipxx000000bsbuf不定續(xù)表寄存器復位狀態(tài)寄存器復位狀態(tài)ie0x000000bpcon0xxxxxxx btmod00h復位操作有上電自動復位和按鍵手動復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的,其電路圖如圖2.9(a)所示。這樣,只要電源vcc的上電時間不超過1ms,就可以實現(xiàn)自動上電復位,即通過電源就完成了系統(tǒng)的復位初始化。按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過復位端經(jīng)電阻與vcc電源接通而實現(xiàn)的,其電路圖如圖2.9(b)所示;而按鍵脈沖復位則是利用rc微分電路產(chǎn)生的正脈沖來實現(xiàn)的,其電路圖如圖2.9(c)所示。上述電路圖中的電阻,電容參數(shù)使用于6mhz晶振,能保證復位信號高電平持續(xù)時間大于2個機器周期。 (a) (b) (c)圖2.9 復位電路 2.3 本章小結(jié)本章介紹了溫度傳感器ds1820和單片機的一些知識。對本設(shè)計與相關(guān)的ds1820的知識做了詳細介紹。雖然外觀很不起眼的ds1820,卻有著較復雜的內(nèi)部結(jié)構(gòu)。作為一個單總線的數(shù)字傳感器,它有著自己的存儲空間和操作指令系統(tǒng)。要想很好的運用ds1820,必須對它的結(jié)構(gòu)和指令系統(tǒng)又有所認識。本章還介紹了單片機的結(jié)構(gòu)、管腳功能及復位動作等。本設(shè)計具體用到的單片機的某些功能,在后面硬件設(shè)計介紹中也有的介紹,所以在本章就沒有具體介紹。通過本章的介紹,就可以理解這個設(shè)計的設(shè)計方案,也能夠?qū)竺娴恼鹿?jié)有更好的認識。第3章 系統(tǒng)的硬件設(shè)計3.1 設(shè)計方案的選定本設(shè)計要求:1、該溫度測控系統(tǒng)測溫精度達0.5度;2、單片機實現(xiàn)硬件,與pc串口通信3、溫度傳感器選用ds1820于是,根據(jù)設(shè)計要求,溫度采集部分我選用了溫度傳感器ds1820。硬件核心處理部分選用了單片機來實現(xiàn)。單片機我選用了常用的at89c51型號的單片機。用單片機來完成溫度數(shù)據(jù)的采集、存儲、數(shù)據(jù)轉(zhuǎn)換、顯示和發(fā)送。串口通信部分,我選用了rs232的九孔的串口線和九針的串口座來完成串口數(shù)據(jù)的傳輸??紤]到單片機的串口輸出電壓和rs232的工作電壓不匹配的問題,我選用了常用的串口電平轉(zhuǎn)換芯片max232cpe。顯示部分的數(shù)碼管我選用了一塊四位一體的共陽的數(shù)碼管。為了降低硬件成本,我的數(shù)碼管驅(qū)動采用了四個pnp三極管放大電流來實現(xiàn)。3.2 設(shè)計的主要思想本設(shè)計主要用可組網(wǎng)數(shù)字式溫度傳感器ds1820來采集外界溫度,其內(nèi)部on-board專利技術(shù)測量溫度,把全部傳感器以及各種數(shù)字轉(zhuǎn)換電路集成在一起做成形如一只三極管的集成電路,故系統(tǒng)不另需a/d轉(zhuǎn)換電路。它有獨特的單線接口方式,在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds1820的雙向通訊。而且在使用中不需要任何外圍元件。其測溫范圍55125,固有測溫分辨率0.5,測量結(jié)果以9位數(shù)字量方式串行傳送。中心處理部分用51系列單片機來實現(xiàn)。本設(shè)計是基于89c51型號的單片機,來實現(xiàn)硬件部分的溫度轉(zhuǎn)換、存儲和顯示等。由于溫度傳感器ds1820是單線串行結(jié)構(gòu),故需要單片機用串行方式對其寫入指令使其執(zhí)行命令,再通過這唯一的數(shù)據(jù)線向單片機寫入數(shù)據(jù)。而且該傳感器所輸出的溫度是9位數(shù)字量方式,故還需要把其溫度的數(shù)據(jù)格式轉(zhuǎn)化成該設(shè)計顯示部分所需的數(shù)據(jù)格式,因而單片機還要將其輸出的溫度進行處理后才將其顯示出來。而且該溫度傳感器內(nèi)部還有兩個存儲器里分別存放著溫度報警上、下限,用戶使用寫入存儲器命令,設(shè)置溫度報警值。故單片機還需要對ds1820寫入該命令和報警上下限的具體值??傊?,除了硬件平臺的搭建外,還要編寫大量匯編語言的程序來支撐該硬件平臺。在單片機與pc機連接時,用串口rs232和電平轉(zhuǎn)換器件max232來實現(xiàn)他們之間的串口通信。通過這個串口把單片機所接收到的溫度數(shù)據(jù)傳送給pc機。然后,用vc編輯一個溫度顯示的界面,在pc機上顯示所測得溫度值,此為軟件部分設(shè)計。對于這部分實現(xiàn)的同時,我用數(shù)碼管作為硬件溫度顯示。設(shè)計的要求測溫精度達0.5度。但我實際設(shè)計中準備采用提高精度的方法實現(xiàn)測溫精度達0.1度。系統(tǒng)的硬件部分大致可分為四部分: ds1820與單片機接口電路部分、復位電路及振蕩電路部分、顯示電路部分、串口通信部分。總的電路圖見附錄。下面分別介紹四部分電路的設(shè)計思想。3.3 ds1820與單片機接口電路ds1820與單片機的接口電路有兩種方式,一種是采用外接電源方式,一種是采用寄生電源方式。本設(shè)計中采用外接電源方式,如圖3.1所示。圖3.1 ds1820與單片機接口電路r為上拉電阻,典型值可取5.1k或4.7k 。本設(shè)計中采用的5.1k的上拉電阻。ds1820的i/o線接單片機p1.1口,通過對p1.1的控制來完成對ds1820的讀寫操作。3.4 復位電路及振蕩電路這部分為單片機工作需要的外圍電路部分。特別是其振蕩部分電路關(guān)系到單片機內(nèi)部的機械周期。3.4.1 復位電路mcs-51的復位輸入reset腳為高電位動作,其高電位時間至少需要2個機械周期,故復位電路的rc值不可隨意選取。如圖3.2所示,為我所采用的開機復位電路。電源on時,電容視為短路,故reset腳為+5v的高電位。然后經(jīng)歷rc=10u8.2k的充電時間后, reset腳降為低電位,此時cpu由地址0開始執(zhí)行程序。電容器上的開關(guān)可達到手動復位的功能,摁下開關(guān),可強迫系統(tǒng)復位。圖3.2 復位電路3.4.2 振蕩電路89c51芯片內(nèi)部有一個高增益反向放大器,用于構(gòu)成振蕩器。反向放大器的輸入端為xtal1,輸出端為xtal2,分別是89c51的19腳和18腳。在xtal1和xtal2兩端跨接石英晶體及兩個電容就可以構(gòu)成穩(wěn)定的自激振蕩器,電容c1和c2通常取30pf左右,對振蕩器頻率有微調(diào)作用。振蕩頻率范圍是1.2mhz-12mhz。晶體振蕩器的振蕩信號從xtal2端輸入到片內(nèi)的時鐘發(fā)生器上,時鐘發(fā)生器是一個2分頻的觸發(fā)器電路,它將振蕩器的信號頻率fosc除以2,向cpu提供了兩相時鐘信號p1和p2。時鐘信號的周期稱為機器狀態(tài)時間s(state),它是振蕩周期的2倍。在每個時鐘周期(即機器狀態(tài)時間s)的前半個周期,相位1信號有效,在每個時鐘周期的后半個周期,相位2有效。本設(shè)計使用的晶振為12m,并使用內(nèi)部振蕩,故僅需 再18,19腳之間接一個石英振蕩器,并各接一個電容接地。如圖3.3所示。圖3.3 振蕩電路51單片機的機械周期由s1至s6共6個狀態(tài)所組成,每個狀態(tài)又可細分為相1(p1)和相2(p2),故一個機械周期等于12個振蕩周期,所以圖3.3所示的振蕩電路的振蕩周期和機械周期為:振蕩周期=1/(12mhz)=1/12us 機械周期=6態(tài)2相振蕩周期=121/12us=1us了解指令執(zhí)行所花費的機械周期后,即可計算延時時間。3.5 顯示電路單片機中通常使用7段led構(gòu)成字型“8”,另外,還有一個小數(shù)點發(fā)光二極管以顯示數(shù)字,符號及小數(shù)點。這種顯示器有共陽極和共陰極兩種,發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。一位顯示起由8個發(fā)光二極管組成,其中,7個發(fā)光二極管構(gòu)成字型“8”的各個段a-g,另一個小數(shù)點為dp發(fā)光二極管。當在某段發(fā)光二極管上施加一定的正向電壓時,該段即亮;不加電壓則暗。為了保護各段led不被損壞,需要加限流電阻。3.5.1 數(shù)碼管的選擇及其硬件連接在顯示部分,我采用四位數(shù)字顯示我所要顯示的溫度。因為ds1820的測溫范圍是-55+125度,且本設(shè)計我把它的測溫精度提高到了0.1度,考慮到有百位數(shù)的顯示,也有小數(shù)位的顯示,所以我用到了一個四位一體的數(shù)碼管來顯示最后的溫度。由于提供的元件限制,我選用了一片共陽的四位一體的數(shù)碼管,它有12個管腳,4位段選端,具體管腳分配如圖3.4所示。圖3.4 四位共陽極數(shù)碼管 本設(shè)計我的電流放大部分采用三極管來實現(xiàn)。由于選用的數(shù)碼管是共陽的型號,故只用把段選端通過pnp三極管與單片機相連。三極管的c極接到5伏電源、e極與數(shù)碼管片選端相連、b極接上一個1k的限流電阻到單片機的p1口。我用p1口的p1.4p1.7作為數(shù)碼管段選端。用單片機的p2.0p2.7口作為8個位選端。當然,位選端分別通過八個200歐的限流電阻與p2口相連。具體電流放大電路如圖3.5所示。圖3.5 電流放大電路3.5.2 動態(tài)顯示由于所有4位段選線皆由一個i/o口控制,因此,在每一瞬間,4位led會顯示相同的字符。這就是動態(tài)顯示。要想每位顯示不同的字符,就必須采用掃描方法輪流點亮各位led,即在每一瞬間只使某一位字符顯示。在此瞬間,段選控制i/o口輸出相應字符段選碼(即字型碼),而位選則控制i/o口在該顯示位送入選通電平,以保證該位顯示相應字符。段選碼,位選碼每送入一次后延遲1ms,因人眼的視覺暫留時間為0.1s(100ms),所以每位顯示的間隔不能超過20ms,并保持延時一段時間,以造成視覺暫留效果,給人看上去每個數(shù)碼管總在亮。利用視覺暫留原理,p1.4p1.7導通頻率每秒必須在16秒以上,頻率太快會閃爍,太慢數(shù)字會模糊。這部分是通過延時程序來實現(xiàn)的,具體的延時時間也是先大概估算下需要多少時間,再通過與實際效果比較,定下來的延時時間。具體程序?qū)⒃谲浖榻B部分給出。3.5.3 顯示位數(shù)的分配顯示部分四位數(shù)碼管的分配依次如下:百位(也為符號位)、十位、個位(個位始終帶有小數(shù)點顯示)、小數(shù)位。 具體介紹如下:對于百位的顯示,它又具有符號顯示的功能。本次設(shè)計對第一位數(shù)碼管的安排是:1、 當溫度低于100度高于0度時,百位顯示數(shù)字0;2、 當溫度超過100度時,百位顯示數(shù)字1;3、 當溫度為負溫度時,百位顯示“”即負號。 其他三位的顯示,考慮到了有小數(shù)顯示,故把個位數(shù)始終帶上小數(shù)點來顯示。十位和小數(shù)位,就始終不顯示小數(shù)點,這樣就達到了比較容易識別的溫度顯示了。具體的實現(xiàn)這些功能在后面會介紹,主要是通過匯編語言編程來實現(xiàn)。3.6 串口通信本設(shè)計采用串行方式發(fā)送數(shù)據(jù)。在單片機方面主要用到了它的串行端口信號輸入輸出端:rxd,txd。然后,通過串口的電平轉(zhuǎn)換芯片max232把5v電平轉(zhuǎn)換成正負12v電平,再送到九針串口rs232,通過串口線把數(shù)據(jù)送到pc機上,最后用計算機上的溫度顯示界面顯示出來。以下介紹怎樣用這些器件來實現(xiàn)串口通信的:3.6.1 單片機串行端口mcs-51內(nèi)部有一個可規(guī)劃的串行端口,為一個全雙工的通訊端口,故可以同時發(fā)送和接收數(shù)據(jù)。串行端口的優(yōu)點就是使用較少的傳輸線即可完成數(shù)據(jù)的傳輸。同時,mcs-51的通訊端口也是一個接收緩沖式的串行端口,在sfr中有一個sbuf的寄存器,專門供存放發(fā)送和接收的數(shù)據(jù),所以欲發(fā)送或接收,僅需對sbuf的寄存器進行存取即可。實際上,發(fā)送和接收各有一個sbuf寄存器,且占用同一地址(99h),依照讀取或?qū)懭雜buf寄存器的動作來決定到底使用哪一個寄存器。當將指令寫入sbuf時,及時將數(shù)據(jù)寫入串行數(shù)據(jù)發(fā)送緩沖器sbuf中發(fā)送出去;反之亦然。串行端口接收到一個字節(jié)的數(shù)據(jù)后,產(chǎn)生串行端口中斷,通知cpu至sbuf讀取數(shù)據(jù),此時串行端口可繼續(xù)接受第二個數(shù)據(jù),當?shù)诙€數(shù)據(jù)接收完成時,存于sbuf中的第一個數(shù)據(jù)若還沒被讀取,則第一個數(shù)據(jù)會丟失。同理,將一個字節(jié)數(shù)據(jù)寫入發(fā)送sbuf中,便會通過串行端口發(fā)送出去,發(fā)送完畢后便產(chǎn)生中斷,通知cpu已經(jīng)發(fā)送完成,可繼續(xù)發(fā)下一個數(shù)據(jù)。串行端口一共有四種工作模式,由sfr中的98h可位尋址的scon寄存器來選擇。本設(shè)計采用的是串行端口處于模式1的情況。此時,串行端口經(jīng)由txd引腳負責發(fā)送及通過rxd引腳負責接受10位數(shù)據(jù),其中包括一個起始位、8個數(shù)據(jù)位和1個停止位。由于接收和發(fā)送是由不同的引腳負責的,故可同時接收和發(fā)送。但本設(shè)計只用到了發(fā)送數(shù)據(jù)部分,所以接收部分基本沒用,但在連接電路時,還是接上了接收部分的電路。串行通信這部分的硬件很簡單,單片機上只用到了txd和rxd兩個管腳。3.6.2 max232的應用 max232產(chǎn)品是由德州儀器公司(ti)推出的一款兼容rs232標準的芯片。該器件包含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供tia/eia-232-f電平。該器件符合tia/eia-232-f標準,每一個接收器將tia/eia-232-f電平轉(zhuǎn)換成5-v ttl/cmos電平。每一個發(fā)送器將ttl/cmos電平轉(zhuǎn)換成tia/eia-232-f電平。它的封裝形式如圖3.6,它的外圍電路連接如圖3.7。圖3.6 max232的封裝圖3.7 max232的外圍電路接法3.6.3 rs232的應用1、rs-232功能介紹rs-232被定義為一種在低速率串行通訊中增加通訊距離的單端標準。rs-232采取不平衡傳輸方式,即所謂單端通訊。收、發(fā)端的數(shù)據(jù)信號是相對于信號地,如從dte設(shè)備發(fā)出的數(shù)據(jù)在使用db25連接器時是2腳相對7腳(信號地)的電平,db25各個引腳定義參見圖3.8。典型的rs-232信號在正負電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5+15v,負電平在-5-15v電平。當無數(shù)據(jù)傳輸時,線上為ttl,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從ttl電平到rs-232電平再返回ttl電平。接收器典型的工作電平在+3+12v與-3-12v。由于發(fā)送電平與接收電平的差僅為2v至3v左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。rs-232是為點對點(即只用一對收、發(fā)設(shè)備)通訊而設(shè)計的,其驅(qū)動器負載為37k。所以rs-232適合本地設(shè)備之間的通信。2、rs-232的電氣特性eia-rs-232c對電器特性、邏輯電平和各種信號線的功能都作了規(guī)定。在txd和rxd上:邏輯1(mark)=-3v-15v、邏輯0(space)=+315v。在rts、cts、dsr、dtr和dcd等控制線上。信號有效(接通,on狀態(tài),正電壓)+3v+15v、信號無效(斷開,off狀態(tài),負電壓)=-3v-15v。即它的輸入電壓的準位為正負12v,邏輯1為-12v,對應單片機邏輯1為5v;邏輯0為+12v,對應單片機邏輯1為0v。由于電位的準位不同,所以用到icl232、max232等來實現(xiàn)電壓轉(zhuǎn)換。d型連接器的引腳名稱、功能如下:圖3.8 d型連接器的引腳圖表3.1 d型連接器的各引腳功能引腳名稱db9引腳db25引腳引 腳 功 能數(shù)據(jù)方向/cd18接收線信號檢測to pcrxd23接收數(shù)據(jù)線to pctxd32發(fā)送數(shù)據(jù)線from pc/dtr420數(shù)據(jù)終端機就緒,預備好將modem連接到線上from pcgnd57信號地線/dsr66數(shù)據(jù)設(shè)定就緒,表示modem在線上to pc/rts74要求送出,在半雙工時,切換modem的發(fā)送器from pc/cts85清除以便送出,表示modem已準備好發(fā)送to pcri922to pc本設(shè)計采用的9針的rs232和max232,不需外加正負12v的電源,只需5v即可,非常方便。由于考慮到電路板的焊接方法,我選用了9pin的rs232的串口座焊接在電路板上,再用一根串口線把電路板上的串口座和計算機的串口相連。這部分具體的電路連接圖見圖3.9。 圖3.9 max232與rs232的連接圖3.7 本章小結(jié) 本章主要介紹了本次設(shè)計硬件部分的設(shè)計思路和各部分具體的硬件連接。首先從整體上介紹了本次設(shè)計的主要思路和方案,然后分別介紹了ds1820與單片機接口電路部分、復位電路及振蕩電路部分、顯示電路部分、串口通信部分,這四大部分的具體實現(xiàn)方案。由于單片機和溫度傳感器ds1820都在前面有具體的介紹,故在這里只提到它們的應用。對于串口通信部分用到了芯片:max232和rs232,在前面沒有介紹過,故在本章中對它們作了簡單的介紹。第4章 軟件設(shè)計原理4.1 軟件設(shè)計的總思想軟件部分設(shè)計思路也是根據(jù)總的設(shè)計流程來設(shè)計的。該設(shè)計也主要分為五大部分。按照程序流程分為:讀取ds1820內(nèi)部數(shù)據(jù)、設(shè)置ds1820、數(shù)據(jù)處理和精度提高、數(shù)碼管顯示、串口通信。由于我所要做的是溫度采集系統(tǒng),故每次采集并顯示和發(fā)送完成后,還需要繼續(xù)返回到一開始的采集,循環(huán)的進行采集、處理、顯示。具體的流程圖如圖4.1:圖4.1 總的程序流程圖下面的各小結(jié)根據(jù)硬件設(shè)計的四大部分來分別介紹他們的軟件設(shè)計,即傳感器部分、單片機的溫度數(shù)據(jù)處理部分及精度提高部分、數(shù)碼管顯示部分和串口通信部分。4.2 傳感器程序設(shè)計根據(jù)前面第二章中關(guān)于溫度傳感器ds1820的復位和讀寫時序可以看出,ds1820對時序要求很嚴格。因此在對它進行編程時,對每一個脈沖都要進行嚴格計算。在這部分的程序中用到了許多不同的延時。對于傳感器這部分的程序設(shè)計主要可以分為三部分:初始化、傳感器讀操作、傳感器寫操作。因為ds1820為單總線的數(shù)字傳感器,必須要人為的對它串行方式地寫入我們想要進行的操作所對應的指令。然而,每次對rom進行操作前,必須先對其進行初始化操作。最終我們是要讀取ds1820內(nèi)部筆記本的值,用來轉(zhuǎn)換成溫度,對于這部分也是通過串行方式讀取數(shù)據(jù)的。傳感器部分的程序流程圖如圖4.2:圖4.2 ds1820部分流程圖在ds1820中,任何命令的發(fā)送必須先由主機對其進行初始化,初始化成功后才能發(fā)送命令和數(shù)據(jù),故初始化這部分十分重要。其初始化部分的程序流程圖見圖4.3:圖4.3 ds1820初始化部分流程圖4.3 溫度轉(zhuǎn)換和精度提高這部分的程序?qū)崿F(xiàn)了正負溫度情況下的溫度轉(zhuǎn)換和精度提高。并最終轉(zhuǎn)換成了bcd碼存放在了70h73h中。具體流程圖見圖4.4。以下各小結(jié)詳細說明這部分程序的原理。圖4.4 數(shù)據(jù)轉(zhuǎn)換及精度提高部分流程圖4.3.1 溫度轉(zhuǎn)換根據(jù)第二章中的介紹可以知道,ds1820內(nèi)部寄存器中的第0和第1字節(jié)表示溫度的高字節(jié)和低字節(jié)。并且ds1820中給出的這兩個字節(jié)溫度是用16位補碼的形式給出,16位的數(shù)據(jù)不僅不利于存儲和傳送,也不能夠顯示。而為了計算的方便,需要將其轉(zhuǎn)換為8位的二進制代碼。所以,在這部分的溫度轉(zhuǎn)換上要考慮溫度的正負。但是ds1820的高8位為溫度的符號位,即這16位數(shù)據(jù)中就只有低8位和高字節(jié)中的最低位,共九位為有用的。于是,我先得判斷溫度高字節(jié)的最低位是0還是1,來判斷溫度為正還是負。對于負數(shù)的情況下,就把低字節(jié)取反,正數(shù)情況下不變。4.3.2 精度提高 1、精度提高的原理ds1820內(nèi)部暫存寄存器的分布如表4.1所示, 表4.1 ds1820內(nèi)部9字節(jié)筆記本內(nèi)容0位1位2位3位4位5位6位7位8位lsbmsbthtlffhffhcount-rmncount-per-ccrc其中第7字節(jié)存放的是當溫度寄存器停止增值時計數(shù)器1的計數(shù)剩余值,第8字節(jié)存放的是每度所對應的計數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用ds1820提供的讀暫存寄存器指令(beh)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(lsb),得到所測實際溫度整數(shù)部分t整數(shù),然后再用beh指令讀取計數(shù)器1的計數(shù)剩余值m剩余和每度計數(shù)值m每度,考慮到ds1820測量溫度的整數(shù)部分以0.25、0.75為進位界限的關(guān)系,實際溫度t實際可用下式計算得到:t實際=(t整數(shù)0.25)+(m每度m剩余)/m每度 = t整數(shù)+0.75 (m剩余/m每度) = t整數(shù)+0.75(count-rmn/ count-per-c)因此,在讀取ds1820內(nèi)部數(shù)據(jù)時,我把這就字節(jié)內(nèi)容都讀了出來,從低到高依次放到了35h3dh中。在轉(zhuǎn)換時要用到那個字節(jié)的溫度就直接在這九個存儲單元取數(shù)即可。2、實現(xiàn)方法從上面的公式可以看出,出現(xiàn)了小數(shù)0.75、還有除法。我想把精度提高到0.1度,就必須使得這部分的除法產(chǎn)生的小數(shù)部分保留。然而,單片機匯編語言中只有一條除法指令:div ab。這條指令無法除得小數(shù),只能得到余數(shù)。于是,我采用了先把整個公式中所要用到的數(shù),都擴大100倍,這樣,即我做除法后,得到的商也擴大了100倍。然后,再把最終的結(jié)果除以10,舍去余數(shù)后再除10就可得到精確到0.1度的小數(shù)位,對于整數(shù)部分在轉(zhuǎn)化成bcd碼,最后把小數(shù)位到百位分別存放在70h73h中。但是,當我把所有的數(shù)據(jù)都放大了100倍后,又出現(xiàn)了新的問題。一個字節(jié)所能存的最大數(shù)是255,而所測的溫度超過放大100倍后,自然就會發(fā)生溢出。當然,除法也是,放大了100倍后再進行除法,很可能使得最后的商超過255而發(fā)生溢出。于是,我采取了把單字節(jié)擴展成雙字節(jié),進行雙字節(jié)的加、減、乘、除和求補運算。所以必須用到雙字節(jié)的加、減、乘、除和求補運算的子程序。對于除法,我還用到了雙字節(jié)除單字節(jié)的子程序,這是在最后溫度除10得到小數(shù)位是用到的。因為這時它的商就是實際溫度,不可能發(fā)生溢出。在整個數(shù)據(jù)處理過程中,我基本上在進行無符號數(shù)的運算。對于負數(shù)我都是對它進行求補,然后在后面的運算過程中,在對它有加減運算時采取反運算。反正就是始終記得那些數(shù)是負數(shù),在運算過程中對它作相應的處理。4.4 數(shù)碼管顯示數(shù)碼管顯示部分具體原理在前面硬件介紹時已經(jīng)有詳細說明了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論