第7章STC89C52單片機(jī)串行通信_(tái)第1頁
第7章STC89C52單片機(jī)串行通信_(tái)第2頁
第7章STC89C52單片機(jī)串行通信_(tái)第3頁
第7章STC89C52單片機(jī)串行通信_(tái)第4頁
第7章STC89C52單片機(jī)串行通信_(tái)第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、,7.1 串行通信概述 7.2 串行口的結(jié)構(gòu) 7.3 串行口的四種工作方式 7.4 波特率的設(shè)定與計(jì)算 7.5 STC89C52單片機(jī)之間的通信 7.6 PC與單片機(jī)間的通信,7.1 串行通信概述 7.1.1 數(shù)據(jù)通信 1、并行通信和串行通信(數(shù)據(jù)通信的兩種常用形式),(1)并行方式數(shù)據(jù)的各位同時(shí)發(fā)送或同時(shí)接收。,并行通信,并行傳送特點(diǎn):邏輯清晰,控制簡(jiǎn)單,傳送速度快,但因需要多根傳輸線,故一般只在近距離通信中使用。,(2)串行方式數(shù)據(jù)的各位依次逐位傳送。,串行通信,串行傳送特點(diǎn):控制較并行傳送復(fù)雜,傳輸速度慢,但因只需較少傳輸線,故適合于遠(yuǎn)距離通信。,有時(shí)為了節(jié)省線纜數(shù)量,即使在計(jì)算機(jī)內(nèi)部,

2、CPU和某些外設(shè)之間也可以采用非并行的傳輸方式,如IIC、SPI、USB等標(biāo)準(zhǔn)傳輸方式,但它們與這里所述的串行通信有明顯不同??傊型ㄐ攀且晕⑻幚砥鳛楹诵牡南到y(tǒng)之間的數(shù)據(jù)交換方式,而IIC、SPI、USB等標(biāo)準(zhǔn)接口是微處理器系統(tǒng)與非微處理器型外設(shè)之間的數(shù)據(jù)交換方式。前者可以是對(duì)等通信,而后者只能采用主從方式。,2、單工、半雙工、全雙工 按照傳輸數(shù)據(jù)流向,串行通信具有3種傳輸形式:?jiǎn)喂?、半雙 工和全雙工。,在單工制式下,通信線的一端為發(fā)送器(TXD),一端為接收器(RXD),數(shù)據(jù)只能按照一個(gè)固定的方向傳送。,在半雙工制式下,系統(tǒng)由一個(gè)TXD和一個(gè)RXD組成,但不能同時(shí)在兩個(gè)方向上傳送,收發(fā)開

3、關(guān)由軟件方式切換。,在全雙工制式下,通信系統(tǒng)每端都有TXD和RXD,可以同時(shí)發(fā)送和接收,即數(shù)據(jù)可以在兩個(gè)方向上同時(shí)傳送。 實(shí)際應(yīng)用中,盡管多數(shù)串行通信接口電路具有全雙工功能,但仍以半雙工為主(簡(jiǎn)單實(shí)用)。,7.1.2 異步通信和同步通信 在串行數(shù)據(jù)通信中,有同步和異步兩種基本方式。同步和異步的最本質(zhì)區(qū)別在于通信雙方是否采用使用相同的時(shí)鐘源。 1異步通信以字符為單位組成字符幀進(jìn)行的數(shù)據(jù)傳送。,數(shù)據(jù)以幀為單位進(jìn)行傳送。一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、可編程校驗(yàn)位(可選)和停止位構(gòu)成。幀和幀之間可以有任意停頓,起始位:占1位,用于實(shí)現(xiàn)發(fā)送方和接收方之間的同步。當(dāng)不進(jìn)行數(shù)據(jù)通信時(shí),通信線路保持高電平,當(dāng)發(fā)送

4、端準(zhǔn)備向接收端傳輸數(shù)據(jù)時(shí),首先發(fā)送起始位,即邏輯上的0電平,使得串行通信線路的電平由高變低,接收端在檢測(cè)到這一電平變化后,可以準(zhǔn)備接收數(shù)據(jù)。 數(shù)據(jù)位:可以是字符或數(shù)據(jù),一般為58位,由低位到高位依次傳送。 可編程校驗(yàn)位:占1位,是用戶自定義的特征位,用于通信過程中數(shù)據(jù)差錯(cuò)的校驗(yàn),或傳送多機(jī)串行通信的聯(lián)絡(luò)信息。常用的差錯(cuò)校驗(yàn)方法有奇偶校驗(yàn)、和校驗(yàn)及循環(huán)冗余碼校驗(yàn)。 停止位:占1位,位于數(shù)據(jù)位末尾,用于告知一幀結(jié)束,始終為高電平。數(shù)據(jù)傳輸結(jié)束后,發(fā)送端發(fā)送邏輯1,將通信線路再次置為高電平,表示一幀數(shù)據(jù)發(fā)送結(jié)束。,異步通信特點(diǎn): 靈活,對(duì)收發(fā)雙方的時(shí)鐘精度要求較低(收發(fā)雙方不同步時(shí),能依靠在每幀開始

5、時(shí)的不斷對(duì)齊,自行糾正偏差),適用于數(shù)據(jù)的發(fā)送和接收;傳送速度較低(每個(gè)字節(jié)都要建立一次同步)。,STC89C52單片機(jī)只支持異步通信。,2同步通信 數(shù)據(jù)以塊為單位進(jìn)行的數(shù)據(jù)傳送,發(fā)送方先發(fā)送1-2個(gè)字節(jié)的同步字符,接收方檢測(cè)到同步字符(一般由硬件實(shí)現(xiàn))后,即準(zhǔn)備接收后續(xù)的數(shù)據(jù)流。由于同步通信省去了字符開始和結(jié)束標(biāo)志,而且字節(jié)和字節(jié)之間沒有停頓,其速度高于異步通信。,同步通信特點(diǎn): 數(shù)據(jù)成批傳送;傳輸效率高(以數(shù)據(jù)塊為單位連續(xù)傳送,數(shù)據(jù)結(jié)構(gòu)緊湊);對(duì)通信硬件要求高(要求雙方有準(zhǔn)確的時(shí)鐘)。,7.1.3 波特率 波特率是表征串行通信數(shù)據(jù)傳輸快慢的物理量。,波特率:每秒發(fā)送二進(jìn)制數(shù)碼的位數(shù),即bp

