單片機(jī)原理串行通信_第1頁
單片機(jī)原理串行通信_第2頁
單片機(jī)原理串行通信_第3頁
單片機(jī)原理串行通信_第4頁
單片機(jī)原理串行通信_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)原理串行通信第一頁,共三十三頁,2022年,8月28日#include"reg51.h"sbit P1_0=P1^0;voidTimer0()interrupt1{ TH0=0xff; TL0=0xfa; //重置初值

P1_0=~P1_0; //執(zhí)行燈亮或滅的動(dòng)作}voidmain(){ P1=0xff; //關(guān)閉P1口接的所有燈

TMOD=0x05; //確定計(jì)數(shù)工作模式

TH0=0xff; TL0=0xfa; //定時(shí)實(shí)值為65530 EA=1; ET0=1; TR0=1; //定時(shí)器T0開始運(yùn)行

for(;;) {;}}第二頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件串行通信第三頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件串行口與串行通信第四頁,共三十三頁,2022年,8月28日第五頁,共三十三頁,2022年,8月28日重點(diǎn):串行寄存器波特率的概念第六頁,共三十三頁,2022年,8月28日

隨著多微機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)的通信功能愈來愈顯得重要。計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換。

第七頁,共三十三頁,2022年,8月28日通信有并行通信和串行通信兩種方式。在多微機(jī)系統(tǒng)以及現(xiàn)代測控系統(tǒng)中信息的交換多采用串行通信方式。第八頁,共三十三頁,2022年,8月28日并行通信通常是將數(shù)據(jù)字節(jié)的各位用多條數(shù)據(jù)線同時(shí)進(jìn)行傳送。并行通信控制簡單、傳輸速度快;由于傳輸線較多,長距離傳送時(shí)成本高且接收方的各位同時(shí)接收存在困難。

第九頁,共三十三頁,2022年,8月28日串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送。串行通信的特點(diǎn):傳輸線少,長距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。

第十頁,共三十三頁,2022年,8月28日串行通信的基本概念

一、異步通信與同步通信1、異步通信

異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。

第十一頁,共三十三頁,2022年,8月28日

異步通信是以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之間的間隙(時(shí)間間隔)是任意的,但每個(gè)字符中的各位是以固定的時(shí)間傳送的,即字符之間不一定有“位間隔”的整數(shù)倍的關(guān)系,但同一字符內(nèi)的各位之間的距離均為“位間隔”的整數(shù)倍。第十二頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件

異步通信中,接收與發(fā)送之間必須有兩項(xiàng)規(guī)定:1幀格式的設(shè)定;2波特率

(bps.):單位時(shí)間傳送的位數(shù)第十三頁,共三十三頁,2022年,8月28日異步通信的數(shù)據(jù)格式:異步通信的特點(diǎn):不要求收發(fā)雙方時(shí)鐘的嚴(yán)格一致,實(shí)現(xiàn)容易,設(shè)備開銷較小,但每個(gè)字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。第十四頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件

同步串行通信:以數(shù)據(jù)塊為單位進(jìn)行傳送,80C51單片機(jī)沒有同步串行通信的方式,不作介紹!波特率

(bps.):單位時(shí)間傳送的位數(shù)第十五頁,共三十三頁,2022年,8月28日二、串行通信的傳輸方向1、單工單工是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。2、半雙工半雙工是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行。3、全雙工全雙工是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。

單工半雙工全雙工第十六頁,共三十三頁,2022年,8月28日第十七頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件51單片機(jī)的串行接口SBUF(發(fā))SBUF(收)發(fā)送控制器TI接收控制器RI移位寄存器波特率發(fā)生器T11A累加器(門)移位寄存器RxDTxD去申請中斷引腳引腳CPU內(nèi)部第十八頁,共三十三頁,2022年,8月28日有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因?yàn)榘l(fā)送時(shí)CPU是主動(dòng)的,不會產(chǎn)生重疊錯(cuò)誤。

80C51串行口的結(jié)構(gòu)

第十九頁,共三十三頁,2022年,8月28日

SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:

80C51串行口的控制寄存器

SM0和SM1為工作方式選擇位,可選擇四種工作方式:

第二十頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件

SM0SM1

SM2RENTB8RB8

TIR1SCONSM0,SM1:串行口4種工作方式的選擇位。

00方式0:8位移位寄存器I/O,波特率固定為fosc/12

01方式1:8位UART(1+8+1位),

波特率可變,按公式計(jì)算

10方式2:9位UART(1+8+1+1位),

波特率固定=foscx1/32或1/64

11方式3:9位UART(1+8+1+1位),

