嵌入式課程設(shè)計(jì)29954_第1頁(yè)
嵌入式課程設(shè)計(jì)29954_第2頁(yè)
嵌入式課程設(shè)計(jì)29954_第3頁(yè)
嵌入式課程設(shè)計(jì)29954_第4頁(yè)
嵌入式課程設(shè)計(jì)29954_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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、嵌入式課程設(shè)計(jì)學(xué)院:計(jì)算機(jī)與通信工程學(xué)院 專(zhuān)業(yè):物聯(lián)網(wǎng)工程 班級(jí): 物聯(lián)1501 姓名: 王強(qiáng) 學(xué)號(hào):41501602 試驗(yàn)日期: 2017年 12月 25日 試驗(yàn)名稱(chēng):嵌入式課程設(shè)計(jì)試驗(yàn)?zāi)康模阂許TC89開(kāi)發(fā)板為硬件平臺(tái), 開(kāi)發(fā)溫度采集、動(dòng)態(tài)數(shù)碼管顯示、按鍵響應(yīng)、與PC串口通訊的綜合程序,實(shí)現(xiàn)以下功能:1)PC上的串口調(diào)試助手通過(guò)串口給STC89開(kāi)發(fā)板發(fā)送“GetTemp”命令。2)STC89開(kāi)發(fā)板從串口接收到“GetTemp”命令后啟動(dòng)溫度傳感器DS18B20的測(cè)溫程序獵取當(dāng)前溫度,測(cè)試完成時(shí)將所測(cè)得溫度數(shù)據(jù)顯示在動(dòng)態(tài)數(shù)碼管上。(動(dòng)態(tài)數(shù)碼管在溫度獵取之前應(yīng)當(dāng)顯示“FFFFFFFF”, 只有

2、在獵取溫度后才顯示溫度值)3)動(dòng)態(tài)數(shù)碼管顯示出溫度數(shù)據(jù)后, 請(qǐng)通過(guò)按鍵觸發(fā)STC89開(kāi)發(fā)板通過(guò)串口回送步驟2所測(cè)的溫度數(shù)據(jù)給PC上串口調(diào)試助手,同時(shí)恢復(fù)動(dòng)態(tài)數(shù)碼管顯示為“FFFFFFFF”。為保證每個(gè)同學(xué)的試驗(yàn)都獨(dú)立完成,要求回送的數(shù)據(jù)包含自己的學(xué)號(hào),即假如你的學(xué)號(hào)是20150809,當(dāng)前溫度值是19.6攝氏度,那么在PC上的串口調(diào)試助手應(yīng)當(dāng)顯示:20150809 : 19.6°C。硬件電路說(shuō)明: 1)STC89處理器管腳和晶振電路 2)獨(dú)立按鍵獨(dú)立按鍵一共5個(gè),分別連接在單片機(jī)的P3.0到P3.4口。去抖動(dòng)的方式,我們接受軟件延時(shí)的方法。過(guò)程如下:先設(shè)置IO口為高電平(一般上電默認(rèn)

3、就為高),讀取IO口電平確認(rèn)是否有按鍵按下,如有IO電平為低電平后,延時(shí)幾個(gè)ms,再讀取該IO電平,假如任然為低電平,說(shuō)明對(duì)應(yīng)按鍵按下,執(zhí)行相應(yīng)按鍵的程序。3)DS18B20溫度傳感器部分DS18B20內(nèi)部的低溫度系數(shù)振蕩器是一個(gè)振蕩頻率隨溫度變化很小的振蕩器,為計(jì)數(shù)器1供應(yīng)一頻率穩(wěn)定的計(jì)數(shù)脈沖。高溫度系數(shù)振蕩器是一個(gè)振蕩頻率對(duì)溫度很敏感的振蕩器,為計(jì)數(shù)器2供應(yīng)一個(gè)頻率隨溫度變化的計(jì)數(shù)脈沖。初始時(shí),溫度寄存器被預(yù)置成-55,每當(dāng)計(jì)數(shù)器1從預(yù)置數(shù)開(kāi)頭減計(jì)數(shù)到0時(shí),溫度寄存器中寄存的溫度值就增加1,這個(gè)過(guò)程重復(fù)進(jìn)行,直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí)便停止。初始時(shí),計(jì)數(shù)器1預(yù)置的是與-55相對(duì)應(yīng)的一個(gè)預(yù)置值。

