




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、串行通信的基本概念*二、單片機(jī)中的串行口*三、USART串行通信接口芯片8251A*第五章串行通信一、串行通信的基本概念*第五章串行通信兩種基本形式——同步與異步傳輸速率——比特率與波特率單工與雙工方式調(diào)制與解調(diào)串行通信中的校驗(yàn)方式串行通信的接口標(biāo)準(zhǔn)—RS232C,422,423,485一、串行通信的基本概念兩種基本形式——同步與異步一、串行通信的基本概念同步傳輸:·連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息;·發(fā)送方與接收方使用同一時(shí)鐘。同步通信信息幀格式:·同步字符用于確認(rèn)數(shù)據(jù)字符的開始,起起始同步的作用;·校驗(yàn)字符有1-2個(gè),用于校驗(yàn)接受數(shù)據(jù)字符的正確性1、同步與異步同步字符數(shù)據(jù)流校驗(yàn)同步傳輸:1、同步與異步同步字符數(shù)據(jù)流校驗(yàn)異步傳輸:·發(fā)送方與接受方不使用同一時(shí)鐘,其時(shí)鐘源彼此獨(dú)立;·通過字符幀格式協(xié)調(diào)數(shù)據(jù)的發(fā)送和接收。異步通信字符幀格式:P1105——8位起始位數(shù)據(jù)校驗(yàn)位停止位1、同步與異步(低位在前)異步傳輸:P1105——8位起始位數(shù)據(jù)校驗(yàn)位停止2、傳輸速率與波特率傳輸速率:
每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),用于表征數(shù)據(jù)傳輸?shù)乃俣?。(單位是b/s)波特率(比特率):
每秒鐘傳送離散信號(hào)的數(shù)目,也稱調(diào)制信號(hào)的傳輸率,和調(diào)制方式有關(guān)。調(diào)幅、調(diào)頻情況下,波特率和傳輸速率相同;調(diào)相情況下,波特率與傳輸率有區(qū)別。
異步通信的波特率在50~9600b/s之間,常為時(shí)鐘頻率的1/16或1/64。2、傳輸速率與波特率傳輸速率:3、串行通信的制式全雙工
有兩個(gè)獨(dú)立的通信回路,需三條信號(hào)線。半雙工
只有一個(gè)通信回路,需兩條信號(hào)線。單工
只能單方向傳輸信號(hào)。3、串行通信的制式全雙工4、調(diào)制與解調(diào)調(diào)制:
數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)進(jìn)行傳輸?shù)募夹g(shù)。調(diào)制的幾種形式:
ASK(調(diào)幅):用幅值大小區(qū)分0、1信號(hào);
FSK(調(diào)頻):用頻率變化區(qū)分0、1信號(hào);
PSK(調(diào)相):用相位變化區(qū)分0、1信號(hào)。解調(diào):
將數(shù)字信號(hào)從接收到的調(diào)制模擬信號(hào)中檢出的技術(shù)。信號(hào)傳輸形式:
原信號(hào)傳輸——基帶傳輸(數(shù)字信號(hào)傳輸)模擬信號(hào)傳輸——寬帶傳輸(數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)進(jìn)行傳輸,一條信號(hào)線上可同時(shí)傳送多組數(shù)字信號(hào))4、調(diào)制與解調(diào)調(diào)制:奇偶校驗(yàn)方式(異步通信中使用)
發(fā)送的數(shù)據(jù)和校驗(yàn)位中“1”的個(gè)數(shù)為奇數(shù)(奇校驗(yàn))或偶數(shù)(偶校驗(yàn))。校驗(yàn)和方式
發(fā)送數(shù)據(jù)求和,保留低8位或16位做校驗(yàn)。CRC碼校驗(yàn)方式(CyclicRedundancyCheck,循環(huán)冗余校驗(yàn))
發(fā)送數(shù)據(jù)被生成多項(xiàng)式除,用余式做校驗(yàn)。5、校驗(yàn)方式奇偶校驗(yàn)方式(異步通信中使用)5、校驗(yàn)方式RS—232C標(biāo)準(zhǔn)接口·是美國電子工業(yè)協(xié)會(huì)(EIA)與Bell等公司在1969年開發(fā)并公布的一種按位進(jìn)行通信的總線標(biāo)準(zhǔn),適用于同步和異步方式?!な且环NDTE(DataTerminalEquipment)和DCE
(DataCommunicationEquipment)之間的信號(hào)傳輸線。6、串行通信接口標(biāo)準(zhǔn)RS—232C標(biāo)準(zhǔn)接口6、串行通信接口標(biāo)準(zhǔn)6、串行通信接口標(biāo)準(zhǔn)(1)RS—232C標(biāo)準(zhǔn)接口電氣性能:
電平:采用負(fù)邏輯15V
邏輯1:-3V—-15V
邏輯0:+3V—+15V
接收器輸入阻抗:3—7KΩ
驅(qū)動(dòng)器轉(zhuǎn)換速率:〈30V/s
信號(hào)線上最大負(fù)載電容:〈2500pf最大電纜長度為30m
最高傳輸速率:20KB/S6、串行通信接口標(biāo)準(zhǔn)(1)RS—232C標(biāo)準(zhǔn)接口電氣性能:(2)信號(hào)線分配及定義標(biāo)準(zhǔn)25pinD型插座
1.GND
機(jī)架地(保護(hù)地)
2.TxD
發(fā)送數(shù)據(jù)端
3.RxD
接收數(shù)據(jù)端
4.RTS
請(qǐng)求發(fā)送 Request-To-Send 5.CTS
清除發(fā)送 Clear-To-Send 6.DSR
數(shù)據(jù)設(shè)備準(zhǔn)備好 Data-Set-Ready 7.SGND
信號(hào)地
8.DCD
載波檢測 Data-Carrier-Detect 20.DTR
數(shù)據(jù)終端準(zhǔn)備好Data-Terminal-Ready 22.RI
振鈴指示(2)信號(hào)線分配及定義標(biāo)準(zhǔn)25pinD型插座(3)RS-232C的接線形式
2.TxD
TxD 3.RxD
RxD 4.RTS
RTS
5.CTS CTS
6.DSR
DSR 7.SGND
SGND 8.DCD
DCD 20.DTR DTR(3)RS-232C的接線形式(3)RS-232C的接線形式
2.TxD
TxD 3.RxD
RxD 4.RTS
RTS
5.CTS CTS
6.DSR
DSR 7.SGND
SGND 8.DCD
DCD 20.DTR DTR(3)RS-232C的接線形式RS—422A接口
平衡式差分傳送RS—423接口 非平衡式差分傳送RS—485接口是RS-422A的變形,區(qū)別是:RS-422A為全雙工,采用兩對(duì)平衡差分信號(hào)線;RS-485為半雙工,采用一對(duì)差分信號(hào)線,對(duì)于多站互連十分方便。
6、串行通信接口標(biāo)準(zhǔn)RS—422A接口6、串行通信接口標(biāo)準(zhǔn)二、單片機(jī)中的串行口結(jié)構(gòu)原理T1發(fā)送中斷
TXD串行輸出 (P3.1)
內(nèi)部總線移位時(shí)鐘
RXD串行輸入 (P3.0)
RI接收中斷發(fā)送SBUF接收SBUF輸入移位寄存器輸出移位寄存器二、單片機(jī)中的串行口結(jié)構(gòu)原理1、串行口控制寄存器SCON的格式
SM0SM1SM2RENTB8RB8TIRI功能SM0和SM1:串行口方式控制位,決定工作方式。
SM0SM1方式具體功能 波特率
0 0 方式08位移位寄存器FOSC的/1201 方式110位異步收發(fā)
可調(diào)
10方式211位異步收發(fā)FOSC的1/64或1/3211方式311位異步收發(fā)
可調(diào)
1、串行口控制寄存器SCON的格式SM2:
允許方式2和方式3進(jìn)行多機(jī)通信控制位。
在方式2或方式3下:如SM2=0,串行口以單機(jī)發(fā)送或接收方式工作,TI和RI以正常方式被激活,但不會(huì)引起中斷請(qǐng)求(只能采用查詢法進(jìn)行數(shù)據(jù)傳送);若SM2=1且RB8=1時(shí),RI不僅被激活而且可以向CPU請(qǐng)求中斷;若接收到的第9位數(shù)據(jù)(RB8)為0,不激活RI。
在方式1時(shí),SM2應(yīng)設(shè)置為0,此時(shí)只有收到有效停止位時(shí)才會(huì)激活RI,若沒有接收到停止位,則RI清0。
在方式0中,SM2不用,應(yīng)設(shè)置為0。SM2:允許方式2和方式3進(jìn)行多機(jī)通信控制位。REN:允許串行接收控制位。軟件置1允許接收,若為0則禁止接收。TB8:用于在方式2和方式3時(shí)存放發(fā)送的第9位數(shù)據(jù)。(1或0)由軟件置位或復(fù)位。RB8:用于在方式2和方式3時(shí)存放接收到的第9位數(shù)據(jù);在方式1下,若SM2=0,則RB8用于存放接收到的停止位。在方式0下,不使用RB8。TI:發(fā)送中斷標(biāo)志位。發(fā)送前必須由軟件清0。RI:接收中斷標(biāo)志位。必須由軟件清0REN:允許串行接收控制位。2、串行口工作方式(1)方式0:
SM0=0,SM1=0,SM2=0
移位寄存器方式:RXD輸入/輸出,TXD輸出同步移位脈沖。波特率=fosc/12(固定)。
數(shù)據(jù)格式:8位,低位在先。
波形圖:(方式0發(fā)送)
寫入SBUFSENDSHIFTRXD(OUT)D0D1D2D3D4D5D6D7TXDTI
同步脈沖2、串行口工作方式(1)方式0:SM0=0,SM1=0,方式0接收(REN=1,RI=0) 清SCON中的RI位RIRECEIVESHIFTRXD(IN) D0D1D2D3D4D5D6D7TXD(2)方式1:SM0=0,SM1=1
8位異步通信口:RXD接收數(shù)據(jù),TXD發(fā)送數(shù)據(jù)。波特率可變,由定時(shí)器控制。
數(shù)據(jù)格式:每幀10位,1位起始位,8位數(shù)據(jù),1位停止位。數(shù)據(jù)位低位在先。同步脈沖方式0接收(REN=1,RI=0)同步脈沖方式1發(fā)送TXCLK
寫入SBUF SENDSHIFTTXD起始位
D0D1D2D3D4D5D6D7停止位TI方式1接收(RI=0,SM2=0或接收到停止位1數(shù)據(jù)有效)RXCLKRXD
起始位
D0D1D2D3D4D5D6D7停止位SHIFTRI單片機(jī)及接口技術(shù)10(第五章)課件(3)方式2
SM0=1,SM1=0
9位異步通信口。
數(shù)據(jù)格式:每幀11位,1位起始位,8位數(shù)據(jù),1位可編程位,1位停止位。數(shù)據(jù)位低位在先。發(fā)送時(shí)可編程位(TB8)送出0或1,接收時(shí)可編程位送入SCON中的RB8。(3)方式2SM0=1,SM1=0(3)方式2
SM0=1,SM1=0發(fā)送:TXD輸出。CPU執(zhí)行寫SBUF指令后開始發(fā)送,送完一幀后,TI置1,在發(fā)送下一幀之前,TI必須清零(由中斷服務(wù)程序或查詢程序)。接收:當(dāng)REN=1時(shí),允許接收數(shù)據(jù)。檢測到RXD端有負(fù)跳變并確認(rèn)起始位后,開始接收數(shù)據(jù)。當(dāng)收到第9位數(shù)據(jù)后,若(1)RI=0;(2)SM2=0或第9位數(shù)據(jù)=1,則接收數(shù)據(jù)有效,8位數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)送入RB8,并使RI=1。否則接收數(shù)據(jù)丟失。(4)方式3SM0=1,SM1=1同方式2,只是通信波特率不同。(3)方式2SM0=1,SM1=0方式0:
波特率是固定的,其值為fosc/12。方式2:
波特率=2smod.fosc/64方式3:(同方式1)
波特率由定時(shí)器T1或T0的溢出率決定,是可變的。
波特率=2smod.T1溢出率/32T1溢出率=fosc[1/(2k-初值)]/12;k為定時(shí)器T1的位數(shù)。
注:定時(shí)器T1或T0通常工作于方式2。4、波特率的計(jì)算與設(shè)置方式0:4、波特率的計(jì)算與設(shè)置串行口常用波特率及T1初值(方式1和方式3時(shí))常用波特率時(shí)鐘頻率FOSCSMOD計(jì)/定方式計(jì)/定初值19.2K9.6K4.8K2.4K1.2K60011011.0592MHz11.0592MHz11.0592MHz11.0592MHz11.0592MHz11.0592MHz6MHz10000002222222FDHFDHFAHF4HE8HD0H72H串行口常用波特率及T1初值(方式1和方式3時(shí))常用波特率時(shí)鐘(三)串行口的應(yīng)用串行口在方式0下的應(yīng)用在方式0下,串行口可被設(shè)置成并入串出的輸出口(需外接一片8位串行輸入并行輸出的同步移位寄存器)或串入并出的輸入口(需外接一片8位并行輸入串行輸出的同步移位寄存器)。
串行口在其他方式下的應(yīng)用
方式1為10位異步通信,有8位數(shù)據(jù)位,不可用于多機(jī)通信。
方式2和方式3為11位異步通信,有9位數(shù)據(jù)位,可在多機(jī)方式下通信(SM2=1)。(三)串行口的應(yīng)用串行口在方式0下的應(yīng)用8031RXDTXDP1.0DATACD4090CLKSTB例題:根據(jù)下圖的線路連接,編寫發(fā)光二極管自左至右以一定速度輪流顯示的程序。設(shè)發(fā)光二極管為共陰極接法。
CD4049——8位串行輸入并行輸出的同步移位寄存器,STB為控制端(0—串行輸入數(shù)據(jù)且并行輸出端關(guān)閉,1—并行輸出數(shù)據(jù)且串行輸入端關(guān)閉)。8031DATACD4090例題:根據(jù)下圖的線路解:ORG2000H MOVSCON,#00H;令串行口為方式0 MOVIE,#90H;開串行口中斷 CLRP1.0;禁止CD4094并行輸出 MOVA,#80H
;起始顯示碼送A MOVSBUF,A;
8031串行輸出LOOP:SJMPLOOP;等待串行口輸出完ORG0023H AJMPSBV ;轉(zhuǎn)SBV ORG0100HSBV:SETBP1.0 ;點(diǎn)亮發(fā)光管 ACALLDELAY;點(diǎn)亮一段時(shí)間 CLRTI ;清發(fā)送中斷標(biāo)志 RRA ;準(zhǔn)備點(diǎn)亮下一位CLRP1.0;滅顯示MOVSBUF,A;串行口輸出
RETIDELAY:;延時(shí)程序: END解:ORG2000HDELAY:例題:根據(jù)下圖的線路連接,編寫串行輸入開關(guān)量并存入20H單元的程序。要求:控制開關(guān)KC斷開(KC=1)時(shí)8031處于等待狀態(tài),KC合上時(shí)8031開始輸入并進(jìn)行模擬。KC8031RXDTXDP1.1P1.0Q8CD4014CLKP/SCD4014——并行輸入串行輸出的同步移位寄存器,P/S為控制端(0—串行輸出且并行輸入端關(guān)閉,1—并行輸入數(shù)據(jù)且串行輸出端關(guān)閉)。例題:根據(jù)下圖的線路連接,編寫串行輸入開關(guān)量并存入20H單元解:ORG2000H START:JBP1.0,$;若KC斷開,則等待SETBP1.1;令CD4014并行輸入開關(guān)量CLRP1.1;CD4014開始串行輸出MOVSCON,#10H;令串行口為方式0,啟動(dòng)接收
JNBRI,$;等待接收
CLRRI;若接收已完,則請(qǐng)RI MOVA,SBUF;開關(guān)量送累加器A MOV20H,A;存入內(nèi)存 ACALLOTHPRO;轉(zhuǎn)其他程序 SJMPSTART;準(zhǔn)備下次開關(guān)量輸入
END解:ORG2000H例題:請(qǐng)用中斷法編出串行口在方式1下的發(fā)送程序。設(shè)單片機(jī)主頻為6MHz,定時(shí)器T1用作波特率發(fā)生器,波特率為2400b/s,發(fā)送字符塊在內(nèi)部RAM的起始地址為TBLOCK,字符塊長度為LEN。要求奇校驗(yàn)位在數(shù)據(jù)第8位發(fā)送。字符塊長度LEN率先發(fā)送。
例題:請(qǐng)用中斷法編出串行口在方式1下的發(fā)送程序。設(shè)單片機(jī)主頻開始定時(shí)器T1初始化(波特率設(shè)置并啟動(dòng)T1)串行口為方式1字符塊起始地址送R0字符塊長度字節(jié)送R2發(fā)送字符塊長度字節(jié)開CPU中斷開串行口中斷主程序流程圖發(fā)送中斷服務(wù)程序流程圖關(guān)串行口中斷發(fā)送字符送A形成奇校驗(yàn)位添加到第8數(shù)據(jù)位啟動(dòng)串行口發(fā)送所有字符發(fā)完?字符塊指針加1中斷返回停止發(fā)送YN開始定時(shí)器T1初始化串行口為方式1字符塊起始地址送R0發(fā)送字例題:請(qǐng)用查詢法編出串行口在方式3下的接收程序。設(shè)單片機(jī)主頻為6MHz,波特率為2400b/s,接收數(shù)據(jù)區(qū)起始地址為RBLOCK(內(nèi)部RAM),接收數(shù)據(jù)塊長度字節(jié)由始發(fā)端發(fā)送來。要求采用累加和校驗(yàn)。例題:請(qǐng)用查詢法編出串行口在方式3下的接收程序。設(shè)單片機(jī)主頻主程序流程圖開始定時(shí)器T1方式2設(shè)置時(shí)間常數(shù)初值啟動(dòng)T1串行口為方式3SMOD=1接收數(shù)據(jù)區(qū)起始地址送R0累加和寄存器R3清零調(diào)用接收子程序停機(jī)主程序流程圖開始定時(shí)器T1方式2串行口為方式3接收數(shù)據(jù)區(qū)起始接收子程序流程圖返回清除RI比較兩個(gè)累加和YN清楚RI清RI數(shù)據(jù)塊長度字節(jié)存R2求累加和并送R3數(shù)據(jù)塊長度字節(jié)接收完?清RI收到字符存入內(nèi)存求累加和并送入R3接收數(shù)據(jù)區(qū)指針加1一個(gè)字符幀接收完?N全部字符收完?NYY累加和字節(jié)收完?N相等?YERRORYN接收子程序流程圖返回清除RIYN清楚RI清RI數(shù)據(jù)塊長度字節(jié)(四)串行通訊中的多機(jī)通訊硬件連接TxD
RxD
8051
(主)TxDRxD8051
(從0)TxDRxD8051
(從n)(四)串行通訊中的多機(jī)通訊硬件連接TxDTxD工作流程方式2或3,主機(jī)SM2=0,TB8=1——傳送地址信息 TB8=0——傳送數(shù)據(jù)信息。 從機(jī)SM2=1——從機(jī)只接收地址幀。從機(jī)SM2=0——既接收地址幀又接收數(shù)據(jù)幀。工作流程SM2=0,對(duì)于地址信息和數(shù)據(jù)信息都接收?!と繌臋C(jī)將SM2設(shè)為1,處于只接收地址幀狀態(tài)?!ぶ鳈C(jī)首先發(fā)送地址信息,并置TB8=1?!臋C(jī)收到地址幀后,和自己本機(jī)地址比較。若相等,則為被尋址機(jī),將自己的SM2清零,準(zhǔn)備接受下面的數(shù)據(jù)。若地址不等,維持SM2=1,對(duì)后面的數(shù)據(jù)不理睬?!ぶ鳈C(jī)在地址發(fā)完后,發(fā)送數(shù)據(jù)幀,并使TB8=0?!じ淖儚臋C(jī)時(shí),主機(jī)再發(fā)送地址幀(TB8=1),原來的從機(jī)使自己的SM2=1,結(jié)束接收數(shù)據(jù)。SM2=0,對(duì)于地址信息和數(shù)據(jù)信息都接收。UART(異步通用收發(fā)器)基本結(jié)構(gòu):
發(fā)送器:TDR+TSR控制器:命令與狀態(tài)接收器:RDR+RSR接收過程:(設(shè)K=16)發(fā)送器接收器控制器緩沖器三、UART和USARTUART(異步通用收發(fā)器)發(fā)送器接收器控制器緩沖器三1、USART串行通信接口芯片8251A結(jié)構(gòu)框圖發(fā)送緩沖器發(fā)送控制器接收緩沖器接收控制器數(shù)據(jù)總線緩沖器讀/寫控制邏輯調(diào)制解調(diào)控制器RESETCLKC/DRDWRCSDSRCTSDTRRTSTxDTxRDYTxEMPTYTxCRxDRxRDYRxCSYNDET/BD1、USART串行通信接口芯片8251A結(jié)構(gòu)框圖發(fā)送緩沖器發(fā)8251A的引腳
CSC/DRDWR 操作
0001接收數(shù)據(jù)寄存器DB0010 DB發(fā)送數(shù)據(jù)寄存器
0101 狀態(tài)寄存器DB0110 DB命令寄存器或控制寄存器
1XXX8251A的DB為三態(tài)
011X 8251A的DB為三態(tài)TxRDY:發(fā)送器準(zhǔn)備好RxRDY:接收器準(zhǔn)備好SYNDET:同步檢測信號(hào)DTR:數(shù)據(jù)終端準(zhǔn)備好DSR:數(shù)據(jù)設(shè)備準(zhǔn)備好RTS:請(qǐng)求發(fā)送信號(hào) CTS:清除請(qǐng)求發(fā)送信號(hào)8251A的引腳CSC/DRDWR2、初始化編程方式寄存器
S2S1EPPENL2L1B2B1波特率系數(shù)00:同步方式01:異步K=110:K=1611:K=64字符長度00:5位01:6位10:7位11:8位校驗(yàn)x0:無校驗(yàn)01:奇校驗(yàn)11:偶校驗(yàn)同步控制x0:內(nèi)同步x1:外同步0x:雙同步1x:單同步幀控制00:不確定01:1位停止位10:3/2位停止位11:2位停止位N同步Y(jié)2、初始化編程方式寄存器S2S1控制寄存器
1:發(fā)送允許
1:使DTR輸出為0 1:接收允許1:內(nèi)部復(fù)位送中止符1使TxD輸出為01使出錯(cuò)標(biāo)志復(fù)位(PE,OE,FE)搜索方式1:進(jìn)行同步符搜索
EHIRRTSERSBRKRxEDTRTxEN請(qǐng)求發(fā)送1:使RTS輸出為0控制寄存器 送中止符1使出錯(cuò)標(biāo)搜索方式EH狀態(tài)字FE=1幀錯(cuò)
OE=1脫碼錯(cuò)
PE=1奇偶錯(cuò)DSR,SYNDET,TxE,RxRDY,TxRDY同引腳定義
DSRSYNDETFEOEPETxERxRDYTxRDY狀態(tài)字DSRSYNDETFEO編程框圖同步方式輸入控制字IR=1傳送結(jié)束輸入方式字NY數(shù)據(jù)傳送NNY輸入第二同步符輸入第一同步符雙同步Y(jié)NY編程框圖同步方式輸入控制字IR=1傳送結(jié)束輸入方式字NY數(shù)據(jù)3、Xon/Xoff規(guī)約發(fā)送方流程初始化接收字符發(fā)送完11HN發(fā)送一字符Y有可接收字符N結(jié)束Y停止發(fā)送YNN13HY3、Xon/Xoff規(guī)約發(fā)送方流程初始化接收字符發(fā)送完11H接收完初始化準(zhǔn)備好接收發(fā)送11H接收一字符需要暫停接收發(fā)送13H結(jié)束YNNYNY接收程序流程接收完初始化準(zhǔn)備好接收發(fā)送11H接收一字符需要暫停接收發(fā)送1謝謝大家!謝謝大家!一、串行通信的基本概念*二、單片機(jī)中的串行口*三、USART串行通信接口芯片8251A*第五章串行通信一、串行通信的基本概念*第五章串行通信兩種基本形式——同步與異步傳輸速率——比特率與波特率單工與雙工方式調(diào)制與解調(diào)串行通信中的校驗(yàn)方式串行通信的接口標(biāo)準(zhǔn)—RS232C,422,423,485一、串行通信的基本概念兩種基本形式——同步與異步一、串行通信的基本概念同步傳輸:·連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息;·發(fā)送方與接收方使用同一時(shí)鐘。同步通信信息幀格式:·同步字符用于確認(rèn)數(shù)據(jù)字符的開始,起起始同步的作用;·校驗(yàn)字符有1-2個(gè),用于校驗(yàn)接受數(shù)據(jù)字符的正確性1、同步與異步同步字符數(shù)據(jù)流校驗(yàn)同步傳輸:1、同步與異步同步字符數(shù)據(jù)流校驗(yàn)異步傳輸:·發(fā)送方與接受方不使用同一時(shí)鐘,其時(shí)鐘源彼此獨(dú)立;·通過字符幀格式協(xié)調(diào)數(shù)據(jù)的發(fā)送和接收。異步通信字符幀格式:P1105——8位起始位數(shù)據(jù)校驗(yàn)位停止位1、同步與異步(低位在前)異步傳輸:P1105——8位起始位數(shù)據(jù)校驗(yàn)位停止2、傳輸速率與波特率傳輸速率:
每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),用于表征數(shù)據(jù)傳輸?shù)乃俣取#▎挝皇莃/s)波特率(比特率):
每秒鐘傳送離散信號(hào)的數(shù)目,也稱調(diào)制信號(hào)的傳輸率,和調(diào)制方式有關(guān)。調(diào)幅、調(diào)頻情況下,波特率和傳輸速率相同;調(diào)相情況下,波特率與傳輸率有區(qū)別。
異步通信的波特率在50~9600b/s之間,常為時(shí)鐘頻率的1/16或1/64。2、傳輸速率與波特率傳輸速率:3、串行通信的制式全雙工
有兩個(gè)獨(dú)立的通信回路,需三條信號(hào)線。半雙工
只有一個(gè)通信回路,需兩條信號(hào)線。單工
只能單方向傳輸信號(hào)。3、串行通信的制式全雙工4、調(diào)制與解調(diào)調(diào)制:
數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)進(jìn)行傳輸?shù)募夹g(shù)。調(diào)制的幾種形式:
ASK(調(diào)幅):用幅值大小區(qū)分0、1信號(hào);
FSK(調(diào)頻):用頻率變化區(qū)分0、1信號(hào);
PSK(調(diào)相):用相位變化區(qū)分0、1信號(hào)。解調(diào):
將數(shù)字信號(hào)從接收到的調(diào)制模擬信號(hào)中檢出的技術(shù)。信號(hào)傳輸形式:
原信號(hào)傳輸——基帶傳輸(數(shù)字信號(hào)傳輸)模擬信號(hào)傳輸——寬帶傳輸(數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)進(jìn)行傳輸,一條信號(hào)線上可同時(shí)傳送多組數(shù)字信號(hào))4、調(diào)制與解調(diào)調(diào)制:奇偶校驗(yàn)方式(異步通信中使用)
發(fā)送的數(shù)據(jù)和校驗(yàn)位中“1”的個(gè)數(shù)為奇數(shù)(奇校驗(yàn))或偶數(shù)(偶校驗(yàn))。校驗(yàn)和方式
發(fā)送數(shù)據(jù)求和,保留低8位或16位做校驗(yàn)。CRC碼校驗(yàn)方式(CyclicRedundancyCheck,循環(huán)冗余校驗(yàn))
發(fā)送數(shù)據(jù)被生成多項(xiàng)式除,用余式做校驗(yàn)。5、校驗(yàn)方式奇偶校驗(yàn)方式(異步通信中使用)5、校驗(yàn)方式RS—232C標(biāo)準(zhǔn)接口·是美國電子工業(yè)協(xié)會(huì)(EIA)與Bell等公司在1969年開發(fā)并公布的一種按位進(jìn)行通信的總線標(biāo)準(zhǔn),適用于同步和異步方式?!な且环NDTE(DataTerminalEquipment)和DCE
(DataCommunicationEquipment)之間的信號(hào)傳輸線。6、串行通信接口標(biāo)準(zhǔn)RS—232C標(biāo)準(zhǔn)接口6、串行通信接口標(biāo)準(zhǔn)6、串行通信接口標(biāo)準(zhǔn)(1)RS—232C標(biāo)準(zhǔn)接口電氣性能:
電平:采用負(fù)邏輯15V
邏輯1:-3V—-15V
邏輯0:+3V—+15V
接收器輸入阻抗:3—7KΩ
驅(qū)動(dòng)器轉(zhuǎn)換速率:〈30V/s
信號(hào)線上最大負(fù)載電容:〈2500pf最大電纜長度為30m
最高傳輸速率:20KB/S6、串行通信接口標(biāo)準(zhǔn)(1)RS—232C標(biāo)準(zhǔn)接口電氣性能:(2)信號(hào)線分配及定義標(biāo)準(zhǔn)25pinD型插座
1.GND
機(jī)架地(保護(hù)地)
2.TxD
發(fā)送數(shù)據(jù)端
3.RxD
接收數(shù)據(jù)端
4.RTS
請(qǐng)求發(fā)送 Request-To-Send 5.CTS
清除發(fā)送 Clear-To-Send 6.DSR
數(shù)據(jù)設(shè)備準(zhǔn)備好 Data-Set-Ready 7.SGND
信號(hào)地
8.DCD
載波檢測 Data-Carrier-Detect 20.DTR
數(shù)據(jù)終端準(zhǔn)備好Data-Terminal-Ready 22.RI
振鈴指示(2)信號(hào)線分配及定義標(biāo)準(zhǔn)25pinD型插座(3)RS-232C的接線形式
2.TxD
TxD 3.RxD
RxD 4.RTS
RTS
5.CTS CTS
6.DSR
DSR 7.SGND
SGND 8.DCD
DCD 20.DTR DTR(3)RS-232C的接線形式(3)RS-232C的接線形式
2.TxD
TxD 3.RxD
RxD 4.RTS
RTS
5.CTS CTS
6.DSR
DSR 7.SGND
SGND 8.DCD
DCD 20.DTR DTR(3)RS-232C的接線形式RS—422A接口
平衡式差分傳送RS—423接口 非平衡式差分傳送RS—485接口是RS-422A的變形,區(qū)別是:RS-422A為全雙工,采用兩對(duì)平衡差分信號(hào)線;RS-485為半雙工,采用一對(duì)差分信號(hào)線,對(duì)于多站互連十分方便。
6、串行通信接口標(biāo)準(zhǔn)RS—422A接口6、串行通信接口標(biāo)準(zhǔn)二、單片機(jī)中的串行口結(jié)構(gòu)原理T1發(fā)送中斷
TXD串行輸出 (P3.1)
內(nèi)部總線移位時(shí)鐘
RXD串行輸入 (P3.0)
RI接收中斷發(fā)送SBUF接收SBUF輸入移位寄存器輸出移位寄存器二、單片機(jī)中的串行口結(jié)構(gòu)原理1、串行口控制寄存器SCON的格式
SM0SM1SM2RENTB8RB8TIRI功能SM0和SM1:串行口方式控制位,決定工作方式。
SM0SM1方式具體功能 波特率
0 0 方式08位移位寄存器FOSC的/1201 方式110位異步收發(fā)
可調(diào)
10方式211位異步收發(fā)FOSC的1/64或1/3211方式311位異步收發(fā)
可調(diào)
1、串行口控制寄存器SCON的格式SM2:
允許方式2和方式3進(jìn)行多機(jī)通信控制位。
在方式2或方式3下:如SM2=0,串行口以單機(jī)發(fā)送或接收方式工作,TI和RI以正常方式被激活,但不會(huì)引起中斷請(qǐng)求(只能采用查詢法進(jìn)行數(shù)據(jù)傳送);若SM2=1且RB8=1時(shí),RI不僅被激活而且可以向CPU請(qǐng)求中斷;若接收到的第9位數(shù)據(jù)(RB8)為0,不激活RI。
在方式1時(shí),SM2應(yīng)設(shè)置為0,此時(shí)只有收到有效停止位時(shí)才會(huì)激活RI,若沒有接收到停止位,則RI清0。
在方式0中,SM2不用,應(yīng)設(shè)置為0。SM2:允許方式2和方式3進(jìn)行多機(jī)通信控制位。REN:允許串行接收控制位。軟件置1允許接收,若為0則禁止接收。TB8:用于在方式2和方式3時(shí)存放發(fā)送的第9位數(shù)據(jù)。(1或0)由軟件置位或復(fù)位。RB8:用于在方式2和方式3時(shí)存放接收到的第9位數(shù)據(jù);在方式1下,若SM2=0,則RB8用于存放接收到的停止位。在方式0下,不使用RB8。TI:發(fā)送中斷標(biāo)志位。發(fā)送前必須由軟件清0。RI:接收中斷標(biāo)志位。必須由軟件清0REN:允許串行接收控制位。2、串行口工作方式(1)方式0:
SM0=0,SM1=0,SM2=0
移位寄存器方式:RXD輸入/輸出,TXD輸出同步移位脈沖。波特率=fosc/12(固定)。
數(shù)據(jù)格式:8位,低位在先。
波形圖:(方式0發(fā)送)
寫入SBUFSENDSHIFTRXD(OUT)D0D1D2D3D4D5D6D7TXDTI
同步脈沖2、串行口工作方式(1)方式0:SM0=0,SM1=0,方式0接收(REN=1,RI=0) 清SCON中的RI位RIRECEIVESHIFTRXD(IN) D0D1D2D3D4D5D6D7TXD(2)方式1:SM0=0,SM1=1
8位異步通信口:RXD接收數(shù)據(jù),TXD發(fā)送數(shù)據(jù)。波特率可變,由定時(shí)器控制。
數(shù)據(jù)格式:每幀10位,1位起始位,8位數(shù)據(jù),1位停止位。數(shù)據(jù)位低位在先。同步脈沖方式0接收(REN=1,RI=0)同步脈沖方式1發(fā)送TXCLK
寫入SBUF SENDSHIFTTXD起始位
D0D1D2D3D4D5D6D7停止位TI方式1接收(RI=0,SM2=0或接收到停止位1數(shù)據(jù)有效)RXCLKRXD
起始位
D0D1D2D3D4D5D6D7停止位SHIFTRI單片機(jī)及接口技術(shù)10(第五章)課件(3)方式2
SM0=1,SM1=0
9位異步通信口。
數(shù)據(jù)格式:每幀11位,1位起始位,8位數(shù)據(jù),1位可編程位,1位停止位。數(shù)據(jù)位低位在先。發(fā)送時(shí)可編程位(TB8)送出0或1,接收時(shí)可編程位送入SCON中的RB8。(3)方式2SM0=1,SM1=0(3)方式2
SM0=1,SM1=0發(fā)送:TXD輸出。CPU執(zhí)行寫SBUF指令后開始發(fā)送,送完一幀后,TI置1,在發(fā)送下一幀之前,TI必須清零(由中斷服務(wù)程序或查詢程序)。接收:當(dāng)REN=1時(shí),允許接收數(shù)據(jù)。檢測到RXD端有負(fù)跳變并確認(rèn)起始位后,開始接收數(shù)據(jù)。當(dāng)收到第9位數(shù)據(jù)后,若(1)RI=0;(2)SM2=0或第9位數(shù)據(jù)=1,則接收數(shù)據(jù)有效,8位數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)送入RB8,并使RI=1。否則接收數(shù)據(jù)丟失。(4)方式3SM0=1,SM1=1同方式2,只是通信波特率不同。(3)方式2SM0=1,SM1=0方式0:
波特率是固定的,其值為fosc/12。方式2:
波特率=2smod.fosc/64方式3:(同方式1)
波特率由定時(shí)器T1或T0的溢出率決定,是可變的。
波特率=2smod.T1溢出率/32T1溢出率=fosc[1/(2k-初值)]/12;k為定時(shí)器T1的位數(shù)。
注:定時(shí)器T1或T0通常工作于方式2。4、波特率的計(jì)算與設(shè)置方式0:4、波特率的計(jì)算與設(shè)置串行口常用波特率及T1初值(方式1和方式3時(shí))常用波特率時(shí)鐘頻率FOSCSMOD計(jì)/定方式計(jì)/定初值19.2K9.6K4.8K2.4K1.2K60011011.0592MHz11.0592MHz11.0592MHz11.0592MHz11.0592MHz11.0592MHz6MHz10000002222222FDHFDHFAHF4HE8HD0H72H串行口常用波特率及T1初值(方式1和方式3時(shí))常用波特率時(shí)鐘(三)串行口的應(yīng)用串行口在方式0下的應(yīng)用在方式0下,串行口可被設(shè)置成并入串出的輸出口(需外接一片8位串行輸入并行輸出的同步移位寄存器)或串入并出的輸入口(需外接一片8位并行輸入串行輸出的同步移位寄存器)。
串行口在其他方式下的應(yīng)用
方式1為10位異步通信,有8位數(shù)據(jù)位,不可用于多機(jī)通信。
方式2和方式3為11位異步通信,有9位數(shù)據(jù)位,可在多機(jī)方式下通信(SM2=1)。(三)串行口的應(yīng)用串行口在方式0下的應(yīng)用8031RXDTXDP1.0DATACD4090CLKSTB例題:根據(jù)下圖的線路連接,編寫發(fā)光二極管自左至右以一定速度輪流顯示的程序。設(shè)發(fā)光二極管為共陰極接法。
CD4049——8位串行輸入并行輸出的同步移位寄存器,STB為控制端(0—串行輸入數(shù)據(jù)且并行輸出端關(guān)閉,1—并行輸出數(shù)據(jù)且串行輸入端關(guān)閉)。8031DATACD4090例題:根據(jù)下圖的線路解:ORG2000H MOVSCON,#00H;令串行口為方式0 MOVIE,#90H;開串行口中斷 CLRP1.0;禁止CD4094并行輸出 MOVA,#80H
;起始顯示碼送A MOVSBUF,A;
8031串行輸出LOOP:SJMPLOOP;等待串行口輸出完ORG0023H AJMPSBV ;轉(zhuǎn)SBV ORG0100HSBV:SETBP1.0 ;點(diǎn)亮發(fā)光管 ACALLDELAY;點(diǎn)亮一段時(shí)間 CLRTI ;清發(fā)送中斷標(biāo)志 RRA ;準(zhǔn)備點(diǎn)亮下一位CLRP1.0;滅顯示MOVSBUF,A;串行口輸出
RETIDELAY:;延時(shí)程序: END解:ORG2000HDELAY:例題:根據(jù)下圖的線路連接,編寫串行輸入開關(guān)量并存入20H單元的程序。要求:控制開關(guān)KC斷開(KC=1)時(shí)8031處于等待狀態(tài),KC合上時(shí)8031開始輸入并進(jìn)行模擬。KC8031RXDTXDP1.1P1.0Q8CD4014CLKP/SCD4014——并行輸入串行輸出的同步移位寄存器,P/S為控制端(0—串行輸出且并行輸入端關(guān)閉,1—并行輸入數(shù)據(jù)且串行輸出端關(guān)閉)。例題:根據(jù)下圖的線路連接,編寫串行輸入開關(guān)量并存入20H單元解:ORG2000H START:JBP1.0,$;若KC斷開,則等待SETBP1.1;令CD4014并行輸入開關(guān)量CLRP1.1;CD4014開始串行輸出MOVSCON,#10H;令串行口為方式0,啟動(dòng)接收
JNBRI,$;等待接收
CLRRI;若接收已完,則請(qǐng)RI MOVA,SBUF;開關(guān)量送累加器A MOV20H,A;存入內(nèi)存 ACALLOTHPRO;轉(zhuǎn)其他程序 SJMPSTART;準(zhǔn)備下次開關(guān)量輸入
END解:ORG2000H例題:請(qǐng)用中斷法編出串行口在方式1下的發(fā)送程序。設(shè)單片機(jī)主頻為6MHz,定時(shí)器T1用作波特率發(fā)生器,波特率為2400b/s,發(fā)送字符塊在內(nèi)部RAM的起始地址為TBLOCK,字符塊長度為LEN。要求奇校驗(yàn)位在數(shù)據(jù)第8位發(fā)送。字符塊長度LEN率先發(fā)送。
例題:請(qǐng)用中斷法編出串行口在方式1下的發(fā)送程序。設(shè)單片機(jī)主頻開始定時(shí)器T1初始化(波特率設(shè)置并啟動(dòng)T1)串行口為方式1字符塊起始地址送R0字符塊長度字節(jié)送R2發(fā)送字符塊長度字節(jié)開CPU中斷開串行口中斷主程序流程圖發(fā)送中斷服務(wù)程序流程圖關(guān)串行口中斷發(fā)送字符送A形成奇校驗(yàn)位添加到第8數(shù)據(jù)位啟動(dòng)串行口發(fā)送所有字符發(fā)完?字符塊指針加1中斷返回停止發(fā)送YN開始定時(shí)器T1初始化串行口為方式1字符塊起始地址送R0發(fā)送字例題:請(qǐng)用查詢法編出串行口在方式3下的接收程序。設(shè)單片機(jī)主頻為6MHz,波特率為2400b/s,接收數(shù)據(jù)區(qū)起始地址為RBLOCK(內(nèi)部RAM),接收數(shù)據(jù)塊長度字節(jié)由始發(fā)端發(fā)送來。要求采用累加和校驗(yàn)。例題:請(qǐng)用查詢法編出串行口在方式3下的接收程序。設(shè)單片機(jī)主頻主程序流程圖開始定時(shí)器T1方式2設(shè)置時(shí)間常數(shù)初值啟動(dòng)T1串行口為方式3SMOD=1接收數(shù)據(jù)區(qū)起始地址送R0累加和寄存器R3清零調(diào)用接收子程序停機(jī)主程序流程圖開始定時(shí)器T1方式2串行口為方式3接收數(shù)據(jù)區(qū)起始接收子程序流程圖返回清除RI比較兩個(gè)累加和YN清楚RI清RI數(shù)據(jù)塊長度字節(jié)存R2求累加和并送R3數(shù)據(jù)塊長度字節(jié)接收完?清RI收到字符存入內(nèi)存求累加和并送入R3接收數(shù)據(jù)區(qū)指針加1一個(gè)字符幀接收完?N全部字符收完?NYY累加和字節(jié)收完?N相等?YERRORYN接收子程序流程圖返回清除RIYN清楚RI清RI數(shù)據(jù)塊長度字節(jié)(四)串行通訊中的多機(jī)通訊硬件連接TxD
RxD
8051
(主)TxDRxD8051
(從0)TxDRxD8051
(從n)(四)串行通訊中的多機(jī)通訊硬件連接TxDTxD工作流程方式2或3,主機(jī)SM2=0,TB8=1——傳送地址信息 TB8=0——傳送數(shù)據(jù)信息。 從機(jī)SM2=1——從機(jī)只接收地址幀。從機(jī)SM2=0——既接收地址幀
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 失能老人護(hù)理協(xié)議書
- 夫妻貸款責(zé)任協(xié)議書
- 學(xué)校菜地耕種協(xié)議書
- 外出務(wù)工受傷協(xié)議書
- 學(xué)長團(tuán)隊(duì)合作協(xié)議書
- 夫妻財(cái)產(chǎn)分明協(xié)議書
- 學(xué)校校服征訂協(xié)議書
- 園林門面轉(zhuǎn)讓協(xié)議書
- 合約戀愛開除協(xié)議書
- 學(xué)校之間安全協(xié)議書
- 機(jī)械制圖習(xí)題集第九章《裝配圖》匯編
- 天師大和韓國世翰大學(xué)研究生入學(xué)英語試題
- 土建生態(tài)環(huán)保和綠色施工環(huán)境管理培訓(xùn)ppt
- GB/T 27930-2023非車載傳導(dǎo)式充電機(jī)與電動(dòng)汽車之間的數(shù)字通信協(xié)議
- 電力工程項(xiàng)目管理手冊(cè)
- 2023年高考真題-政治(江蘇卷)含解析
- 醫(yī)院化驗(yàn)單模板 血常規(guī)
- 領(lǐng)導(dǎo)干部個(gè)人事項(xiàng)少報(bào)漏報(bào)說明
- 提高住院病歷完成及時(shí)性持續(xù)改進(jìn)(PDCA)
- 華為公司質(zhì)量管理手冊(cè)
- 自主擇業(yè)協(xié)議書
評(píng)論
0/150
提交評(píng)論