第六 講 MCS-51單片機(jī)串行通訊接口_第1頁
第六 講 MCS-51單片機(jī)串行通訊接口_第2頁
第六 講 MCS-51單片機(jī)串行通訊接口_第3頁
第六 講 MCS-51單片機(jī)串行通訊接口_第4頁
第六 講 MCS-51單片機(jī)串行通訊接口_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《單片機(jī)原理及應(yīng)用》

----單片機(jī)工作過程導(dǎo)向廣東技術(shù)師范學(xué)院自動(dòng)化學(xué)院測(cè)控技術(shù)與儀器技術(shù)系祁偉主講MCS-51系統(tǒng)的串行接口一、串行通信的概念通信:CPU與外圍設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換叫通信。串行通信的兩種基本方式:1)并行通信:各位同時(shí)傳送,速度快,近距離,成本高。2)串行通信:一位一位傳送,速度慢,成本低,遠(yuǎn)距離。 P1.080C51 .... P1.7 GNDD0....D7GND外圍設(shè)備并行通信 RXD80C51 TXD GNDTXDRXDGND外圍設(shè)備串行通信并行、串行通信示圖一、異步通信傳送方式異步:字符按幀格式傳送…P10D0D1D2D3D4D5D6D7P10D0…

起始位

數(shù)據(jù)位

校停驗(yàn)止位位異步通信的幀格式二、同步通信傳送方式同步傳送:以同步字符SYN開始連續(xù)發(fā)送,再以同步字符結(jié)束,時(shí)鐘信號(hào)同時(shí)發(fā)送。適用高速、大容量的數(shù)據(jù)傳送。開始

結(jié)束同步字符同步字符數(shù)據(jù)段同步字符同步字符同步傳送方式三、串行通信數(shù)據(jù)的傳送方向1、單工傳送(單工制式Simplex)一端發(fā)送,一端接收。2、半雙工(半雙工制式HalfDuplex)一端可發(fā)送可接收,但同一時(shí)間只能實(shí)現(xiàn)一個(gè)功能。雙方可通過硬件、軟件約定。3、全雙工(全雙工Full-duplex制式)同一時(shí)間既可發(fā)送又可接收有各自的獨(dú)立通道。接收器單工通信方式發(fā)送器接收器接收器

發(fā)送器發(fā)送器

數(shù)據(jù)流半雙工通信方式接收器接收器

發(fā)送器發(fā)送器

數(shù)據(jù)流全雙工通信方式四、MCS-51單片機(jī)的串行接口組成MOVSBUF,AMOVA,SBUF串行口構(gòu)成及工作原理串行口構(gòu)成:發(fā)送數(shù)據(jù)緩沖器SBUF(只寫不讀)、接收數(shù)據(jù)緩沖器SBUF(只讀不寫)、電源控制寄存器PCON、串行口控制寄存器SCON、發(fā)送中斷標(biāo)志位TI、接收中斷標(biāo)志位RI、移位寄存器等組成。接收:接收控制器按波特率發(fā)生器提供的時(shí)鐘速率從RXD引腳一位一位接收數(shù)據(jù),當(dāng)收到一個(gè)完整字符時(shí),裝入SBUF中,同時(shí)置RI=1,通知CPU,CPU執(zhí)行MOVA,SBUF,將數(shù)據(jù)讀入累加器A。工作原理:發(fā)送:CPU執(zhí)行MOVSBUF,A,將數(shù)據(jù)送入SBUF。發(fā)送控制器按波特率發(fā)生器(定時(shí)器構(gòu)成)提供的時(shí)鐘速率將SBUF中的數(shù)據(jù)一位、一位從TXD輸出,發(fā)送結(jié)束時(shí),置TI=1。

注意:由于SBUF具有雙緩沖作用,它可以在CPU讀入之前開始接收下一數(shù)據(jù),CPU應(yīng)在下一數(shù)據(jù)接收完畢前讀取SBUF內(nèi)容。由于串口的接收、發(fā)送各自獨(dú)立,所以可同時(shí)發(fā)送及接收,即可以實(shí)現(xiàn)全雙工通訊。六、與通訊有關(guān)的寄存器1)SBUF(1):發(fā)送緩沖器SBUF(2):接收緩沖器2)電源控制寄存器PCON:控制串行口波特率,SMOD即PCON.7波特率倍增位,PCON.7=1,波特率在原設(shè)定值上加倍??赏瑫r(shí)、發(fā)送接收SMODD0D7PCONGF1GF0PDIDL

