




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章89C51串行口基本概念7.1串行口結(jié)構(gòu)7.2串行口工作方式7.3串行口編程和應(yīng)用7.4/10/101串行口第1頁(yè)7.1串行通信基礎(chǔ)串行通信概念所謂串行通訊是指外設(shè)和計(jì)算機(jī)間使用一根數(shù)據(jù)信號(hào)線一位一位地傳輸數(shù)據(jù),每一位數(shù)據(jù)都占據(jù)一個(gè)固定時(shí)間長(zhǎng)度。“串行”是指外設(shè)與接口電路之間信息傳送方式,CPU與接口之間仍按并行方式工作。/10/102串行口第2頁(yè)信息傳輸檢錯(cuò)和糾錯(cuò)串行數(shù)據(jù)在傳輸過(guò)程中,因?yàn)楦蓴_可能引發(fā)信息犯錯(cuò)怎樣發(fā)覺(jué)傳輸中錯(cuò)誤,叫檢錯(cuò)。發(fā)覺(jué)錯(cuò)誤后,怎樣消除錯(cuò)誤,叫糾錯(cuò)最簡(jiǎn)單檢錯(cuò)方法是奇偶校驗(yàn),即在傳送字符各位之外,再傳送1位奇/偶校驗(yàn)位。可采取奇校驗(yàn)或偶校驗(yàn)。奇校驗(yàn):全部傳送數(shù)位(包含字符各個(gè)數(shù)位和校驗(yàn)位)中,1個(gè)數(shù)為奇數(shù)偶校驗(yàn):全部傳送數(shù)位(包含字符各個(gè)數(shù)位和校驗(yàn)位)中,1個(gè)數(shù)為偶數(shù)奇偶校驗(yàn)?zāi)軌驒z測(cè)出1位誤碼,不過(guò)不能糾錯(cuò)。/10/103串行口第3頁(yè)串行數(shù)據(jù)傳輸方式通訊雙方能同時(shí)進(jìn)行發(fā)送和接收操作只有1根數(shù)據(jù)線傳送數(shù)據(jù)信號(hào),通訊雙方不能同時(shí)在兩個(gè)方向上傳送。只允許數(shù)據(jù)按照一個(gè)固定方向傳送單工方式半雙工方式全雙工方式/10/104串行口第4頁(yè)傳輸速率在串行通訊中,用波特率來(lái)描述數(shù)據(jù)傳輸速率波特率,即每秒鐘傳送二進(jìn)制位數(shù),簡(jiǎn)寫為bps國(guó)際上要求了一個(gè)標(biāo)準(zhǔn)波特率系列:110、300、600、1200、1800、2400、4800、9600、14.4Kbps、19.2Kbps、28.8Kbps、33.6Kbps、56Kbps。/10/105串行口第5頁(yè)傳輸速率在串行通信中,不論收發(fā)都必須有時(shí)鐘脈沖信號(hào)對(duì)傳送數(shù)據(jù)進(jìn)行定位和同時(shí)控制。接收時(shí)鐘/發(fā)送時(shí)鐘是波特率倍數(shù)——波特率因子。例:波特率=9600bps,波特率因子=16,則接收時(shí)鐘和發(fā)送時(shí)鐘頻率=9600×16=153600Hz波特率因子=16,表明16個(gè)時(shí)鐘脈沖傳送1位。/10/106串行口第6頁(yè)信號(hào)調(diào)制和解調(diào)數(shù)字信號(hào)頻帶寬,而普通通信線路頻帶較窄,如電話線頻帶范圍僅300~3400Hz所以采取普通通信線路進(jìn)行遠(yuǎn)程數(shù)據(jù)通信時(shí),需要在發(fā)送端用調(diào)制器(Modulator)把數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),模擬信號(hào)經(jīng)通信線路傳送到接收方,接收方再以解調(diào)器(Demodulator),把模擬信號(hào)變?yōu)閿?shù)字信號(hào)。大多數(shù)情況下,調(diào)制器和解調(diào)器合在一個(gè)裝置中,稱為調(diào)制解調(diào)器——Modem/10/107串行口第7頁(yè)在數(shù)據(jù)通訊中,Modem起著傳輸信號(hào)作用,是一個(gè)數(shù)據(jù)通訊設(shè)備,簡(jiǎn)稱DCE接收設(shè)備和發(fā)送設(shè)備稱為數(shù)據(jù)終端設(shè)備,簡(jiǎn)稱DTE。微機(jī)串行通信接口電路,如8250/8251為DTE。信號(hào)調(diào)制和解調(diào)/10/108串行口第8頁(yè)串行通信類型串行通訊能夠分為兩種類型:同時(shí)通訊、異步通訊異步通訊一個(gè)字符一個(gè)字符地傳輸,每個(gè)字符一位一位地傳輸,傳輸一個(gè)字符時(shí),以起始位開始,然后傳輸字符本身各位,接著傳輸校驗(yàn)位,最終以停頓位結(jié)束該字符傳輸。一次傳輸起始位、字符各位、校驗(yàn)位、停頓位組成一組完整信息,稱為幀(Frame)幀與幀之間可有任意個(gè)空閑位/10/109串行口第9頁(yè)異步通訊信息格式起始位 邏輯0 1位數(shù)據(jù)位邏輯0或1 5位、6位、7位、8位校驗(yàn)位 邏輯0或1 1位或無(wú)停頓位 邏輯1 1位、1.5位或2位空閑位 邏輯1 任意數(shù)量
串行通信類型異步通訊/10/1010串行口第10頁(yè)例:傳送8位數(shù)據(jù)45H(0100,0101B),奇校驗(yàn),1個(gè)停頓位,則信號(hào)線上波形為串行通信類型異步通訊/10/1011串行口第11頁(yè)同時(shí)通訊靠同時(shí)字符完成收發(fā)雙方同時(shí)多個(gè)字符成組傳送,在每組信息開始,加上同時(shí)字符,字符組和同時(shí)字符以及需要其它字符組成一個(gè)信息幀同時(shí)字符字符1字符2……字符n校驗(yàn)字符數(shù)據(jù)塊串行通信類型/10/1012串行口第12頁(yè)串行通信接口標(biāo)準(zhǔn)在串行通信中,DTE和DCE之間連接要符合接口標(biāo)準(zhǔn)計(jì)算機(jī)通信中使用最普遍是RS-232C標(biāo)準(zhǔn)PC機(jī)上COM1、COM2接口,就是RS-232C接口,使用9針和25針連接器/10/1013串行口第13頁(yè)串行通信接口標(biāo)準(zhǔn)TxD 發(fā)送數(shù)據(jù)(DTEDCE)RxD 接收數(shù)據(jù)(DCEDTE)SG 信號(hào)地DSR DCE就緒(DCEDTE)DTR DTE就緒(DTEDCE)RTS 請(qǐng)求發(fā)送(DTEDCE)CTS 去除發(fā)送(DCEDTE)DCE允許DTE發(fā)送,該信號(hào)是對(duì)RTS信號(hào)回答。DCD 數(shù)據(jù)載波檢出(DCEDTE)當(dāng)當(dāng)?shù)谼CE收到對(duì)方DCE設(shè)備送來(lái)載波信號(hào)時(shí),使DCD有效,通知DTE準(zhǔn)備接收,而且由DCE將接收到載波信號(hào)解調(diào)為數(shù)字信號(hào),經(jīng)RxD線送給DTE。RI 振鈴信號(hào)(DCEDTE)當(dāng)DCE收到交換機(jī)送來(lái)振鈴呼叫信號(hào)時(shí),使該信號(hào)有效,通知DTE已被呼叫。/10/1014串行口第14頁(yè)RS-232C電器特征及接口信號(hào)
1.電氣特征
在數(shù)據(jù)線TXD和RXD上:
邏輯1=-3V~-15V
邏輯0=+3V~+15V
2.能夠用電纜線直接連接標(biāo)準(zhǔn)RS232端口,但通信距離較近(<12m)。若距離較遠(yuǎn),可附加調(diào)制解調(diào)器(MODEM)。/10/1015串行口第15頁(yè)串行通信接口標(biāo)準(zhǔn)RS-232-C采取負(fù)邏輯,且信號(hào)電平與TTL不兼容串行接口芯片8250、8251均使用TTL電平,應(yīng)使用電平轉(zhuǎn)換電路與RS-232C連接器連接。MC1488:TTL電平→RS232電平(用于發(fā)送方)MC1489:TTL電平←RS232電平(用于接收方)/10/1016串行口第16頁(yè)串行通信接口標(biāo)準(zhǔn)采取Modem(DCE)和電話網(wǎng)通信時(shí)信號(hào)連接/10/1017串行口第17頁(yè)串行通信接口標(biāo)準(zhǔn)采取專用線通訊時(shí)信號(hào)連接/10/1018串行口第18頁(yè)串行通信接口標(biāo)準(zhǔn)無(wú)Modem標(biāo)準(zhǔn)連接/10/1019串行口第19頁(yè)串行通信接口標(biāo)準(zhǔn)無(wú)Modem最簡(jiǎn)連接/10/1020串行口第20頁(yè)經(jīng)典串行接口結(jié)構(gòu)因?yàn)镃PU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,所以,在串行接口中,必須要有“接收移位存放器”(串→并)和“發(fā)送移位存放器”(并→串)。/10/1021串行口第21頁(yè)7.2串行口結(jié)構(gòu)1個(gè)全雙工串口:通信或接口擴(kuò)展
接收發(fā)送緩沖器邏輯同名、物理分開;接收雙緩沖。
/10/1022串行口第22頁(yè)7.2.1串行口控制存放器SCON
SM0和SM1:工作方式選擇位76543210SCONSM0SM1SM2RENTB8RB8TIRI字節(jié)地址:98HSM0SM1方式說(shuō)明波特率000移位存放器fosc/1201110位UART(8位數(shù)據(jù))可變10211位UART(9位數(shù)據(jù))fosc/64或fosc/3211311位UART(9位數(shù)據(jù))可變/10/1023串行口第23頁(yè)SM2:多機(jī)通信控制位當(dāng)串行口以方式2或方式3接收時(shí),假如SM2=1,只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為“1”時(shí),才將接收到前8位數(shù)據(jù)送入SBUF,并置“1”RI,產(chǎn)生中止請(qǐng)求;當(dāng)接收到第9位數(shù)據(jù)(RB8)為“0”時(shí),則將接收到前8位數(shù)據(jù)丟棄。假如SM2=0,則不論第9位數(shù)據(jù)是“1”還是“0”,都將前8位數(shù)據(jù)送入SBUF中,并置“1”RI,產(chǎn)生中止請(qǐng)求。在方式1時(shí),假如SM2=1,則只有收到停頓位時(shí)才會(huì)激活RI。在方式0時(shí),SM2必須為0。REN:串行接收使能位,軟件置1時(shí),開啟接收過(guò)程/10/1024串行口第24頁(yè)TB8:多機(jī)方式發(fā)送第9位方式2和3時(shí),TB8是要發(fā)送第9位數(shù)據(jù),可作為奇偶校驗(yàn)位使用,也可作為地址幀或數(shù)據(jù)幀標(biāo)志。=1為地址幀,=0為數(shù)據(jù)幀RB8:多機(jī)方式接收第9位方式2和3時(shí),RB8存放接收到第9位數(shù)據(jù)。在方式1,假如SM2=0,RB8是接收到停頓位。在方式0,不使用RB8。TI:發(fā)送中止標(biāo)志位,要由軟件清0RI:接收中止標(biāo)志位,要由軟件清0/10/1025串行口第25頁(yè)
7.2.2電源控制存放器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3時(shí),波特率與SMOD相關(guān),當(dāng)SMOD=1時(shí),波特率提升一倍。復(fù)位時(shí),SMOD=0。
76543210PCONSMOD字節(jié)地址:97H比如:方式1波特率計(jì)算公式為:
方式1波特率=(2SMOD/32)×定時(shí)器T1溢出率/10/1026串行口第26頁(yè)7.3串行口4種工作方式方式0:同時(shí)移位存放器,用于擴(kuò)展并行口RXD:輸入或輸出引腳TXD:移位脈沖輸出接收和方式都是8位波特率固定為:fosc/127.3.1方式0/10/1027串行口第27頁(yè)數(shù)據(jù)輸出:
CLR用于對(duì)74LS164清0
/10/1028串行口第28頁(yè)數(shù)據(jù)輸入:
S/L負(fù)脈沖將并行數(shù)據(jù)裝入,高電平時(shí)開啟單片機(jī)進(jìn)行數(shù)據(jù)輸入。
/10/1029串行口第29頁(yè)方式0接收在滿足REN=1和RI=0條件下,串行口處于方式0輸入。此時(shí),RXD為數(shù)據(jù)輸入端,TXD為同時(shí)信號(hào)輸出端。在方式0工作時(shí),必須使SCON存放器中SM2位為“0”,這并不影響TB8位和RB8位。/10/1030串行口第30頁(yè)7.3.2方式1:10位幀,用于雙機(jī)通信起始位:1位數(shù)據(jù)位:8位停頓位:1位方式1波特率=(2SMOD/32)×定時(shí)器T1溢出率/10/1031串行口第31頁(yè)串行發(fā)送:(寫SBUF開啟發(fā)送過(guò)程)
串行接收:(置REN=1開啟接收過(guò)程)
/10/1032串行口第32頁(yè)當(dāng)一幀數(shù)據(jù)接收完,須同時(shí)滿足兩個(gè)條件,接收才真正有效。⑴RI=0,即上一幀數(shù)據(jù)接收完成時(shí),RI=1發(fā)出中止請(qǐng)求已被響應(yīng),SBUF中數(shù)據(jù)已被取走,說(shuō)明“接收SBUF”已空。⑵SM2=0或收到停頓位=1(方式1時(shí),停頓位已進(jìn)入RB8),則收到數(shù)據(jù)裝入SBUF和RB8(RB8裝入停頓位),且置“1”中止標(biāo)志RI。若這兩個(gè)條件不一樣時(shí)滿足,收到數(shù)據(jù)將丟失。/10/1033串行口第33頁(yè)
7.3.3方式2和方式3:11位幀,用于多機(jī)通信起始位:1位數(shù)據(jù)位:9位停頓位:1位方式2波特率=(2SMOD/64)×fosc
方式3波特率=(2SMOD/32)×定時(shí)器T1溢出率/10/1034串行口第34頁(yè)串行發(fā)送:(寫SBUF開啟發(fā)送過(guò)程)
串行接收:(置REN=1開啟接收過(guò)程)
/10/1035串行口第35頁(yè)方式2接收
SM0、SM1=10,且REN=1。在接收器完第9位數(shù)據(jù)后,需滿足兩個(gè)條件,才能將接收到數(shù)據(jù)送入SBUF。(1)RI=0,意味著接收緩沖器為空。(2)SM2=0或接收到第9位數(shù)據(jù)位RB8=1時(shí)。若不滿足兩個(gè)條件,接收信息將被丟棄。/10/1036串行口第36頁(yè)波特率制訂方法波特率確定波特率計(jì)算固定波特率:
方式0波特率=fosc/12
方式2波特率=(2SMOD/64)*
fosc可變波特率:
方式1波特率=(2SMOD/32)*(T1溢出率)
方式3波特率=(2SMOD/32)*(T1溢出率)
T1溢出率=fosc/{12×[256-(TH1)]}/10/1037串行口第37頁(yè)波特率選擇波特率要選擇標(biāo)稱值,因?yàn)門H1初值是整數(shù),為了減小波特率計(jì)算誤差,晶振頻率要選為11.0592MHz。
方式1和方式3波特率與TH1初值對(duì)應(yīng)關(guān)系:
波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD10000/10/1038串行口第38頁(yè)例7-1
若8031單片機(jī)時(shí)鐘振蕩頻率為11.0592MHz,選取T1為方式2定時(shí)作為波特率發(fā)生器,波特率為2400b/s,求初值。/10/1039串行口第39頁(yè)串行口初始化步驟確定T1工作方式(TMOD)計(jì)算T1初值,裝載TH1、TL1開啟T1(置位TR1)確定串行口工作方式(SCON)串口中止設(shè)置(IE、IP)7.3串行口編程和應(yīng)用/10/1040串行口第40頁(yè)例7-2利用單片機(jī)串口并行I/O擴(kuò)展串口無(wú)通信需求時(shí)!/10/1041串行口第41頁(yè)DISPLY:MOVR0,#30HMOVR7,#4NE:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AINCR0DJNZR7,NERETtab:db21h,0f3h,15h,51hdb0c3h,49h,09h,0f1hdb01h,0c1h,81h,0dbhdb1fh,13h,0ch,8bhdb0ffh/10/1042串行口第42頁(yè)例7—3設(shè)內(nèi)部RAM50H~5FH中數(shù)據(jù)從串行接口輸出,串行接口以方式2工作,TB8做奇偶校驗(yàn)位,要求寫入TB8發(fā)送。源程序以下:/10/1043串行口第43頁(yè)START:MOVSCON,#80H;串行接口工作方式2MOVPCON,#80H;設(shè)波特率為1/32振蕩頻率
MOVR0,#50H;設(shè)地址指針
MOVR7,#10H;設(shè)數(shù)據(jù)塊長(zhǎng)度
LOOP1:MOVA,@R0;取數(shù)據(jù)
MOVC,P;奇偶校驗(yàn)位送TB8MOVTB8,CMOVSBUF,A;數(shù)據(jù)送SBUF,開啟發(fā)送
WAIT:JBCTI,LOOP2;判斷發(fā)送中止標(biāo)志是否為1,直到TI=1時(shí)轉(zhuǎn)移。且TI清為0SJMPWAITLOOP2:INCR0;修改地址指針
DJNZR7,LOOP1;判斷循環(huán)是否結(jié)束
RET;程序返回/10/1044串行口第44頁(yè)例7—6設(shè)串行接口工作在方式3。MCS—51和外設(shè)之間采取9位異步通訊方式,波特率為2400。晶振為11.0592MHz,在定時(shí)器T1工作在方式2,且當(dāng)SMOD=0時(shí),計(jì)算得到T1時(shí)間常數(shù)為0F4H。接收子程序以下。/10/1045串行口第45頁(yè)RVE:MOVTMOD,#20H;設(shè)T1為方式2MOVTH1,#0F4H;送T1時(shí)間常效
MOVTL1,#0F4HSETBTR1;開啟T1定時(shí)
MOVR0,#50H;設(shè)地址指針
MOVR7,#10H;設(shè)數(shù)據(jù)塊長(zhǎng)度
MOVSCON,#0D0H;設(shè)串行接口為工作方式3,接收數(shù)據(jù)
MOVPCON,#00H;設(shè)SMOD為0WAIT:JBCRI,LOOP1;判斷接收中止標(biāo)志,等候/10/1046串行口第46頁(yè)SJMPWAIT;當(dāng)RI=1時(shí),接收數(shù)據(jù),且RI清0LOOP1:MOVA,SBUF;接收數(shù)據(jù)
JNBPSW.0,LOOP2;判斷P=RB8JNBRB8,LOOP3SJMPLOOP4LOOP2:JBRB8,LOOP3LOOP4:MOV@R0,A;接收數(shù)據(jù)送內(nèi)存
INCR0;修改地址指針
DJNZR7,WAIT;判循環(huán)是否結(jié)束
CLRPSW.5;正確接收完16個(gè)效據(jù)后,PSW.5清0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣西地理中考真題及答案
- 13 必修1 第二單元 第12講 光合作用的影響因素及應(yīng)用
- 特色小吃店長(zhǎng)期承包合作協(xié)議
- 場(chǎng)地運(yùn)營(yíng)風(fēng)險(xiǎn)管理與保險(xiǎn)合同范本
- 高端制造業(yè)項(xiàng)目保證金質(zhì)押擔(dān)保服務(wù)協(xié)議
- 拆除工程安全責(zé)任書
- 菜鳥驛站快遞網(wǎng)點(diǎn)所有權(quán)變更合同模板
- 熔化凝固教學(xué)課件
- abc字母教學(xué)課件
- 2024-2025學(xué)年福建省龍巖市連城縣一中高一下學(xué)期月考地理試題及答案
- 安全生產(chǎn)標(biāo)準(zhǔn)化實(shí)施細(xì)則范例(3篇)
- (CNAS-CL01-2018認(rèn)可準(zhǔn)則)內(nèi)審核查表
- 2024年模型模具加工合同范本
- 廣東省高州市2023-2024學(xué)年高一下學(xué)期期中考試數(shù)學(xué)
- 食堂工作人員考核方案
- 國(guó)家基本公衛(wèi)(老年人健康管理)考試復(fù)習(xí)題及答案
- 臨床營(yíng)養(yǎng)(043)(正高級(jí))高級(jí)衛(wèi)生專業(yè)技術(shù)資格考試試卷及答案指導(dǎo)(2025年)
- 6S視覺(jué)管理之定置劃線顏色管理及標(biāo)準(zhǔn)樣式
- 重慶市旋挖成孔灌注樁工程技術(shù)規(guī)程
- 貴州省黔西南布依族苗族自治州2023-2024學(xué)年六年級(jí)下學(xué)期6月期末數(shù)學(xué)試題
- 中考字音字形練習(xí)題(含答案)-字音字形專項(xiàng)訓(xùn)練
評(píng)論
0/150
提交評(píng)論