單片機技術(shù)與實踐教案chap8名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎?wù)n件_第1頁
單片機技術(shù)與實踐教案chap8名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎?wù)n件_第2頁
單片機技術(shù)與實踐教案chap8名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎?wù)n件_第3頁
單片機技術(shù)與實踐教案chap8名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎?wù)n件_第4頁
單片機技術(shù)與實踐教案chap8名師優(yōu)質(zhì)課賽課一等獎市公開課獲獎?wù)n件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章分為三節(jié),主要介紹:

6.280C51串行口6.1計算機串行通信基礎(chǔ)6.3單片機串行口應(yīng)用舉例第1頁6.1計算機串行通信基礎(chǔ)

伴隨多微機系統(tǒng)廣泛應(yīng)用和計算機網(wǎng)絡(luò)技術(shù)普及,計算機通信功效愈來愈顯得主要。計算機通信是指計算機與外部設(shè)備或計算機與計算機之間信息交換。通信有并行通信和串行通信兩種方式。在多微機系統(tǒng)以及當(dāng)代測控系統(tǒng)中信息交換多采取串行通信方式。第2頁計算機通信是將計算機技術(shù)和通信技術(shù)相結(jié)合,完成計算機與外部設(shè)備或計算機與計算機之間信息交換。能夠分為兩大類:并行通信與串行通信。并行通信通常是將數(shù)據(jù)字節(jié)各位用多條數(shù)據(jù)線同時進行傳送。并行通信控制簡單、傳輸速度快;因為傳輸線較多,長距離傳送時成本高且接收方各位同時接收存在困難。

接收設(shè)備發(fā)送設(shè)備問詢8位同時傳送并行數(shù)據(jù)第3頁串行通信是將數(shù)據(jù)字節(jié)分成一位一位形式在一條傳輸線上逐一地傳送。串行通信特點:傳輸線少,長距離傳送時成本低,且能夠利用電話網(wǎng)等現(xiàn)成設(shè)備,但數(shù)據(jù)傳送控制比并行通信復(fù)雜。

接收設(shè)備發(fā)送設(shè)備8位順次傳送D7D0第4頁最經(jīng)典串行式數(shù)據(jù)傳輸是RS232C,比如個人計算機中Com1、Com2就屬于RS232C。即使個人計算機中輸入/輸出接口,逐步被新一代USB\網(wǎng)卡所取代,但USB\網(wǎng)卡也屬于串行式數(shù)據(jù)傳輸。串行式數(shù)據(jù)傳輸媒介:銅導(dǎo)線、光纖、電波(無線傳輸)等。第5頁二、串行通信傳輸方向1、單工單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能實現(xiàn)反向傳輸(一條線只能有一個用途)。2、半雙工半雙工是指數(shù)據(jù)傳輸能夠沿兩個方向,但需要分時進行(一條線可輸入亦可輸出,分時處理)。3、全雙工全雙工是指數(shù)據(jù)能夠同時進行雙向傳輸(二條線可同時雙向傳輸)。

單工半雙工全雙工第6頁五、傳輸速率與傳輸距離

1、傳輸速率比特率是每秒鐘傳輸二進制代碼位數(shù),單位是:位/秒(bps)。如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位、1個停頓位、8個數(shù)據(jù)位),這時比特率為:

10位×240個/秒=2400bps波特率表示每秒鐘調(diào)制信號改變次數(shù),單位是:波特(Baud)。波特率和比特率不總是相同,對于將數(shù)字信號1或0直接用兩種不一樣電壓表示所謂基帶傳輸,比特率和波特率是相同。所以,我們也經(jīng)慣用波特率表示數(shù)據(jù)傳輸速率。第7頁2、傳輸距離與傳輸速率關(guān)系串行接口或終端直接傳送串行信息位流最大距離與傳輸速率及傳輸線電氣特征相關(guān)。當(dāng)傳輸線使用每0.3m(約1英尺)有50PF電容非平衡屏蔽雙絞線時,傳輸距離隨傳輸速率增加而減小。當(dāng)比特率超出1000bps時,最大傳輸距離快速下降,如9600bps時最大距離下降到只有76m(約250英尺)。第8頁6.1.2串行通信接口標(biāo)準(zhǔn)

一、RS-232C接口

RS-232C是EIA(美國電子工業(yè)協(xié)會)1969年修訂RS-232C標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間物理接口標(biāo)準(zhǔn)。1、機械特征RS-232C接口要求使用25針連接器,連接器尺寸及每個插針排列位置都有明確定義。(陽頭)第9頁2、功效特征第10頁4、過程特征過程特征要求了信號之間時序關(guān)系,方便正確地接收和發(fā)送數(shù)據(jù)

。遠程通信連接第11頁近程通信連接第12頁6.280C51串行口

