【教學(xué)】第一講 80C51的串行接口_第1頁(yè)
【教學(xué)】第一講 80C51的串行接口_第2頁(yè)
【教學(xué)】第一講 80C51的串行接口_第3頁(yè)
【教學(xué)】第一講 80C51的串行接口_第4頁(yè)
【教學(xué)】第一講 80C51的串行接口_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一講80C51的串行接口.學(xué)習(xí)目標(biāo):單片機(jī)串行通信I/O接口的結(jié)構(gòu)串行通信控制寄存器單片機(jī)串行通信的工作方式以及串行通信應(yīng)用。.一、串行通信基本概念

通訊:信息交換計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)外設(shè)應(yīng)用:多機(jī)系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)方式并行通信串行通信異步通信方式—按字符傳輸

同步通信方式—按數(shù)據(jù)塊傳輸

單工半雙工全雙工.并行通信:數(shù)據(jù)多位同時(shí)傳送控制簡(jiǎn)單,傳輸速度快,傳輸線較多.串行通信:數(shù)據(jù)字節(jié)一位一位在一條傳輸線上逐個(gè)傳送。傳輸線少,可利用電話網(wǎng),但傳送控制復(fù)雜。

.異步通信:收、發(fā)設(shè)備使用各自時(shí)鐘。

字符之間是異步的,但同一字符內(nèi)是同步的(各位間距均為”位間隔”的整數(shù)倍).

同步通信:發(fā)送方時(shí)鐘與接收方時(shí)鐘同步。既保持位同步,也保持字符同步。

外同步自同步保持位同步,也保持字符同步..

單工半雙工全雙工

例如:廣播大哥大手機(jī)串行通信的傳輸方向.傳輸速率比特率:每秒鐘傳輸二進(jìn)制代碼的位數(shù)bps波特率:每秒鐘調(diào)制信號(hào)變化的次數(shù)。單位是:波特(Baud)。例如:數(shù)據(jù)傳送的速率為120個(gè)字符每秒,每個(gè)字符由1個(gè)起始位、8個(gè)數(shù)據(jù)位和1個(gè)停止位組成,則其傳送波特率為:10b×120/s=1200b/s=1200波特傳輸距離與傳輸速率的關(guān)系:傳輸距離隨傳輸速率的增加而減小。傳輸速率與傳輸距離.

1、RS-232C接口

EIA(美國(guó)電子工業(yè)協(xié)會(huì))1969年修訂RS-232C標(biāo)準(zhǔn),它定義了DTE與DCE間的物理接口標(biāo)準(zhǔn)。二、串行通信接口標(biāo)準(zhǔn)

.

過(guò)程特性規(guī)定了信號(hào)間的時(shí)序關(guān)系

。

機(jī)械特性使用25針連接器,連接器的尺寸及每個(gè)插針的排列位置都有明確的定義。(陽(yáng)頭)功能特性:電氣特性:負(fù)邏輯,DC(-3~-15v)為1。DC(+3~+15v)為0,DC(-3~+3v)為過(guò)渡區(qū)。.近程通信連接

遠(yuǎn)程通信連接.2、PC與外設(shè)的RS-232直接連接.PC機(jī)與單片機(jī)串行通信接口示意圖.三、串行接口的結(jié)構(gòu)主要由兩個(gè)數(shù)據(jù)緩沖寄存器SBUF和一個(gè)輸入移位寄存器,以及一個(gè)串行控制寄存器SCON(TI\RI)等組成。

ASCON.

設(shè)定工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志

1、80C51串行口的控制寄存器-SC0N

SM0SM1SM2RENTB8RB8TIRISCON(98H)SM0、SM1:工作方式設(shè)置位

00:移位寄存器,fosc/1201:10位異步收發(fā)器(8位數(shù)據(jù)),波特率可變

10:11位異步收發(fā)器(9位數(shù)據(jù)),fosc/64或fosc/3211:11位異步收發(fā)器(9位數(shù)據(jù)),波特率可變

.SM2,多機(jī)通信控制位。主要用于方式2和方式3。對(duì)于接收機(jī)

SM2=0,收到RB8(0或1)既可使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI。