6、s (位/秒),常用波特率:50、110、300、600、1200、2400、4800、9600、19200、38400波特等。,串行通信的收發(fā)雙方必須采用相同的波特率。,發(fā)送/接收時(shí)鐘頻率與波特率有關(guān),即 fT/R=nBRT/R 式中,fT/R為收發(fā)時(shí)鐘頻率,單位為Hz;BRT/R為收發(fā)波特率;n為波特率因子。同步通信n=1。異步通信n可取1、16或64。也就是說,同步通信中數(shù)據(jù)傳輸?shù)牟ㄌ芈始礊橥綍r(shí)鐘頻率,而異步通信中,時(shí)鐘頻率可為波特率的整數(shù)倍。,【例7-1】設(shè)單片機(jī)以1200bps的波特率發(fā)送120字節(jié)的數(shù)據(jù),每幀10位,問至少需要多長(zhǎng)時(shí)間? 解: 所謂“至少”,是指串行通信不被打斷,

7、且數(shù)據(jù)幀與幀之間無等待間隔的情況。 需傳送的二進(jìn)制位數(shù)為 10120=1200位 所需時(shí)間T=1200(位)/1200(bps)=1秒,7.2 串行口的結(jié)構(gòu),STC89C52RC單片機(jī)內(nèi)部集成有一個(gè)可編程的全雙工的異步通信串行口,可以作為通用異步接收/發(fā)送器(UART),也可作為同步移位寄存器使用。,2個(gè)數(shù)據(jù)緩沖器SBUF在物理上是相互獨(dú)立的,一個(gè)用于發(fā)送數(shù)據(jù)、另一個(gè)用于接收數(shù)據(jù)。2個(gè)SBUF共用一個(gè)地址(99H),通過讀寫指令區(qū)別是對(duì)哪個(gè)SUBF的操作。,C51: uchar counter; 待發(fā)送存放變量 SBUF = counter; 完成一次數(shù)據(jù)發(fā)送 counter = SBUF;

8、完成一次數(shù)據(jù)接收,匯編: MOV SBUF,#DATA;完成一次數(shù)據(jù)發(fā)送 MOV A,SBUF ; 完成一次數(shù)據(jù)接收 ,發(fā)送控制器的作用是在門電路和定時(shí)器T1的配合下,將發(fā)送緩沖器SBUF中的并行數(shù)據(jù)轉(zhuǎn)為串行數(shù)據(jù),并自動(dòng)添加起始位、可編程位、停止位。這一過程結(jié)束后自動(dòng)使發(fā)送中斷請(qǐng)求標(biāo)志位TI置1,用以通知CPU已將發(fā)送緩存器SBUF發(fā)中的數(shù)據(jù)輸出到了TXD引腳。,接收控制器的作用是在輸入移位寄存器和定時(shí)器T1或T2的配合下,使來自RXD引腳的串行數(shù)據(jù)轉(zhuǎn)為并行數(shù)據(jù),并自動(dòng)過濾掉起始位、可編程位、停止位。這一過程結(jié)束后自動(dòng)使接收中斷請(qǐng)求標(biāo)志位RI置1,用以通知CPU接收的數(shù)據(jù)已存入接收緩沖器SBU

9、F。,STC89C52串行通信以定時(shí)器T1或定時(shí)器T2作為波特率信號(hào)發(fā)生器,其溢出脈沖經(jīng)過分頻單元后送到收、發(fā)控制器中。,RXD(P3.0)和TXD(P3.1)用于串行信號(hào)或時(shí)鐘信號(hào)的傳入或傳出。,80C51單片機(jī)P3口,7.2.2 串行口特殊功能寄存器,與STC89C52單片機(jī)串行口控制有關(guān)的特殊功能寄存器有4個(gè),分別是串行口控制寄存器SCON、電源控制寄存器PCON、從機(jī)地址控制寄存器SADEN和SADDR。,1.串口控制寄存器 SCON(98H),(1)SM0/FE:當(dāng)PCON寄存器的SMOD0/PCON.6為1時(shí),該位用于幀錯(cuò)誤檢測(cè)。當(dāng)檢測(cè)到一個(gè)無效停止位時(shí),通過UART接收器設(shè)置該位

10、。FE必須由軟件清“0”。 當(dāng)PCON寄存器的SMOD0/PCON.6為0時(shí),SM0與SM1一起用來選擇串行口的工作。,(2)SM2:多機(jī)通信控制位 多機(jī)通信在方式2和方式3下進(jìn)行。當(dāng)串口以方式2或方式3接收時(shí),如果SM2=1,則只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為1時(shí),才使RI置1,產(chǎn)生中斷請(qǐng)求,并將接收到的前8位數(shù)據(jù)送入SBUF。當(dāng)接收到的第9位數(shù)據(jù)(RB8)為0時(shí),則將接收到的前8位數(shù)據(jù)丟棄。 當(dāng)SM2=0時(shí),則不論第9位數(shù)據(jù)是1還是0,都將前8位數(shù)據(jù)送入SBUF中,并使RI置1,產(chǎn)生中斷請(qǐng)求。 在方式1時(shí),如果SM2=1,則只有收到有效的停止位時(shí)才會(huì)激活RI。 在方式0時(shí),SM2必須為

11、0。,(3)REN:允許串行接收位 。 由軟件置1或清0。 REN=1 允許串行口接收數(shù)據(jù)。 REN=0 禁止串行口接收數(shù)據(jù)。 (4)TB8:發(fā)送的第9位數(shù)據(jù)。 方式2和方式3,TB8是要發(fā)送的第9位數(shù)據(jù),其值由軟件置1或清0。在雙機(jī)串行通信時(shí),一般作為奇偶校驗(yàn)位使用;在多機(jī)串行通信中用來表示主機(jī)發(fā)送的是地址幀還是數(shù)據(jù)幀,TB8=1為地址幀,TB8=0為數(shù)據(jù)幀。 在方式0和1中,不使用TB8。 (5)RB8:接收的第9位數(shù)據(jù) 。 方式2和方式3,RB8存放接收到的第9位數(shù)據(jù)。 在方式1,如SM2=0,RB8是接收到的停止位;在方式0, 不使用RB8。,(6)TI:發(fā)送中斷標(biāo)志位 方式0,串行發(fā)

