大學單片機的串行通信技術(shù)課件_第1頁
大學單片機的串行通信技術(shù)課件_第2頁
大學單片機的串行通信技術(shù)課件_第3頁
大學單片機的串行通信技術(shù)課件_第4頁
大學單片機的串行通信技術(shù)課件_第5頁
已閱讀5頁,還剩95頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/1常用的數(shù)據(jù)通信包括兩種形式:并行通信和串行通信。并行通信

(1)并行方式——數(shù)據(jù)的各位同時發(fā)送或同時接收。傳送速度快,但因需要多根傳輸線,故一般只在近距離通信中使用。第7章單片機的串行通信技術(shù)/sundae_meng常用的數(shù)據(jù)通信包括兩種形式:并行通信和串行通信。并行通信2串行通信

(2)串行方式——數(shù)據(jù)的各位依次逐位發(fā)送或接收。傳輸速度慢,但因只需較少傳輸線,故適合于遠距離通信。第7章單片機的串行通信技術(shù)/sundae_meng串行通信(2)串行方式——數(shù)據(jù)的各位依次逐位發(fā)送或接收。37.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/41.異步通信——以字符為單位組成字符幀進行的數(shù)據(jù)傳送在串行數(shù)據(jù)通信中,有同步通信和異步通信兩種方式。

一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、[可編程位]和停止位構(gòu)成特點——收發(fā)雙方不同步時,能夠依靠在每幀開始時的不斷對齊,自行糾正偏差,故對收發(fā)雙方的時鐘精度要求較低,但因每個字節(jié)都要建立一次同步,所以工作速度較低、效率低。第7章單片機的串行通信技術(shù)/sundae_meng1.異步通信——以字符為單位組成字符幀進行的數(shù)據(jù)傳送在串行數(shù)5

2.同步通訊數(shù)據(jù)格式——數(shù)據(jù)以塊為單位連續(xù)傳送。

在發(fā)一組數(shù)據(jù)時,只在開始用若干個同步字符作為雙方的號令,然后連續(xù)發(fā)送整組數(shù)據(jù)。

特點——數(shù)據(jù)是以數(shù)據(jù)塊為單位連續(xù)傳送的,結(jié)構(gòu)緊湊,傳輸效率高,但要求雙方有準確的時鐘,對硬件要求高。第7章單片機的串行通信技術(shù)/sundae_meng2.同步通訊在發(fā)一組數(shù)據(jù)時,只在開始用若干個同67.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向

7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/7

波特率為每秒鐘發(fā)送二進制數(shù)碼的位數(shù),即b/S(位/秒)。在串行通信中,數(shù)據(jù)傳輸速率的快慢,通過波特率來衡量。例如:在異步通信中傳輸速度為360字符/秒,每個字符又包含10位,則波特率為:

360字符/秒*10位/字符=3600bps(波特)標準波特率:

110、300、600、1200、2400、4800、9600、19200、38400bps等。第7章單片機的串行通信技術(shù)/sundae_meng波特率為每秒鐘發(fā)送二進制數(shù)碼的位數(shù),即b/S(位/秒)。8

在串行通信中,按照傳輸數(shù)據(jù)的流向,可分成三種傳輸形式:

單工通信半雙工通信全雙工通信

SimplexHalfDuplex

FullDuplex

80C51內(nèi)部設有一個全雙工串行接口收發(fā)雙方角色固定不能互換收發(fā)雙方角色可換但需切換收發(fā)雙方互不影響雙向通信RXD——ReceiveData——接收數(shù)據(jù)TXD——TransmitData——發(fā)送數(shù)據(jù)

第7章單片機的串行通信技術(shù)/sundae_meng在串行通信中,按照傳輸數(shù)據(jù)的流向,可分成三種傳輸形式:97.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器

7.2.1串行口的結(jié)構(gòu)組成

7.2.2串行口控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/10

若干寄存器:兩個數(shù)據(jù)緩沖器SBUF(99H)+串行控制寄存器SCON(98H)+移位寄存器+......。CPU