4、以后計(jì)數(shù)器1每一個(gè)循環(huán)的預(yù)置數(shù)都由斜率累加器供應(yīng)。為了補(bǔ)償振蕩器溫度特性的非線性性,斜率累加器供應(yīng)的預(yù)置數(shù)也隨溫度相應(yīng)變化。計(jì)數(shù)器1的預(yù)置數(shù)也就是在給定溫度處使溫度寄存器寄存值增加1計(jì)數(shù)器所需要的計(jì)數(shù)個(gè)數(shù)。DS18B20內(nèi)部的比較器以四舍五入的量化方式確定溫度寄存器的最低有效位。在計(jì)數(shù)器2停止計(jì)數(shù)后,比較器將計(jì)數(shù)器1中的計(jì)數(shù)剩余值轉(zhuǎn)換為溫度值后與0.25進(jìn)行比較,若低于0.25,溫度寄存器的最低位就置0;若高于0.25,最低位就置1;若高于0.75時(shí),溫度寄存器的最低位就進(jìn)位然后置0。這樣,經(jīng)過(guò)比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最終位代表0.5,四舍五入最大量化誤差為

5、7;1/2LSB,即0.25。溫度寄存器中的溫度值以9位數(shù)據(jù)格式表示,最高位為符號(hào)位,其余8位以二進(jìn)制補(bǔ)碼形式表示溫度值。測(cè)溫結(jié)束時(shí),這9位數(shù)據(jù)轉(zhuǎn)存到暫存存儲(chǔ)器的前兩個(gè)字節(jié)中,符號(hào)位占用第一字節(jié),8位溫度數(shù)據(jù)占據(jù)其次字節(jié)。DS18B20測(cè)量溫度時(shí)使用特有的溫度測(cè)量技術(shù)。DS18B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號(hào);同樣的,高溫度系數(shù)振蕩器則將被測(cè)溫度轉(zhuǎn)換成頻率信號(hào)。當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20進(jìn)行計(jì)數(shù),計(jì)數(shù)門(mén)開(kāi)通時(shí)間由高溫度系數(shù)振蕩器打算。芯片內(nèi)部還有斜率累加器,可對(duì)頻率的非線性度加以補(bǔ)償。測(cè)量結(jié)果存入溫度寄存器中。一般狀況下的溫度值應(yīng)當(dāng)為9位,但因符號(hào)位擴(kuò)展成高8位,所以最終以

6、16位補(bǔ)碼形式讀出。電路圖及管腳如下: 4)串口通信串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送,此時(shí)只需要一條數(shù)據(jù)線,外加一條公共信號(hào)地線和若干把握信號(hào)線。由于一次只能傳送一位,所以對(duì)于一個(gè)字節(jié)的數(shù)據(jù),至少要分S位才能傳送完畢。串行通信的必要過(guò)程是:發(fā)送時(shí),要把并行數(shù)據(jù)變成串行數(shù)據(jù)發(fā)送到線路上去,接收時(shí),要把串行信號(hào)再變成并行數(shù)據(jù),這樣才能被計(jì)算機(jī)及其他設(shè)備處理。在串行通信中,收、發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有商定。通過(guò)編程可對(duì)單片機(jī)串行口設(shè)定為4種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來(lái)打算。串行口的4種工作

7、方式對(duì)應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來(lái)源不同,所以各種方式的波特率計(jì)算公式也不相同,以下是4種方式波特率的計(jì)算公式。開(kāi)發(fā)板的電路圖如下圖5)動(dòng)態(tài)數(shù)碼管顯示數(shù)碼管的顯示原理是靠點(diǎn)亮內(nèi)部的發(fā)光二極管來(lái)發(fā)光,下面就來(lái)我們講解一個(gè)數(shù)碼管是如何亮起來(lái)的。數(shù)碼管內(nèi)部電路如下圖所示,從右圖可看出,一位數(shù)碼管的引腳是10個(gè),顯示一個(gè)8字需要7個(gè)小段,另外還有一個(gè)小數(shù)點(diǎn),所以其內(nèi)部一共有8個(gè)小的發(fā)光二極管,最終還有一個(gè)公共端,生產(chǎn)商為了封裝統(tǒng)一,單位數(shù)碼管都封裝10個(gè)引腳,其中第3和第8引腳是連接在一起的。而它們的公共端又可分為共陽(yáng)極和共陰極,中間圖為共陰極內(nèi)部原理圖,右圖為共陽(yáng)極內(nèi)部原理圖。上圖展出了常用

