日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 單片機(jī)串行接口工作方式

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

作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:9
    AT89S52單片機(jī)的串行口有方式0、方式1、方式2、方式3四種工作方式。方式0主要用于擴(kuò)展并行輸入輸出口,方式1、2、3用于串行通信。對(duì)這4中工作方式的學(xué)習(xí),主要是通過(guò)分析各個(gè)方式下的發(fā)送和接收邏輯來(lái)掌握。單片機(jī)的串行通信方式包括單片機(jī)與單片機(jī)之間的雙機(jī)或多機(jī)通信、單片機(jī)與PC機(jī)的通信等,需要留意。 一、串行口方式0:同步移位寄存器方式

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

1.方式0發(fā)送

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

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

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

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

2.方式0接收

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

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

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

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

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



圖1 方式0的應(yīng)用二、方式1:8位UART方式

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



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

1.方式1發(fā)送

當(dāng)CPU執(zhí)行MOV  A,SBUF指令將數(shù)據(jù)寫(xiě)入發(fā)送緩沖SBUF,啟動(dòng)發(fā)送。先把起始位輸出到TXD,然后把移位寄存器的輸出位送到TXD。接著發(fā)出第一個(gè)移位脈沖(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)中,停止位到來(lái)后,把停止位送入RB8中,并置位RI,通知CPU接收到一個(gè)字符。


圖4  方式1接收

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

當(dāng)SM0=1、SM1=0時(shí),串行口選擇方式2;當(dāng)SM1=1、SM0=1時(shí),串行口選擇方式3。方式2和方式3的工作原理相似,定義為9位的異步通訊接口,發(fā)送(通過(guò)TXD)和接收(通過(guò)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ù)寫(xiě)入SUBF的指令時(shí),啟動(dòng)發(fā)送器發(fā)送。把起始位(0)放到TXD端,經(jīng)過(guò)一位時(shí)間后,數(shù)據(jù)由移位寄存器送到TXD端,通過(guò)第一位數(shù)據(jù),出現(xiàn)第一個(gè)移位脈沖。當(dāng)TB8的內(nèi)容移到位寄存器的輸出位置時(shí),其左面一位是停止位“1”,再往左的所有位全為“0”。這種狀態(tài)由零檢測(cè)器檢測(cè)到后,就通知發(fā)送控制器作最后一次移位,然后置TI=1,請(qǐng)求中斷。發(fā)送過(guò)程如圖6所示。


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

2.方式2和方式3接收

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


圖7 方式2和3的接收

四、波特率的計(jì)算

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

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

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

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

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

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

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

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

解:求出T1的初值:

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

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

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


圖8 多通信示意圖

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

泾源县| 长岭县| 卢湾区| 遵义县| 文水县| 扶风县| 聂拉木县| 西乡县| 垫江县| 芦溪县| 卢湾区| 卓尼县| 南乐县| 铜鼓县| 亚东县| 嵊州市| 台北县| 栖霞市| 承德市| 平武县| 五原县| 宝丰县| 贺州市| 阜南县| 江川县| 共和县| 平泉县| 甘孜| 五台县| 浮梁县| 临高县| 米林县| 嘉黎县| 大姚县| 剑阁县| 美姑县| 襄城县| 仪征市| 台中市| 定边县| 义马市|