有兩個物理上獨立接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因為發(fā)送時CPU是主動,不會產(chǎn)生重合錯誤。

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

第13頁

SCON是一個8位、可位尋址特殊功效存放器,其功效是用以設(shè)定串行口工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:

6.2.280C51串行口控制存放器

RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON第14頁SM0SM1方式說明波特率000移位存放器Fosc/1201110位異步收發(fā)器(8位)可變10211位異步收發(fā)器(9位)Fosc/(64or32)11311位異步收發(fā)器(9位)可變RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON51系列串行端口控制存放器中各位說明

1、SM0與SM1用于設(shè)置串行端口工作方式

第15頁2、SM2:多機通信控制使能位。在方式0時:SM2必須是0。在方式1時:若SM2=1,則只有接收到有效停頓位時,RI才置1。在方式2或方式3時:當(dāng)接收機SM2=1時能夠利用收到第9位數(shù)據(jù)RB8來控制是否激活RI(RB8=0時不激活RI;RB8=1時收到數(shù)據(jù)進入SBUF,并激活RI,進而在中止服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時,不論收到RB8為0和1,均能夠使收到數(shù)據(jù)進入SBUF,并激活RI(即此時RB8不含有控制RI激活功效)。經(jīng)過控制SM2,能夠?qū)崿F(xiàn)多機通信。第16頁●REN:若軟件置REN=0,則禁止接收。若軟件置REN=1,則開啟串行口接收數(shù)據(jù);RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON51系列串行端口控制存放器中各位說明

3、REN允許串行接收位●TB8:在以方式2、3傳送數(shù)據(jù)時,本位為第9位傳送位,可用軟件來設(shè)置或去除。

在雙機通信時,普通作為奇偶校驗位使用;在多機通信中用來表示主機發(fā)送是地址幀還是數(shù)據(jù)幀。若TB8=1為地址幀,TB8=0為數(shù)據(jù)幀。4、TB8發(fā)送第9位數(shù)據(jù)第17頁●RB8:

在方式0時,本位無作用在方式1時,若SM2=0,則本位是停頓位。在方式2或方式3中,是接收到數(shù)據(jù)第九位。作為奇偶校驗位或地址幀/數(shù)據(jù)幀標(biāo)志位。RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON51系列串行端口控制存放器中各位說明

5、RB8接收到第9位數(shù)據(jù)第18頁●TI:在方式0時,當(dāng)串行發(fā)送完成第8位數(shù)據(jù)傳送時,則本位自動設(shè)置為1,并產(chǎn)生TI中止。在方式1、2、3時,若完成串行發(fā)送停頓位傳送時,則本位由內(nèi)部硬件使TI自動置1,向CPU發(fā)中止申請。

在中止服務(wù)程序中,必須用軟件將其清0,取消此中止申請。RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON51系列串行端口控制存放器中各位說明

6、TI傳送中止標(biāo)志位第19頁●RI:在方式0時,當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時,本位自動設(shè)置1,并產(chǎn)生RI中止。在方式1、2、3時,若完成接收到串行接收停頓位時,由內(nèi)部硬件使RI自動置1,向CPU發(fā)中止申請。也必須在中止服務(wù)程序中,用軟件將其清0,取消此中止申請。RITIRB8TB8RENSM2SM1SM001234567字節(jié)地址98H存放器SCON51系列串行端口控制存放器中各位說明

7、RI接收中止標(biāo)志位第20頁PCON中只有一位SMOD與串行口工作相關(guān)

SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD相關(guān),當(dāng)SMOD=1時,波特率提升一倍。復(fù)位時,SMOD=0。-------SMODD0D1D2D3D4D5D6D7字節(jié)地址87H存放器PCON電源控制存放器PCON

沒有位尋址功效第21頁

6.2.380C51串行口工作方式

一、方式0

方式0時,串行口為同時移位存放器輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同時移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。

1、方式0輸出第22頁

2、方式0輸入方式0接收和發(fā)送電路第23頁

二、方式1

方式1是10位數(shù)據(jù)異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)格式如圖所表示。其中1位起始位,8位數(shù)據(jù)位,1位停頓位。

1、方式1輸出第24頁

2、方式1輸入用軟件置REN為1時,接收器以所選擇波特率16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位存放器,并開始接收這一幀信息其余位。接收過程中,數(shù)據(jù)從輸入移位存放器右邊移入,起始位移至輸入移位存放器最左邊時,控制電路進行最終一次移位。當(dāng)RI=0,且SM2=0(或接收到停頓位為1)時,將接收到9位數(shù)據(jù)前8位數(shù)據(jù)裝入接收SBUF,第9位(停頓位)進入RB8,并置RI=1,向CPU請求中止。第25頁

三、方式2和方式3