SM2=1,收到的RB8=0時(shí),收到的信息丟棄,不激活RI;若收到的RB8=1時(shí),收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走。方式0時(shí),SM2必須是0。方式1時(shí),SM2=1時(shí),只有接收到有效停止位時(shí),RI才激活。REN,允許串行接收位。置REN=1,啟動(dòng)串口接收過(guò)程置REN=0,則禁止串口接收.

TB8,在方式2、3中,是發(fā)送數(shù)據(jù)的第9位

數(shù)據(jù)的奇偶校驗(yàn)位地址幀/數(shù)據(jù)幀的標(biāo)志位

RB8,在方式2、3中,是接收到數(shù)據(jù)的第9位奇偶校驗(yàn)位地址幀/數(shù)據(jù)幀的標(biāo)志位。方式1時(shí),若SM2=0,則RB8是接收到的停止位。.

TI,發(fā)送中斷標(biāo)志位。方式0時(shí),串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí)其它方式,串行發(fā)送停止位的開始時(shí)硬件使TI置1,發(fā)中斷申請(qǐng)。必須在中斷服務(wù)程序中用軟件將其清0。RI,接收中斷標(biāo)志位。方式0時(shí),串行接收第8位數(shù)據(jù)結(jié)束時(shí)其它方式,串行接收停止位的中間時(shí)硬件使RI置1,發(fā)中斷申請(qǐng)。必須在中斷服務(wù)程序中用軟件將其清0。.2、PCON

SMOD,

波特率倍增位。在方式1、2、3時(shí),波特率與SMOD有關(guān):SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí)SMOD=0。SMOD

PCON(97H).四、80C51串行口的工作方式1.方式0_8位數(shù)據(jù)串行接口工作方式0為同步移位寄存器方式,多用于I/O口的擴(kuò)展,其波特率是固定的,為fosc/12。TXD引腳輸出同步移位脈沖,RXD引腳串行輸入/輸出。方式0接收和發(fā)送電路.方式0掌握:1、8位數(shù)據(jù),波特率為F0SC/122、低位在前,高位在后3、TI,再發(fā)送數(shù)據(jù),軟件清0,CLRTI4、RI,再接收數(shù)據(jù),軟件清0,CLRRI5、同步通信,無(wú)起始位和停止位.2.方式1_10位數(shù)據(jù)

在方式l時(shí),串行口被設(shè)置為波特率可變的8位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為10位,其中1位起始位、8位數(shù)據(jù)位(先低位后高位)和10位數(shù)據(jù)的異步通信。幀格式如圖所示..方式1掌握:1、一幀為10位信息,1位起始(0),8位數(shù)據(jù),1位停止(1)2、波特率=P1273、異步通信4、接收時(shí),RB8里是停止位,數(shù)據(jù)位在SBUF(SM2=0).3.方式2_11位數(shù)據(jù)

串行口工作為方式2時(shí),被定義為9位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為11位,其中1位起始位、8位數(shù)據(jù)位、1位控制/校驗(yàn)位和1位停止位??刂?校驗(yàn)位為第9位數(shù)據(jù)。4.方式3_11位數(shù)據(jù)方式3為波特率可變的11位異步通信方式,除了波特率有所區(qū)別之外,其余同方式2。11位數(shù)據(jù)的異步通信.工作方式掌握:1、幾中工作方式波特率不同2、傳送的位數(shù)不同,方式0是8位(數(shù)據(jù)位),方式1是10(8位數(shù)據(jù)——SBUF,1個(gè)起始、1位停止——RB8),方式2和方式3都是11位(8位數(shù)據(jù),1位控制/校驗(yàn)位——RB8、TB8,1位起始和1位停止位)3、方式0是同步,方式1、2、3是異步.5、波特率的計(jì)算

方式0、2的波特率是固定的,而方式1、3的波特率是可變的,由定時(shí)器T1的溢出率來(lái)決定。

方式0波特率=fosc/12方式2波特率=(2SMOD/64)·fosc方式1波特率=(2SMOD/32)·(T1溢出率)方式3波特率=(2SMOD/32)·(T1溢出率)K為定時(shí)器T1的位數(shù)。.1、單片機(jī)與單片機(jī)的通信