MOVPCON,#80H能否位尋址?3)串行口控制寄存器SCON設(shè)定串行口工作方式、接收、發(fā)送控制、監(jiān)視串行口工作。SM0SM1SM2RENTB8RB8TIRI工作方式設(shè)定用于多機(jī)通訊接收控制發(fā)送第九位接收第九位發(fā)送中斷標(biāo)志接收中斷標(biāo)志多機(jī)通信TB8=0表示數(shù)據(jù)幀多機(jī)通信TB8=1表示地址幀七、MCS-51串行的工作方式MCS-51的串行口有四種工作方式,它是由SCON中的SM1和SM0來決定。SM0SMl工作方式方式簡(jiǎn)單描述波特率000移位寄存器I/O主振頻率/120118位UART可變1029位UART主振頻率/32或主振頻率/641139位UART可變方式0:SM0SM1=00移位寄存器方式,數(shù)據(jù)傳輸波特率(fosc/12),串口輸出端與移位寄存器相連,發(fā)送、接收的是8位數(shù)據(jù)。發(fā)送:數(shù)據(jù)從RXD引腳串行輸出,TXD引腳輸出同步脈沖,當(dāng)一個(gè)數(shù)據(jù)寫入串行口緩沖器時(shí),串行口將8位數(shù)據(jù)以(fosc/12)波特率從RXD引腳輸出,先送低位,發(fā)送結(jié)束后,置TI標(biāo)志,若允許串口中斷,CPU即響應(yīng)中斷服務(wù)。若不允許串口中斷,即可通過查詢TI位判斷發(fā)送結(jié)束。由于TI位不能自動(dòng)清零,則必須由軟件清零后,才能再發(fā)送數(shù)據(jù)。發(fā)送過程:CPU主動(dòng)MOVA,#01HMOVSBUF,A;啟動(dòng)發(fā)送JNBTI,$CLRTI注釋:SBUF內(nèi)容通過RXD輸出,移位脈沖通過TXD輸出當(dāng)TI=1時(shí),發(fā)送結(jié)束TI,由軟件清零SBUF=0X01;while(!TI);TI=0;串行口方式0的時(shí)序串入/并出LED顯示電路圖例題:根據(jù)實(shí)驗(yàn)板電路設(shè)計(jì),通過8051串口工作方式0,控制2位數(shù)碼管顯示00~991)利用MCS-51單片機(jī)串入/并出的顯示電路設(shè)計(jì)2)從I/O接口擴(kuò)展我們學(xué)到可以利用MCS-51單片機(jī)的串行口擴(kuò)展并行I/O接口。實(shí)驗(yàn)板原理圖的顯示部分就是利用串入/并出技術(shù)實(shí)現(xiàn)2位數(shù)碼管的顯示任務(wù)??措娐钒逶韴D。3)現(xiàn)在我們根據(jù)硬件電路設(shè)計(jì),編程使2位數(shù)碼管顯示00~99。4)分析程序:字型碼計(jì)算?串行口方式0應(yīng)用74HC595移位寄存器

74595的控制端說明:/CLK(10腳):低電平時(shí)將移位寄存器的數(shù)據(jù)清零。通常接VccSCLK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA-->QB—>QC—>...-->QH;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時(shí),通常都選微秒級(jí))SLCK(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常將SLCK置為低電平,當(dāng)移位結(jié)束后,在SLCK端產(chǎn)生一個(gè)正脈沖(5V時(shí),大于幾十納秒就行了),更新顯示數(shù)據(jù)。/EN(13腳):高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳夠用,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果觀看程序Serial_Disp.c項(xiàng)目訓(xùn)練:(自行練習(xí))試通過串口控制數(shù)碼管開機(jī)顯示op,一分鐘后啟動(dòng)計(jì)時(shí),3分鐘后停機(jī)并顯示30。試通過模擬串口控制數(shù)碼管開機(jī)顯示op,一分鐘后啟動(dòng)計(jì)時(shí),3分鐘后停機(jī)并顯示30。實(shí)驗(yàn):用實(shí)驗(yàn)板(星期四)開機(jī)顯示HELLO-按下p3.2鍵數(shù)碼管后兩位開始以秒為單位計(jì)數(shù)至00~99。方式1

方式1為8位異步通信方式。一幀10位,1位起始位(0),8位數(shù)據(jù)位(低位在前),1位停止位(1),起始位、停止位自動(dòng)加入,TXD發(fā)送端,RXD接收端。波特率=(2SMOD/32)*N

N為定時(shí)器溢出率,每秒定時(shí)溢出的次數(shù)

波特率計(jì)算

波特率即數(shù)據(jù)傳送速率,每秒傳送二進(jìn)制數(shù)碼的位數(shù)bit/s。串行口四種工作方式?jīng)Q定三種波特率。1)方式0,波特率為固定值,為單片機(jī)時(shí)鐘頻率的1/12,即fosc/12,由單片機(jī)T1產(chǎn)生。2)方式2,有兩種波特率, 波特率=(2SMOD/64)fosc式中:SMOD波特率倍增位,可選0、1。3)方式1和方式3波特率是可變的,波特率=(2SMOD/32)*N例題:若串行通信要求波特率為1200bit/s,不加倍,試選用定時(shí)器T1,方式1工作。波特率=(2SMOD/32)*N定時(shí)器定時(shí)1秒時(shí)溢出的次數(shù)為NN=(fosc/12)*[1/(2k-Z)]1200S-1=(20/32)*N,N=38400S-1,38400=(12*106/12)*1/(28-Z)Z=230D=0E6H,通常選fosc=11.059MHz,Z=230D=0E8H也可根據(jù)要求波特率查表得出定時(shí)器初值,如表7-1所列。MCS-51單片微型計(jì)算機(jī)串行口程序設(shè)計(jì)