波特率可變,按公式計(jì)算

SM2:串行口多機(jī)通信控制位

(作為方式2、方式3的附加控制位)串行口控制寄存器SCON(98H)第二十一頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件?

RI,TI:串行口收/發(fā)數(shù)據(jù)申請中斷標(biāo)志位=1申請中斷;=0不申請中斷?

TB8:方式2、3中,是要發(fā)送的第9位數(shù)據(jù)。多機(jī)通信中,TB8=0表示發(fā)送的是數(shù)據(jù);

TB8=1表示發(fā)送的是地址。?

RB8:在方式2、3中,是收到的第9位數(shù)據(jù)。

SM0SM1

SM2RENTB8RB8

TIR1?

REN:串行口接收允許控制位

=1表示允許接收;=0禁止接收。SCON第二十二頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件SMOD———GF1GF0PD

1DL電源控制寄存器

PCON(97H)——特殊功能寄存器PCON不能按位尋址——?

SMOD:在串行口工作方式1、2、3中,

是波特率加倍位

=1時(shí),波特率加倍

=0時(shí),波特率不加倍。

(在PCON中只有這一個(gè)位與串口有關(guān))

PCON第二十三頁,共三十三頁,2022年,8月28日波特率:單片機(jī)或者計(jì)算機(jī)在串口通信時(shí)的速率用波特率表示;單位是bps;位/秒;

如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含10位,這時(shí)的波特率為10*240位/秒=2400bps;第二十四頁,共三十三頁,2022年,8月28日波特率的計(jì)算在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來決定。串行口的四種工作方式對應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來源不同,所以,各種方式的波特率計(jì)算公式也不相同。方式0的波特率=fosc/12方式2的波特率=(2SMOD/64)·fosc方式1的波特率=(2SMOD/32)·(T1溢出率)方式3的波特率=(2SMOD/32)·(T1溢出率)第二十五頁,共三十三頁,2022年,8月28日當(dāng)T1作為波特率發(fā)生器時(shí),最典型的用法是使T1工作在自動(dòng)再裝入的8位定時(shí)器方式(即方式2,且TCON的TR1=1,以啟動(dòng)定時(shí)器)。這時(shí)溢出率取決于TH1中的計(jì)數(shù)值。

T1溢出率=fosc/{12×[256-(TH1)]}

在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。第二十六頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件工作方式2:——8位自動(dòng)重裝的定時(shí)/計(jì)數(shù)器振蕩器12TLx(8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開關(guān)接通或門與門THx(8位)溢出位門開第二十七頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件波特率=(2SMOD/32)T1的溢出率?

溢出率:T1溢出的頻繁程度即:T1溢出一次所需時(shí)間的倒數(shù)。?

初值X=2n-

2SMOD

fosc32

波特率

12?

波特率

=2SMOD

fosc32

12(2n-X)其中:X是定時(shí)器初值第二十八頁,共三十三頁,2022年,8月28日《單片機(jī)原理及設(shè)計(jì)》教學(xué)課件?

初值X=2n-

2SMOD

fosc32波特率

12?

計(jì)算波特率的部分:要求用T1工作于方式2來產(chǎn)生波特率1200,已知晶振頻率=6MHz。要求出T1的初值:初值X=28

-

20

610632

1200

12=256-

=256-13.026106460800

243=0F3H——結(jié)果后面要用到第二十九頁,共三十三頁,2022年,8月28日串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器1、串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計(jì)算T1的初值,裝載TH1、TL1;啟動(dòng)T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。第三十頁,共三十三頁,2022年,8月28日#include<reg52.h> #defineucharunsignedchar#defineuintunsignedintunsignedcharflag,a,i;ucharcodetable[]="Iget";//ucharcodetable[]={'I','','g','e','t',''};voidinit(){ TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; }voidmain(){ init(); while(1) { if(flag==1) { ES=0; for(i=0;i<6;i++) { SBUF=table[i]; while(!TI); TI=0; } SBUF=a; while(!TI); TI=0; ES=1; flag=0; } }}voidser()interrupt4{ RI=0; a=SBUF; flag=1;}第三十一頁,共三十三頁,2022年,8月28日#defineucharunsignedchar#include"string.h"#include"reg51.h"#include"stdio.h"voidSendData(ucharDat){ uchari=0; SBUF=Dat; while(1) { if(TI) { TI=0; break; } }}voidmDelay(unsignedintDelayTime){ unsignedcharj=0; for(;DelayTime>0;DelayTime--) { for(j=0;j<125;j++) {;} }}ucharKey(){

溫馨提示

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

評論

0/150

提交評論