8、的兩種數(shù)碼管的引腳排列和內(nèi)部結(jié)構(gòu)。總所周知,點(diǎn)亮發(fā)光二極管就是要賜予它足夠大的正向壓降。所以點(diǎn)亮數(shù)碼管其實(shí)也就是給它內(nèi)部相應(yīng)的發(fā)光二極管正向壓降。如上圖左(一共a、b、c、d、e、f、g、DP 八段),假如要顯示“1”則要點(diǎn)亮b、c 兩段LED;顯示“A”則點(diǎn)亮a、b、c、e、f、g 這六段LED; 動(dòng)態(tài)顯示是多個(gè)數(shù)碼管,交替顯示,利用人的視覺(jué)暫停作用使人看到多個(gè)數(shù)碼管同時(shí)顯示的效果。完整程序代碼:主程序文件main.c:歡迎下載#include"temp.h" /引用temp.h頭文件,包括一些有關(guān)溫度傳感器的函數(shù)#include"reg51.h" /

9、引用reg51.h頭文件,說(shuō)明引腳地址#define GPIO_DIG P0 /將P0端口定義為GPIO_DIG#define GPIO_LED P2 /將P2端口定義為GPIO_LEDsbit LSA=P22; /位選,P22定義為L(zhǎng)SAsbit LSB=P23; /同上位選定義變量sbit LSC=P24; /同上位選定義變量sbit K3=P32; /位選,P32定義為K3按鍵unsigned int disp8=0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71;/顯示FFFFFFFFunsigned char code DIG_CODE10=0x3f,0x

10、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0、1、2、3、4、5、6、7、8、9的顯示碼unsigned char check17='0','0','0','0','0','0','0' /用來(lái)存放串口通信傳送字符unsigned char check27='G','e','t','T','e','m','p' /用來(lái)比較串口通

11、信傳送字符unsigned char message17='4','1','5','0','1','6','0','2',':','0','0','0','0','0','0','0','0'/顯示學(xué)號(hào)為41501602:unsigned char DisplayData8;/用來(lái)存放要顯示的8位數(shù)的值unsigned cha

12、r KeyValue=0;/是否按下獨(dú)立按鍵的標(biāo)志位void DigDisplay(); /動(dòng)態(tài)數(shù)碼管顯示函數(shù)void UsartConfiguration();/串口設(shè)置函數(shù)void LcdDisplay(int); /數(shù)碼管顯示讀取到的溫度void IntConfiguration(); /設(shè)置外部中斷void Delay(unsigned int n);/延時(shí)函數(shù)void Timer0Configuration();/定時(shí)器初始設(shè)置void CheckMessage(char m);/逐字檢查串口通信字符是否正確unsigned int flag=0;/數(shù)碼管顯示標(biāo)志位unsigned