點(diǎn)對(duì)點(diǎn)的通信

硬件連接

五、單片機(jī)串行口應(yīng)用舉例

.串行口初始化具體步驟:確定T1的工作方式(編程TMOD寄存器);計(jì)算T1的初值,裝載TH1、TL1;啟動(dòng)T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);

串行口在中斷方式工作時(shí),還要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。.

2、多機(jī)通信

硬件連接主從系統(tǒng)在實(shí)際系統(tǒng)中,常采用RS-485標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳輸。.

六、單片機(jī)與PC機(jī)的通信

應(yīng)用系統(tǒng)設(shè)計(jì)中,單片機(jī)與PC機(jī)可以方便地組合成分布式控制系統(tǒng)。主計(jì)算機(jī)監(jiān)督管理各子系統(tǒng)分機(jī)的運(yùn)行狀況。其特點(diǎn)是靈活性好、可靠性高。.DOS環(huán)境下,要實(shí)現(xiàn)通信只要直接對(duì)微機(jī)接口芯片8250進(jìn)行口地址操作即可

WINDOWS環(huán)境下,不允許用戶直接操作串口地址。可以調(diào)用API函數(shù),但較為復(fù)雜。使用

VB通信控件(Mscomm)很容易完成通信任務(wù)

VB簡(jiǎn)明易用,實(shí)用性強(qiáng)。它具備基本的串行通信能力:即通過(guò)串行口發(fā)送和接收數(shù)據(jù)。.

MSComm控件主要屬性如下:CommPort:設(shè)置并返回通信端口號(hào);Settings:以字符串的方式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位;PortOpen:設(shè)置并返回端口的狀態(tài),也可以打開和關(guān)閉端口;Input:從接收緩沖區(qū)返回字符和刪除字符;Output:向傳輸緩沖區(qū)寫一個(gè)字符。.

單片機(jī)程序清單如下:

ORG3000HMAIN:MOVTMOD,#20H;在11.0592MHz下,串行口波特率MOVTH1,#0FDH;9600bps,方式3MOVTL1,#0FDH MOVPCON,#00H SETBTR1 MOVSCON,#0D8HLOOP:JBCRI,RECEIVE;接收到數(shù)據(jù)后立即發(fā)出去 SJMPLOOPRECEIVE:MOVA,SBUF MOVSBUF,ASEND:JBCTI,SENDEND SJMPSENDSENDEND:SJMPLOOP.七、單片機(jī)串行口的應(yīng)用

1、串行口擴(kuò)展顯示器

【例1】用8位串入并出移位寄存器74HC164擴(kuò)展顯示器。

.【例2】:把數(shù)據(jù)從顯示緩沖區(qū)送到數(shù)碼管。

入口;將要顯示的數(shù)放在以DIS0為首的8個(gè)單元中。

出口:把預(yù)置的數(shù)輸出以更新原有的顯示。

MOV R2,#08H ;顯示8個(gè)數(shù)碼管MOV R0,#DIS7 ;顯示緩沖區(qū)未地址送入R0DL0:MOV A,@R0 ;取要顯示數(shù)作查表偏移量MOV DPTR,#TAB ;指向字形表首MOVC A,@A+DPTR;查表得字形碼MOV SBUF,A ;發(fā)送顯示DL1:JNB T1,DL1 ;等待發(fā)送完一幀CLR T1 ;清中斷標(biāo)志,準(zhǔn)備繼續(xù)發(fā)送DEC R0 ;更新顯示單元DJNZ R2,DL0 ;重復(fù)顯示所有數(shù)碼管TAB: DB0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4,DB92H,82H,0F8H,80H,90H;5,6,7,8,9,DB88H,83H,0C6H,0A1H,86H;A,B,C,D,E,

DB8EH,0BFH,8CH,0FFH;F,-,P,暗.2、串行口擴(kuò)展的鍵盤在方式0下,串行口作同步移位寄存器用,以8位數(shù)據(jù)為一幀,先發(fā)送或接收最低位,每個(gè)機(jī)器周期發(fā)送或接收一位,故其波特率是固定的,為fosc/12。串行數(shù)據(jù)由RXD(P3.0)端輸入或輸出。