兩個引腳:數(shù)據(jù)接收RXD(P3.0)和數(shù)據(jù)發(fā)送TXD(P3.1)。第7章單片機的串行通信技術(shù)/sundae_meng若干寄存器:CPU兩個引腳:數(shù)據(jù)接收RXD(P3.011(1)發(fā)送數(shù)據(jù)過程(中斷法)

內(nèi)部數(shù)據(jù)并行寫入SBUF發(fā)→數(shù)據(jù)串行送出→中斷標志位TI硬件置1→CPU響應中斷→軟件清零TI,寫入下一數(shù)據(jù)→CPU第7章單片機的串行通信技術(shù)/sundae_meng(1)發(fā)送數(shù)據(jù)過程(中斷法)CPU第7章單片機的串行通信技12

(2)接收數(shù)據(jù)的過程(中斷法)外界數(shù)據(jù)串行送入移位寄存器→數(shù)據(jù)并行送入SBUF收→標志位RI硬件置1→CPU響應中斷→RI軟件清零,讀走數(shù)據(jù)→CPU第7章單片機的串行通信技術(shù)/sundae_meng(2)接收數(shù)據(jù)的過程(中斷法)CPU第7章單片機的串行通13D0D1D2D3D4D5D6D7傳送數(shù)據(jù)同步時鐘數(shù)據(jù)傳送——將串行數(shù)據(jù)按一定節(jié)拍(同步時鐘脈沖)輸出到傳輸線上,或從傳輸線上讀入。同步時鐘信號可由系統(tǒng)時鐘或定時器產(chǎn)生第7章單片機的串行通信技術(shù)/sundae_mengD0D1D2D3D4D5D6D7傳送數(shù)據(jù)同步時鐘數(shù)據(jù)傳送——14同步時鐘和傳送數(shù)據(jù)的關系:發(fā)送數(shù)據(jù)時,發(fā)送時鐘的下降沿將數(shù)據(jù)串行移位輸出;

接收數(shù)據(jù)時,接收時鐘的上升沿開始對數(shù)據(jù)位采樣。第7章單片機的串行通信技術(shù)/sundae_meng同步時鐘和傳送數(shù)據(jù)的關系:接收數(shù)據(jù)時,接收時鐘的上升157.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器

7.2.1串行口的結(jié)構(gòu)組成

7.2.2串行口控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/16(1)串行數(shù)據(jù)緩沖器,SBUF在物理上有兩個SBUF:一個用于發(fā)送,另一個用于接收。在邏輯上只有一個SBUF(99H)。可根據(jù)用法區(qū)分功能:ucharcounter;待發(fā)送存放變量…SBUF=counter;

完成一次數(shù)據(jù)發(fā)送…counter=SBUF;

完成一次數(shù)據(jù)接收CPU第7章單片機的串行通信技術(shù)/sundae_meng(1)串行數(shù)據(jù)緩沖器,SBUF在物理上有兩個SBUF:一個17(2)串口控制寄存器,SCON(98H)SM2主要用于多機通訊:SM2=1允許;0—禁止。TB8(RB8)---發(fā)送(接收)數(shù)據(jù)的第9位第7章單片機的串行通信技術(shù)/sundae_meng(2)串口控制寄存器,SCON(98H)SM2主要用于多機18

通過SM0和SM1不同的取值,可選擇串行通信中的四種工作方式。SM0SM1工作方式說明波特率00方式0同步移位寄存器fosc/1201方式110位異步收發(fā)由定時器控制10方式211位異步收發(fā)fosc/32或fosc/6411方式311位異步收發(fā)由定時器控制第7章單片機的串行通信技術(shù)/sundae_meng通過SM0和SM1不同的取值,可選擇串行通信中的四種19(3)

電源控制寄存器,PCON(87H)由定時器T1產(chǎn)生的同步時鐘第7章單片機的串行通信技術(shù)/sundae_meng(3)電源控制寄存器,PCON(87H)由定時器T1產(chǎn)生的207.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式

7.3.1方式0(八位同步移位寄存器方式)

7.3.2方式1(十位異步收發(fā)通信模式)

7.3.3方式2、方式3數(shù)據(jù)幀格式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/21八位同步移位寄存器方式——用于擴展并行I/O接口

數(shù)據(jù)傳輸波特率固定為fosc/12由RXD引腳輸入或輸出數(shù)據(jù)(低位在前,高位在后)由TXD引腳輸出同步時鐘信號擴展輸出口擴展輸入口第7章單片機的串行通信技術(shù)7.3.1方式0(八位同步移位寄存器方式)/sundae_meng八位同步移位寄存器方式——用于擴展并行I/O接口數(shù)據(jù)傳輸波2274LS164為8位串并轉(zhuǎn)換移位寄存器DIP14

能將串行輸入數(shù)據(jù)轉(zhuǎn)為并行輸出引腳功能描述A、B串行數(shù)據(jù)輸入引腳QA~QG并行數(shù)據(jù)輸出引腳CLOCK移位脈沖輸入端CLEAR移位寄存器清零端工作原理:1)若CLEAR端為低電平:輸出端QA~QG都為0;2)若CLEAR端為高電平,且CLOCK端出現(xiàn)上升沿脈沖:

則輸出端鎖存輸入端的電平Q0=(A&B)第7章單片機的串行通信技術(shù)/sundae_meng74LS164為8位串并轉(zhuǎn)換移位寄存器2374LS164真值表工作模式輸入輸出(n+1時刻)CLRCPDSADSBQ0Q1至Q7復位(清除)LXXXLL至L移位

H↓XX不變(Q0n

至Q7n)H↑LXLQ0n

至Q6nH↑XLLQ0n

至Q6nH↑HHHQ0n

至Q6n/sundae_meng74LS164真值表工作模式輸入輸出(n+1時刻)CLRCP24實例1

利用74LS164擴展并行輸出口,并實現(xiàn)發(fā)光二極管循環(huán)控制功能第7章單片機的串行通信技術(shù)/sundae_meng實例1

利用74LS164擴展并行輸出口,并實現(xiàn)發(fā)光25接線原理:數(shù)據(jù)發(fā)送端A(B)——RXD;同步時鐘端CLK——TXD;數(shù)據(jù)清除端CLR——P1.0第7章單片機的串行通信技術(shù)/sundae_meng接線原理:數(shù)據(jù)發(fā)送端A(B)——RXD;第7章單26#include<reg51.h>sbitMR=P1^0;voiddelay(){unsignedinti;

//延時

for(i=0;i<20000;i++){}}voidmain(){unsignedcharindex,LED;//定義LED指針和顯示字模

SCON=0; //設置串行模塊工作在方式0MR=1;//CLEAR端=1,允許輸入數(shù)據(jù)

while(1){ LED=0xFE; for(index=0;index<8;index++){ SBUF=LED;//控制L0燈點亮

do{}while(!TI);//通過TI查詢判別數(shù)據(jù)是否輸出結(jié)束

LED=((LED<<1)|1);//左移1位,末位置1

if(LED==0xff)LED=0xfe;//若已循環(huán)一遍,準備重新開始

delay(); }}}實例1參考程序第7章單片機的串行通信技術(shù)/sundae_meng#include<reg51.h>實例1參考程序第7章單片27實例1運行效果第7章單片機的串行通信技術(shù)/sundae_meng實例1運行效果第7章單片機的串行通信技術(shù)http://ww287.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式

7.3.1方式0(八位同步移位寄存器方式)

7.3.2方式1(十位異步收發(fā)通信模式)

