版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機教案串行接口第一頁,共四十九頁,2022年,8月28日5.1數據通信的基本概念5.2MCS-51串行接口的結構5.3串行接口的工作方式5.4波特率的設置5.5多機通信5.6串行接口的應用與編程第5章MCS-51單片機串行接口第二頁,共四十九頁,2022年,8月28日5.1
數據通信的基本概念
有兩種通信方式:一種是并行通信,一種是串行通信。并行通信:數據的各位同時傳送;串行通信:數據一位一位順序傳送。
計算機1GND
計算機2GND并行通信
計算機1GND
計算機2GND發(fā)送接收串行通信通信方式
第三頁,共四十九頁,2022年,8月28日并行通信:速度快,但數據線多;串行通信:只用一對數據線,但通信速度慢abUSB串行串行并行5.1數據通信的基本概念
第四頁,共四十九頁,2022年,8月28日
同步方式和異步方式
(1)同步方式是將一大批數據分成幾個數據塊,數據塊之間用同步字符予以隔開,而傳輸的各位二進制碼之間都沒有間隔。其基本特征是發(fā)送與接收時鐘始終保持嚴格同步。
(2)異步通信是按幀傳送數據,它利用每一幀的起、止信號來建立發(fā)送與接收之間的同步,每幀內部各位均采用固定的時間間隔,但幀與幀之間的時間間隔是隨機的。其基本特征是每個字符必須用起始位和停止位作為字符開始和結束的標志,它是以字符為單位一個個地發(fā)送和接收的。5.1數據通信的基本概念
串行通信分類第五頁,共四十九頁,2022年,8月28日5.1數據通信的基本概念
數據是以字符為單位組成字符幀傳送的。發(fā)送端和接收端由各自獨立的時鐘來控制數據的發(fā)送和接收,這兩個時鐘彼此獨立,互不同步。
位于字符幀開頭,僅占一位,為邏輯低電平“0”,用來通知接收設備,發(fā)送端開始發(fā)送數據。線路上在不傳送字符時應保持為“1”。接收端不斷檢測線路的狀態(tài),若連續(xù)為“1”以后又測到一個“0”,就知道發(fā)來一個新字符,應馬上準備接收。
數據位(D0~D7)緊接在起始位后面,通常為5~8位,依據數據位由低到高的順序依次傳送。
奇偶校驗位只占一位,緊接在數據位后面,用來表征串行通信中采用奇校驗還是偶校驗,也可用這一位(I/O)來確定這一幀中的字符所代表信息的性質(地址/數據等)。
位于字符幀的最后,表征字符的結束,它一定是高電位(邏輯“1”)。停止位可以是1位、1.5位、或2位。接收端收到停止位后,知道上一字符已傳送完畢,同時也為接收下一字符作好準備1.異步通信:第六頁,共四十九頁,2022年,8月28日
2.同步通信同步通信時,字符與字符之間沒有間隙,也不用起始位和停止位,僅在數據塊開始時用同步字符SYNC來指示(常約定1~2個),然后是連續(xù)的數據塊。同步字符的插入可以是單同步字符方式或雙同步字符方式;同步字符可以由用戶約定,也可以采用ASCII碼中規(guī)定的SYN代碼,即16H。通信時先發(fā)送同步字符,接收方檢測到同步字符后,即準備接收數據。在同步傳輸時,要求用時鐘來實現發(fā)送端與接收端之間的同步。為了保證接收無誤,發(fā)送方除了傳送數據外,還要把時鐘信號同時傳送。同步字符1數據字符1數據字符2數據字符3……數據字符nCRC1CRC2單同步字符幀格式
同步字符1同步字符2數據字符1數據字符2……數據字符nCRC1CRC2雙同步字符幀格式
第七頁,共四十九頁,2022年,8月28日5.1數據通信的基本概念串行通信制式
單工(a)、半雙工(b)和全雙工(c)(simplexhalfduplexfullduplex)發(fā)送器A站接收器B站單工通信(a)發(fā)收A站發(fā)收B站發(fā)收A站發(fā)收B站(b)(c)第八頁,共四十九頁,2022年,8月28日串行通信的制式單工:廣播雙工:電話半雙工:對講機第九頁,共四十九頁,2022年,8月28日5.1數據通信的基本概念單工、半雙工和全雙工單工:信息只能沿著一個方向傳播半雙工:信息可以沿一條線雙向傳播,但不能同時實現雙向傳播。全雙工:使用兩條獨立的數據通道,收發(fā)可同時進行。串行通信的制式第十頁,共四十九頁,2022年,8月28日波特率
波特率,即數據傳送速率,表示每秒鐘傳送二進制代碼的位數,它的單位是位/秒(b/s),常用bps表示。波特率是異步通信的重要指標,表征數據傳輸的速度,波特率越高,數據傳輸速度越快,在數據傳送方式確定后,以多大的速率發(fā)送/接收數據,是實現串行通信必須解決的問題。假設數據傳送的速率是120字符/s,每個字符格式包含10個代碼位(1個起始位、1個停止位、8個數據位),則通信波特率為:
120字符/s×10b/字符=1200b/s=1200波特每一位的傳輸時間為波特率的倒數:
Td=1/1200=0.833ms5.1數據通信的基本概念第十一頁,共四十九頁,2022年,8月28日5.2MCS-51串行接口的結構有一個可編程全雙工串行通信接口(UART)(UniversalAsychronousReceiver/Transmitter)管腳:TXD(P3.1)、RXD(P3.0)可同時發(fā)送、接收數據(Transmit/Receive)有四種工作方式,幀格式有8、10、11位。波特率(Baudrate)可設置第十二頁,共四十九頁,2022年,8月28日5.2MCS-51串行接口的結構SBUFSBUF發(fā)送控制接收控制發(fā)送端口接收端口≥1波特率控制TXDRXDDBDBTIRI串行中斷寫SBUF讀SBUF1.數據緩沖寄存器SBUF兩個SBUF,一個用于發(fā)送(只寫);一個用于接收(只讀)。映象地址均為99H。2.數據發(fā)送與接收控制發(fā)送控制器在波特率作用下,將發(fā)送SBUF中的數據由并到串,一位位地傳輸到發(fā)送端口;接收控制器在波特率作用下,將接收接收端口的數據由串到并,存入接收SBUF中。第十三頁,共四十九頁,2022年,8月28日3.串行口控制寄存器(SCON)
SCON是MCS-51單片機的一個可位尋址的專用寄存器,用于串行數據通信的控制。單元地址為98H,位地址為98H-9FH。寄存器的內容及位地址表示如下:位地址
9FH9EH9DH9CH9BH9AH99H98H位符號
SM0
SM1SM2RENTB8RB8TIRI5.2MCS-51串行接口的結構第十四頁,共四十九頁,2022年,8月28日各位的說明如下:1)SM0、SM1——串行口工作方式選擇位其狀態(tài)組合和對應工作方式為:
SM0SM1工作方式
0
0方式00
1方式11
0方式211方式35.2MCS-51串行接口的結構第十五頁,共四十九頁,2022年,8月28日2)SM2——允許方式2、3的多機通信控制位在方式2和3中,若SM2=1且接收到的第九位數據(RB8)為1,才將接收到的前8位數據送入接收SBUF中,并置位RI產生中斷請求;否則丟棄前8位數據。若SM2=0,則不論第九位數據(RB8)為1還是為0,都將前8位送入接收SBUF中,并產生中斷請求。方式0時,SM2必須置0。3)REN——允許接收位
REN=0禁止接收數據
REN=1允許接收數據4)TB8——發(fā)送數據位8
在方式2、3時,TB8的內容是要發(fā)送的第9位數據,其值由用戶通過軟件來設置。5.2MCS-51串行接口的結構第十六頁,共四十九頁,2022年,8月28日5)RB8——接收數據位8
在方式2、3時,RB8是接收的第9位數據。在方式1時,RB8是接收的停止位在方式0時,不使用RB86)TI——發(fā)送中斷標志位在方式0時,發(fā)送完第8位數據后,該位由硬件置位。在其它方式下,于發(fā)送停止位之前,由硬件置位。因此,TI=1表示幀發(fā)送結束,其狀態(tài)既可供軟件查詢使用,也可請求中斷。
TI由軟件清“0”。第十七頁,共四十九頁,2022年,8月28日7)RI——接收中斷標志位在方式0時,接收完第8位數據后,該位由硬件置位。在其它方式下,于接收到停止位之前,該位由硬件置位。因此,RI=1表示幀接收結束,其狀態(tài)既可供軟件查詢使用,也可請求中斷。
RI由軟件清“0”。第十八頁,共四十九頁,2022年,8月28日
PCON不可位尋址,字節(jié)地址為87H。它主要是為CHMOS型單片機80C51的電源控制而設置的專用寄存器。其內容如下:
與串行通信有關的只有D7位(SMOD),該位為波特率倍增位,當SMOD=1時,串行口波特率增加一倍,當SMOD=0時,串行口波特率為設定值。當系統(tǒng)復位時,SMOD=0。其余位為掉電方式控制位與串行接口無關。位序D7D6D5D4D3D2D1D0位符號SMOD///GF1GF0PDIDL4.電源控制寄存器(PCON)第十九頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式
串行口的工作方式由SM0和SM1確定方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由T1的溢出率決定。SM0SM1方式功能說明波特率00方式0移位寄存器方式fosc/1201方式18位UART可變10方式29位UARTfosc/64或者fosc/3211方式39位UART可變第二十頁,共四十九頁,2022年,8月28日一、工作方式0:8位移位寄存器I/O方式?發(fā)送:SBUF中的串行數據由RxD逐位移出;
TxD輸出移位時鐘,頻率=fosc/12;
每送出8位數據TI就自動置1;
需要用軟件清零TI。?接收:串行數據由RxD逐位移入SBUF中;
TxD輸出移位時鐘,頻率=fosc/12;
每接收8位數據RI就自動置1;
需要用軟件清零RI。第二十一頁,共四十九頁,2022年,8月28日?經常配合“串入并出”“并入串出”移位寄存器一起使用擴展接口。
?方式0工作時,多用查詢方式編程:發(fā)送:MOVSBUF,A接收:JNBRI,$JNBTI,$CLRRICLRTIMOVA,SBUF工作方式0:8位移位寄存器I/O方式(續(xù))?復位時,SCON已經被清零,缺省值:方式0。?接收前,務必先置位REN=1允許接收數據。第二十二頁,共四十九頁,2022年,8月28日
在方式0下,串行口作同步移位寄存器用,其波特率固定為fosc/12。串行數據從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。移位數據的發(fā)送和接收以8位為一幀,無需起始位和停止位。這種方式常用于擴展I/O口。方式0用于擴展I/O口輸出方式0第二十三頁,共四十九頁,2022年,8月28日方式0用于擴展I/O口輸入要實現接收數據,必須首先把SCON中的允許接收位REN設置為1。當REN設置為1時,數據就在移位脈沖的控制下,從RXD端輸入。當接收到8位數據時,置位接收中斷標志位RI,發(fā)生中斷請求。通過外接74LS165,串行口能夠實現數據的并行輸入。第二十四頁,共四十九頁,2022年,8月28日?常用于串行通訊。除發(fā)/收8位數據外,還在D0位前有一個起始位“0”;在D7位后有一個停止位“1”。?方式1工作時:發(fā)送端自動添加一個起始位和一個停止位;接收端自動去掉一個起始位和一個停止位。二、工作方式1:8位UART(1+8+1位)波特率可變?波特率可變第二十五頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式方式1為波特率可調的8位通用異步通信接口。發(fā)送或接收一幀信息為10位,分別為起始位0,8位數據位和1位停止位1。第二十六頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式(1)數據發(fā)送。發(fā)送時,數據從TXD端輸出。當執(zhí)行MOVSBUF,A指令時,數據被寫入發(fā)送緩沖器SBUF,啟動發(fā)送器發(fā)送。此時由硬件加入起始位和停止位,構成一幀數據,由TXD串行輸出。當發(fā)送完一幀數據后,TXD保持在高電平狀態(tài)下,并置中斷標志TI為1,通知CPU可以進行下一個字符的發(fā)送。第二十七頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式(2)數據接收。接收時,數據從RXD端輸入。當允許接收控制位REN為l后,串行口采樣RXD,當采樣到由1到0跳變時,確認是起始位“0”,啟動接收器開始接收一幀數據。當RI=0且接收到停止位為l(或SM2=0)時,將停止位送入RB8,8位數據送入接收緩沖器SBUF,同時置中斷標志RI=1,通知CPU接收到一個字符。所以,方式1接收時,應先用軟件清除RI或SM2標志。第二十八頁,共四十九頁,2022年,8月28日?由于波特率固定,常用于單片機間通訊。數據由8+1位組成,通常附加的一位
(TB8/RB8)用于“奇偶校驗”。三、工作方式2:9位UART(1+8+1+1位)兩種波特率?傳送波特率與SMOD有關。發(fā)送或接收的一幀數據中包括1位起始位0,8位數據位,1位可編程位(用于奇偶校驗)和1位停止位1。第二十九頁,共四十九頁,2022年,8月28日
在方式2下,字符還是8個數據位,只不過增加了一個第9個數據位(D8),而且其功能由用戶確定,是一個可編程位。在發(fā)送數據時,應先在SCON的TB8位中把第9個數據位的內容準備好。這可使用如下指令完成:
SETBTB8;TB8位置“1”CLRTB8;TB8位置“0”第三十頁,共四十九頁,2022年,8月28日
發(fā)送數據(D0~D7)由MOV指令向SBUF寫入,而D8位的內容則由硬件電路從TB8中直接送到發(fā)送移位器的第九位,并以此來啟動串行發(fā)送。一個字符幀發(fā)送完畢后,將TI位置“1”,其他過程與方式1相同。方式2的接收過程也于方式1基本類似,所不同的只在第9數據位上,串行口把接收到的前8個數據位送入SBUF,而把第九數據位送入RB。方式2的波特率時固定的,而且有兩種。一種是晶振頻率的三十二分之一;另一種是晶振頻率的六十四分之一。即fosc/32和fosc/64。第三十一頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式(1)數據發(fā)送串行口工作于方式2進行數據發(fā)送時,數據由TXD端輸出,附加的第9位數據為SCON中的RB8(由軟件設置)。用指令將要發(fā)送的數據寫入SBUF,即可啟動發(fā)送器。送完一幀信息時,TI由硬件置1。第三十二頁,共四十九頁,2022年,8月28日5.3串行接口的工作方式(2)數據接收當REN=1時,允許接收。與方式1相同,CPU開始不斷采樣RXD,將8位數據送入SBUF中,接收到的第9位數據送入RB8中,當同時滿足RI=0,SM2=0或接收到第9位數據為1這三個條件都滿足時,置RI=1,否則接收數據無效。第三十三頁,共四十九頁,2022年,8月28日
方式3同方式2幾乎完全一樣,只不過方式3的波特率是可變的,由用戶來確定。其波特率的確定同方式1。
串口方式3和方式2唯一的區(qū)別是波特率機制不同。四、串行工作方式3四、工作方式3:9位UART(1+8+1+1位)波特率可變第三十四頁,共四十九頁,2022年,8月28日5.4波特率的設置1.方式0和方式2的波特率是固定的
在方式2中,波特率取決于PCON中的SMOD值:當SMOD=0時,波特率為fosc/64;當SMOD=1時,波特率為fosc/32,即波特率=。oscSMODf642
在方式0中,波特率為時鐘頻率的1/12,即fosc/12,固定不變即每個機器周期接收或發(fā)送一位數據。串行口每秒鐘發(fā)送或接收的數據位數稱為波特率。假設發(fā)送一位數據所需時間為T,則波特率為1/T。第三十五頁,共四十九頁,2022年,8月28日5.4波特率的設置2.方式1和方式3的波特率可變,由定時器T1的溢出率決定?波特率可變
——用定時器T1作波特率發(fā)生器:公式:波特率=(2SMOD/32)T1的溢出率第三十六頁,共四十九頁,2022年,8月28日波特率=(2SMOD/32)T1的溢出率?溢出率:T1溢出的頻繁程度即:T1溢出一次所需時間的倒數。?初值X=2n-2SMODfosc32波特率
12?波特率=2SMODfosc3212(2n-X)其中:X是定時器初值第三十七頁,共四十九頁,2022年,8月28日
當定時器1作波特率發(fā)生器使用時,選用工作方式2(即自動加載定時初值方式)。選擇方式2可以避免通過程序反復裝入定時初值所引起的定時誤差,使波特率更加穩(wěn)定。假定計數初值為X,則計數溢出周期為:第三十八頁,共四十九頁,2022年,8月28日
溢出率為溢出周期的倒數。則波特率的計算公式為:
實際使用中,波特率是已知的。因此需要根據波特率的計算公式求定時初值X。用戶只需要把定時初值設置到定時器1,就能得到所要求的波特率。第三十九頁,共四十九頁,2022年,8月28日
?T1作波特率發(fā)生器時初始化包括:
選定時器工作方式2(TMOD選8位自動重裝);
將計算(或查表)出的初值X賦給TH1,TL1;
啟動T1(SETBTR1);
對T1不要開中斷!!第四十頁,共四十九頁,2022年,8月28日
?表格有多種,晶振也不止一種串口波特率(方式1,3)foscSMOD位(PCON中)定時器T1C/T方式初值192006MHz1020FEH96006MHz1020FDH48006MHz0020FDH24006MHz0020FAH12006MHz0020F4H6006MHz0020E8H1106MHz00272H常用波特率和T1初值查表第四十一頁,共四十九頁,2022年,8月28日串行口的波特率C/工作方式波特率/bpsfosc/MHZ定時器T1SMOD模式定時器初值方式01M12××××方式2375K121×××187.5K120×××方式1方式362.5K12102FFH19.2K11.059102FDH9.6K11.059002FDH4.8K11.059002FAH2.4K11.059002F4H1.2K11.059002E8H137.511.0590021DH11012001FEEBH方式00.5M6××××方式2187.5K61×××方式1方式319.2K6102FEH9.6K6102FDH4.8K6002FDH2.4K6002FAH1.2K6002F3H0.6K6002E6H110600272H556001FEEBH第四十二頁,共四十九頁,2022年,8月28日
例:假設某MCS-51單片機系統(tǒng),串行口工作于方式3,要求傳送波特率為1200Hz,作為波特率發(fā)生器的定時器T1工作在方式2時,請求出計數初值為多少?設單片機的振蕩頻率為6MHz。因為串行口工作于方式3時的波特率為所以第四十三頁,共四十九頁,2022年,8月28日當SMOD=0時,初值TH1=256-6×106/(1200×12×32/1) =243=0F3H當SMOD=1時,初值TH1=256-6×106/(1200×12×32/2) =230=0E6H第四十四頁,共四十九頁,2022年,8月28日
多機通信的實現,主要是依靠主、從機之間正確設置與判斷SM2和發(fā)送或接收的第9位數據(TB8或RB8)來完成的。多機通信過程如下:(1)使所有從機的SM2置1,處于只接收地址幀的狀態(tài)。(2)主機發(fā)送一幀地址信息,與所需從機聯絡。主機應置RB8為1,表示發(fā)送的是地址。(3)各從機接收到地址信息后,因RB8為1,置中斷標志RI,向CPU申請中斷。中斷后,將所接收地址與本從機的地址相比較,對于地址相符的從機,使SM2清0以接收主機隨后發(fā)來的所有信息;對于地址不相符的從機,仍保持SM2為1的狀態(tài),對從機隨后發(fā)送的數據不予接收,直至發(fā)送新的地址幀。(4)主機發(fā)送控制命令和數據信息給被尋址的從機。此時,主機置RB8為0,表示發(fā)送的是數據或控制命令。對于沒選中的從機,因為SM2=1,RB8=0,所以不會產生中斷,不接收主機發(fā)送的信息。MCS-51具有多機通信功能,所謂多機通信是指一臺主機和多臺從機之間的通信,構成主從式多機分布通信系統(tǒng)。主機發(fā)送的信息可以傳輸到各個從機,各從機只能向主機發(fā)送信息,從機間不能進行相互通信。5.5多機通信第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44481-2024建筑消防設施檢測技術規(guī)范
- 房屋租賃合同范本協(xié)議書格式
- 大學生臨時實習協(xié)議書
- 2024學徒制合作協(xié)議
- 廣告公司長期合作合同范本
- 錄音合同協(xié)議書2024年
- 經典使用權買賣契約
- 無效合同的法定情形分析
- 2024版委托檢驗協(xié)議書范例
- 2024年商業(yè)綜合體物業(yè)管理合同
- 防雷檢測技術規(guī)范考試題庫(匯總版)
- 口腔科住院醫(yī)師考試:2022牙周病學真題模擬及答案
- 盧卡奇教學講解課件
- 二年級珍惜時間發(fā)奮學習主題班會課件
- 平行與垂直(公開課)課件
- 建筑行業(yè)會計基本處理課件
- 三年級上冊美術課件-第4課 連環(huán)畫 ▏人美版 (共15張PPT)
- 光州事件與韓國的民主化課件
- 新人教統(tǒng)編版四年級上冊道德與法治 第9課 正確認識廣告 第2課時 教學課件
- 收取執(zhí)行款銀行賬戶確認書
- 水電廠檢修標準化作業(yè)流程圖
評論
0/150
提交評論