.

CJNE R1,#08,LP1

SJMP RCVI

N1:MOV A,R0

ADD A,A

JMP @A+DPTR

TAB:AJMP OPR0

AJMP OPR1

AJMP OPR7

OPR0: …

LJMP START

OPR7: …

LJMP START

END

ORG 0100HSTART: MOV R7,#20 MOV R0,#50H MOV DPTR,#TAB RCVI:MOV SCON,#10HJNB RI,$ CLR RI MOV A,SBUF MOV R0,#0 MOVR1,#0 LP1:RRC A JNC N1 INC R0 INC R1.3雙機(jī)通信

編程使乙機(jī)從甲機(jī)接收16個(gè)字節(jié)數(shù)據(jù)塊,并存入片外3000H~300FH單元。接收過(guò)程中要求判奇偶校驗(yàn)標(biāo)志RB8。若出錯(cuò)則置F0標(biāo)志為1,若正確則置F0標(biāo)志為0,然后返回?!纠?】編程把甲機(jī)片內(nèi)RAM50H~5FH單元中的數(shù)據(jù)塊從串行口輸出。定義在方式3下發(fā)送,TB8作奇偶校驗(yàn)位。采用定時(shí)器1方式2作波特率發(fā)生器,波特率為1200波特,fosc=11.0592MHz,預(yù)置值TH1=0E8H。.發(fā)送子程序如下:MOV TMOD,#20H ;設(shè)置定時(shí)器1為方式2MOV TL1,#0E8H ;設(shè)預(yù)置值MOV TH1,#0E8HSETB TRI ;啟動(dòng)定時(shí)器1MOV SCON,#0C0H ;設(shè)置串行口為方式3MOV PCON,#00H ;SMOD=0MOV R0,#50H ;設(shè)數(shù)據(jù)塊指針MOV R7,#10H ;設(shè)數(shù)據(jù)長(zhǎng)度10HTRS: MOV A,@R0;取數(shù)據(jù)送至AMOV C,PMOV TB8,C ;奇偶位P送至TB8MOV SBUF,A 啟動(dòng)發(fā)送WAIT: JNB TI,$ ;判1幀是否發(fā)送完CLR TIINC R0 ;更新數(shù)據(jù)單元DJNZ R7,TRS ;循環(huán)發(fā)送至結(jié)束.接收子程序編程如下:

MOV TMOD,#20H ;設(shè)置定時(shí)器1為方式2MOV TL1,#0E8H ;設(shè)預(yù)置值MOV TH1,#0E8HSETB TR1 ;啟動(dòng)定時(shí)器1MOV SCON,#0C0H ;設(shè)置串行口為方式3MOV PCON3,#00H ;SMOD=0MOV DPTR,#3000H ;設(shè)置數(shù)據(jù)塊指針MOV R7,#10H ;設(shè)數(shù)據(jù)塊長(zhǎng)度SETB REN ;允許接收WAIT: JNB RI,$ ;判1幀是否接收完CLR RI.MOV A,SBUF ;讀入1幀數(shù)據(jù)JNB PSW.0,PZ ;奇偶位P為0則跳轉(zhuǎn)JNB RB8,ERR ;P=l,RB8=0則出錯(cuò)SJMP YES ;二者全為1則正確PZ: JB RB8,ERR ;P=0,RB8=l則出錯(cuò)YES: MOVX @DPTR,A ;正確,存放數(shù)據(jù)INC DPTR ;修改地址指針DJNZ R7,WAIT ;判斷數(shù)據(jù)塊接收完否CLR PSW.5 ;接收正確且接收完清F0標(biāo)志RET ;返回ERR: SETB PSW.5 ;出錯(cuò)則置F0標(biāo)志為“l(fā)”RET ;返回

.【例4】主機(jī)向02號(hào)從機(jī)發(fā)送50H~5FH中的數(shù)據(jù);02號(hào)從機(jī)將接收到的數(shù)據(jù)放到內(nèi)RAM30H~3FH單元中。主機(jī)程序:ORG0030HMAIN:

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論