第09章MCS-51單片機的串行接口2_第1頁
第09章MCS-51單片機的串行接口2_第2頁
第09章MCS-51單片機的串行接口2_第3頁
第09章MCS-51單片機的串行接口2_第4頁
第09章MCS-51單片機的串行接口2_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章MCS-51單片機的串行接口串行通信基礎MCS-51單片機的串行口MCS-51串行口的應用單片機的多機通信1設備1計算機ACPU網(wǎng)絡設備A…….信息交換稱為通信設備2計算機BI/O設備網(wǎng)絡設備B…….兩個或多個實體之間的信息交換稱為通信。在計算機中基本的通信方式可分為并行通信與串行通信兩種并行傳輸串行傳輸9.1串行通信基礎29.134561.異步接收/發(fā)送器(UART)具有異步通信功能的串行接口硬件,稱之為異步接收/發(fā)送器,簡稱為UART(UniversalAsynchronousReceiverTransmitter)。2.串行通信的制式1)單工(Simplex)方式:單向傳輸2)半雙工(HalfDuplex):分時雙向傳輸3)全雙工(FullDuplex)方式:同時時雙向傳輸串行通信的制式7調制與解調9.1.3串行通信中的調制解調器可遠距離傳輸無法進行遠距離傳輸8各種調制方法9MCS-51內(nèi)部有一個的可編程全雙工串行通信接口,具有UART的全部功能。9.2MCS-51單片機的串行口9.2.1串行口的結構1.發(fā)送和接收電路102.串行口控制寄存器SCON和PCON串行口控制寄存器SCON

.SM0、SM1:為串行口方式選擇位,用于控制串行口的工作方式。

00方式0:8位移位寄存器I/O,波特率固定為fosc/1201方式1:8位UART(1+8+1位),波特率可變,按公式計算

10方式2:9位UART(1+8+1+1位),波特率固定=fosc/32或fosc

/6411方式3:9位UART(1+8+1+1位),波特率可變,按公式計算SM0SM111.SM2:允許方式2和方式3進行多機通信控制位。在方式0或方式1下,SM2不用,應設置為0。在方式2或方式3下,若SM2=0,串行口以單機發(fā)送或接收方式工作,TI和RI以正常方式被激活,但不會引起中斷請求;若SM2=1,接收到第9位數(shù)據(jù)(RB8)為1時激活RI,并向CPU請求中斷。.REN:允許串行接收控制位。REN=0,禁止接收;REN=1,允許接收。.TB8:是工作在方式2和方式3時要發(fā)送數(shù)據(jù)的第9位。.RB8:是工作在方式2和方式3時,接收到的第9位數(shù)據(jù).TI:發(fā)送結束中斷標志位,用于指示一幀數(shù)據(jù)發(fā)送完否,CPU置位,用戶復位。.RI:接收中斷標志位,用于指示一幀信息是否接收完。CPU置位,用戶復位。12電源控制寄存器PCON.SMOD:串行口波特系數(shù)控制位。在方式1、2和3時下,當SMOD=1時,通信波特率可以提高一倍。GF1,GF0:用戶可自行定義使用的通用標志位PD:掉電控制位0:常規(guī)方式;1:掉電方式。振蕩器停振;片內(nèi)RAM和SRF不變;程序停止;只有復位能退出掉電狀態(tài)。IDL:待機控制位0:常規(guī)方式;1:待機方式。振蕩器繼續(xù)振蕩;中斷,定時器,串口有效;片內(nèi)RAM和SRF不變;程序停頓。中斷或復位能退出待機,繼續(xù)執(zhí)行程序。139.2.2串行口的工作方式1.方式0(SM1=SM0=0)

[8位移位寄存器I/O]接收:串行數(shù)據(jù)由RXD逐位移入SBUF中,高位先進;

TXD輸出移位時鐘,頻率=fosc/12;每接收8位數(shù)據(jù)RI就自動置1;需要用戶復位RI。 編程: JNBRI,$ CLRRI MOVA,SBUF?接收前,務必先置位REN=1允許接收數(shù)據(jù)。發(fā)送:SBUF中的串行數(shù)據(jù)由RXD逐位移出;

TXD輸出移位時鐘,頻率=fosc/12;每送出8位數(shù)據(jù)TI就自動置1;需要用戶復位TI。編程: MOVSBUF,A JNBTI,$ CLRTI142.方式1(SM0=0,SM1=1)

[8位異步通信接口]接收:置REN=1,RI=0。接收到停止位為1后,把接收到的8位字符存入SBUF中,把停止位送入RB8中,并使RI=1。接收中斷標志RI必須由用戶清零。1位起始位,8位數(shù)據(jù)位,1位停止位。波特率可變。發(fā)送:波特率由定時器T1控制,發(fā)送完一幀信息后,發(fā)送中斷標志TI由硬件在發(fā)送停止位時置位。發(fā)送中斷標志TI必須由用戶清零。153.方式2和方式3[9位異步通信接口]接收:第9位有效數(shù)據(jù)位存放在SCON中的RB8中。滿足接收有效字符的條件為:RI=01位起始位,9位數(shù)據(jù)位,1位停止位。波特率可變。發(fā)送:第9位有效數(shù)據(jù)位存放在SCON中的TB8中,執(zhí)行MOVSBUF,A指令啟動發(fā)送前,應把第9數(shù)據(jù)位預先裝入SCON的TB8中。第9數(shù)據(jù)位裝入指令:

SETBTB8 ;TB8=1CLRTB8 ;TB8=016串行口的通信波特率反映了串行傳輸數(shù)據(jù)的速率。收發(fā)雙方的波特率必須一致。MCS-51單片機串行口有4種工作方式,方式0和方式2的波特率固定不變,方式1和方式3的波特率可以變化,由定時器T1的溢出率決定。1.方式0的波特率方式0的波特率固定不變,為振蕩頻率的1/12。

方式0的波特率=fosc/12不受PCON寄存器中SMOD的影響。2.方式2的波特率工作方式2,波特率與PCON寄存器中的SMOD位的值有關。SMOD=0fosc/64SMOD=1fosc/329.2.3串行口的通信波特率173.方式1或方式3的波特率這兩種方式下,波特率由定時器T1的溢出率和SMOD決定。當給出波特率后,T1定時工作時的初始值計算公式為:定時器T1作波特率發(fā)生器時,T1的溢出率為:n由定時器T1的工作方式?jīng)Q定:方式0:n=13;方式1:n=16;方式2:n=8;通常使用方式218串行口工作方式波特率(b/s)Fosc(MHz)SMOD定時器T1G/T方式時間常數(shù)方式0100000012××××方式2375000121×××方式1、362500121020FFH1920011.05921020FDH960011.05920020FDH480011.05920020FAH240011.05920020F4H120011.05920020E8H137.511.9860021DH110600227H110120010FEEBH

常用的波特率表199.3MCS-51串行口的應用9.3.1串行口在方式0下的應用方式0下的MCS-51的串行口,是一個移位寄存器,可實現(xiàn)并行輸入串行輸出和串行輸入并行輸出的轉換。常用于I/O接口的擴展?!纠?-5】利用串行口擴展一個6位LED靜態(tài)顯示器。20ORG1000HDispBufEQU40HDISP:MOVSCON,#00H;設置串行口為工作方式0MOVR2,#06H;設置循環(huán)次數(shù)MOVR0,#DispBuf+5;設置指針指向最后一個數(shù)MOVDPTR,#TAB;DPTR指向字形表首址LOOP0:MOVA,@R0;取顯示數(shù)MOVCA,@A+DPTR;查表得到字形碼MOVSBUF,A;送到串行口WAIT:JNBTI,WAIT;等待發(fā)送結束CLRTI;清除發(fā)送結束標志DECR0;調整指針DJNZR2,LOOP0;是否顯示完了,未完繼續(xù)RET;子程序返回TABDB0C0H,0F9H,0A4H;字形表‘0’~‘3’DB0B0H,99H,92H;‘4’~‘6’DB82H,0F8H,80H,90H;‘7’~‘9’END程序設計:假設:欲顯示的6位數(shù)字(0~9)順序存放在內(nèi)部RAM40H開始的單元中,編寫一個子程序DISP完成6位數(shù)字的顯示。219.3.2串行口在其他方式下的應用【例9-6】甲乙兩臺8031單片機進行串行通信。設甲乙兩機的晶振頻率均為12MHz。(1)確定串行口在方式2下,可用的波特率;(2)在方式2下,采用查詢控制方式,將甲機片內(nèi)RAM40H~5FH單元的數(shù)據(jù),串行發(fā)送到乙機片內(nèi)RAM60~7FH單元中。解:fosc=12MHz,MCS-51的串行口在方式2下,波特率有兩種:波特率1=fosc/32=12MHz/32=375000bps(SMOD=1);波特率2=fosc/64=12MHz/64=187500bps(SMOD=0);TxDRxDTxDRxDGNDGND甲機乙機硬件連接22程序流程圖23ORG1000HTX:MOVSCON,#80H;設定工作方式2MOVPCON,#00H;SMOD=0CLREA;關CPU中斷MOVR0,#40H;設發(fā)送數(shù)據(jù)的地址指針MOVR2,#20H;設發(fā)送數(shù)據(jù)的長度LOOP:MOVA,@R0;取發(fā)送數(shù)據(jù)送ACLRTI;清TIMOVSBUF,A;啟動發(fā)送WAIT:JNBTI,WAIT;判發(fā)送中斷標志INCR0;數(shù)據(jù)塊指針加1DJNZR2,LOOP;數(shù)據(jù)塊未發(fā)送完,轉到LOOP繼續(xù)發(fā)送

SJMP$;停止發(fā)送甲機發(fā)送程序:24ORG2000HTX:MOVSCON,#80H;設定工作方式2MOVPCON,#00H;SMOD=0CLREA;關CPU中斷MOVR0,#60H;設接收數(shù)據(jù)的地址指針MOVR2,#20H;設接收數(shù)據(jù)的長度LOOP:CLRRI;清RIJNBRI,$;等待接收數(shù)據(jù)

溫馨提示

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

評論

0/150

提交評論