《C51單片機編程與應(yīng)用》 課件 第12單元 單片機的串口通信_第1頁
《C51單片機編程與應(yīng)用》 課件 第12單元 單片機的串口通信_第2頁
《C51單片機編程與應(yīng)用》 課件 第12單元 單片機的串口通信_第3頁
《C51單片機編程與應(yīng)用》 課件 第12單元 單片機的串口通信_第4頁
《C51單片機編程與應(yīng)用》 課件 第12單元 單片機的串口通信_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12單元單片機的串口通信蘇州工業(yè)職業(yè)技術(shù)學(xué)院12.2任務(wù)12-1從單片機向PC端發(fā)送數(shù)據(jù)12.3任務(wù)12-2從PC端下發(fā)數(shù)據(jù)給單片機12.1串口通信的基礎(chǔ)知識12.4任務(wù)12-3通訊交互實驗12.1.1串口通信的實現(xiàn)原理MCS-51單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù),字節(jié)地址均為99H。

區(qū)別:

接收緩沖器只能讀出不能寫入

發(fā)送緩沖器只能寫入不能讀出12.1.2串口通信的傳輸方式

單工方式(SimplexCommunication):數(shù)據(jù)僅按一個固定方向傳送。半雙工方式(HalfDuplex):半雙工模式數(shù)據(jù)傳輸允許數(shù)據(jù)在兩個方向上傳輸,既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。全雙工方式(FullDuplex):通信允許數(shù)據(jù)同時在兩個方向上傳輸。多工方式:通過使用多路復(fù)用器或多路集線器,采用頻分、時分或碼分復(fù)用技術(shù),實現(xiàn)在同一線路上資源共享功能。12.1.3串行數(shù)據(jù)的兩種通信形式1.異步通信

接收器和發(fā)送器有各自的時鐘,它們的工作是非同步的,異步通信用一幀來表示一個字符,其內(nèi)容如下:一個起始位,緊接著是若干個數(shù)據(jù)位。

00110101高四位低四位圖12-1異步通信方式

圖12-2異步通信傳輸35H的數(shù)據(jù)格式示例12.1.3串行數(shù)據(jù)的兩種通信形式2.同步通信

發(fā)送器和接收器由同一個時鐘源控制,為了克服在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時間,在要求傳送數(shù)據(jù)量較大的場合,大大降低了傳輸速率。同步傳輸方式去掉了這些起始位和停止位,只在傳輸數(shù)據(jù)塊時先送出一個同步頭(字符)標(biāo)志即可。

圖12-3同步通信方式

圖12-4同步通信示例12.1.3串行數(shù)據(jù)的兩種通信形式

串行數(shù)據(jù)通信的傳輸速率:每秒轉(zhuǎn)送的位數(shù)bps(Bitpersecond)每秒符號數(shù)—波特率(Bandrate)【注意】①同步通信要求接收端時鐘頻率和發(fā)送端時鐘頻率一致,發(fā)送端發(fā)送連續(xù)的比特流;異步通信時不要求接收端時鐘和發(fā)送端時鐘同步,發(fā)送端發(fā)送完一個字節(jié)后,可經(jīng)過任意長的時間間隔再發(fā)送下一個字節(jié)。②同步通信效率高;異步通信效率較低。③同步通信較復(fù)雜,雙方時鐘的允許誤差較?。划惒酵ㄐ藕唵?,雙方時鐘可允許一定誤差。④同步通信可用于點對多點;異步通信只適用于點對點。3.同步通信與異步通信區(qū)別12.1.4C51的串行口和控制寄存器1.串行口控制寄存器

12.1.4C51的串行口和控制寄存器2.串行通信控制寄存器