12、送的第8位數(shù)據(jù)結(jié)束時(shí)TI由硬件置1,在其他方式中,串行口發(fā)送停止位的開始時(shí)置TI為1。TI=1,表示一幀數(shù)據(jù)發(fā)送結(jié)束。TI的狀態(tài)可供軟件查詢,也可申請(qǐng)中斷。CPU響應(yīng)中斷后,在中斷服務(wù)程序中向SBUF寫入要發(fā)送的下一幀數(shù)據(jù)。 TI必須由軟件清“0”。 (7)RI:接收中斷標(biāo)志位 方式0時(shí),接收完第8位數(shù)據(jù)時(shí),RI由硬件置1。在其他工作方式中,串行接收到停止位時(shí),該位置1。RI = 1,表示一幀數(shù)據(jù)接收完畢,并申請(qǐng)中斷,要求CPU從接收SBUF取走數(shù)據(jù)。該位的狀態(tài)也可供軟件查詢。 RI必須由軟件清“0”。,對(duì)TI、RI有以下三點(diǎn)需要特別注意: (1)可通過查詢TI、RI判斷數(shù)據(jù)是否發(fā)送、接收結(jié)束

13、,當(dāng) 然也可以采用中斷方式。 (2)串行口是否向CPU提出中斷請(qǐng)求取決于TI與RI進(jìn)行相“或”運(yùn)算的結(jié)果,即當(dāng)TI=1,或RI=1,或TI、RI同時(shí)為1時(shí),串行口向CPU提出中斷申請(qǐng)。因此,當(dāng)CPU響應(yīng)串行口中斷請(qǐng)求后,首先需要使用指令判斷是RI=1還是TI=1,然后再進(jìn)入相應(yīng)的發(fā)送或接收處理程序。 (3)如果TI、RI同時(shí)為1,一般而言,需優(yōu)先處理接收子程序。這是因?yàn)榻邮諗?shù)據(jù)時(shí)CPU處于被動(dòng)狀態(tài),雖然串口輸入有雙重輸入緩沖,但是,如果處理不及時(shí),仍然會(huì)造成數(shù)據(jù)重疊覆蓋而丟失一幀數(shù)據(jù),所以應(yīng)當(dāng)盡快處理接收的數(shù)據(jù)。而發(fā)送數(shù)據(jù)時(shí)CPU處于主動(dòng)狀態(tài),完全可以稍后處理,不會(huì)發(fā)生差錯(cuò)。,2.電源控制寄存

14、器PCON(第四章4.6節(jié)省電工作模式),僅SMOD、SMOD0與串口有關(guān)。 SMOD:波特率選擇位。,SMOD0:幀錯(cuò)誤檢測(cè)有效控制位。當(dāng)SMOD0=1,SCON寄存器中的SM0/FE位用于FE(幀錯(cuò)誤檢測(cè))功能;當(dāng)SMOD0=0,SCON寄存器中的SM0/FE位用于SM0功能,與SM1一起指定串行口工作方式。復(fù)位時(shí)SMOD0=0。,3.從機(jī)地址控制寄存器SADEN和SADDR 為了方便多機(jī)通信,STC89C52單片機(jī)設(shè)置了從機(jī)地址控制寄存器SADEN和SADDR。其中SADEN是從機(jī)地址掩膜寄存器(地址為B9H,復(fù)位值為00H),SADDR是從機(jī)地址寄存器(地址為A9H,復(fù)位值為00H)。

15、,7.3 串行口的4種工作方式 7.3.1 方式0,8位同步移位寄存器方式,當(dāng)單片機(jī)工作在6T模式時(shí),其波特率固定為fCLK/6。當(dāng)單片機(jī)工作在12T模式時(shí),其波特率固定為fCLK/12。 由RXD引腳輸入或輸出數(shù)據(jù)。 TXD引腳輸出fCLK/12時(shí)鐘信號(hào)(12T模式)。,以8位數(shù)據(jù)為一幀,不設(shè)起始位和停止位,先發(fā)送或接收最低位。,方式0功能結(jié)構(gòu)示意圖,1.方式0發(fā)送,機(jī)器周期,RXD(數(shù)據(jù)),TXD (移位脈沖),方式0發(fā)送時(shí),當(dāng)CPU執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令時(shí),產(chǎn)生一個(gè)正脈沖,串行口開始把SBUF中的8位數(shù)據(jù)以fCLK/12或fCLK/6的固定波特率從RXD引腳串行輸出,

16、低位在先,TXD引腳輸出同步移位脈沖,發(fā)送完8位數(shù)據(jù)置位中斷標(biāo)志位TI。,2. 方式0接收,機(jī)器周期,RXD(數(shù)據(jù)),TXD (移位脈沖),當(dāng)向SCON寄存器寫入控制字時(shí),產(chǎn)生一個(gè)正脈沖,串行口開始接收數(shù)據(jù)。接收器以fCLK/12或fCLK/6的固定波特率采樣RXD引腳的數(shù)據(jù)信息,當(dāng)接收完8位數(shù)據(jù)時(shí),中斷標(biāo)志RI置1,表示一幀數(shù)據(jù)接收完畢,可進(jìn)行下一幀數(shù)據(jù)的接收。,在單片機(jī)應(yīng)用系統(tǒng)中,如果并行口的I/O資源不夠,而串行口又無它用時(shí),可以用來擴(kuò)展并行I/O口,這種擴(kuò)展方法不會(huì)占用片外RAM地址,而且也節(jié)省單片機(jī)的硬件開銷(只需外加1根I/O口線),但擴(kuò)展的移位寄存器芯片越多,口的操作速度也就越慢