7.3.3方式2、方式3數(shù)據(jù)幀格式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/2910位數(shù)據(jù)異步通訊方式——用于雙機通信一幀信息:1個起始位(0)+8位數(shù)據(jù)位+1個停止位(1),其中起始位和停止位是自動插入的。第7章單片機的串行通信技術(shù)/sundae_meng10位數(shù)據(jù)異步通訊方式——用于雙機通信一幀信息:1個起始位(30發(fā)送條件:由SBUF=counter即可啟動發(fā)送過程發(fā)送完成:硬件TI置1接收條件:在允許接收位REN=1時即可啟動接收過程接收完成:硬件RI置1,數(shù)據(jù)→SBUF第7章單片機的串行通信技術(shù)/sundae_meng發(fā)送條件:由SBUF=counter即可啟動發(fā)送過程接收31通常,指定T1為波特率時鐘發(fā)生器(波特率時鐘可變)通常選擇T1定時器方式2(取fosc為11.0592MHz)序號波特率SMOD計數(shù)初值a16250010xff21920010xfd3960000xfd4480000xfa5240000xf46120000xe8第7章單片機的串行通信技術(shù)/sundae_meng通常,指定T1為波特率時鐘發(fā)生器(波特率時鐘可變)通常選擇T32一般初始化過程例如:SCON=0x50;//串口設為方式1,TI和RI清零,允許接收PCON=0x80;//波特率加倍(×2)TMOD=0x20;//T1設為定時方式2TH1=0xcc;//定時器初值TL1=0xcc;//重置的定時初值IE=10010000B;//中斷使能(開中斷)TR1=1;//啟動T1GATETMODC/TM1M0M0M1GATEC/T(89H)第7章單片機的串行通信技術(shù)/sundae_meng一般初始化過程例如:GATETMODC/TM1M0M0M1G33實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符串。8051單片機/sundae_meng實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符34使用串口方式1#include<reg51.h>#include<string.h> sbitp=PSW^0;chars[]="MSC-51SerialCommunicationBus!我能行!";voidmain(){charx,b=0;SCON=0x40; //串口方式1TMOD=0x20;//設置T1及波特率9600TH1=0xFD;TL1=0xFD;PCON=0x00;TR1=1;x=strlen(s);for(;b<x;b++)

{SBUF=s[b];while(!TI);//此舉末位的”;”省略了會怎樣?等效于while(TI==0) TI=0;

}while(1) //作用是?}/sundae_meng使用串口方式1#include<reg51.h>http35雙機通信協(xié)議通行方式:例如異步串行通信波特率:例如2400b/s發(fā)機要求發(fā)送的呼叫信號:例如10H收機同意接收的應答信號:例如20H收機不同意接收的應答信號:例如30H告知數(shù)據(jù)正確的應答信號:例如0FH通信結(jié)束標志信號:例如0AH……第7章單片機的串行通信技術(shù)/sundae_meng雙機通信協(xié)議第7章單片機的串行通信技術(shù)http://www36實例2:要求設計一個雙機通信方案,甲機發(fā)送數(shù)據(jù),乙機接收數(shù)據(jù)。兩機的振蕩頻率為12MHz,波特率設置為2.4k,工作在串口方式1。甲機循環(huán)發(fā)送0-15的數(shù)字,乙機接收后返回接收值。若發(fā)送值與返回值相等,繼續(xù)發(fā)送下一數(shù)字,否則重復發(fā)送當前數(shù)字。發(fā)送值和接收值應顯示在LED數(shù)碼管上;采用查詢法檢查收發(fā)是否完成。第7章單片機的串行通信技術(shù)/sundae_meng實例2:第7章單片機的串行通信技術(shù)http://www.d37實例2電路原理圖第7章單片機的串行通信技術(shù)/sundae_meng實例2電路原理圖第7章單片機的串行通信技術(shù)http://w38實例2程序流程圖第7章單片機的串行通信技術(shù)/sundae_meng實例2程序流程圖第7章單片機的串行通信技術(shù)http://w39實例2參考程序第7章單片機的串行通信技術(shù)/sundae_meng實例2參考程序第7章單片機的串行通信技術(shù)http://ww40實例2參考程序第7章單片機的串行通信技術(shù)/sundae_meng實例2參考程序第7章單片機的串行通信技術(shù)http://ww41實例2運行效果第7章單片機的串行通信技術(shù)/sundae_meng實例2運行效果第7章單片機的串行通信技術(shù)http://ww427.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式

7.3.1方式0(八位同步移位寄存器方式)

7.3.2方式1(十位異步收發(fā)通信模式)

7.3.3方式2、方式3數(shù)據(jù)幀格式及應用舉例

7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/43方式2和方式3的數(shù)據(jù)幀都是11位——用于多機通信格式為:一個起始位,8個數(shù)據(jù)位,一個可編程位和一個停止位可編程位在SCON的TB8和RB8位中,用于奇偶校驗或多機通訊標識。第7章單片機的串行通信技術(shù)/sundae_meng方式2和方式3的數(shù)據(jù)幀都是11位——用于多機通信可編程位在S44可編程位可以由軟件置1或清0;發(fā)送時第9位在TB8中,連同八位數(shù)據(jù)通過串口發(fā)出。收到數(shù)據(jù)后,數(shù)據(jù)存入接收SBUF內(nèi),可編程位存入RB8中。第7章單片機的串行通信技術(shù)/sundae_meng可編程位可以由軟件置1或清0;第7章單片機的串行通信技術(shù)h45

可編程位還可用作為對接收到的數(shù)據(jù)進行校驗使用;

常用校驗方法:

在可編程位裝入發(fā)送數(shù)據(jù)的奇偶校驗位。例如,欲發(fā)送數(shù)據(jù)45H(01000101B),發(fā)送數(shù)據(jù)包含二進制數(shù)1的個數(shù)為奇數(shù),因此奇偶校驗位P=1,在發(fā)送數(shù)據(jù)45H時,將P=1賦值到可編程位TB8,連同數(shù)據(jù)共同發(fā)出。

對方接收后,只要將實際數(shù)據(jù)的奇偶關系與RB8進行對比,即可知道收發(fā)過程是否有誤。第7章單片機的串行通信技術(shù)/sundae_meng可編程位還可用作為對接收到的數(shù)據(jù)進行校驗使用;

常用校46方式2的波特率為固定數(shù)值:方式3的波特率和方式1相同,是可變的:第7章單片機的串行通信技術(shù)/sundae_meng方式2的波特率為固定數(shù)值:方式3的波特率和方式1相同,是可變47實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符串。

要求:使用串口方式2,TB8為發(fā)送數(shù)據(jù)的奇偶校驗位。8051單片機/sundae_meng實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符48使用串口方式2#include<reg51.h>#include<string.h> sbitp=PSW^0;chars[]=“MSC-51SerialCommunicationBus!我很行!";voidmain(){charx,b=0;SCON=0x90; //串口方式2PCON=0x00;x=strlen(s);for(;b<x;b++)

{ACC=s[b];TB8=p;//奇偶校驗位送入TB8SBUF=s[b];while(!TI);TI=0;

}while(1) }/sundae_meng使用串口方式2#include<reg51.h>http49本章小結(jié)①用于串行口通信控制的主要寄存器是SCON,可以設定4種工作方式、接收允許、發(fā)送/接收標志、2個可編程位、1個多機通訊位。②串行通信方式0,主要用于單片機I/O接口的擴展,在數(shù)據(jù)的輸入和輸出控制中,RXD作為數(shù)據(jù)線,TXD輸出同步時鐘脈沖。而且,在方式0下,以8位數(shù)據(jù)為一幀,不設起始位和停止位,先發(fā)送或接收最低位。③方式1的數(shù)據(jù)幀格式是10位,其中,一個起始位,8個數(shù)據(jù)位和一個停止位。發(fā)送時由SBUF=counter啟動發(fā)送過程;發(fā)送完成后由硬件TI置位;接收時只要接收位REN=1即可啟動接收過程,接收后由硬件TI置位,數(shù)據(jù)存入SBUF。第7章單片機的串行通信技術(shù)/sundae_meng本章小結(jié)①用于串行口通信控制的主要寄存器是SCON,可以設507.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/51常用的數(shù)據(jù)通信包括兩種形式:并行通信和串行通信。并行通信