SCON(98H)D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H表12-1SCON寄存器結(jié)構(gòu)12.1.4C51的串行口和控制寄存器2.串行通信控制寄存器(1)SM0、SM1:串行口工作方式控制位表12-2串行口工作方式控制方式SM0、SM1工作方式00方式001方式110方式211方式312.1.4C51的串行口和控制寄存器2.串行通信控制寄存器(2)SM2:多機通信控制位。①多機通信(工作于方式2或方式3),SM2=1時,只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時,才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請,否則會將接受到的數(shù)據(jù)放棄。②工作于方式1時,SM2=1時,接收到有效停止位,RI才置1。③工作于方式0時,SM2必須為0。④當(dāng)SM2=0時,則不論第9位數(shù)據(jù)是1還是0,都將前8位數(shù)據(jù)送入SBUF中,并使RI置1,產(chǎn)生中斷請求。(3)REN:允許接收位。REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。(4)TB8:發(fā)送的第9位數(shù)據(jù)(在方式2和方式3中)。其值可以通過軟件設(shè)置為1或0。在多機通信中,TB8是要發(fā)送的第9位數(shù)據(jù),它用來表示主機發(fā)送的是地址還是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時為地址。在雙機串行通信中,TB8一般作為奇偶校驗位使用。12.1.4C51的串行口和控制寄存器2.串行通信控制寄存器(5)RB8:接收的第9位數(shù)據(jù)(在方式2和方式3中)。作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1中,若SM2=0,則RB8是接收到的停止位。(6)TI:發(fā)送中斷標(biāo)志位。方式0時發(fā)送完第8位數(shù)據(jù)后或其它方式下發(fā)送停止位開始時,硬件置位TI。TI=1表示幀發(fā)送結(jié)束,但CPU響應(yīng)中斷時,并不清除TI,必須在中斷服務(wù)程序中由軟件對TI清"0"(7)RI:接收中斷標(biāo)志位。在方式0時,當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時或其它方式下串行接收停止位開始時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。RI=1表示幀接收完成,也必須在中斷服務(wù)程序中,用軟件將其清"0",取消此中斷申請。【注意】

在串口中斷處理時,TI、RI都需要軟件清“0”,硬件置位后不會自動清“0”。此外,在進行緩沖區(qū)操作時,需要關(guān)閉串行口中斷(ES=0),以防止中斷出現(xiàn)。12.1.5C51的電源管理寄存器和中斷允許寄存器1.電源管理寄存器PCON(87H)

在CHMOS型單片機中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當(dāng)SMOD=1時,串行口波特率加倍。系統(tǒng)復(fù)位默認為SMOD=0。

PCOND7D6D5D4D3D2D1D0位符號SMOD---GF1GF0PDIDL位符號EA--ESET1EX1ET0EX0位地址AFHAEHADHACHABHAAHA9HA8H2.中斷允許寄存器IE(A8H)ES=1允許串行中斷,ES=0,禁止串行中斷。

12.2任務(wù)12-1從單片機向PC端發(fā)送數(shù)據(jù)12.3任務(wù)12-2從PC端下發(fā)數(shù)據(jù)給單片機12.1串口通信的基礎(chǔ)知識12.4任務(wù)12-3通訊交互實驗12.2.1任務(wù)要求搭建單片機最小系統(tǒng),結(jié)合Keil編程實現(xiàn)向PC端發(fā)送數(shù)據(jù)的功能。硬件C51單片機最小系統(tǒng)的搭建;Keil程序編程實現(xiàn)寄存器的輸出控制,實現(xiàn)向PC端的數(shù)據(jù)發(fā)送。通過串口助手進行監(jiān)控,并驗證程序功能;完成實物的程序下載及功能調(diào)試與驗證。12.2.2知識鏈接根據(jù)系統(tǒng)的功能要求,將實驗板接到PC端上,打開并設(shè)置燒錄器,如圖12-6。12.2.2知識鏈接

串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。波特率:衡量通信速度的參數(shù),它表示每秒鐘傳送的bit的個數(shù)。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。起始位:起始位必須是持續(xù)一個比特時間的邏輯0(低電平),標(biāo)志傳輸一個字符的開始。發(fā)送器通過發(fā)送起始位開始一個字符傳送,接收方可用起始位使自己的接收時鐘與發(fā)送方的數(shù)據(jù)同步。12.2.2知識鏈接數(shù)據(jù)位:數(shù)據(jù)位緊跟在起始位之后,是通信中的真正有效信息。數(shù)據(jù)位的位數(shù)由通信雙方共同約定,一般是5位、7位或8位,比如標(biāo)準(zhǔn)的ASCII碼是0~127(7位),擴展的ASCII碼是0~255(8位)。傳輸數(shù)據(jù)時先傳送字符的低位,后傳送字符的高位,即低位(LSB)在前,高位(MSB)在后。停止位:是單個包的最后一位,標(biāo)志一個字符傳送的結(jié)束,對應(yīng)邏輯1(高電平)狀態(tài)。停止位可以是1位、1.5位或2位,可以由軟件設(shè)定。若在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步,停止位可提供校正時鐘同步的機會。奇偶校驗位:是一個特殊的數(shù)據(jù)位。校驗位用來判斷接收的數(shù)據(jù)位有無錯誤,一般采用奇偶校驗。奇偶校驗位僅占一位,不是必須有的。例如,假設(shè)傳輸?shù)臄?shù)據(jù)位為01001100,如果是奇校驗,則奇校驗位為0(要確保總共有奇數(shù)個1);如果是偶校驗,則偶校驗位為1(要確保總共有偶數(shù)個1)。12.2.2知識鏈接通過修改串口助手---文本模式和HEX模式來接收、發(fā)送字符或16進制數(shù)據(jù)。12.2.3任務(wù)實施步驟一:源程序設(shè)計