13、int j=0;/用于CheckMessage逐字檢查發(fā)送字符unsigned char Num=0;/動(dòng)態(tài)數(shù)碼管位選/*主函數(shù)模塊*/void main() /主函數(shù)unsigned int i;IntConfiguration(); /初始化外部中斷設(shè)置UsartConfiguration(); /初始化串口設(shè)置Timer0Configuration(); /初始化定時(shí)器設(shè)置while(1)if(flag=1) /當(dāng)flag為1時(shí)數(shù)碼管直接顯示當(dāng)前溫度LcdDisplay(Ds18b20ReadTemp(); /調(diào)用溫度傳感器函數(shù)并在數(shù)碼管顯示溫度if(flag=0) /當(dāng)flag為0時(shí)數(shù)

14、碼管顯示FFFFFFFFfor(i=0;i<8;i+) /循環(huán)給disp數(shù)組賦值dispi=0x71; /dispi賦值/*獨(dú)立按鍵模塊*/void IntConfiguration() /設(shè)置外部中斷/設(shè)置INT0IT0=1;/跳變沿觸發(fā)方式(下降沿)EX0=1;/打開(kāi)INT0的中斷允許。/設(shè)置INT1IT1=1;/跳變沿觸發(fā)方式為下降沿EX1=1;/打開(kāi)INT1的中斷允許EA=1;/打開(kāi)總中斷void Delay(unsigned int n) /延時(shí)50us誤差 0us unsigned char a,b;for(;n>0;n-) for(b=1;b>0;b-) for

15、(a=22;a>0;a-);void Int0()interrupt 0/外部中斷0的中斷函數(shù) K3按鍵中斷 unsigned int k=0;Delay(1); /延時(shí)消抖if(K3=0)/假如K3按鍵被按下的話,動(dòng)態(tài)數(shù)碼管就顯示FFFFFFFFKeyValue=1;flag=0;for(k=0;k<17;k+) /逐字將message字符數(shù)組中字符送入SBUFSBUF=messagek;/將接收到的數(shù)據(jù)放入到發(fā)送寄存器while(!TI); /等待發(fā)送數(shù)據(jù)完成TI=0;/清除發(fā)送完成標(biāo)志位if(k=17)/假如message數(shù)組發(fā)送完畢就歸零預(yù)備下一次k=0;elseKeyVa

16、lue=0;/K3按鍵沒(méi)被按下的時(shí)候就始終保持當(dāng)前狀態(tài),顯示當(dāng)前溫度/*串口通信模塊*/void UsartConfiguration() /串口設(shè)置SCON=0X50;/設(shè)置為工作方式1TMOD=0X20;/設(shè)置計(jì)數(shù)器工作方式2,也就是自動(dòng)重裝模式PCON=0X80;/波特率加倍TH1=0XF3;/計(jì)數(shù)器初始值設(shè)置,留意波特率是4800的TL1=0XF3;ES=1;/打開(kāi)接收中斷EA=1;/打開(kāi)總中斷TR1=1;/打開(kāi)計(jì)數(shù)器void Usart() interrupt 4/串口中斷unsigned char receiveData;receiveData=SBUF;/出去接收到的數(shù)據(jù)RI =

17、 0;/清除接收中斷標(biāo)志位CheckMessage(receiveData);/推斷發(fā)送字節(jié)是否正確void CheckMessage(char m)/逐字檢查串口通信字符是否正確 check1j=m;/將串口接收到的字符一位一位的賦給check1 if(check1j!=check2j)/按位逐字檢查發(fā)送字符是否符合要求 flag=-1;/不符合直接退出 if(j=6)/符合時(shí)轉(zhuǎn)變顯示標(biāo)志位,數(shù)碼管顯示當(dāng)前溫度 flag=1; j+;/按位檢查/*動(dòng)態(tài)數(shù)碼管模塊*/void DigDisplay() interrupt 1/動(dòng)態(tài)數(shù)碼管顯示/定時(shí)器在工作方式二會(huì)自動(dòng)重裝初,所以不用在賦值。TH

18、0=0X9c;/給定時(shí)器賦初值,定時(shí)1msTL0=0X00;GPIO_DIG=0; /消隱switch(Num) /位選,選擇點(diǎn)亮的數(shù)碼管,case(7):LSA=0;LSB=0;LSC=0; break;/顯示第7位case(6):LSA=1;LSB=0;LSC=0; break;/顯示第6位case(5):LSA=0;LSB=1;LSC=0; break;/顯示第5位case(4):LSA=1;LSB=1;LSC=0; break;/顯示第4位case(3):LSA=0;LSB=0;LSC=1; break;/顯示第3位case(2):LSA=1;LSB=0;LSC=1; break;/顯

19、示第2位case(1):LSA=0;LSB=1;LSC=1; break;/顯示第1位case(0):LSA=1;LSB=1;LSC=1; break;/顯示第0位GPIO_DIG=dispNum;/發(fā)送段碼Num+;/動(dòng)態(tài)數(shù)碼管從0到7循環(huán)點(diǎn)亮if(Num>7)Num=0;void Timer0Configuration() /定時(shí)器初始設(shè)置TMOD=0X20;/選擇為定時(shí)器模式,工作方式2,僅用TRX打開(kāi)啟動(dòng)。TH0=0X9C;/給定時(shí)器賦初值,定時(shí)100usTL0=0X9C;ET0=1;/打開(kāi)定時(shí)器0中斷允許EA=1;/打開(kāi)總中斷TR0=1;/打開(kāi)定時(shí)器/*溫度傳感器DS18B20

20、模塊*/void LcdDisplay(int temp) /數(shù)碼管顯示讀取到的溫度 unsigned char datas = 0, 0, 0, 0, 0; /定義數(shù)組float tp; if(temp< 0)/當(dāng)溫度值為負(fù)數(shù) disp2=0x40;/假如溫度值為負(fù)數(shù)的時(shí)候,disp2數(shù)碼管顯示負(fù)號(hào)-/由于讀取的溫度是實(shí)際溫度的補(bǔ)碼,所以減1,再取反求出原碼temp=temp-1;temp=temp;tp=temp;temp=tp*0.0625*100+0.5;/留兩個(gè)小數(shù)點(diǎn)就*100,+0.5是四舍五入,由于C語(yǔ)言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時(shí)候把小數(shù)點(diǎn)/后面的數(shù)自動(dòng)去掉,不管是否大于0.5,

21、而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就/算由?.5,還是在小數(shù)點(diǎn)后面。 else disp2=0; /假如溫度不是負(fù)數(shù),就置零tp=temp;/由于數(shù)據(jù)處理有小數(shù)點(diǎn)所以將溫度賦給一個(gè)浮點(diǎn)型變量/假如溫度是正的那么,那么正數(shù)的原碼就是補(bǔ)碼它本身temp=tp*0.0625*100+0.5;/留兩個(gè)小數(shù)點(diǎn)就*100,+0.5是四舍五入,由于C語(yǔ)言浮點(diǎn)數(shù)轉(zhuǎn)換為整型的時(shí)候把小數(shù)點(diǎn)/后面的數(shù)自動(dòng)去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進(jìn)1了,小于0.5的就/算加上0.5,還是在小數(shù)點(diǎn)后面。message9=(temp / 10000)+'0' /具體溫度的百

22、位message10=(temp % 10000 / 1000)+'0' /具體溫度的十位message11=(temp % 1000 / 100)+'0' /具體溫度的個(gè)位message12='.' /小數(shù)點(diǎn)字符message13=(temp % 100 / 10)+'0' /具體溫度的格外位message14=(temp % 10)+'0' /具體溫度的千分位message15='o' /message15和16字符串代表°C攝氏度符號(hào)message16='C' dis

23、p0 = 0; /disp0和disp1直接置零 disp1 = 0; disp3 = DIG_CODEtemp / 10000; /數(shù)碼管顯示具體溫度的百位disp4 = DIG_CODEtemp % 10000 / 1000; /數(shù)碼管顯示具體溫度的十位disp5 = DIG_CODEtemp % 1000 / 100 | 0x80; /數(shù)碼管顯示具體溫度的個(gè)位/共陰接法,數(shù)碼管為高電平驅(qū)動(dòng),且小數(shù)點(diǎn)的段接在IO的bit7,所以用| 0x80來(lái)點(diǎn)亮小數(shù)點(diǎn)disp6 = DIG_CODEtemp % 100 / 10; /數(shù)碼管顯示具體溫度的格外位disp7 = DIG_CODEtemp %

24、 10; /數(shù)碼管顯示具體溫度的千分位溫度傳感器temp.c:#include"temp.h"/* 函數(shù)名 : Delay1ms* 函數(shù)功能 : 延時(shí)函數(shù)* 輸入 : 無(wú)* 輸出 : 無(wú)*/void Delay1ms(unsigned int y)unsigned int x;for(y;y>0;y-)for(x=110;x>0;x-);/* 函數(shù)名 : Ds18b20Init* 函數(shù)功能 : 初始化* 輸入 : 無(wú)* 輸出 : 初始化成功返回1,失敗返回0*/unsigned char Ds18b20Init()unsigned int i;DSPORT=0;

25、 /將總線拉低480us960usi=70;while(i-);/延時(shí)642usDSPORT=1;/然后拉高總線,假如DS18B20做出反應(yīng)會(huì)將在15us60us后總線拉低i=0;while(DSPORT)/等待DS18B20拉低總線i+;if(i>5000)/等待>5MSreturn 0;/初始化失敗return 1;/初始化成功/* 函數(shù)名 : Ds18b20WriteByte* 函數(shù)功能 : 向18B20寫(xiě)入一個(gè)字節(jié)* 輸入 : com* 輸出 : 無(wú)*/void Ds18b20WriteByte(unsigned char dat)unsigned int i,j;for(

26、j=0;j<8;j+)DSPORT=0;/每寫(xiě)入一位數(shù)據(jù)之前先把總線拉低1usi+;DSPORT=dat&0x01; /然后寫(xiě)入一個(gè)數(shù)據(jù),從最低位開(kāi)頭i=6;while(i-); /延時(shí)68us,持續(xù)時(shí)間最少60usDSPORT=1;/然后釋放總線,至少1us給總線恢復(fù)時(shí)間才能接著寫(xiě)入其次個(gè)數(shù)值dat>>=1;/* 函數(shù)名 : Ds18b20ReadByte* 函數(shù)功能 : 讀取一個(gè)字節(jié)* 輸入 : com* 輸出 : 無(wú)*/unsigned char Ds18b20ReadByte()unsigned char byte,bi;unsigned int i,j;for(j=8;j>0;j-)DSPORT=0;/先將總線拉低1usi+;DSPORT=1;/然后釋放總線i+;i+;/延時(shí)6us等待數(shù)據(jù)穩(wěn)定bi=DSPORT; /讀取數(shù)據(jù),從最低位開(kāi)頭讀取/*將byte左移一位,然后與上右移7位后的bi,留意移動(dòng)之后移掉那位補(bǔ)0。*/byte=(byte>>1)|(bi<<7); i=4;/讀取完之后等待48us再接著讀取下一個(gè)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論