(1)并行方式——數(shù)據(jù)的各位同時發(fā)送或同時接收。傳送速度快,但因需要多根傳輸線,故一般只在近距離通信中使用。第7章單片機的串行通信技術(shù)/sundae_meng常用的數(shù)據(jù)通信包括兩種形式:并行通信和串行通信。并行通信52串行通信

(2)串行方式——數(shù)據(jù)的各位依次逐位發(fā)送或接收。傳輸速度慢,但因只需較少傳輸線,故適合于遠距離通信。第7章單片機的串行通信技術(shù)/sundae_meng串行通信(2)串行方式——數(shù)據(jù)的各位依次逐位發(fā)送或接收。537.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/541.異步通信——以字符為單位組成字符幀進行的數(shù)據(jù)傳送在串行數(shù)據(jù)通信中,有同步通信和異步通信兩種方式。

一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、[可編程位]和停止位構(gòu)成特點——收發(fā)雙方不同步時,能夠依靠在每幀開始時的不斷對齊,自行糾正偏差,故對收發(fā)雙方的時鐘精度要求較低,但因每個字節(jié)都要建立一次同步,所以工作速度較低、效率低。第7章單片機的串行通信技術(shù)/sundae_meng1.異步通信——以字符為單位組成字符幀進行的數(shù)據(jù)傳送在串行數(shù)55

2.同步通訊數(shù)據(jù)格式——數(shù)據(jù)以塊為單位連續(xù)傳送。

在發(fā)一組數(shù)據(jù)時,只在開始用若干個同步字符作為雙方的號令,然后連續(xù)發(fā)送整組數(shù)據(jù)。

特點——數(shù)據(jù)是以數(shù)據(jù)塊為單位連續(xù)傳送的,結(jié)構(gòu)緊湊,傳輸效率高,但要求雙方有準確的時鐘,對硬件要求高。第7章單片機的串行通信技術(shù)/sundae_meng2.同步通訊在發(fā)一組數(shù)據(jù)時,只在開始用若干個同567.1串行通信概述

7.1.1數(shù)據(jù)通信

7.1.2異步通信和同步通信

7.1.3波特率的概念和串行通信的傳輸方向

7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/57

