RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)串行接口工作方式

GReq_mcu168 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-26 16:22 ? 次閱讀

串行口的工作方式0為移位寄存器輸入輸出方式,方式0發(fā)送或接收完8位數(shù)據(jù)后由硬件置位發(fā)送中斷標(biāo)志TI或接收中斷標(biāo)志RI。

1.方式0發(fā)送

串行數(shù)據(jù)從RXD引腳輸出,TXD引腳輸出移位脈沖。CPU將數(shù)據(jù)寫入發(fā)送寄存器(SBUF)時,立即啟動發(fā)送,將8位數(shù)據(jù)以fosc/12的固定波特率從RXD輸出,低位在前,高位在后,直至最高位(D7位)數(shù)字移出后,停止發(fā)送數(shù)據(jù)和移位時鐘脈沖。

MOV SCON, #10H ; 串行口方式0

MOV A, SBUF ; 接收數(shù)據(jù)

JNB RI, $ ; 等待數(shù)據(jù)接收完畢

2.方式0接收

方式0接收前,務(wù)必先置位REN=1,允許接收數(shù)據(jù)。此時,RXD為串行數(shù)據(jù)輸入端,TXD仍為同步脈沖移位輸出端。當(dāng)RI=0和REN=1同時滿足時,就會啟動一次接收過程。接收器以fosc/12的固定波特率接收TXD端輸入的數(shù)據(jù)。當(dāng)接收到第8位數(shù)據(jù)時,將數(shù)據(jù)移入接收寄存器,并由硬件置位RI,向CPU申請中斷。

MOVSCON,#00H ;串行口方式0

MOVSBUF,A ;將數(shù)據(jù)送出

JNBTI,$ ;等待數(shù)據(jù)發(fā)送完畢

工作方式0一般用于對并行輸入輸出口的擴(kuò)展,如圖1所示。

圖1 方式0的應(yīng)用

二、方式1:8位UART方式

當(dāng)SM0=0、SM1=l時,串行口選擇方式1,單片機(jī)工作于8位數(shù)據(jù)異步通訊方式(UART)。在方式1時,傳送一幀信息為10位,即1位起始位(0),8位數(shù)據(jù)位(低位在先)和1位停止位(1)。方式1的數(shù)據(jù)格式如圖2所示。

圖2 方式1的數(shù)據(jù)格式

1.方式1發(fā)送

當(dāng)CPU執(zhí)行MOVA,SBUF指令將數(shù)據(jù)寫入發(fā)送緩沖SBUF,啟動發(fā)送。先把起始位輸出到TXD,然后把移位寄存器的輸出位送到TXD。接著發(fā)出第一個移位脈沖(SHIFT),使數(shù)據(jù)右移一位,并從左端補(bǔ)入0。此后數(shù)據(jù)將逐位由TXD端送出,而其左面不斷補(bǔ)入0。發(fā)送完一幀數(shù)據(jù)后,就由硬件置位TI。

圖3 方式1發(fā)送

2.方式1接收

當(dāng)REN=1且接收到起始位后,在移位脈沖的控制下,把接收到的數(shù)據(jù)移入接收緩沖寄存器(SBUF)中,停止位到來后,把停止位送入RB8中,并置位RI,通知CPU接收到一個字符。

圖4 方式1接收

三、方式2和方式3:9位數(shù)據(jù)異步通訊方式

當(dāng)SM0=1、SM1=0時,串行口選擇方式2;當(dāng)SM1=1、SM0=1時,串行口選擇方式3。方式2和方式3的工作原理相似,定義為9位的異步通訊接口,發(fā)送(通過TXD)和接收(通過RXD)一幀信息都是11位,1位起始位(0)、8位數(shù)據(jù)位(低位在先)、1位可編程位(即第9位數(shù)據(jù))和1位停止位(1)。其數(shù)據(jù)格式如圖5所示。

圖5 方式2和3的數(shù)據(jù)格式

方式2和方式3唯一的差別是方式2的波特率是固定的,方式3的波特率是可變的。

