




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.第十章 MCS51串行通信接口技術微機聯網: 單片機與單片機;單片機與其他微機之間實現信息共享;典型的計算機測量與控制系統構成:一個典型集散式(DCS)控制系統的構成10.1 串行通信基礎數據通信方式:并行通信與串行通信并行通信:一次傳輸8(16、32Bit)8根數據線,1根控制線,1根狀態線,地線,共11根; 特點:速度快,適合近距離傳輸 計算機并口,打印機,8255 串行通信: 數據一位一位地發送 ,一根發送線,一根接受線,地線,共3根特點:硬件方便,適合距離遠,速度要求不高的場合分類:同步串行通信和異步串行通信一、 異步通信:串行通信就是將并行的數據分開后,一位一位地發送出去,接收方也
2、是一位一位地接收數據,這就需要通信的雙方有一個協議,什么時候開始發送,什么時候發送完畢;接收方收到的信息是否正確等,而這些信息只能以電平的高低來表示,構成這些位的數據稱為一幀。異步串行通信規定了傳輸數據的結構即幀格式:起始位 數據位 奇偶校驗位 停止位 1 起始位:在數據發送線上規定無數據時電平為1,當要發送數據時,首先發送一個低電平0,表示數據傳送的開始,這就是起始位。2 數據位:真正要傳送的數據,可以是8位、10位等多位,數據位是由地位開始,高位結束;3 奇偶校驗:數據發送完后,發送奇偶校驗位,以檢驗數據傳送的正確性,這中方法是有限的,但是容易實現。4 停止位:表示數據傳送的結束,可以是一
3、位或兩位。幀格式: 二、 同步通信同步通信先發送一個字符,作為同步字符,之后便連續發送數據,數據之間不能有間隔,直到數據發送完畢。速度要比異步通信快通用異步接受/發送器(UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER):UART:8250 6850 三、 單工、半雙工、全雙工通信方式按通信進行的過程,分為:單工、半雙工、全雙工通信方式1 單工方式一端是發送端,另外一端是接收端:接收器發送器2 半雙工發式每端口由一個發送器和接收器,通過開關連接在線路上,數據可以雙方交換,但不能同時發送和接收.接收器發送器發送器接收器 3. 全雙工方式發送器接收器接收器發送
4、器 通信雙方用兩個獨立的收發器單獨連接,可以同時發送和接收數據,因而提高了速度。4 波特率單位時間內傳送的信息量。以每秒傳送的位為單位:電傳機:10字符/秒,1個字符11位, 波特率位:1011=110(波特)位寬:傳送過程中平均每位占用時間 Td = 9.1ms(1/110)10.2串行通信總線標準及接口在測控系統中,計算機通信主要采用異步串行通信方式,常用的異步串行通信接口標準有三種:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS422 RS423 RS485)20mA電流環一、 通信方式的選取1 通信速率和通信距離 這兩個方面是相互制約的,降低通信速率
5、,可以提高通信距離 RS-232C:速率:20Kbit/S,最大通信距離:15m RS422: 10Mbit/s, :300m 90Kbit/s, :1200m2 抗干擾能力 采用標準的通信接口,本身具有一定的抗干擾能力,但是工業現場的情況往往很惡劣,因而要根據具體情況進行選擇。 RS232C:一般場合 RS422: 共模信號比較強 光纖: 電磁干擾較強二、 RS232C簡介美國電子工業協會(EIA)公布的一種異步通信標準:RS232C標準:設備之間通信的距離不大于15米最大傳輸速率20KB/S采用負邏輯:“1” 5V 15V “0” +5V + 15V不帶負載時輸出電平:25V +25V輸出
6、短路電流: 0.5A最大負載電容: 2500pF TTL電平可以由專用集成電路轉換成RS232C標準; 如: MC1488 或 75188 TTL RS232CMC1489 或 75189 RS232C TTL +12V +5VMC1489 MC1488 TTL TTL 12V 由于MC1488需要采用12V電源,一般在單片機通信中大量使用的是只需要+5V電源、具有發送和接收的一體化芯片,如:MAX232、ICL232、ADM202等。 MAX232芯片及接口內部有兩路接收器和發送器具有電源變換電路 C5 VCC C3 C1+ V+ +5V 至 +10V (倍壓器) C1- C2+ V- +1
7、0V 至 10V (電壓反向器) C2- +10V C1 10V C2 C4 T1 T1int 11 14 T1out T1 T2int 10 7 T2out R1 R1out 12 13 R1in R2 R2out 9 8 R2int MAX232原理圖 電源變換電路:C1,C2,C3,C4,V+,V;MCS51 RXDTXDGNDMAX232MCS51 TXD RXD GNDMAX232 T1in T1out R1out R1in MCS51雙機通信(利用MAX232)三、 調制與解調RS232C通信距離很短,RS422通信距離不過1200米;更長距離需采用調制與解調。10.3 MCS-5
8、1的串行口的結構8051有一個可編程的全雙工串行通信接口,它可作UART用,也可作同步移位寄存器,其幀格式可有8位、10位或ll位,并能設置各種波特率,給使用者帶來很大的靈活性。一、結 構805l通過引腳RXD(P30,串行數據接收端)和引腳TXD(P3.l,串行數據發送端)與外界進行通信。其內部結構簡化示意圖如圖所示。串行口內部結構示意圖圖中有兩個物理上獨立的接收、發送緩沖器SBUF,它們占用同一地址99H,可同時發送、接收數據。發送緩沖器只能寫入,不能讀出,接收緩沖器只能讀出、不能寫入。 串行發送與接收的速率與移位時鐘同步。8051用定時器T1作為串行通信的波特率發生器,T1溢出率經2分頻
9、(或不分頻)又經16分頻作為串行發送或接收的移位脈沖。移位脈沖的速率即是波特率。 從圖中可看出,接收器是雙緩沖結構,在前個字節被從接收緩沖器SBUF讀出之前,第二個字節即開始被接收(串行輸入至移位寄存器),但是,在第二個字節接收完畢而前個字節CPU未讀取時會丟失前一個字節。 串行口的發送和接收都是以特殊功能寄存器SBUF的名義進行讀或寫的,當向SBUF發“寫”命令時(執行MOV SBUF,A指令),即是向發送緩沖器SBUF裝載并開始由TXD引腳向外發送一幀數據,發送完便使發送中斷標志位TI1。 在滿足串行口接收中斷標志位RISCON00的條件下,置允許接收位REN(SCON4)1就會啟動接收一
10、幀數據進入輸入移位寄存器,并裝載到接收SBUF中,同時使RIl。當發讀SBUF命令時(執行MOV A,SBUF指令),即是由接收緩沖器(SBUF)取出信息通過8051內部總線送CPU。對于發送緩沖器,因為發送時CPU是主動的,不會發生重迭錯誤,所以不需要用雙緩沖結構來保持最大傳送速率。二、串行口控制字及控制寄存器8051串行口是一個可編程接口,對它的編程只用兩個控制字分別寫入特殊功能寄存器:串行口控制寄存器SCON(98H)和電源控制寄存器PCON(97H)個即可。 1SCON(98H)8051串行通信的方式選擇、接收和發送控制以及串行口的狀態標志等均由特殊功能寄存器SCON控制和指示。其控制
11、字格式如圖所示:SCOND7 D6 D5 D4 D3 D2 D1 D0 98HSM0SM1SM2RENTB8RB8TIRI (1) SM0和SMl 串行口工作方式選擇位。兩個選擇位對應4種通信方式(見表2),其個fosc是振蕩頻率。表2 串行口的工作方式SM0SM1工作方式 說 明 波 特 率00方式0同步移位寄存器 fosc/201方式110位異步收發由定時器1控制10方式211位異步收發fosc/32或fosc/6411方式311位異步收發由定時器1控制 (2) SM2 多機通信控制位,主要用于方式2和方式3。若置SM21,則允許多機通信。多機通信協議規定,第9位數據(D8)為l,說明本幀
12、數據為地址幀;若第9位為0,則本幀為數據幀。當一個8051(主機)與多個8051(從機)通信時,所有從機的SM2位都置1。主機首先發送的一幀數據為地址,即某從機機號,其中第9位為1、被尋地址的某個從機接收到數據后,將其中第9位裝入RB8。從機依據收到的第9位數據(RR8個)的值來決定從機可否再接收主機的信息,若(RB8)0,說明是數據幀,則使接收中斷標志位RI0,信息丟失;若RB81,說明是地址幀,數據裝入SBUF并置RI1,中斷所有從機被尋址的目標從機清除SM2以接收主機發來的一幀數據。其他從機仍然保持SM21。 若SM20,即不屬于多機通信情況,則接收一幀數據后不管第9位數據是0還是1都置
13、RIl,接收到的數據裝入SBUF中。 根據SM2這個功能,可實現多個8051應用系統的串行通信。 在方式1時,若SM21,則只有接收到有效停止位時,RI才置1,以便接受下一幀數據。 在方式0時,SM2必須是0 。 (3) REN 允許接收控制位。由軟件置1或清0,只有當RENl時才允許接收,相當于串行接收的開關;若REN0、則禁止接收。 在串行通信接收控制程序中,如果滿足RI0,置位REN1(允許接收)的條件,就會啟動一次接收過程,一幀數據就裝載入接收SBUF中。 (4) TB8 發送數據的第9位(D8)裝入TB8中。在方式2或方式3中根據發送數據的需要由軟件置位或復位。在許多通信協議中可作奇
14、偶校驗位,也可在多機通信中作為發送地址幀或數據幀的標志位。對于后者TB81,說明發送該幀數據為地址;TE80,說明發送該幀數據為數據。在方式0和方式1中,該位末用。 (5) RB8 接收數據的第9位。在方式2或方式3中、接收到的第9位數據放在RB8位。它或是約定的奇偶校驗位,或是約定的地址數據標識位,在方式2和3多機通信中,若SM21,如果RB8l,說明收到的數據為地址幀。 在方式1中,若SM20(即不是多機通信情況),RB8中存放的是已接收到的停止位。 在方式0中,該位末用。 (6) TI 發送中斷標志。在一幀數據發送完時被置位。在方式0串行發送第8位結束時,或其它方式串行發送到停止位的開始
15、時由硬件置位,可用軟件查詢。它同時也申請中斷,TI置位意味著向CPU提供“發送緩沖器SBUF已空”的信息,CPU可以準備發送下一幀數據。串行口發送中斷被響應后,TI不會自動復0,必須由軟件清0。 (7)RI 接收中斷標志。 在接收到一幀有效數據后由硬件置位。在方式0中,第8位數據發送結束時,由硬件置位;在其它三種方式下,則在接收到停止位中間時由硬件置位。RI1,中請中斷。表示一幀數據接收結束,并已裝入接收SBUF中,要求CPU取走數據。CPU響應中斷,取走數據。RI也必須內軟件清0,解除中斷申請,并準備接收下一幀數據。 串行發送中斷標志TI和接收中斷標志RI是同一個中斷源,CPU事先不知道是發
16、送中斷TI還是接收中斷RI產生的中斷請求,所以在全雙工通信時,必須由軟件來判別。 復位時,SCON所有位均清0 。 2PCON(87H) 電源控制寄存器PCON中只有一位SMOD與串行口工作有關,如圖所示:PCON D787HSMOD 電源控制寄存器 SMOD 波特率倍增位。在串行口方式1、方式2和方式3時,波特率和2SMOD成正比;即當SMOD1時,波特率提高一倍。復位時,SMOD0。三、串行通信工作方式 根據實際需要,805l串行口可設置為四種工作方式;可有8位,10位和11位幀格式。方式0以8位數據為一幀、不設起始位和停止位,先發送或接收最低位。其幀格式如下:D0D1D2D3D4D5D6
17、D7方式1以10位數據為一幀,設有一個起始位“0”和一個停止位“1”,中間是8位數據。先發送或接收最低位。其幀格式如下:0D0D1D2D3D4D5D6D71方式2和3以11位為1幀傳輸,設有1個起始位“0”,8個數據位,1個附加第九位和1個停止位“1”,其幀格式為:0D0D1D2D3D4D5D6D7D81附加第九位(D8)由軟件置l或清0。發送時在TB8中,接收時送RB8中。 1.串行口方式0方式0為同步移位寄存器輸入輸出方式,常用于擴展IO口。串行數據通過RxD輸入或輸出,而TxD用于輸出移位時鐘,作為外接部件的同步信號,如圖為發送電路及時序:這種方式不適用于兩個8051之間的直接數據通信,
18、但可以通過外接移位寄存器來實現單片機的接口擴展。例如,采用74Lsl64可用于擴展并行輸出口,74Ls165可用于擴展輸入口。在這種方式下,收發的數據為8位,低位在前,無起始位、奇偶位及停止位,波特率固定為振蕩器頻率fosc的l12,即: 方式0波特率fosc/12 例如,當晶體振蕩頻率為12MHz時,則波待率為1Mbs。發送過程中,當執行一個數據寫入發送緩沖器SBUF(99H)的指令時,串行口把SBUF中8位數據以fosc12的波待率從RxD(P30)端輸出,發送完畢置中斷標志TI1,方式0發送時序如圖所示.寫SBUF指令在S6P1處產生個正脈沖,在下一個機器周期的S6P2處數據的最低位輸出
19、到RxD(P30)腳上;在再下一個機器周期的S3、S4、S5輸出移位時鐘為低電平,而在S6及下一個機器周期的S1、S2為高電平,就這樣將8位數據由低位至高位一位一位順序通過RxD線輸出,并在TxD腳上輸出fosc12的移位時鐘。在寫SBUF”有效后的第10機器周期的SlPl將發送中斷標志TI置位。圖中74Ls164是TTL“串入并出”移位寄存器。接收時,用軟件置REN1(同時RI0),即開始接收。接收時序如圖所示:當使SCON中的REN1(RI0)時,產生一個正的脈沖,在下個機器周期的S3P1S5P2從TxD(P31)腳上輸出低電平的移位時鐘,在此機器周期的S5P2對P30腳采樣,并在本機器周
20、期的S6P2通過串行口內的輸入移位寄存器將采樣值移位接收;在同一個機器周期的S6P1到下一個機器周期的S2P2,輸出移位時鐘為高電平。于是,將數據字節從低位至高位一位一位地接收下來并裝入SBUF中,在啟動接收過程(即清RI位)將SCON中的RI清0之后的第10個機器周期的S1Pl,RI被置位。這一幀數據接收完畢,可進行下幀接收。 2串行口方式1方式1真正用于實行發送或接收,為10位通用異步接口。TxD與RxD分別用于發送與接收數據,收發一幀數據的格式為:1位起始位、8使數據位(低位在前)、1位停止位,共10位。在接收時停止位進入SC0N的RD8,此方式的傳送波特率可調。 串行口方式1的發送和接
21、收時序如圖所示: 方式1發送時,數據從引腳TxD端輸出,當執行數據寫入發送緩沖器SBUF的命令時就啟動了發送器開始發送。發送時的定時信號,也就是發送移位時鐘(TX時鐘),是內部定時器T1送來的溢出信號經過16分頻或32分頻(取決SMOD的值)而取得的。TX時鐘就是發送波特率,可見方式1波特率是可變的。發送開始的同時,SEND變為有效,將起始位向TxD輸出,此后每過個TX時鐘周期(16分頻計數器溢出一次為一個時鐘周期,因此,Tx時鐘頻率由波待率決定)產生一個移位脈沖,并由TXD輸出一個數據位,8位數據位全部發送完后,置位TI,并申請中斷。再經一個時鐘周期SEND失效。 方式1接收時,數據從引腳R
22、XD端輸入。接收是在SCON寄存器中REN位置1的前提下,并檢測到起始位(RxD上檢測到“1”“0”的跳變,即起始位)而開始的。接收時,定時信號有兩種:一種是接收移位時鐘(RX時鐘),它的頻率和傳送波特率相同,也是由定時器T1的溢出信號經過16或32分頻而得到的;另一種是位檢測器采樣脈沖,它的頻率是RX時鐘的16倍,亦即在一位數據的期間有16位檢測器采樣脈沖,為完成檢測,以16倍于波特宰的速率對RXD進行采樣。為了接收準確無誤,在正式接收數據之前,還必須判定這個“l”“0”跳變是否是干擾引起的。為此,在這位中間(即一位時間分成16等份,在第7、8及9等份)連續對RxD采樣三次,取其中兩次相同的
23、值進行判斷所檢測的值。這樣能較好地消除干擾的影響。當確認是真正的起始位“0”后,就開始接收一幀數據。當一幀數據接收完畢后,必須同時滿足以下兩個條件、這次接收才真正有效。 RI0,即上一幀數據接收完成時,RI1發出的中斷請求已被響應,SBUF中數據已被取走。由軟件使RI0,以便提供“接收SBUF已空”的信息。 SM20或收到的停止位為1(方式1時停止位進入RB8),則將接收到的數據裝入串行口的SBUF和RB8(RB8裝入停止位),并置位RI;如果不滿足接收到的數據不能裝入SBUF,這意味著該幀信息將會丟失。值得注意的是:在整個接收過程中,保證RENl是一個先決條件。只有當REN1,才能對RXD進
24、行檢測。 3串行口方式2和方式3 串行口工作在方式2和方式3均為每幀11位異步通信格式,由TxD和RXD發送與接收(兩種方式操作是完全一樣的,所不同的只是特波率)。每幀11位;l位起始位,8位數據位(低位在前),1位可編程的第9數據位和1位停止位。發送時,第9數據位(TB8)可以設置為1或0,也可將奇偶位裝入TB8,從而進行奇偶校驗;接收時,第9數據位進入SCON的RB8。方式2和方式3的發送、接收時序如圖所示。其操作與方式1類似。 發送前,先根據通信協議由軟件設置TB8(如作奇偶校驗位或地址數據標志位),然后將要發送的數據寫入SBUF,即能啟動發送過程。串行口能自動把TB8取出,并裝入列第9
25、位數據的位置,再逐一發送出去。發送完畢,使TIl。接收時,使SCON中的REN1,允許接收。當檢測到RXD端有“1”到“0”的跳變(起始位)時開始接收9位數據,送入移位寄存器(9垃)。半滿足RI0且SM20或接收到的第9位數據為1時,前8位數據送入SBUF,附加的第9位數據送入SCON中的RB8,置RI為1;否則,這次接收無效。 四、波特率設計 在串行通信中,收發雙方對發送或接收的數據速率要有一定的約定,我們通過軟件對SC0N串行口編程可約定四種工作方式。其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器Tl的溢出率來決定。 串行口的四種工作方式對應三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。 1方式0的波特率 方式0波特率fosc12 2方式2的波特率串行口方式2波特率的產生與方式0不同,即輸入的時鐘源不同,其時鐘輸入部分見圖所示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國娃娃魚養殖項目創業計劃書
- 中國假肢、人工器官及植(介)入器械制造項目創業計劃書
- 中國鯽魚項目創業計劃書
- 中國科技服務項目創業計劃書
- 中國菊粉項目創業計劃書
- 中國光盤鏡像服務器項目創業計劃書
- 中國骨科器械項目創業計劃書
- 中國高端水產養殖項目創業計劃書
- 中國電子書包項目創業計劃書
- 中國3D制圖軟件項目創業計劃書
- MOOC 從china到China:中國陶瓷文化三十講-景德鎮陶瓷大學 中國大學慕課答案
- 小區車輛刮蹭處理預案
- 建筑工程分部分項工程劃分表(新版)
- 咯血病人的健康宣教
- 機動車檢測站全套管理制度(全套)
- 說寫做一致暨工藝紀律遵守課件
- 光伏電站售后服務承諾書
- 相位對焦技術原理
- 中小學德育工作指南實施手冊
- 學術規范與學術道德課件
- (新湘科版)六年級下冊科學知識點
評論
0/150
提交評論