波特率為每秒鐘發(fā)送二進制數(shù)碼的位數(shù),即b/S(位/秒)。在串行通信中,數(shù)據(jù)傳輸速率的快慢,通過波特率來衡量。例如:在異步通信中傳輸速度為360字符/秒,每個字符又包含10位,則波特率為:

360字符/秒*10位/字符=3600bps(波特)標準波特率:

110、300、600、1200、2400、4800、9600、19200、38400bps等。第7章單片機的串行通信技術(shù)/sundae_meng波特率為每秒鐘發(fā)送二進制數(shù)碼的位數(shù),即b/S(位/秒)。58

在串行通信中,按照傳輸數(shù)據(jù)的流向,可分成三種傳輸形式:

單工通信半雙工通信全雙工通信

SimplexHalfDuplex

FullDuplex

80C51內(nèi)部設有一個全雙工串行接口收發(fā)雙方角色固定不能互換收發(fā)雙方角色可換但需切換收發(fā)雙方互不影響雙向通信RXD——ReceiveData——接收數(shù)據(jù)TXD——TransmitData——發(fā)送數(shù)據(jù)

第7章單片機的串行通信技術(shù)/sundae_meng在串行通信中,按照傳輸數(shù)據(jù)的流向,可分成三種傳輸形式:597.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器

7.2.1串行口的結(jié)構(gòu)組成

7.2.2串行口控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/60

若干寄存器:兩個數(shù)據(jù)緩沖器SBUF(99H)+串行控制寄存器SCON(98H)+移位寄存器+......。CPU

兩個引腳:數(shù)據(jù)接收RXD(P3.0)和數(shù)據(jù)發(fā)送TXD(P3.1)。第7章單片機的串行通信技術(shù)/sundae_meng若干寄存器:CPU兩個引腳:數(shù)據(jù)接收RXD(P3.061(1)發(fā)送數(shù)據(jù)過程(中斷法)

內(nèi)部數(shù)據(jù)并行寫入SBUF發(fā)→數(shù)據(jù)串行送出→中斷標志位TI硬件置1→CPU響應中斷→軟件清零TI,寫入下一數(shù)據(jù)→CPU第7章單片機的串行通信技術(shù)/sundae_meng(1)發(fā)送數(shù)據(jù)過程(中斷法)CPU第7章單片機的串行通信技62

(2)接收數(shù)據(jù)的過程(中斷法)外界數(shù)據(jù)串行送入移位寄存器→數(shù)據(jù)并行送入SBUF收→標志位RI硬件置1→CPU響應中斷→RI軟件清零,讀走數(shù)據(jù)→CPU第7章單片機的串行通信技術(shù)/sundae_meng(2)接收數(shù)據(jù)的過程(中斷法)CPU第7章單片機的串行通63D0D1D2D3D4D5D6D7傳送數(shù)據(jù)同步時鐘數(shù)據(jù)傳送——將串行數(shù)據(jù)按一定節(jié)拍(同步時鐘脈沖)輸出到傳輸線上,或從傳輸線上讀入。同步時鐘信號可由系統(tǒng)時鐘或定時器產(chǎn)生第7章單片機的串行通信技術(shù)/sundae_mengD0D1D2D3D4D5D6D7傳送數(shù)據(jù)同步時鐘數(shù)據(jù)傳送——64同步時鐘和傳送數(shù)據(jù)的關系:發(fā)送數(shù)據(jù)時,發(fā)送時鐘的下降沿將數(shù)據(jù)串行移位輸出;

接收數(shù)據(jù)時,接收時鐘的上升沿開始對數(shù)據(jù)位采樣。第7章單片機的串行通信技術(shù)/sundae_meng同步時鐘和傳送數(shù)據(jù)的關系:接收數(shù)據(jù)時,接收時鐘的上升657.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器

7.2.1串行口的結(jié)構(gòu)組成

7.2.2串行口控制寄存器7.3串行通信工作方式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/66(1)串行數(shù)據(jù)緩沖器,SBUF在物理上有兩個SBUF:一個用于發(fā)送,另一個用于接收。在邏輯上只有一個SBUF(99H)。可根據(jù)用法區(qū)分功能:ucharcounter;待發(fā)送存放變量…SBUF=counter;

完成一次數(shù)據(jù)發(fā)送…counter=SBUF;

完成一次數(shù)據(jù)接收CPU第7章單片機的串行通信技術(shù)/sundae_meng(1)串行數(shù)據(jù)緩沖器,SBUF在物理上有兩個SBUF:一個67(2)串口控制寄存器,SCON(98H)SM2主要用于多機通訊:SM2=1允許;0—禁止。TB8(RB8)---發(fā)送(接收)數(shù)據(jù)的第9位第7章單片機的串行通信技術(shù)/sundae_meng(2)串口控制寄存器,SCON(98H)SM2主要用于多機68

通過SM0和SM1不同的取值,可選擇串行通信中的四種工作方式。SM0SM1工作方式說明波特率00方式0同步移位寄存器fosc/1201方式110位異步收發(fā)由定時器控制10方式211位異步收發(fā)fosc/32或fosc/6411方式311位異步收發(fā)由定時器控制第7章單片機的串行通信技術(shù)/sundae_meng通過SM0和SM1不同的取值,可選擇串行通信中的四種69(3)

電源控制寄存器,PCON(87H)由定時器T1產(chǎn)生的同步時鐘第7章單片機的串行通信技術(shù)/sundae_meng(3)電源控制寄存器,PCON(87H)由定時器T1產(chǎn)生的707.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式

7.3.1方式0(八位同步移位寄存器方式)

7.3.2方式1(十位異步收發(fā)通信模式)

7.3.3方式2、方式3數(shù)據(jù)幀格式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/71八位同步移位寄存器方式——用于擴展并行I/O接口

數(shù)據(jù)傳輸波特率固定為fosc/12由RXD引腳輸入或輸出數(shù)據(jù)(低位在前,高位在后)由TXD引腳輸出同步時鐘信號擴展輸出口擴展輸入口第7章單片機的串行通信技術(shù)7.3.1方式0(八位同步移位寄存器方式)/sundae_meng八位同步移位寄存器方式——用于擴展并行I/O接口數(shù)據(jù)傳輸波7274LS164為8位串并轉(zhuǎn)換移位寄存器DIP14

能將串行輸入數(shù)據(jù)轉(zhuǎn)為并行輸出引腳功能描述A、B串行數(shù)據(jù)輸入引腳QA~QG并行數(shù)據(jù)輸出引腳CLOCK移位脈沖輸入端CLEAR移位寄存器清零端工作原理:1)若CLEAR端為低電平:輸出端QA~QG都為0;2)若CLEAR端為高電平,且CLOCK端出現(xiàn)上升沿脈沖:

則輸出端鎖存輸入端的電平Q0=(A&B)第7章單片機的串行通信技術(shù)/sundae_meng74LS164為8位串并轉(zhuǎn)換移位寄存器7374LS164真值表工作模式輸入輸出(n+1時刻)CLRCPDSADSBQ0Q1至Q7復位(清除)LXXXLL至L移位

H↓XX不變(Q0n

至Q7n)H↑LXLQ0n

至Q6nH↑XLLQ0n

至Q6nH↑HHHQ0n

至Q6n/sundae_meng74LS164真值表工作模式輸入輸出(n+1時刻)CLRCP74實例1

利用74LS164擴展并行輸出口,并實現(xiàn)發(fā)光二極管循環(huán)控制功能第7章單片機的串行通信技術(shù)/sundae_meng實例1

利用74LS164擴展并行輸出口,并實現(xiàn)發(fā)光75接線原理:數(shù)據(jù)發(fā)送端A(B)——RXD;同步時鐘端CLK——TXD;數(shù)據(jù)清除端CLR——P1.0第7章單片機的串行通信技術(shù)/sundae_meng接線原理:數(shù)據(jù)發(fā)送端A(B)——RXD;第7章單76#include<reg51.h>sbitMR=P1^0;voiddelay(){unsignedinti;

//延時

for(i=0;i<20000;i++){}}voidmain(){unsignedcharindex,LED;//定義LED指針和顯示字模

SCON=0; //設置串行模塊工作在方式0MR=1;//CLEAR端=1,允許輸入數(shù)據(jù)

while(1){ LED=0xFE; for(index=0;index<8;index++){ SBUF=LED;//控制L0燈點亮

do{}while(!TI);//通過TI查詢判別數(shù)據(jù)是否輸出結(jié)束

LED=((LED<<1)|1);//左移1位,末位置1

if(LED==0xff)LED=0xfe;//若已循環(huán)一遍,準備重新開始

delay(); }}}實例1參考程序第7章單片機的串行通信技術(shù)/sundae_meng#include<reg51.h>實例1參考程序第7章單片77實例1運行效果第7章單片機的串行通信技術(shù)/sundae_meng實例1運行效果第7章單片機的串行通信技術(shù)http://ww787.1串行通信概述7.2串行口的結(jié)構(gòu)組成及控制寄存器7.3串行通信工作方式