17、。,方式0主要用于串并轉(zhuǎn)換(不是用于異步串行通信),I/O口數(shù)量不足時(shí),可通過串口方式0進(jìn)行擴(kuò)展,但需要相應(yīng)的擴(kuò)展芯片配合。這種擴(kuò)展方法不會(huì)占用片外RAM地址,而且也節(jié)省單片機(jī)的硬件開銷(只需外加1根I/O口線),但擴(kuò)展的移位寄存器芯片越多,口的操作速度也就越慢。,擴(kuò)展輸出芯片:74LS164、CD4094、 擴(kuò)展輸入芯片:74LS165、CD4014、 ,【例7-2】利用74LS164擴(kuò)展并行輸出口,并實(shí)現(xiàn)8個(gè)LED由上向下循環(huán)點(diǎn)亮。,74LS1648位串入并出移位寄存器,工作原理: 1)清零端(MR)若為低電平,輸出端都為0; 2)清零端若為高電平,且時(shí)鐘端(CP)出現(xiàn)上升沿脈沖,則輸出端

18、Q鎖存輸入端D的電平; 3)串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A、B 任意一個(gè)為低電平,則禁止新數(shù)據(jù)的輸入,在時(shí)鐘端脈沖CP上升沿作用下Q0 為低電平。當(dāng)A、B 有一個(gè)高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在上升沿作用下確定串行數(shù)據(jù)輸入口的狀態(tài)。 4)前級(jí)Q端與后級(jí)D端相連移位作用,最先接收到的數(shù)將進(jìn)入最高位。,程序分析:,串口初始化: SCON=0;,方式0(SM0 SM1 = 00) 中斷請(qǐng)求標(biāo)志位清0 (RI=0,TI=0) 禁止接收數(shù)據(jù)(REN = 0),串行數(shù)據(jù)輸出時(shí),一組數(shù)據(jù)發(fā)送完成,TI會(huì)被置1??梢圆捎弥袛喾ɑ虿樵兎绞竭M(jìn)行判別,滿足條件,發(fā)送下一組數(shù)據(jù),否則,循環(huán)等待直到TI置

19、1。,方式0發(fā)送串行輸出低位在先,高位在后。而164是先串入的數(shù)進(jìn)入最高位。若需要實(shí)現(xiàn)下圖效果(僅D1點(diǎn)亮),則164應(yīng)輸出1111 1110B,發(fā)送端數(shù)據(jù)應(yīng)為L(zhǎng)ED=0111 1111B;欲使LED由上向下點(diǎn)亮,發(fā)送端數(shù)據(jù)應(yīng)右移且最高位置1。 (LED 1) | 0 x80 ;0 x80=1000 0000B。,Keil C51,#include sbit MR=P27; void time(unsigned int ucMs); void main() unsigned char index, LED; SCON = 0; MR = 1; while (1) LED=0 x7f; for

20、(index=0; index 1)|0 x80); TI=0; time(1000); ,void time(unsigned int ucMs) #define DELAYTIMES 239 unsigned char ucCounter; while (ucMs!=0) for (ucCounter=0; ucCounterDELAYTIMES; ucCounter+) ucMs-; ,【例7-3】利用串行口外接兩片8位并行輸入串行輸出的寄存器74LS165擴(kuò)展兩個(gè)8位并行輸入口。要求從16位擴(kuò)展口讀入10組共20B數(shù)據(jù),并將其轉(zhuǎn)存到內(nèi)部RAM30H開始的單元。,S/L=0,并行接收數(shù)據(jù)

21、,S/L=1,允許串行移位。,MOVR7,#10;設(shè)置讀入數(shù)據(jù)組數(shù) MOV R0,#30H;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首地址 START:CLR P1.0;并行置入數(shù)據(jù), =0 SETB P1.0;允許串行移位, =1 MOV R2,#02H;每組為2B RXDATA: MOV SCON,#10H;串口工作在方式0,允許接收 WAIT:JNB RI,WAIT;未接收完一幀,則等待 CLR RI ;RI標(biāo)志清“0”,準(zhǔn)備下次接收 MOV A,SBUF;讀入數(shù)據(jù) MOV R0,A;送至片內(nèi)RAM緩沖區(qū) INC R0;指向下一個(gè)地址 DJNZ R2,RXDATA;未讀完一組數(shù)據(jù),則繼續(xù) DJNZ R7,S

22、TART;10組數(shù)據(jù)未讀完重新并行置數(shù),7.3.2 方式1, 10位異步收發(fā)通信模式,一幀信息 = 1個(gè)起始位(0)+8位數(shù)據(jù)位+1個(gè)停止位(1),指定T1或T2為波特率時(shí)鐘發(fā)生器, 一般選擇定時(shí)方式2。,發(fā)送數(shù)據(jù)由TXD輸出,接收數(shù)據(jù)由RXD輸入,初始化(RI、TI、REN、SM0、SM1),方式1主要用于點(diǎn)對(duì)點(diǎn)(雙機(jī))通信。,方式1功能結(jié)構(gòu)示意圖,1.方式1發(fā)送,.,TXD,TX時(shí)鐘,D1,D2,D3,D4,D5,D6,D7,D0,起始,停止,當(dāng)CPU執(zhí)行一條寫SBUF的指令,就啟動(dòng)發(fā)送。TX時(shí)鐘的頻率就是發(fā)送的波特率。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號(hào)變?yōu)橛行?,將起始位向TXD腳輸出,此后每經(jīng)

23、過一個(gè)TX時(shí)鐘周期,便產(chǎn)生一個(gè)移位脈沖,并由TXD引腳輸出一個(gè)數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,中斷標(biāo)志位TI置1。,2方式1接收,方式1接收時(shí)(REN = 1),數(shù)據(jù)從RXD(P3.1)引腳輸入。當(dāng)檢測(cè)到起始位的負(fù)跳變,則開始接收。 接收時(shí),定時(shí)控制信號(hào)有兩種:一種是接收移位時(shí)鐘(RX時(shí)鐘),它的頻率和傳送的波特率相同;另一種是位檢測(cè)器采樣脈沖,頻率是RX時(shí)鐘的16倍。以波特率的16倍速率采樣RXD腳狀態(tài)。當(dāng)采樣到RXD端從1到0的負(fù)跳變時(shí)就啟動(dòng)檢測(cè)器,接收的值是3次連續(xù)采樣(第7、8、9個(gè)脈沖時(shí)采樣)取兩次相同的值,以確認(rèn)起始位(負(fù)跳變)的開始,較好地消除干擾引起的影響。,當(dāng)確認(rèn)起始位有效