通過芯片手冊,配置寄存器模式,并使用串行數(shù)據(jù)緩沖器SBUF進行數(shù)據(jù)的發(fā)送。定義無符號字符型為uint8,無符號整型為uint16;假定要發(fā)送內(nèi)容“helloworld!”語句,在定義主函數(shù)之前先定義所需函數(shù):1.voidUART_init(void)2.{3.

SCON=0X50;4.

TMOD=0X20;5.

TH1=0XFD;6.

TL1=0XFD;7.

TR1=1;8.}步驟一:源程序設(shè)計(子函數(shù))——串口初始化函數(shù)UART_init12.2.3任務(wù)實施

SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI賦值01010000TMODD7D6D5D4D3D2D1D0GATEM1M0GATEM1M0賦值001000001.voidUART_send_byte(uint8dat)2.{3.

SBUF=dat;4.

while(TI==0);5.

TI=0;6.}步驟一:源程序設(shè)計(子函數(shù))——發(fā)送字節(jié)函數(shù)UART_send_byte1.voidUART_send_string(uint8*buf)2.{3.

while(*buf!='\0')4.

{5.

UART_send_byte(*buf++);6.

}7.}步驟一:源程序設(shè)計(子函數(shù))——發(fā)送字符串函數(shù)UART_send_string12.2.3任務(wù)實施步驟一:源程序設(shè)計(主函數(shù))

1.voidmain()

2.{

3.UART_init();//調(diào)用串口初始化函數(shù)4.while(1)//進入死循環(huán),重復(fù)執(zhí)行循環(huán)體5.{

6.UART_send_string(Buf);//串口發(fā)送數(shù)據(jù)7.delay(20000);//延時8.}

9.}

12.2.3任務(wù)實施步驟二:串口助手調(diào)試1.

將.hex文件下載到開發(fā)板中2.打開串口助手,根據(jù)程序發(fā)送的數(shù)據(jù),將接收緩沖區(qū)設(shè)置為文本模式。確認COM口與串口一致,波特率為9600,打開串口。12.2.3任務(wù)實施步驟三:觀察輸出結(jié)果12.2任務(wù)12-1從單片機向PC端發(fā)送數(shù)據(jù)12.3任務(wù)12-2從PC端下發(fā)數(shù)據(jù)給單片機12.1串口通信的基礎(chǔ)知識12.4任務(wù)12-3通訊交互實驗12.3.1任務(wù)要求利用單片機最小系統(tǒng)指定I/O口連接八盞LED燈并通過PC端下發(fā)數(shù)據(jù)控制單個LED燈點亮。C語言循環(huán)語句的編程實現(xiàn);通過SBUF特殊寄存器接收PC端下發(fā)的數(shù)據(jù);Keil程序編程實現(xiàn)I/O口的控制,實現(xiàn)PC端控制單個燈點亮的功能;完成實物的程序下載及功能調(diào)試與驗證。12.3.2知識鏈接根據(jù)任務(wù)的功能要求,在單片機最小系統(tǒng)的基礎(chǔ)上將LED燈與單片機的P1口8個端口相連,P1口8個端口按順序輸出高低電平來控制LED燈的點亮與熄滅,系統(tǒng)框圖如圖12-10所示。圖12-10LED燈的系統(tǒng)框圖12.3.3任務(wù)實施步驟一:源程序設(shè)計(主函數(shù))通過芯片手冊,配置寄存器模式,并使用串行數(shù)據(jù)緩沖器SBUF進行數(shù)據(jù)的發(fā)送,SCON,TMOD寄存器設(shè)置如前任務(wù)。開啟中斷,等待串口數(shù)據(jù)的到達。

1.#include<reg52.h>2.#defineucharunsignedchar3.#defineuintunsignedint4.sbitFM=P2^3;5.ucharbuf;6.voiddelay(uintn)7.{8.