7.3.1方式0(八位同步移位寄存器方式)

7.3.2方式1(十位異步收發(fā)通信模式)

7.3.3方式2、方式3數(shù)據(jù)幀格式及應用舉例7.4串行通信設計應用舉例

第7章單片機的串行通信技術(shù)/sundae_meng7.1串行通信概述第7章單片機的串行通信技術(shù)http:/7910位數(shù)據(jù)異步通訊方式——用于雙機通信一幀信息:1個起始位(0)+8位數(shù)據(jù)位+1個停止位(1),其中起始位和停止位是自動插入的。第7章單片機的串行通信技術(shù)/sundae_meng10位數(shù)據(jù)異步通訊方式——用于雙機通信一幀信息:1個起始位(80發(fā)送條件:由SBUF=counter即可啟動發(fā)送過程發(fā)送完成:硬件TI置1接收條件:在允許接收位REN=1時即可啟動接收過程接收完成:硬件RI置1,數(shù)據(jù)→SBUF第7章單片機的串行通信技術(shù)/sundae_meng發(fā)送條件:由SBUF=counter即可啟動發(fā)送過程接收81通常,指定T1為波特率時鐘發(fā)生器(波特率時鐘可變)通常選擇T1定時器方式2(取fosc為11.0592MHz)序號波特率SMOD計數(shù)初值a16250010xff21920010xfd3960000xfd4480000xfa5240000xf46120000xe8第7章單片機的串行通信技術(shù)/sundae_meng通常,指定T1為波特率時鐘發(fā)生器(波特率時鐘可變)通常選擇T82一般初始化過程例如:SCON=0x50;//串口設為方式1,TI和RI清零,允許接收PCON=0x80;//波特率加倍(×2)TMOD=0x20;//T1設為定時方式2TH1=0xcc;//定時器初值TL1=0xcc;//重置的定時初值IE=10010000B;//中斷使能(開中斷)TR1=1;//啟動T1GATETMODC/TM1M0M0M1GATEC/T(89H)第7章單片機的串行通信技術(shù)/sundae_meng一般初始化過程例如:GATETMODC/TM1M0M0M1G83實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符串。8051單片機/sundae_meng實驗程序:編寫一段程序,利用單片機的串行口向PC機發(fā)送字符84使用串口方式1#include<reg51.h>#include<string.h> sbitp=PSW^0;chars[]="MSC-51SerialCommunicationBus!我能行!";voidmain(){charx,b=0;SCON=0x40; //串口方式1TMOD=0x20;//設置T1及波特率9600TH1=0xFD;TL1=0xFD;PCON=0x00;TR1=1;x=strlen(s);for(;b<x;b++)

{SBUF=s[b];while(!TI);//此舉末位的”;”省略了會怎樣?等效于while(TI==0) TI=0;

}while(1) //作用是?}/sundae_meng使用串口方式1#include<reg51.h>http85雙機通信協(xié)議通行方式:例如異步串行通信波特率:例如2400b/s發(fā)機要求發(fā)送的呼叫信號:例如10H收機同意接收的應答信號:例如20H收機不同意接收的應答信號:例如30H告知數(shù)據(jù)正確的應答信號:例如0FH通信結(jié)束標志信號:例如0AH……第7章單片機的串行通信技術(shù)/sundae_meng雙機通信協(xié)議第7章單片機的串行通信技術(shù)http://www86實例2:要求設計一個雙機通信方案,甲機發(fā)送數(shù)據(jù),乙機接收數(shù)據(jù)。兩機的振蕩頻率為12MHz,波特率設置為2.4k,工作在串口方式1。甲機循環(huán)發(fā)送0-15的數(shù)字,乙機接收后返回接收值。若發(fā)送值與返回值相等,繼續(xù)發(fā)送下一數(shù)字,否則重復發(fā)送當前數(shù)字。發(fā)送值和接收值應顯示在LED數(shù)碼管上;采用查詢法檢查收發(fā)是否完成。第7章單片機的串行通信技術(shù)/sundae_meng實例2:第7章單片機的串行通信技術(shù)http://www.d87實例2電路原理圖第7章單片機的串行通信技術(shù)/sundae_meng實例2電路原理圖第7章單片機的串行通信技術(shù)http://w88實例2程序流程圖第7章單片機的串行通信技術(shù)/sundae_meng實例2程序流程圖第7章單片機的串行通信技術(shù)ht

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論