24、時(shí),開始接收一幀信息。每一位數(shù)據(jù),也都進(jìn)行3次連續(xù)采樣(第7、8、9個(gè)脈沖采樣),接收的值是3次采樣中至少兩次相同的值。當(dāng)一幀數(shù)據(jù)接收完畢后,同時(shí)滿足以下兩個(gè)條件,接收才有效。 (1)RI=0,即上一幀數(shù)據(jù)接收完成時(shí),RI=1發(fā)出的中斷請(qǐng)求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。 (2)SM2=0或收到的停止位=1(方式1時(shí),停止位已進(jìn)入RB8),則將接收到的數(shù)據(jù)裝入SBUF和RB8(裝入的是停止位),且中斷標(biāo)志RI置1。 若不同時(shí)滿足兩個(gè)條件,收的數(shù)據(jù)不能裝入SBUF,該幀數(shù)據(jù)將丟棄。,7.3.3 方式2和方式3 11位數(shù)據(jù)異步通信方式,一幀信息 = 1個(gè)起始位(0)+

25、8位數(shù)據(jù)位+ 1個(gè)可編程位(P) +1個(gè)停止位(1) 。,方式2和方式3的操作兩種方式的共同點(diǎn)是發(fā)送和接收時(shí)具有第9位數(shù)據(jù),正確運(yùn)用SM2(多機(jī)通信控制位)能實(shí)現(xiàn)多機(jī)通信。不同點(diǎn)在于,方式2的波特率是固定的,而方式3的波特率由定時(shí)器T1或T2的溢出率決定。,可編程位的作用用于奇偶校驗(yàn)或多機(jī)通信標(biāo)識(shí)。,TB8既可作為多機(jī)通信地址幀或數(shù)據(jù)幀的標(biāo)識(shí)位(如地址幀可約定為“1”,數(shù)據(jù)幀時(shí)為0。),也可作為數(shù)據(jù)的奇偶校驗(yàn)位。 發(fā)送時(shí)由硬件方式將TB8作為可編程位插入數(shù)據(jù)幀中。 接受時(shí)由硬件方式將數(shù)據(jù)幀的可編程位存入RB8中。,方式2功能結(jié)構(gòu)示意圖,方式2和方式1相比,除波特率發(fā)生源略有不同,發(fā)送時(shí)由TB8

26、提供給移位寄存器第9位數(shù)據(jù)不同外,其余功能結(jié)構(gòu)均基本相同,發(fā)送/接收數(shù)據(jù)過程及時(shí)序基本相同。,方式3功能結(jié)構(gòu)示意圖,1.方式2和方式3發(fā)送,2.方式2和方式3接收,SM0、SM1=10,且REN = 1時(shí),以方式2接收數(shù)據(jù)。數(shù)據(jù)由RXD端輸入,接收11位信息。當(dāng)位檢測(cè)邏輯采樣到RXD的負(fù)跳變,判斷起始位有效,便開始接收一幀信息。在接收完第9位數(shù)據(jù)后,需滿足以下兩個(gè)條件,才能將接收到的數(shù)據(jù)送入SBUF(接收緩沖器)。 (1)RI=0,意味著接收緩沖器為空。 (2)SM2=0或接收到的第9位數(shù)據(jù)位RB8=1。 當(dāng)滿足上述兩個(gè)條件時(shí),收到的數(shù)據(jù)送接收SBUF,第9位數(shù)據(jù)送入RB8,且RI置1。若不滿

27、足這兩個(gè)條件,接收的信息將被丟棄。,7.4 波特率的設(shè)定與計(jì)算 在串行通信中,收發(fā)雙方必須采用相同的通訊速率,即波特率。STC89C52單片機(jī)串行通信以定時(shí)器T1和定時(shí)器T2作為波特率信號(hào)發(fā)生器,其溢出脈沖經(jīng)過分頻單元后送到收、發(fā)控制器中。分頻單元的內(nèi)部結(jié)構(gòu)如下圖。,1方式0 波特率與系統(tǒng)時(shí)鐘頻率fCLK有關(guān)。一旦系統(tǒng)時(shí)鐘頻率選定且在STC-ISP編程器中設(shè)置好,方式0的波特率固定不變。 當(dāng)用戶在燒錄用戶應(yīng)用程序時(shí)STC-ISP編程器中設(shè)置單片機(jī)為6T/雙倍速時(shí),其波特率為fCLK的1/6。 若設(shè)置單片機(jī)為12T/單倍速時(shí),其波特率為fCLK的1/12。,2. 方式2 波特率與系統(tǒng)時(shí)鐘頻率、S

28、MOD位的值有關(guān)。其計(jì)算公式為,3.方式1和方式3 串行口工作在方式1或方式3時(shí),波特率設(shè)置方法相同,采用定時(shí)器T1或定位器T2作為波特率發(fā)生器。其計(jì)算公式為,T1溢出脈沖可有兩種分頻路徑,即16分頻或32分頻,SMOD是決定分頻路徑的邏輯開關(guān)。,T1溢出率取決于計(jì)數(shù)速率和定時(shí)器的預(yù)置值,計(jì)數(shù)速率與C/T(TMOD)的狀態(tài)有關(guān) C/T=0, 計(jì)數(shù)速率= fosc/12 C/T=1,計(jì)數(shù)速度取決于外部輸入時(shí)鐘頻率,當(dāng)定時(shí)器T1作波特率發(fā)生器使用時(shí),通常是選用自動(dòng)重裝載方式。在方式2中,TL1作計(jì)數(shù)用,而自動(dòng)重裝載的值放在TH1內(nèi)。 設(shè)計(jì)數(shù)初值為X, 那么每過“256 X”個(gè)機(jī)器周期,T1產(chǎn)生一次