方式2或方式3時為11位數(shù)據(jù)異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。方式2和方式3時起始位1位,數(shù)據(jù)9位(含1位附加第9位,發(fā)送時為SCON中TB8,接收時為RB8),停頓位1位,一幀數(shù)據(jù)為11位。方式2波特率固定為晶振頻率1/64或1/32,方式3波特率由定時器T1溢出率決定。

第26頁

1、方式2和方式3輸出發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位存放器輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位存放器各位右移一位,并由TXD引腳輸出。第一次移位時,停頓位“1”移入輸出移位存放器第9位上,以后每次移位,左邊都移入0。當(dāng)停頓位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控制電路進行最終一次移位,并置TI=1,向CPU請求中止。第27頁

2、方式2和方式3輸入接收時,數(shù)據(jù)從右邊移入輸入移位存放器,在起始位0移到最左邊時,控制電路進行最終一次移位。當(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引腳負跳變。第28頁四、波特率計算在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)速率要有約定。經(jīng)過軟件可對單片機串行口編程為四種工作方式,其中方式0和方式2波特率是固定,而方式1和方式3波特率是可變,由定時器T1溢出率來決定。串行口四種工作方式對應(yīng)三種波特率。因為輸入移位時鐘起源不一樣,所以,各種方式波特率計算公式也不相同。方式0波特率

=fosc/12方式2波特率

=(2SMOD/64)·fosc方式1波特率

=(2SMOD/32)·(T1溢出率)方式3波特率

=(2SMOD/32)·(T1溢出率)第29頁當(dāng)T1作為波特率發(fā)生器時,最經(jīng)典使用方法是使T1工作在自動再裝入8位定時器方式(即方式2,且TCONTR1=1,以開啟定時器)。這時溢出率取決于TH1中計數(shù)值。

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

在單片機應(yīng)用中,慣用晶振頻率為:12MHz和11.0592MHz。所以,選取波特率也相對固定。慣用串行口波特率以及各參數(shù)關(guān)系如表所表示。第30頁串行口工作之前,應(yīng)對其進行初始化,主要是設(shè)置產(chǎn)生波特率定時器1、串行口控制和中止控制。詳細步驟以下:1、確定T1工作方式(編程TMOD存放器);2、計算T1初值,裝載TH1、TL1;3、開啟T1(編程TCON中TR1位);4、確定串行口控制(編程SCON存放器);5、串行口在中止方式工作時,要進行中止設(shè)置(編程IE、IP存放器)。第31頁6.3單片機串行口應(yīng)用舉例

在計算機分布式測控系統(tǒng)中,經(jīng)常要利用串行通信方式進行數(shù)據(jù)傳輸。80C51單片機串行口為計算機間通信提供了極為便利條件。利用單片機串行口還能夠方便地擴展鍵盤和顯示器,對于簡單應(yīng)用非常便利。這里僅介紹單片機串并轉(zhuǎn)換、串行口在通信方面應(yīng)用,關(guān)于鍵盤和顯示器擴展將在另一章介紹。第32頁6.3.1串并轉(zhuǎn)換1、74164是種串行轉(zhuǎn)并行IC時鐘脈沖引腳數(shù)據(jù)輸入引腳數(shù)據(jù)輸出引腳第33頁6.3.1串并轉(zhuǎn)換2、74165是種并行轉(zhuǎn)串行IC時鐘脈沖引腳數(shù)據(jù)輸出引腳數(shù)據(jù)輸入引腳數(shù)據(jù)加載與移位控制引腳

1號引腳為數(shù)據(jù)加載與移位控制引腳,當(dāng)此引腳為低態(tài)時,并行輸入引腳狀態(tài)將全部被加載。當(dāng)此引腳為高態(tài)時,可隨時鐘脈沖進行移位式串行輸出。

15號引腳為時鐘脈沖禁止引腳,當(dāng)此引腳為高態(tài)時,輸出引腳不隨時鐘脈沖而改變。當(dāng)此引腳為低態(tài)時,輸出引腳隨時鐘脈沖進行改變移位式串行輸出第34頁試驗1:移位式數(shù)據(jù)串行輸入串行數(shù)據(jù)源是利用74165將指拔開關(guān)DIPSW狀態(tài)轉(zhuǎn)換成串行數(shù)據(jù)而由P3.2輸入,狀態(tài)將由此反應(yīng)到P0口所接LED上。第35頁6.3.1單片機與單片機通信

一、點對點通信

1、硬件連接

第36頁二、應(yīng)用程序

第37頁