在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)據(jù)通信主要采用的是異步串行通信方式,在設(shè)置通信接口時(shí),必須根據(jù)需要選擇標(biāo)準(zhǔn)接口,并考慮電平轉(zhuǎn)換,傳輸介質(zhì)等問題。RS232C、RS449、RS423/422、RS485標(biāo)準(zhǔn)總線接口。選擇接口標(biāo)準(zhǔn)時(shí),要注意以下兩點(diǎn):

1)通信速度和通信距離通常標(biāo)準(zhǔn)串行接口的電氣特性,都滿足可靠傳輸時(shí)的最大通信速度和傳送距離指標(biāo)。但這兩個(gè)指標(biāo)之間具有相關(guān)性,適當(dāng)降低傳輸速度,可以提高通信距離,反之。如采用RS422標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳輸時(shí),最大傳輸速度為10Mbit/s,最大傳輸距離為300m,適當(dāng)降低速度傳輸速度,傳送距離可達(dá)1200m。選擇接口標(biāo)準(zhǔn)時(shí),要注意以下兩點(diǎn):2)抗干擾能力通常選擇的標(biāo)準(zhǔn)接口,在保證不超過使用范圍時(shí)都有一定的抗干擾能力,以保證信號(hào)的可靠傳輸。但在一些工業(yè)控制系統(tǒng)中,通信環(huán)境往往十分惡劣,因此在通信介質(zhì)選擇、接口標(biāo)準(zhǔn)選擇時(shí),要充分注意其抗干擾能力,并采取必要的抗干擾措施。例如,在長(zhǎng)距離傳輸時(shí),使用RS422標(biāo)準(zhǔn),能有效抑制共模信號(hào)干擾。在高噪聲污染環(huán)境中,通過使用光纖介質(zhì)可減少噪聲的干擾,通過光電隔離提高通信系統(tǒng)的安全性是一些行之有效的方法。1)RS232C標(biāo)準(zhǔn)總線接口RS232C是使用最早、應(yīng)用最多的一種異步串行通信總線標(biāo)準(zhǔn),它是美國(guó)電子工業(yè)協(xié)會(huì)(ElectronicIndustriesAssociation)1962年公布的,1969年最后一次修訂而成。其中RS是RecommendedStandard的縮寫,232是該標(biāo)準(zhǔn)的標(biāo)識(shí)號(hào),C表示最后一次修訂。①RS232C傳遞信息的格式標(biāo)準(zhǔn)

RS232C采用按位串行方式,該標(biāo)準(zhǔn)所傳遞的信息規(guī)定如下:信息的開始為起始位信息,結(jié)尾為停止位,它可以是一位、一位半或兩位;信息本身可以是5、6、7、8位再加一位奇偶效驗(yàn)位。RS232C傳送的波特率(bit/s)規(guī)定為19200、9600、4800、2400、600、300、150、110、75、50。RS232C接口總線的傳輸距離一般不超過15m。

②RS232C電氣特性由于RS232C是在TTL電路出現(xiàn)之前研制的,所以他的電平不是+5V和地,它使用負(fù)邏輯,其低電平“0”在+5V~+15V之間,高電平“1”在-5V~-15V之間,最高能承受±25V的信號(hào)電平。因此,RS232C不能和TTL電平直接相連,使用時(shí)必須加上適當(dāng)?shù)慕涌陔娐?,否則將TTL電路燒毀。常用晶體管MC1488、MC1489或MAX232/202作TTL與RS232的電平轉(zhuǎn)換。MAX232介紹

晶體管MC1488、MC1489作TTL與RS232的電平轉(zhuǎn)換時(shí),MC1488、MC1489還需要一套12V工作電源,給電路設(shè)計(jì)帶來麻煩,所以通常用MAX232/MAX202TTL與RS232的電平轉(zhuǎn)換。MAXIM(美信)公司生產(chǎn)的含有兩路接收器和驅(qū)動(dòng)器的單電源電平轉(zhuǎn)換芯片,可以把輸入的+5V電源電壓轉(zhuǎn)換為RS-232輸出電平所需的+10V或-10V電壓。MAX232引腳封裝如圖所示。引腳說明如表所示。

第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-

第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。單片機(jī)與單片機(jī)串行通信電路

雙機(jī)雙工通信編程

雙機(jī)通信(點(diǎn)對(duì)點(diǎn))利用單片機(jī)串行口實(shí)現(xiàn)兩個(gè)單片機(jī)之間的串行異步通信。如果兩個(gè)單片機(jī)相距很近(1.5m),將它們的串行口直接相連,即實(shí)現(xiàn)雙機(jī)通信;如果距離較遠(yuǎn),可利用RS232(15m)、RS429、RS423/422、RS485標(biāo)準(zhǔn)總線接口進(jìn)行通信(1200m)編程:利用單片機(jī)實(shí)現(xiàn)串口雙機(jī)雙工通信,要求接收方接收到數(shù)據(jù)1,即驅(qū)動(dòng)一個(gè)通信紅燈RED1亮,接收到數(shù)據(jù)2,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論