29、溢出。,此時(shí),波特率隨 、SMOD和初值X而變化。解出時(shí)間常數(shù)裝載值為:,當(dāng)單片機(jī)工作在12T模式時(shí):,當(dāng)單片機(jī)工作在6T模式時(shí):,解出時(shí)間常數(shù)裝載值為:,當(dāng)設(shè)置定時(shí)器T2作為波特率發(fā)生器,定時(shí)器T2的溢出脈沖經(jīng)16分頻后作為串行口發(fā)送脈沖、接收脈沖。其波特率計(jì)算公式為,實(shí)際使用時(shí),經(jīng)常根據(jù)已知波特率和時(shí)鐘頻率來計(jì)算T1、T2的初值。,在使用時(shí)鐘振蕩頻率 為12MHz時(shí),將初值X和帶入公式計(jì)算出的波特率有一定誤差。為減小波特率誤差,可使用的時(shí)鐘頻率為11.0592MHz或22.1184MHz,此時(shí)定時(shí)初值為整數(shù),但該外接晶振用于系統(tǒng)精確的定時(shí)服務(wù)不是十分的理想。例如單片機(jī)外接11.0592MH

30、z 晶振時(shí),機(jī)器周期=12/11.0592MHz1.085us,是一個(gè)無限循環(huán)的小數(shù)。當(dāng)單片機(jī)外接22.1184MHz晶振時(shí),機(jī)器周期=12/22.1184MHz0.5425us,也是一個(gè)無限循環(huán)的小數(shù),因此不能夠?yàn)槎〞r(shí)應(yīng)用提供精確的定時(shí)。,如果要產(chǎn)生很低的波特率,如波特率選55,可以考慮使用定時(shí)器T1工作在方式1,即16位定時(shí)器方式。但在這種情況下,定時(shí)器T1溢出時(shí),需在中斷服務(wù)程序中重新裝入初值,中斷響應(yīng)時(shí)間和執(zhí)行指令時(shí)間會(huì)使波特率產(chǎn)生一定的誤差,可用改變初值的方法加以調(diào)整。,定時(shí)器T2作波特率發(fā)生器是16位自動(dòng)重裝載初值的,位數(shù)比定時(shí)器1作為波特率發(fā)生器要多(定時(shí)器T1作為串口波特率發(fā)生

31、器工作在方式2是8位自動(dòng)重裝初值),因此可以支持更高的傳輸速度。,設(shè)置波特率的常用初始化片斷如下:,MOV TMOD,#20H;設(shè)置定時(shí)器T1工作在方式2 MOV TH1,#XXH ;裝載定時(shí)初值 MOV TL1,#XXH SETB TR1;開啟定時(shí)器T1 MOV PCON,#80H ;波特率倍增 MOV SCON,#50H ;設(shè)置串行口工作在方式1,【例7-4】若STC89C52單片機(jī)系統(tǒng)時(shí)鐘頻率fCLK為11.0592MHz,工作在12T模式,采用T1定時(shí)器工作在方式2作為波特率發(fā)生器,波特率為2400波特,求初值。 解:取SMOD=0。 將已知條件帶入公式 解得X=244=F4H。另查表

32、也可得。,【例7-5】設(shè)STC89C52單片機(jī)系統(tǒng)時(shí)鐘頻率fCLK為11.0592MHz,T2工作方式在波特率發(fā)生器方式,波特率為9600波特。,1設(shè)計(jì)分析: 根據(jù)題意知T2工作波特率發(fā)生器方式,T2產(chǎn)生發(fā)送時(shí)鐘和接收時(shí)鐘,則TCLK=1、RCLK=1。 (1)求定時(shí)初值:選擇T2為定時(shí)模式,啟動(dòng)T2工作,即TR2=1我們選擇向上計(jì)數(shù),即DCEN=0,這時(shí)波特率計(jì)算公式如下: 取SMOD=0,由于MCU選12T,則n=32,已知波特率為9600,fCLK為11.0592MHz 令N=(RCAP2H,RCAP2L),則9600= ,即 TH2=FFH,TL2=DCH,RCAP2H=FF,RCAP

33、2L=DCH,(2)確定特殊功能寄存器T2CON、T2MOD值 T2CON=34H,(即TCLK=1,RCLK=1,TR2=1),T2MOD=00H(即DCEN=0)。,2程序清單,匯編程序 InitUart:MOV SCON,#50H; /串行口工作在方式1 MOVT2MOD,#00 /設(shè)置T2加法計(jì)數(shù),時(shí)鐘輸出不使能 MOV T2CON,#34H /T2為波特率發(fā)生器并啟動(dòng) T2計(jì)數(shù) MOVTH2,#0FFH /設(shè)置定時(shí)寄存器計(jì)數(shù)初值 MOVTL2,#0DCH MOV RCAP2L,#0DCH /設(shè)置自動(dòng)重裝寄存器計(jì)數(shù)初值 MOVRCAP2H,#0FFH RET,C51程序 void in

34、itUart(void) SCON = 0 x50; T2MOD = 0 x00 T2CON = 0 x34; TH2 = 0 xff; TL2 = 0 xdc; RCAP2L=0 xdc; RCAP2H= 0 xff; ,7.5 STC89C52單片機(jī)之間的通信 復(fù)習(xí): 與串口通信相關(guān)寄存器:SCON(98H) PCON(87H),D7 D6 D5 D4 D3 D2 D1 D0 SCON: SM0/FE SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H,D7 D6 D5 D4 D3 D2 D1 D0 PCON SMOD