1.方式2和方式3發(fā)送

當(dāng)CPU執(zhí)行一條數(shù)據(jù)寫入SUBF的指令時,啟動發(fā)送器發(fā)送。把起始位(0)放到TXD端,經(jīng)過一位時間后,數(shù)據(jù)由移位寄存器送到TXD端,通過第一位數(shù) 據(jù),出現(xiàn)第一個移位脈沖。當(dāng)TB8的內(nèi)容移到位寄存器的輸出位置時,其左面一位是停止位“1”,再往左的所有位全為“0”。這種狀態(tài)由零檢測器檢測到后, 就通知發(fā)送控制器作最后一次移位,然后置TI=1,請求中斷。發(fā)送過程如圖6所示。

圖6 方式2和3的發(fā)送

2.方式2和方式3接收

接收時,數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時,接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負(fù)跳變。接收的過程如圖7所示。

圖7 方式2和3的接收

四、波特率的計算

波特率反映串行口傳輸數(shù)據(jù)的速率,它取決于振蕩頻率、PCON寄存器的SCON位以及定時器的設(shè)定。在串行通訊中,收發(fā)雙方的數(shù)據(jù)傳送率(波特率)要遵循一定的約定。AT89S52串行口的四種工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可變的,由定時器的溢出率控制。

方式0為固定波特率:波特率=fosc/12

方式2可選兩種波特率:波特率=(2SMOD/64)×fosc

當(dāng)SMOD=1時,波特率=fosc/32;

當(dāng)SMOD=0時,波特率=fosc/64。

方式1、3為可變波特率,用T1作波特率發(fā)生器。

波特率=(2SMOD/32)×T1溢出率,T1溢出率為T1溢出一次所需時間的倒數(shù)。

例如:計算波特率。要求用T1工作于方式2來產(chǎn)生波特率2400,已知晶振頻率=12MHz。

解:求出T1的初值:

常用波特率和T1初值可參考教材中的表6-2。五、多機(jī)通信

在集散式分布系統(tǒng)中,往往采用一臺主機(jī)和多臺從機(jī)。其中主機(jī)發(fā)送的信息可以被各個從機(jī)接收,而各從機(jī)的信息只能被主機(jī)接收,從機(jī)與從機(jī)之間不能互相直接通信。

圖8為多機(jī)通信連線示意圖,系統(tǒng)中左邊為主機(jī),其余的為1~n號從機(jī),并保證每臺從機(jī)在系統(tǒng)中的編號是惟一的。

圖8 多通信示意圖

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634593
  • 串行口
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    10834