while(n--);9.}11.voidmain(void)12.{13.SCON=0X50;14.PCON=0X00;15.TMOD=0X20;16.EA=1;17.ES=1;18.TL1=0XFD;19.TH1=0XFD;20.TR1=1;21.while(1);22.}12.3.3任務(wù)實施1.voidserial()interrupt4

2.{

3.ES=0;//關(guān)閉串行口中斷允許位4.RI=0;

5.buf=SBUF;//載入接收到的數(shù)據(jù)6.switch(buf)//依據(jù)接收到的數(shù)據(jù)多分支執(zhí)行動作7.{

8.case0x31:P1=0xfe;FM=1;break;//0x31為ASCII碼字符“1”9.case0x32:P1=0xfd;FM=1;break;//0x32為ASCII碼字符“2”10.case0x33:P1=0xfb;FM=1;break;//0x33為ASCII碼字符“3”11.case0x34:P1=0xf7;FM=1;break;//0x34為ASCII碼字符“4”12.case0x35:P1=0xef;FM=1;break;//0x35為ASCII碼字符“5”13.case0x36:P1=0xdf;FM=1;break;//0x36為ASCII碼字符“6”14.case0x37:P1=0xbf;FM=1;break;//0x37為ASCII碼字符“7”15.case0x38:P1=0x7f;FM=1;break;//0x38為ASCII碼字符“8”16.}

17.ES=1;//打開串行口中斷允許位18.}

12.3.3任務(wù)實施步驟二:串口助手調(diào)試

1.將.hex文件下載到開發(fā)板中。2.打開串口助手并將發(fā)送緩沖區(qū)設(shè)置為文本模式,如圖12-11。3.打開串口,輸入數(shù)據(jù)并發(fā)送數(shù)據(jù),發(fā)送界面如圖12-12所示。

圖12-11發(fā)送緩存區(qū)配置圖圖12-12串口發(fā)送情況圖12.2.3任務(wù)實施步驟三:觀察輸出結(jié)果12.2任務(wù)12-1從單片機向PC端發(fā)送數(shù)據(jù)12.3任務(wù)12-2從PC端下發(fā)數(shù)據(jù)給單片機12.1串口通信的基礎(chǔ)知識12.4任務(wù)12-3通訊交互實驗12.4.1任務(wù)要求利用單片機最小系統(tǒng)指定I/O口連接八位數(shù)碼管,通過八位數(shù)碼管顯示數(shù)字,實現(xiàn)的簡易交互實驗。數(shù)碼管掃描顯示;成功接收PC端的數(shù)據(jù)并根據(jù)接收內(nèi)容回傳數(shù)據(jù);完成實物的程序下載及功能調(diào)試與驗證。12.4.2知識鏈接

根據(jù)系統(tǒng)的功能要求,將數(shù)碼管與單片機的P0口相連,P0口8個端口控制數(shù)碼管的段碼和位碼;將段碼和位碼端口與P2^6和P2^7相連,通過使用P2^6和P2^7相互切換,實現(xiàn)數(shù)碼管的動態(tài)掃描。圖12-14通信交互實驗的系統(tǒng)框圖12.4.3任務(wù)實施步驟一:源程序設(shè)計(顯示子函數(shù))先練習(xí)數(shù)碼管與串口通訊的調(diào)試:1.#include<reg52.h>

2.sbitDU=P2^7;3.sbitWE=P2^6;4.codeunsignedcharduanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00,0xff,0x39};

//數(shù)組定義段碼0~95.codeunsignedcharweima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

//數(shù)組定義位碼6.unsignedchardspbuf[8]={12,12,12,12,12,12,12,12};//顯示緩沖區(qū)7.unsignedchardspcom=0;8.voiddisplay(void)9.{10.P0=0x00;11.DU=1;12.DU=0;13.P0=weima[dspcom];14.WE=1;15.WE=0;16.P0=duanma[dspbuf[dspcom]];17.DU=1;18.DU=0;19.if(++dspcom==8)20.dspcom=0;21.}12.4.3任務(wù)實施步驟一:源程序設(shè)計(顯示子函數(shù))