35、 SMOD0 - 與 串 行 通 信 無 關(guān),7.5 STC89C52單片機(jī)之間的通信 7.5.1 串行通信接口 7.5.2 雙機(jī)串行通信編程 7.5.3 多機(jī)通信,7.5 STC89C52單片機(jī)之間的通信 單片機(jī)的串行通信接口設(shè)計(jì)時(shí),需考慮如下問題: (1)確定通信雙方的數(shù)據(jù)傳輸速率。 (2)由數(shù)據(jù)傳輸速率確定采用的串行通信接口標(biāo)準(zhǔn)。 (3)在通信接口標(biāo)準(zhǔn)允許的范圍內(nèi)確定通信的波特率。為減小波特率的誤差,通常選用11.0592MHz的晶振頻率。 (4)根據(jù)任務(wù)需要,確定收發(fā)雙方使用的通信協(xié)議。 (5)通信線的選擇。一般選用雙絞線較好,并根據(jù)傳輸?shù)木嚯x選擇纖芯的直徑。如果空間的干擾較多,還要選

36、擇帶有屏蔽層的雙絞線。 (6)通信協(xié)議確定后,最后進(jìn)行通信軟件設(shè)計(jì)。,7.5.1 串行通信接口 1TTL電平通信接口 兩個(gè)STC89C52單片機(jī)相距在1.5m之內(nèi),可直接用TTL電平傳輸方法實(shí)現(xiàn)雙機(jī)通信。,以TTL電平串行傳輸數(shù)據(jù)的方式抗干擾性差,傳輸距離短且傳輸速率低。為提高串行通信的可靠性,增大串行通信的距離以及提高傳輸速率,一般都采用標(biāo)準(zhǔn)串行接口來實(shí)現(xiàn)串行通信。,2RS-232C接口 RS-232C在1969年發(fā)布。RS-232C規(guī)定任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系。即邏輯1,-3V-15V;邏輯0,+3V+15V。-3V+3V為過渡區(qū),不作定義。,由于RS-232C接口標(biāo)準(zhǔn)出現(xiàn)較早,

37、采用該接口存在以下問題:,(1)傳輸距離短,傳輸速率低 (2)有電平偏移 (3)抗干擾能力差,當(dāng)單片機(jī)雙機(jī)通信距離在1.515m之間時(shí),可考慮用RS-232C標(biāo)準(zhǔn)接口實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的雙機(jī)通信。,為了使用RS-232C接口通信,必須在單片機(jī)系統(tǒng)中加入電平轉(zhuǎn)換芯片,以實(shí)現(xiàn)TTL電平向RS-232C電平的轉(zhuǎn)換。常見的TTL到RS-232C的電平轉(zhuǎn)換器有MC1488、MC1489和MAX232A等芯片。,3RS-422A接口 RS-422A與RS-232C的主要區(qū)別是,收發(fā)雙方的信號(hào)地不再共地,RS-422A采用了平衡驅(qū)動(dòng)和差分接收的方法。用于數(shù)據(jù)傳輸?shù)氖莾蓷l平衡導(dǎo)線,這相當(dāng)于兩個(gè)單端驅(qū)動(dòng)器。輸入同一個(gè)信

38、號(hào)時(shí),其中一個(gè)驅(qū)動(dòng)器的輸出永遠(yuǎn)是另一個(gè)驅(qū)動(dòng)器的反相信號(hào)。因此,兩條線上傳輸?shù)男盘?hào)電平,當(dāng)一個(gè)表示邏輯“1”時(shí),另一條一定為邏輯“0”。若傳輸中,信號(hào)中混入干擾和噪聲(共模形式),由于差分接收器的作用,就能識(shí)別有用信號(hào)并正確接收傳輸?shù)男畔?,并使干擾和噪聲相互抵消。,RS-422A與TTL電平轉(zhuǎn)換常用的芯片為傳輸線驅(qū)動(dòng)器SN75174或MC3487和傳輸線接收器SN75175或MC3486。 RS-422A能在長(zhǎng)距離、高速率下傳輸數(shù)據(jù)。它的最大傳輸率為10Mbps,電纜允許長(zhǎng)度為12m,如果采用較低傳輸速率時(shí),最大傳輸距離可達(dá)1219m。,4RS-485接口 RS-422A雙機(jī)通信需四芯傳輸線,應(yīng)

39、用于長(zhǎng)距離通信很不經(jīng)濟(jì),因此在工業(yè)現(xiàn)場(chǎng),通常采用雙絞線傳輸?shù)腞S-485串行通信接口。 RS-485是RS-422A的變型,它與RS-422A的區(qū)別:RS-422A為全雙工,采用兩對(duì)平衡差分信號(hào)線;RS-485為半雙工,采用一對(duì)平衡差分信號(hào)線。,RS-485最大傳輸距離約為1219m,最大傳輸速率為10Mbps。通信線路要采用平衡雙絞線。平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100kbps速率以下,才可能使用規(guī)定的最長(zhǎng)電纜。只有在很短的距離下才能獲得最大傳輸速率。一般100m長(zhǎng)雙絞線最大傳輸速率僅為1Mbps。,7.5.2 雙機(jī)串行通信編程,【例7-6】假定有甲乙兩機(jī),以方式1進(jìn)行異步通信,采用

40、下圖所示的雙機(jī)串行通信電路,其中甲機(jī)發(fā)送數(shù)據(jù),乙機(jī)接收數(shù)據(jù)。雙方晶振頻率為 =11.0592MHz,通信波特率為2400 bps。甲機(jī)循環(huán)發(fā)送數(shù)字0F,乙機(jī)接收后返回接收值。若發(fā)送值與返回值相等,則繼續(xù)發(fā)送下一數(shù)字,否則需重發(fā)當(dāng)前數(shù)字。,數(shù)碼管(7SEG-BCD) 帶譯碼電路可直接輸入數(shù)據(jù)0F,無需顯示字模)。,Keil C51,分析: 串口、定時(shí)器初始化:,采用2400波特率 PCON=0,查表得TH1=TL1=0 xf4; T1采用方式2 TMOD=0 x20; 串口工作在方式1,允許接收,清中斷標(biāo)志SCON=0 x50 。,發(fā)送程序 #include #define uchar unsi