原文標(biāo)題:單片機(jī)串行接口工作方式

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    單片機(jī)原理及應(yīng)用: 串行工作方式0和方式1#單片機(jī)

    單片機(jī)串行
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2022年11月09日 02:44:13

    單片機(jī)原理及應(yīng)用: 串行工作方式2和方式3#單片機(jī)

    單片機(jī)串行
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2022年11月09日 02:45:06

    51單片機(jī)定時器工作方式

    51單片機(jī)定時器工作方式1、2的詳解:寫在前面知識填充方式工作原理初值的設(shè)定代碼實(shí)現(xiàn)方式工作
    發(fā)表于 07-14 07:03

    51單片機(jī)串行接口有幾種工作方式

    51單片機(jī)串行接口介紹串行口結(jié)構(gòu)設(shè)置工作方式串行口控制寄存器SCON)設(shè)置波特率 51
    發(fā)表于 11-18 07:37

    單片機(jī)待機(jī)工作方式在抗干擾中的應(yīng)用

    單片機(jī)待機(jī)工作方式在抗干擾中的應(yīng)用
    發(fā)表于 05-16 14:13 ?12次下載

    D/A轉(zhuǎn)換器與單片機(jī)接口電路圖(單緩沖工作方式

    D/A轉(zhuǎn)換器與單片機(jī)接口電路圖(單緩沖工作方式) 適用于只有一路模擬量輸出,
    發(fā)表于 01-01 01:11 ?2150次閱讀
    D/A轉(zhuǎn)換器與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>接口</b>電路圖(單緩沖<b class='flag-5'>工作方式</b>)

    D/A轉(zhuǎn)換器與單片機(jī)接口原理圖(雙緩沖工作方式

    D/A轉(zhuǎn)換器與單片機(jī)接口原理圖(雙緩沖工作方式) 適用于多路D/A轉(zhuǎn)換輸出,并要
    發(fā)表于 01-01 01:12 ?2924次閱讀
    D/A轉(zhuǎn)換器與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>接口</b>原理圖(雙緩沖<b class='flag-5'>工作方式</b>)

    AVR單片機(jī)串行AD的SPI接口設(shè)計

    為了解決信號采集系統(tǒng)的同步串行通訊問題,在理解AVR 單片機(jī)SPI接口的通訊原 理和方法的基礎(chǔ)上,分析了AVR 單片機(jī)SPI接口
    發(fā)表于 02-18 16:07 ?211次下載
    AVR<b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>串行</b>AD的SPI<b class='flag-5'>接口</b>設(shè)計

    51單片機(jī)的中斷號和定時器的工作方式詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的中斷號和定時器的工作方式詳細(xì)說明。
    發(fā)表于 06-28 17:42 ?5次下載
    51<b class='flag-5'>單片機(jī)</b>的中斷號和定時器的<b class='flag-5'>工作方式</b>詳細(xì)說明

    單片機(jī)串行通信的結(jié)構(gòu)組成及工作原理解析

    目前多數(shù)單片機(jī)都配有串行接口,如51單片機(jī)和MCS - 96等系列單片機(jī)都配有一個全雙工的串行
    發(fā)表于 06-21 15:22 ?6680次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>串行</b>通信的結(jié)構(gòu)組成及<b class='flag-5'>工作</b>原理解析

    51單片機(jī)的結(jié)構(gòu)及工作方式等基礎(chǔ)知識詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的結(jié)構(gòu)及工作方式等基礎(chǔ)知識詳細(xì)說明包括了:1 單片機(jī)基本構(gòu)成系統(tǒng),2 單片機(jī)存儲器結(jié)構(gòu),3單片機(jī)
    發(fā)表于 10-22 16:11 ?12次下載
    51<b class='flag-5'>單片機(jī)</b>的結(jié)構(gòu)及<b class='flag-5'>工作方式</b>等基礎(chǔ)知識詳細(xì)說明

    MCS-51單片機(jī)定時器和計數(shù)器的4種工作方式解析

    MCS-51單片機(jī)含有2個定時器/計數(shù)器,具有4種工作方式。具有兩種工作模式(計數(shù)器模式和定時器模式) MCS-51單片機(jī)含有1個全雙工串行
    發(fā)表于 10-22 16:24 ?3.3w次閱讀
    MCS-51<b class='flag-5'>單片機(jī)</b>定時器和計數(shù)器的4種<b class='flag-5'>工作方式</b>解析

    51單片機(jī)串行口的工作方式解析資料下載

    電子發(fā)燒友網(wǎng)為你提供51單片機(jī)串行口的工作方式解析資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-12 08:51 ?6次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>串行</b>口的<b class='flag-5'>工作方式</b>解析資料下載

    80C51單片機(jī)串行通信講解

    串行通信控制寄存器的功能;(4)、掌握單片機(jī)串行通信的工作方式;教學(xué)重點(diǎn):(1)、串行控制寄存器SCON的功能;(2)、
    發(fā)表于 09-30 11:44 ?31次下載
    80C51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>串行</b>通信講解

    51單片機(jī)串行接口介紹

    51單片機(jī)串行接口介紹串行口結(jié)構(gòu)設(shè)置工作方式串行口控制寄存器SCON)設(shè)置波特率 51
    發(fā)表于 11-11 20:06 ?55次下載
    51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>串行</b><b class='flag-5'>接口</b>介紹
    RM新时代网站-首页