




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十章
MCS-51單片機(jī)的串行接口110.1串行通信基礎(chǔ)知識通信的基本方式并行通信:各位數(shù)據(jù)同時傳送。串行通信:數(shù)據(jù)一位位按順序傳送。210.1.1串行通信的兩種基本方式
1.異步傳送方式收發(fā)雙方有各自的時鐘源控制字符發(fā)送和接收,數(shù)據(jù)以一個字(字符)為傳送單位,它們在線路上傳送不連續(xù)。異步傳送時,發(fā)送方能采用兩種方式傳送,即各個字符連續(xù)傳送和字符間斷傳送。3異步傳送方式異步通信按幀傳送數(shù)據(jù),利用每幀的起、止信號來建立發(fā)送方與接收方之間的同步,每幀內(nèi)部各位均采用固定的時間間隔,但幀與幀之間的時間間隔是隨機(jī)的。其基本特征是每個字符必須用起始位和停止位作為字符開始和結(jié)束標(biāo)志。MCS-51單片機(jī)串行通信采用異步通信方式。4異步傳送方式異步通信的字符格式幀組成:起始位、數(shù)據(jù)位、奇偶校驗位和停止位。5異步通信的字符格式起始位:“0”信號,占用1位,通知接收設(shè)備一個新字符開始;數(shù)據(jù)線不傳送字符時保持“1”。接收端不斷檢測線路的狀態(tài),如果連續(xù)收到“1”以后又檢測到“0”,表明新字符開始;6異步通信的字符格式數(shù)據(jù)位:可以選擇5位、6位、7位或8位,發(fā)送時,先傳送最低位,后傳送高位;奇偶校驗位:占用1位,也可以不用;停止位:可以選擇1位、1.5位或2位。7波特率(bandRate)波特率定義:每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),單位是位/秒(bps)。例,傳送速率為120字符/秒,而每個字符又包含10位(1位起始位、7位數(shù)據(jù)位、1位奇偶校驗位和1位停止位),則波特率為:120字符/秒×10位/字符=1200位/秒=1200波特異步通信波特率范圍:50~56,000bps8波特率在串行通信中,數(shù)據(jù)位的發(fā)送和接收分別由發(fā)送時鐘脈沖和接收時鐘脈沖進(jìn)行定時控制。時鐘頻率比波特率高若干倍。時鐘頻率高,則波特率高,通信速度就快;反之,時鐘頻率低,波特率就低,通信速度就慢。9異步傳送方式異步傳送方式設(shè)備簡單、實現(xiàn)方便。但由于需要在傳送數(shù)據(jù)中插入起始位和停止位,降低了有效數(shù)據(jù)位的傳送速率。10串行通信的基礎(chǔ)知識2.同步傳送方式同步方式將一大批數(shù)據(jù)分成幾個數(shù)據(jù)塊,數(shù)據(jù)塊之間用同步字符(SYN,16H)隔開,傳輸?shù)母魑欢M(jìn)制碼之間沒有間隔。11同步傳送方式同步傳送方式必須嚴(yán)格保持發(fā)送和接收時鐘同步。為了保證接收正確,發(fā)送方需要傳送數(shù)據(jù)和時鐘信號。硬件要求高,通訊雙方須嚴(yán)格同步。1210.1.2串行通信中數(shù)據(jù)的傳送方式單工通訊(Simplex)半雙工通訊(Half-duplex)全雙工通訊(Full-duplex)MCS-51單片機(jī)采用全雙工通訊方式13串行通信中數(shù)據(jù)的傳送方式單工通訊:數(shù)據(jù)單向傳送。發(fā)送器接收器A站B站14串行通信中數(shù)據(jù)的傳送方式半雙工通訊:數(shù)據(jù)分時雙向傳送。特點:①每端需有一個收/發(fā)切換電子開關(guān)②切換會產(chǎn)生時間延遲應(yīng)用:打印機(jī)串口等發(fā)送器接收器發(fā)送器接收器A站B站1574LS245邏輯圖
(八同相三態(tài)收發(fā)器)16串行通信中數(shù)據(jù)的傳送方式全雙工通訊:可同時進(jìn)行發(fā)送和接收。特點:①每一端都有發(fā)送器和接收器②有二條傳送線應(yīng)用:交互式應(yīng)用,遠(yuǎn)程監(jiān)測控制發(fā)送器接收器接收器發(fā)送器A站B站17協(xié)議與接口標(biāo)準(zhǔn)串行通信的格式及約定(如同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平等)不同,形成多種串行通信協(xié)議與接口標(biāo)準(zhǔn)。?
通用異步收發(fā)器(UART)-MCS-51串口等?通用串行總線(USB)18協(xié)議與接口標(biāo)準(zhǔn)?
I2C總線:Inter-IntegratedCircuitPhilips公司研制的一種簡單、雙向二線制同步串行總線。I2C串行總線一般有兩根信號線:雙向數(shù)據(jù)線SDA、時鐘線SCL。一般微控制器與各種傳感器的通信通過I2C總線。19協(xié)議與接口標(biāo)準(zhǔn)?
RS-485:RS-485采用平衡發(fā)送和差分接收,具有抑制共模干擾的能力。用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器。采用半雙工方式,通信距離為幾十米到上千米。20
RS-485的主要特點差分信號擁有更好的噪聲抗干擾性能;差分信號可抑制外部噪聲(A和B);共模偏移量(地偏移)也可抵消;2122協(xié)議與接口標(biāo)準(zhǔn)?
SPI總線:SerialPeripheralBus總線是Motorola公司提出的一種同步串行外設(shè)接口,容許CPU與各種外圍接口器件以串行方式進(jìn)行通信、交換信息。23協(xié)議與接口標(biāo)準(zhǔn)?
RS-232C:美國電子工業(yè)協(xié)會EIA(ElectronicIndustryAssociation)制定的一種串行物理接口標(biāo)準(zhǔn)。邏輯1(MARK)=-3V~-15V
邏輯0(SPACE)=+3~+15V24MCS-51串行口寄存器結(jié)構(gòu)2510.2MCS-51單片機(jī)的串行接口串行接口電路為用戶提供了兩個串行口緩沖寄存器(SBUF),發(fā)送緩存器:接收片內(nèi)總線送來的數(shù)據(jù),只能寫不能讀。數(shù)據(jù)通過TXD引腳向外傳送;接收緩沖器:向片內(nèi)總線發(fā)送數(shù)據(jù),只能讀不能寫。通過RXD引腳接收數(shù)據(jù)。
發(fā)送緩沖器與接收緩沖器共用一個地址99H。2610.2.1MCS-51單片機(jī)的串行接口串行口工作狀態(tài)受控于:SCON:串行口控制寄存器,用來控制串行口的工作方式等。PCON:電源控制寄存器。27串行口控制/狀態(tài)寄存器SCON(98H)D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位序SCONSM0SM1方式說明波特率000同步移位寄存器主振頻率fosc/12
01110位異步接收和發(fā)送定時器控制
10211位異步接收和發(fā)送fosc/32,fosc/6411311位異步接收和發(fā)送定時器控制28串行口控制/狀態(tài)寄存器SCON(98H)SM2:多機(jī)通信控制位,主要用于工作方式2和工作方式3。在這二個方式下:SM2=1,當(dāng)接收到第9位數(shù)據(jù)(RB8)為0時,不置位接收中斷標(biāo)志RI,并且將接收到的前8位數(shù)據(jù)丟棄;RB8為“1”時,將接收的前8位數(shù)據(jù)送SBUF,并置位RI產(chǎn)生中斷請求。SM2=0時,不論RB8為“0”和“1”,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷。在方式0時,SM2必須為“0”。29串行口控制/狀態(tài)寄存器SCONREN:允許接收控制位。REN=1,允許串口接收數(shù)據(jù);REN=0,禁止串口接收數(shù)據(jù);TB8:發(fā)送數(shù)據(jù)的第9位。在方式2、3中,準(zhǔn)備發(fā)送的第9位數(shù)據(jù)存放在TB8位,可用作校驗位和地址/數(shù)據(jù)標(biāo)識位。此位由軟件置位和復(fù)位。RB8:接收數(shù)據(jù)的第9位。在方式2、3中,存放接收數(shù)據(jù)的第9位。在方式1下,若SM2=0,則RB8存放收到的停止位方式,對接收數(shù)據(jù)進(jìn)行某種控制;方式0下,不使用RB8位。30串行口控制/狀態(tài)寄存器SCONTI:發(fā)送中斷標(biāo)志,指示發(fā)送的一幀是否結(jié)束。在方式0下,發(fā)送完第8位數(shù)據(jù)時,TI置位;其它方式,發(fā)送停止位時,TI置位。必須由軟件清零。RI:接收中斷標(biāo)志,指示接收的一幀是否結(jié)束。在方式1下,接收到第8位數(shù)據(jù)時,RI置位;其它方式,接收到停止位時,RI置位。必須由軟件清零。31電源控制寄存器PCON在方式1、2、3時,與串行通信有關(guān)的是D7位(SMOD),該位為波特率選擇位。///SMOD位符號D0D1D2D3D4D5D6D7位序當(dāng)SMOD=1時,串行口波特率×2;當(dāng)SMOD=0時,串行口波特率為設(shè)定值。
MCS-51復(fù)位后,SMOD=0。PCON單元地址87H,不可位尋址。3210.2.2MCS-51串行口的工作方式1.方式0:移位寄存器輸入/輸出方式串行口相當(dāng)于一個并入串出(發(fā)送)或串入并出(接收)的移位寄存器。在此方式下,MCS-51一般要外接移位寄存器。主要用途是與外接的移位寄存器結(jié)合構(gòu)成并行I/O口擴(kuò)展。低位在前。33串行口方式0的時序34方式0:移位寄存器輸入/輸出方式(1)數(shù)據(jù)輸出(發(fā)送)
數(shù)據(jù)寫入SBUF后,數(shù)據(jù)在移位脈沖(TXD)控制下,由RXD端逐位移入74LS164。當(dāng)8位數(shù)據(jù)全部移出后,TI由硬件置位,發(fā)生中斷請求。若CPU響應(yīng)中斷,則從0023H單元開始執(zhí)行串行口中斷服務(wù)程序,數(shù)據(jù)由74LS164并行輸出。35方式0:移位寄存器輸入/輸出方式(2)數(shù)據(jù)輸入(接收)REN=1時,數(shù)據(jù)在移位脈沖控制下,從RXD端輸入。當(dāng)接收到8位數(shù)據(jù)時,置位RI,發(fā)生中斷請求。通過外接74LS165,串行口實現(xiàn)數(shù)據(jù)的并行輸入。36方式1:10(8)位異步接收/發(fā)送方式
10位為一幀的異步串行通信方式。其幀格式為1個起始位、8個數(shù)據(jù)位和1個停止位。(1)數(shù)據(jù)輸出(發(fā)送)
數(shù)據(jù)寫入SBUF開始發(fā)送,此時由硬件加入起始位和停止位,構(gòu)成一幀數(shù)據(jù),由TXD串行輸出。輸出一幀數(shù)據(jù)后,TXD保持在高電平狀態(tài)下,并將TI置位,通知CPU可進(jìn)行下一個字符發(fā)送。37方式1:10(8)位異步接收/發(fā)送方式2.數(shù)據(jù)輸入(接收)
當(dāng)REN=1、SM0=0、SM1=1,并檢測到起始位后,由移位脈沖控制接收數(shù)據(jù)。當(dāng)滿足條件:RI=0;收到停止位為“1”或SM2=0時,8位數(shù)據(jù)送入SBUF,停止位進(jìn)入RB8,置位中斷標(biāo)志RI。如果兩個條件不滿足,數(shù)據(jù)將丟失。38串行口方式1的時序39方式2:11(9)位異步發(fā)送/接收方式方式2為11位為一幀的異步串行通信方式。幀格式為1個起始位、9個數(shù)據(jù)位和1個停止位。方式2下,字符還是8個數(shù)據(jù)位,增加了第9位數(shù)據(jù)位(D8),即TB8,其功能由用戶確定,是一個可編程位。發(fā)送數(shù)據(jù)前,用指令將SCON的TB8位中數(shù)據(jù)準(zhǔn)備好:
SETBTB8;TB8位置“1”CLRTB8;TB8位置“0”40方式2:11(9)位異步接收/發(fā)送方式
MOVSCON,#80HMOVPCON,#80HMOVR0,#40HMOVR2,#16LOOP:MOVA,@R0
;取數(shù)據(jù)
MOVC,P;
MOVTB8,C
MOVSBUF,A;數(shù)據(jù)送發(fā)送緩沖器
;啟動發(fā)送WAIT:JNBTI,WAITCLRTI;清除發(fā)送中斷標(biāo)志TIINCR0DJNZR2,LOOP
TB8可作為多機(jī)通信中的地址或數(shù)據(jù)的標(biāo)志位,也可為奇偶校驗位。例,以TB8作為奇偶校驗位,發(fā)送程序。41方式2:11(9)位異步發(fā)送/接收方式
REN=1、SM0=1、SM1=0時,串口以方式2接收數(shù)據(jù)。當(dāng)滿足條件:RI=0,SM2=0;或收到的第9位數(shù)據(jù)為“1”。
8位數(shù)據(jù)送入SBUF,第9位數(shù)據(jù)進(jìn)入RB8,置位RI。如果條件不滿足,數(shù)據(jù)將丟失。42[例]若附加第9位數(shù)據(jù)為奇偶校驗位,接收處理程序:
MOVSCON,#90HLOOP:JNBRI,LOOP
CLRRI;清除接收中斷標(biāo)志RI
MOVA,SBUF;前8位數(shù)據(jù)
MOVC,PJBPSW.0,ONE;P=1則判斷RB8是否為1?
JBRB8,ERR;A的奇偶位為0,RB8為1,出錯
SJMPOKONE:JNBRB8,ERROK:MOV@R0,A…..ERR:…..
;出錯處理程序入口,如丟棄數(shù)據(jù)、要求重發(fā)等43串行口方式2、3的時序44方式3:11位異步發(fā)送/接收方式當(dāng)SM0、SM1=11時,串口工作于方式3,幀數(shù)據(jù)格式同方式2,但波特率可變,由T1確定。45MCS-51波特率計算-方式0波特率固定:fosc為主機(jī)主頻46MCS-51波特率計算-方式1、3波特率由T1的溢出率確定,計算公式為:其中,SMOD為寄存器PCON的最高位。T1的溢出率與其采用的工作方式有關(guān):47MCS-51波特率計算-方式2有兩種固定波特率,即:fosc/32和fosc/64常用波特率和定時器T1初值關(guān)系表48波特率(方式1、3)fosc=6Mfosc=12Mfosc=11.059MSMODT1方式初值SMODT1方式初值SMODT1方式初值62.5k
12FFH
19.2k
12FDH9.6k
02FDH4.8k
12F3H02FAH2.4k12F3H12F3H02F4H1.2k12E6H02E6H02E8H60012CCH02CCH02D0H30002CCH0298H02A0H137.5121DH021DH022EH1100272H01FEEBH01FEFFH4910.3.2串行口方式0用作并行I/O口【例10.2】74LS164并行輸出端接8支發(fā)光二極管,利用其串入并出功能,將發(fā)光二極管從左到右依次點亮,反復(fù)循環(huán)。假定發(fā)光二極管為共陰極接法。50編程實現(xiàn)方法
ORG0023H AJMPSBR ORG2000H MAIN:MOVSCON,#00H;串行口工作在方式0 MOVA,#80H;最左一位點亮
CLRP1.0;關(guān)閉并行輸出
MOVSBUF,A;開始串行輸出LOOP:SJMP$SBR:SETBP1.0 ;啟動輸出
ACALLDELAY;調(diào)用延時子程序
CLRTI ;清發(fā)送中斷標(biāo)志
RR A ;發(fā)光右移
CLRP1.0;關(guān)閉并行輸出
MOVSBUF,A;再次串行輸出
RETI5110.3.3串口方式1、3時的發(fā)送和接收【例】利用串行口進(jìn)行雙機(jī)通信。52甲機(jī)發(fā)送(采用查詢方式)
MOVSCON,#80H;設(shè)置工作方式2MOVPCON,#00;置SMOD=0,波特率不加倍
MOVR0,#40H;數(shù)據(jù)區(qū)地址指針
MOVR2,#10H;數(shù)據(jù)長度LOOP:MOVA,@R0;取發(fā)送數(shù)據(jù)
MOVC,P;奇偶位送TB8MOVTB8,CMOVSBUF,A;送串口并開始發(fā)送數(shù)據(jù)WAIT:JBCTI,NEXT;
檢測是否發(fā)送結(jié)束,并清除TISJMPWAITNEXT:INCR0;修改發(fā)送數(shù)據(jù)地址指針
DJNZR2,LOOPRET53乙機(jī)接收(查詢方式)
MOVSCON,#90H;方式2,并允許接收MOVPCON,#00H;置SMOD=0MOVR0,#60H;置數(shù)據(jù)區(qū)地址指針MOVR2,#10H;等待接收數(shù)據(jù)長度LOOP:JBCRI,READ;等待接收數(shù)據(jù),并清RISJMPLOOPREAD:MOVA,SBUF;讀一幀數(shù)據(jù)
MOVC,PJNCLP0;C不為1轉(zhuǎn)LP0JNBRB8,ERR;RB8=0,即RB8不為P轉(zhuǎn)ERRAJMPLP1LP0:JBRB8,ERR;RB8=1,即RB8不為P,轉(zhuǎn)ERRLP1:MOV@R0,A;RB8=P,接收一幀數(shù)據(jù)
INCR0DJNZR2,LOOPRETERR:…
;出錯處理程序5410.3.3串口方式1、3時的發(fā)送和接收例10.38031按雙工方式收發(fā)ASCII字符,最高位用作奇校驗位。要求傳送波特率為1200bps。編程思想:7位ASCII碼加1位奇校驗位共8位數(shù)據(jù)位,采用串口方式1。將P值取反后放入ASCII碼最高位,實現(xiàn)奇校驗。設(shè)fosc為6MHz,發(fā)送數(shù)據(jù)區(qū)的首地址為20H,接收數(shù)據(jù)區(qū)的首地址為40H。55串口方式1、3時的發(fā)送和接收MOVTMOD,#20HMOVTL1,#0F4HMOVTH1,#0F4HSETBEASETBTR1MOVSCON,#50HMOVR0,#20HMOVR1,#40HACALLSOUTLOOP:SJMP$主程序56串口方式1、3時的發(fā)送和接收ORG0023HAJMPSBR1SBR1:JNBRI,SENDACALLSINSJMPNEXTSEND:ACALLSOUTNEXT:RETI串口中斷服務(wù)程序57串口方式1、3時的發(fā)送和接收SOUT:MOVA,@R0MOVC,PCPLCMOVACC.7,C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 試用期提前轉(zhuǎn)正了合同5篇
- 項目資金預(yù)算表-項目資金籌措與預(yù)算
- 建筑工程合同種類
- 2025年淮南資格證模擬考試
- 2025年江西貨運(yùn)從業(yè)資格證考試題答案解析大全
- 云服務(wù)器托管服務(wù)及支持合同
- 個人酒店承包經(jīng)營合同8篇
- 上海員工的勞動合同范本5篇
- 課題申報書參考文獻(xiàn)格式
- 中國電建合同范本
- 鎳礦石購銷合同
- (新版)電工三級-職業(yè)技能等級認(rèn)定考試題庫(學(xué)生用)
- 《高性能樹脂》課件
- 中央2024年中央宣傳部直屬單位招聘106人筆試歷年典型考題及考點附答案解析
- 《教育向美而生-》讀書分享課件
- 拒絕校園欺凌從我做起完整版課件
- 幼兒園《認(rèn)識醫(yī)生和護(hù)士》課件
- 技術(shù)進(jìn)口合同登記證
- DZ∕T 0372-2021 固體礦產(chǎn)選冶試驗樣品配制規(guī)范(正式版)
- 細(xì)菌的分離培養(yǎng)與培養(yǎng)特性觀察課件講解
- 國家電網(wǎng)公司輸變電工程工藝標(biāo)準(zhǔn)庫變電工程部分
評論
0/150
提交評論