設(shè)1號機是發(fā)送方,2號機是接收方。當(dāng)1號機發(fā)送時,先發(fā)送一個“E1”聯(lián)絡(luò)信號,2號機收到后回答一個“E2”應(yīng)答信號,表示同意接收。當(dāng)1號機收到應(yīng)答信號“E2”后,開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)字節(jié)都要計算“校驗和”,假定數(shù)據(jù)塊長度為16個字節(jié),起始地址為40H,一個數(shù)據(jù)塊發(fā)送完成后馬上發(fā)送“校驗和”。2號機接收數(shù)據(jù)并轉(zhuǎn)存到數(shù)據(jù)緩沖區(qū),起始地址也為40H,每接收到一個數(shù)據(jù)字節(jié)便計算一次“校驗和”,當(dāng)收到一個數(shù)據(jù)塊后,再接收1號機發(fā)來“校驗和”,并將它與2號機求出校驗和進行比較。若二者相等,說明接收正確,2號機回答00H;若二者不相等,說明接收不正確,2號機回答0FFH,請求重發(fā)。1號機接到00H后結(jié)束發(fā)送。若收到回復(fù)非零,則重新發(fā)送數(shù)據(jù)一次。雙方約定采取串行口方式1進行通信,一幀信息為10位,其中有1個起始位、8個數(shù)據(jù)位和一個停頓位;波特率為2400波特,T1工作在定時器方式2,振蕩頻率選取11.0592MHZ,查表可得TH1=TL1=0F4H,PCON存放器SMOD位為0。

第38頁發(fā)送程序清單以下:

ASTART:CLREAMOVTMOD,#20H;定時器1置為方式2MOVTH1,#0F4H;裝載定時器初值,波特率2400MOVTL1,#0F4HMOVPCON,#00HSETBTR1;開啟定時器

MOVSCON,#50H;設(shè)定串口方式1,且準(zhǔn)備接收應(yīng)答信號

ALOOP1:MOVSBUF,#0E1H;發(fā)聯(lián)絡(luò)信號

JNBTI,$;等候一幀發(fā)送完成

CLRTI;允許再發(fā)送

JNBRI,$;等候2號機應(yīng)答信號

CLRRI;允許再接收

MOVA,SBUF;2號機應(yīng)答后,讀至AXRLA,#0E2H;判斷2號機是否準(zhǔn)備完成

JNZALOOP1;2號機未準(zhǔn)備好,繼續(xù)聯(lián)絡(luò)

ALOOP2:MOVR0,#40H;2號機準(zhǔn)備好,設(shè)定數(shù)據(jù)塊地址指針初值

MOVR7,#10H;設(shè)定數(shù)據(jù)塊長度初值

MOVR6,#00H;清校驗和單元第39頁

ALOOP3:MOVSBUF,@R0;發(fā)送一個數(shù)據(jù)字節(jié)

MOVA,R6ADDA,@R0;求校驗和

MOVR6,A;保留校驗和

INCR0JNBTI,$CLRTIDJNZR7,ALOOP3;整個數(shù)據(jù)塊是否發(fā)送完成

MOVSBUF,R6;發(fā)送校驗和

JNBTI,$CLRTIJNBRI,$;等候2號機應(yīng)答信號

CLRRIMOVA,SBUF;2號機應(yīng)答,讀至AJNZALOOP2;2號機應(yīng)答“錯誤”,轉(zhuǎn)重新發(fā)送

RET;2號機應(yīng)答“正確”,返回第40頁接收程序清單以下:BSTART:CLREAMOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVPCON,#00HSETBTR1MOVSCON,#50H;設(shè)定串口方式1,且準(zhǔn)備接收

BLOOP1:JNBRI,$;等候1號機聯(lián)絡(luò)信號

CLRRIMOVA,SBUF;收到1號機信號

XRLA,#0E1H;判是否為1號機聯(lián)絡(luò)信號

JNZBLOOP1;不是1號機聯(lián)絡(luò)信號,再等候

MOVSBUF,#0E2H;是1號機聯(lián)絡(luò)信號,發(fā)應(yīng)答信號

JNBTI,$CLRTIMOVR0,#40H;設(shè)定數(shù)據(jù)塊地址指針初值

MOVR7,#10H;設(shè)定數(shù)據(jù)塊長度初值

MOVR6,#00H;清校驗和單元第41頁BLOOP2:JNBRI,$CLRRIMOVA,SBUFMOV@R0,A;接收數(shù)據(jù)轉(zhuǎn)儲

INCR0ADDA,R6;求校驗和

MOVR6,ADJNZR7,BLOOP2;判數(shù)據(jù)塊是否接收完成

JNBRI,$;完成,接收1號機發(fā)來校驗和

CLRRIMOVA,SBUFXRLA,R6;比較校驗和

JZEND1;校驗和相等,跳至發(fā)正確標(biāo)志

MOVSBUF,#0FFH;校驗和不相等,發(fā)錯誤標(biāo)志

JNBTI,$;轉(zhuǎn)重新接收

CLRTIEND1:MOVSBUF

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論