41、gned char void time(unsigned int ucMs);/延時(shí)單位:ms void initUart(void);/初始化串口波特率,使用定時(shí)器T1 void main(void) uchar counter=0; time(1); /延時(shí)等待外圍器件完成復(fù)位 initUart(); while(1) SBUF=counter;/發(fā)送聯(lián)絡(luò)信號(hào) while(TI=0);/等待發(fā)送完成 TI = 0;/清TI標(biāo)志位,采用查詢法檢查收發(fā)是否完成。發(fā)送值和接收值分別顯示在雙方LED數(shù)碼管上;, 程序清單:,while(RI=0);/等待乙機(jī)回答 RI = 0; if(SBUF =

42、counter) P2 = counter; /顯示已發(fā)送值 if(+counter15) counter=0;/修正計(jì)數(shù)器值 time(500); void initUart(void) /初始化串口波特率,使用定時(shí)器T1 SCON = 0 x50;/串口工作在方式1,接收允許 PCON=0;/波特率不加倍 TMOD=0 x20;/T1工作在方式2 TH1=0 xf4; TL1=0 xf4; TCON=0 x40;/TR1=1 ,接收程序 #include #define uchar unsigned char void time(unsigned int ucMs);/延時(shí)單位:ms vo

43、id inituart(void);/初始化串口波特率,使用定時(shí)器T1 void main(void) uchar receive; /定義接收緩沖 time(1); /延時(shí)等待外圍器件完成復(fù)位 initUart(); while(1) while(RI=1)/等待接收完成 RI=0;/清RI receive=SBUF;/取接收值 SBUF=receive; /結(jié)果返送發(fā)送緩沖器 while(TI=0);/等待發(fā)送結(jié)束 TI=0;/清TI P2=receive; /顯示接收值 ,【例7-7】甲乙兩機(jī)以方式2進(jìn)行雙機(jī)串行通信中。要求用匯編語言編寫發(fā)送中斷和接收中斷服務(wù)程序,以TB8作為奇偶校驗(yàn)位

44、,采用偶校驗(yàn)。設(shè)第2組的工作寄存器區(qū)的R0作為發(fā)送數(shù)據(jù)區(qū)地址指針,第1組寄存器區(qū)的R1作為接收數(shù)據(jù)區(qū)的指針。,奇偶校驗(yàn)原理: 若發(fā)送數(shù)據(jù)為0 x45(0100 0101B),其奇偶校驗(yàn)位P=1(包含奇數(shù)個(gè)1),將PTB8,發(fā)送時(shí)可連同數(shù)據(jù)0 x45一起發(fā)出。接收端可自動(dòng)將其可編程位放入RB8中。 只要將待測(cè)數(shù)據(jù)送入累加器Acc即可由硬件求出奇偶校驗(yàn)值(使P賦值),再與RB8進(jìn)行比較便可判斷收發(fā)過程是否有誤。,PIPT1: PUSH PSW PUSH Acc SETB RS1 CLR RS0 CLR TI MOV A,R0,MOV C, P MOV TB8, C MOV SBUF, A INC

45、R0 POP Acc POP PSW RETI,發(fā)送中斷服務(wù)程序:,接收中斷服務(wù)程序:,PITI:PUSH PSW PUSH Acc SETB RS0 CLR RS1 CLR RI MOV A, SBUF MOVC,P JNCL1 JNBRB8,ERP AJMP L2 L1: JBRB8,ERP,L2: MOV R1,A;數(shù)據(jù)送內(nèi)存 INC R1 POP Acc POP PSW RETI ERP: ;出錯(cuò)處理程序段入口 RETI,注意:改錯(cuò):P160頁,紅色字體R1,7.5.3 多機(jī)通信,主從式通信系統(tǒng):1主機(jī)+多從機(jī); 每個(gè)從機(jī)都被賦予唯一的地址。一般還要預(yù)留12個(gè)“廣播地址” 主機(jī)與各從機(jī)

46、之間能實(shí)現(xiàn)雙向通信,而各從機(jī)之間不能直接通信,只能通過主機(jī)才能溝通。,1多機(jī)通信原理 串行口控制寄存器SCON中的SM2為多機(jī)通信接口控制位.串行口以方式2或3接收時(shí),若SM2=1,表示置多機(jī)通信功能位,這時(shí)出現(xiàn)兩種可能情況。 (1)接收到的第9位數(shù)據(jù)RB8為1時(shí),數(shù)據(jù)才裝入SBUF,并置位RI=1,向CPU發(fā)中斷請(qǐng)求; (2)接收到的第9位數(shù)據(jù)RB8為0時(shí),則不產(chǎn)生中斷,信息拋棄. 若SM2=0時(shí),則接收到第9位數(shù)據(jù)RB8無論是0還是1,都將數(shù)據(jù)裝入接收緩沖器SBUF并置位中斷標(biāo)志RI,請(qǐng)求CPU處理。,多機(jī)通信系統(tǒng)示意圖,TXD,TXD,TXD,RXD,RXD,RXD,TXD,RXD,主機(jī)

47、,從機(jī)1,從機(jī)2,從機(jī)3,從機(jī)地址:,01H,02H,03H,1)各從機(jī)初始化:MOV SCON,#0B0H;或#0F0H,TXD,RXD,主機(jī),2)主機(jī)發(fā)送信息:其中第9位數(shù)據(jù)TB8作為區(qū)分地址/數(shù)據(jù)的標(biāo)識(shí)。TB8=1表示地址,TB8=0表示數(shù)據(jù)。例如:主機(jī)發(fā)送地址幀信息02H。02H是從機(jī)2的地址。,SBUF,1)各從機(jī)初始化:MOV SCON,#0B0H;或#0F0H,TXD,RXD,主機(jī),2)主機(jī)發(fā)送信息:其中第9位數(shù)據(jù)TB8作為區(qū)分地址/數(shù)據(jù)的標(biāo)識(shí)。TB8=1表示地址,TB8=0表示數(shù)據(jù)。例如:主機(jī)發(fā)送地址幀信息02H。02H是從機(jī)2的地址。,0,SBUF,1,0,0,0,0,0,0,1,RB8,1)各從機(jī)初始化:MOVSCON,#0B0H;或#0F0H。,TXD,RXD,主機(jī),2)主機(jī)發(fā)送信息:其中第9位數(shù)據(jù)TB8作為區(qū)分地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論