設(shè)計定時器0的初始化函數(shù)(Timer0Init),設(shè)置定時器0初始值,工作方式及觸發(fā)方式,編寫定時器0中斷函數(shù)。1.voidTimer0Init(void)2.{3.TMOD=0x01;4.TL0=0x66;5.TH0=0xFC;6.TF0=0;7.TR0=1;8.ET0=1;9.EA=1;10.}11.voidTimer0Interrupt(void)interrupt112.{13.TL0=0x66;14.TH0=0xfc;15.display();16.}12.4.3任務(wù)實施步驟一:源程序設(shè)計(主函數(shù)函數(shù))

數(shù)碼顯示及定時器的準(zhǔn)備由上述子函數(shù)定義,主函數(shù)部分主要完成數(shù)碼管的顯示功能。1.voidmain()2.{3.Timer0Init();4.while(1)5.{6.dspbuf[0]=1;7.dspbuf[1]=2;8.dspbuf[2]=3;9.dspbuf[3]=4;10.dspbuf[4]=5;11.dspbuf[5]=6;12.dspbuf[6]=7;13.dspbuf[7]=8;14.}15.}12.2.3任務(wù)實施步驟二:下載HEX,觀察輸出結(jié)果

上述程序是一個簡單的數(shù)碼管動態(tài)掃描程序,通過定時器中斷,快速切換位碼的同時給出不同的段碼實現(xiàn)同時顯示12345678的效果。12.2.3任務(wù)實施步驟三:編寫任務(wù)12-3源程序

在完成了基本功能調(diào)試之后,設(shè)計完成如下功能:當(dāng)PC端下發(fā)數(shù)據(jù)1時,通過控制P0端和段位碼顯示日期,具體格式:2024.10.01,并運用任務(wù)12-1中的知識,回傳數(shù)據(jù)“年.月.日”給PC端。當(dāng)PC端下發(fā)數(shù)據(jù)2時,數(shù)碼管顯示內(nèi)容更改為當(dāng)前地址郵編,具體格式:空格215104空格,并回傳學(xué)校名稱給PC端。12.2.3任務(wù)實施步驟三:編寫源程序1.#include<reg52.h>

2.#defineucharunsignedchar

3.#defineuintunsignedint

4.ucharbuf;

5.sbitDU=P2^7;6.sbitWE=P2^6;7.voidUART_send_string(uchar*buf1);//發(fā)送字符串子函數(shù)8.codeunsignedcharduanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00,0xff,0x39,0xe6,0xbf};//數(shù)組定義0~99.codeunsignedcharweima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

10.unsignedchardspbuf[8]={12,12,12,12,12,12,12,12};//顯示緩沖區(qū)11.unsignedchardspcom=0;

12.unsignedintjmflag=0;

13.ucharBuf1[]=“蘇州工業(yè)\n";

14.ucharBuf2[]="年.月.日\n";

12.2.3任務(wù)實施步驟三:編寫源程序15.voiddelay(uintn)16.{17.while(n--);18.}19.voiddisplay(void)20.{21.P0=0x00;22.DU=1;23.DU=0;24.P0=weima[dspcom];25.WE=1;26.WE=0;27.P0=duanma[dspbuf[dspcom]];28.DU=1;29.DU=0;30.if(++dspcom==8)31.dspcom=0;32.}12.2.3任務(wù)實施步驟三:編寫源程序33.voidTimer0Interrupt(void)interrupt134.{35.TL0=0x66;36.TH0=0xfc;37.display();38.}39.voidjiemian(void)40.{41.switch(jmflag)42.{43.case1:44.dspbuf[0]=2;45.dspbuf[1]=0;46.dspbuf[2]=2;47.dspbuf[3]=14;48.dspbuf[4]=1;49.dspbuf[5]=15;50.dspbuf[6]=0;51.dspbuf[7]=1;12.2.3任務(wù)實施步驟三:編寫源程序52.UART_send_string(Buf2);//發(fā)送年.月.日53.delay(20000);

54.break;

55.case2:

56.dspbuf[0]=11;

57.dspbuf[1]=2;//發(fā)送郵編58.dspbuf[2]=1;

59.dspbuf[3]=5;60.dspbuf[4]=1;61.dspbuf[5]=0;62.dspbuf[6]=4;63.dspbuf[7]=11;64.UART_send_string(Buf1);//發(fā)送校名65.delay(20000);

66.break;

67.}

68.}

12.2.3任務(wù)實施步驟三:編寫源程序69.voidUART_send_byte(uchardat)//發(fā)送單字節(jié)70.{

71.SBUF=dat;

72.while(TI==0);

73.TI=0;

溫馨提示

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

評論

0/150

提交評論