單片機原理及應(yīng)用(第二版) 課件 第4章 中斷、定時與串行通信_第1頁
單片機原理及應(yīng)用(第二版) 課件 第4章 中斷、定時與串行通信_第2頁
單片機原理及應(yīng)用(第二版) 課件 第4章 中斷、定時與串行通信_第3頁
單片機原理及應(yīng)用(第二版) 課件 第4章 中斷、定時與串行通信_第4頁
單片機原理及應(yīng)用(第二版) 課件 第4章 中斷、定時與串行通信_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章中斷、定時與串行通信4.1中斷系統(tǒng)4.2定時/計數(shù)器4.3串行通信及其接口習題4

4.1中斷系統(tǒng)

4.1.1中斷的概念中斷是指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的某個事件的一種響應(yīng)過程,即CPU正在執(zhí)行程序時,系統(tǒng)發(fā)生某一事件需要迅速處理,CPU暫時停止現(xiàn)行程序的執(zhí)行,而自動轉(zhuǎn)去處理該事件;當事件處理完成后,CPU再返回到被暫停的程序斷點處,繼續(xù)執(zhí)行原來的程序,這一過程稱為中斷,如圖4.1所示。

圖4.1中斷過程

為實現(xiàn)中斷功能,單片機的中斷系統(tǒng)應(yīng)解決以下幾方面的問題。

1.中斷源

所謂中斷源,是指引起CPU中斷的事件,即中斷請求信號的來源。中斷源向CPU提出的處理請求,稱為中斷請求或中斷申請。中斷請求信號的產(chǎn)生及該信號怎樣被CPU有效地識別是中斷源需要解決的問題,而且要求中斷請求信號產(chǎn)生一次,只能被CPU接收處理一次,不能一次中斷被CPU多次響應(yīng),這也就是中斷請求信號的及時撤除問題。

2.中斷響應(yīng)、處理與返回

中斷源向CPU提出中斷請求,CPU暫時停止自身的事務(wù),轉(zhuǎn)去處理事件的過程,稱為中斷響應(yīng)過程。對事件的整個處理過程,稱為中斷服務(wù)或中斷處理。處理完畢,再回到原來被中止的地方,稱為中斷返回。CPU接收到中斷請求信號后,怎樣轉(zhuǎn)向該中斷源的中斷服務(wù)程序及執(zhí)行完中斷處理程序后如何正確返回被中斷的程序繼續(xù)執(zhí)行是問題的關(guān)鍵。中斷響應(yīng)與返回的過程中涉及CPU響應(yīng)中斷的條件、現(xiàn)場保護等問題。

3.中斷級別

通常一個中斷系統(tǒng)都有多個中斷源,經(jīng)常會出現(xiàn)兩個以上中斷源同時提出中斷請求的情況,這樣就需要設(shè)計者事先根據(jù)輕重緩急給每一個中斷源確定一個中斷級別(優(yōu)先權(quán)),當多個中斷源同時發(fā)出中斷申請時,CPU能找到優(yōu)先權(quán)級別最高的中斷源,響應(yīng)它的中斷請求,在優(yōu)先權(quán)級別最高的中斷源處理完后,再響應(yīng)級別較低的中斷源。當CPU響應(yīng)某一中斷源的請求并進行中斷處理時,若有優(yōu)先權(quán)級別更高的中斷源發(fā)出中斷申請,則CPU要能中斷正在進行的中斷服務(wù)程序,保留這個程序的斷點和現(xiàn)場,響應(yīng)高級中斷,在高級中斷處理完以后,再繼續(xù)執(zhí)行被中斷的中斷程序,這種情況稱為中斷嵌套。CPU一般都可實現(xiàn)多級中斷嵌套。

4.1.2MCS-51系列單片機的中斷系統(tǒng)

1.?MCS-51系列單片機中斷系統(tǒng)的組成

MCS-51系列單片機的中斷系統(tǒng)是8位單片機中功能較強的一種。51子系列單片機具有5個中斷源,52子系列單片機具有6個中斷源,具有兩級中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套,4個用于中斷控制的特殊功能寄存器IE、IP、TCON和SCON用來控制中斷的類型、中斷的開放/禁止和各種中斷源的優(yōu)先級別。MCS-51系列單片機中斷系統(tǒng)結(jié)構(gòu)框圖如圖4.2所示。

圖4.2MCS-51系列單片機中斷系統(tǒng)結(jié)構(gòu)框圖

1)定時/計數(shù)器控制寄存器TCON

TCON為定時/計數(shù)器T0、Tl的控制器寄存器,同時也鎖存了T0、Tl的溢出中斷請求信號標志和外部中斷請求信號標志,其各位的定義如下:

2)串行口控制寄存器SCON

SCON為串行口控制寄存器,SCON的低兩位鎖存串行口接收中斷和發(fā)送中斷標志RI和TI,其格式如下:

?TI:串行口發(fā)送中斷標志位。

?RI:串行口接收中斷標志位。

3.中斷控制

MCS-51單片機有兩個特殊功能寄存器,用于中斷系統(tǒng)的控制,分別為中斷允許寄存器IE和中斷優(yōu)先級寄存器IP。

1)中斷允許寄存器IE

IE控制CPU對中斷源的開放或屏蔽,其格式如下:

?EA:CPU總中斷開放標志位。

?ES:串行中斷允許標志位。

?ET1:定時/計數(shù)器T1溢出中斷允許標志位。

?EX1:外部中斷1中斷允許標志位。

?ET0:定時/計數(shù)器T0溢出中斷允許標志位。

?EX0:外部中斷0中斷允許標志位。

2)中斷優(yōu)先級寄存器IP

MCS-51單片機具有兩個中斷優(yōu)先級,每個中斷源可編程為高優(yōu)先級中斷或低優(yōu)先級中斷,并可實現(xiàn)二級中斷嵌套。特殊功能寄存器IP就是用來設(shè)定各中斷源優(yōu)先級別的,其格式如下:

?PS:串行口中斷優(yōu)先級控制位。

?PT1:定時/計數(shù)器T1中斷優(yōu)先級控制位。

?PX1:外部中斷1中斷優(yōu)先級控制位。

?PT0:定時/計數(shù)器T0中斷優(yōu)先級控制位。

?PX0:外部中斷0中斷優(yōu)先級控制位。

通過設(shè)置IP寄存器把各中斷源的優(yōu)先級分為高、低兩級,它們遵循兩條基本原則:

(1)低優(yōu)先級中斷可以被高優(yōu)先級中斷所中斷,反之不能。

(2)一種中斷一旦得到響應(yīng),與它同級的中斷不能再中斷。

當CPU同時收到幾個同一優(yōu)先級別的中斷請求時,哪一個的請求得到服務(wù)取決于內(nèi)部的硬件查詢順序,CPU將按自然優(yōu)先級順序確定響應(yīng)哪個中斷請求。其自然優(yōu)先級由硬件形成,查詢次序如表4.1所示。

4.1.3中斷處理過程

中斷處理過程可分為三個階段:中斷響應(yīng)、中斷處理和中斷返回。

1.中斷響應(yīng)

1)中斷響應(yīng)條件

單片機響應(yīng)中斷的條件為中斷源有請求(中斷允許寄存器IE相應(yīng)位置1),且CPU開中斷(即EA=1)。這樣,在每個機器周期的S5P2期間,對所有中斷源按用戶設(shè)置的優(yōu)先級和內(nèi)部規(guī)定的優(yōu)先級進行順序檢測,并可在S6期間找到所有有效的中斷請求。如有中斷請求,且滿足下列條件,則在下一個機器周期的S1期間響應(yīng)中斷,否則將丟棄中斷采樣的結(jié)果:

(1)無同級或高級中斷正在處理;

(2)現(xiàn)行指令執(zhí)行到最后一個機器周期且已結(jié)束;

(3)若現(xiàn)行指令為RETI或訪問IE、IP的指令時,執(zhí)行完該指令且緊隨其后的另一條指令也已執(zhí)行完畢。

2)中斷響應(yīng)過程

CPU響應(yīng)中斷后,首先置位相應(yīng)的優(yōu)先級觸發(fā)器,然后把斷點地址壓入堆棧保護,并將響應(yīng)的中斷矢量地址裝入程序計數(shù)器,轉(zhuǎn)入該中斷服務(wù)程序進行處理。各中斷源與之對應(yīng)的矢量地址見表4.2。

3)中斷響應(yīng)時間

所謂中斷響應(yīng)時間,是指CPU檢測到中斷請求信號到轉(zhuǎn)入中斷服務(wù)程序入口所需要的機器周期數(shù)。了解中斷響應(yīng)時間對設(shè)計實時測控應(yīng)用系統(tǒng)有重要指導意義。

中斷響應(yīng)的最長時間(在無特殊情況下)由下列情況決定:若中斷檢測時正在執(zhí)行RETI或訪問IE或IP指令的第一個機器周期,則包括檢測在內(nèi)需要兩個機器周期(以上三條指令均需兩個機器周期);若緊接著要執(zhí)行的指令恰好是執(zhí)行時間最長的乘、除法指令,則其執(zhí)行時間均為四個機器周期;再用兩個機器周期執(zhí)行一條長調(diào)用指令才轉(zhuǎn)入中斷服務(wù)程序。這樣,總共需要8個機器周期。其他情況下的中斷響應(yīng)時間一般為3~8個機器周期。

2.中斷處理

CPU響應(yīng)中斷結(jié)束后即轉(zhuǎn)至中斷服務(wù)程序的入口,并從中斷服務(wù)程序的第一條指令開始執(zhí)行,直到返回指令為止,這個過程稱為中斷處理或中斷服務(wù)。中斷處理包括兩部分內(nèi)容:一是保護現(xiàn)場和恢復(fù);二是為中斷源服務(wù)。

保護現(xiàn)場是指保護PSW、工作寄存器、專用寄存器等數(shù)據(jù)。如果在中斷服務(wù)程序中要用這些寄存器,則在進入中斷服務(wù)之前應(yīng)將它們的內(nèi)容保護起來,即保護現(xiàn)場。在中斷結(jié)束時,即執(zhí)行RETI指令之前,再恢復(fù)這些寄存器的內(nèi)容,即恢復(fù)現(xiàn)場。

中斷服務(wù)是針對中斷源的具體要求進行的處理。

3.中斷返回

中斷服務(wù)程序中,最后一條指令是中斷返回指令RETI,該指令的功能是結(jié)束本次中斷服務(wù),返回到原程序。在執(zhí)行RETI指令時,將壓入堆棧的中斷點地址彈出并送回程序計數(shù)器,使程序返回到原來被中斷處繼續(xù)執(zhí)行,同時清除相應(yīng)的優(yōu)先級觸發(fā)器。

4.1.4中斷請求的撤除

中斷源發(fā)出中斷請求后,CPU首先置位相應(yīng)的中斷標志位,然后通過對中斷標志位的檢測決定是否響應(yīng)中斷,所以撤除中斷請求就是要清除中斷標志。CPU響應(yīng)某中斷請求后,在該中斷返回之前,應(yīng)將其對應(yīng)的中斷標志位復(fù)位,否則CPU在返回主程序后將再次響應(yīng)該中斷。MCS-51單片機各個中斷源標志位的清除方法不相同。

圖4.3給出了一種常用的撤銷外部中斷請求電路。

圖4.3撤銷外部中斷請求電路

圖4.4擴展四個外部中斷源電路

4.2定時/計數(shù)器

4.2.1定時/計數(shù)器的結(jié)構(gòu)及工作原理1.定時/計數(shù)器的結(jié)構(gòu)MCS-51單片機內(nèi)部的定時/計數(shù)器邏輯結(jié)構(gòu)如圖4.5所示,它由6個特殊功能寄存器組成。其中,TMOD為定時/計數(shù)器方式控制寄存器,用來設(shè)置兩個16位定時/計數(shù)器T0和T1的工作方式;TCON為定時/計數(shù)器控制寄存器,主要用來控制定時/計數(shù)器T0和T1的啟動和停止。兩個16位的定時/計數(shù)器T0?(TH0和TL0)和T1(TH1和TL1)用于設(shè)置定時或計數(shù)。

圖4.5定時/計數(shù)器邏輯結(jié)構(gòu)框圖

2.定時/計數(shù)器的工作原理

MCS-51單片機內(nèi)部的兩個16位可編程的定時/計數(shù)器T0和T1均有定時和計數(shù)功能。T0和T1的工作方式及功能選擇、定時時間、啟動方式等均可以通過編程對相應(yīng)特殊功能

寄存器TMOD和TCON進行設(shè)置來實現(xiàn),計數(shù)值也可由軟件命令設(shè)置于16位的定時/計數(shù)器(TH0、TL0或TH1、TL1)中。

4.2.2定時/計數(shù)器的工作方式寄存器及控制寄存器

1.定時/計數(shù)器方式寄存器TMOD(89H)

定時/計數(shù)器T0、T1都有四種工作方式,可通過程序?qū)MOD進行設(shè)置來選擇,其各位定義如下:

?GATE:門控位,用于控制定時/計數(shù)器的啟動是否受外部中斷請求信號的控制。

?:定時或計數(shù)功能選擇位。

?M1、M0:定時/計數(shù)器工作方式選擇位。MCS-51單片機的定時/計數(shù)器有四種工作方式,如表4.3所示。

2.定時/計數(shù)器控制寄存器TCON

TCON用于控制定時/計數(shù)器的啟、停、溢出標志和外部中斷信號觸發(fā)方式,其各位定義如下:

?TR1:定時/計數(shù)器T1的啟??刂莆弧?/p>

?TR0:定時/計數(shù)器T0的啟??刂莆弧?/p>

3.定時/計數(shù)器的工作方式

1)方式0

方式0為13位定時/計數(shù)器。13位計數(shù)寄存器由TH0(TH1)的高8位和TL0(TL1)的低5位構(gòu)成,TL0(TL1)中的高3位不用。T0(或T1)方式0的結(jié)構(gòu)框圖如圖4.6所示。

圖4.6T0(或T1)方式0的結(jié)構(gòu)框圖

2)方式1

方式1是16位定時/計數(shù)器,其結(jié)構(gòu)與方式0類似,唯一的區(qū)別在于計數(shù)器的位數(shù)不同。方式1的加1計數(shù)器由TH0(TH1)的8位和TL0(TL1)的8位構(gòu)成。

在方式1時,計數(shù)器的計數(shù)值由下式確定:

N?=?216-x?=?65536-x

計數(shù)范圍為1~65536。

定時器的定時時間由下式確定:

T?=?N?×?Tcy?=?(65536-x)Tcy

如果fosc=12MHz,則Tcy=1μs,定時范圍為1~65536μs。

3)方式2

方式2是能自動重裝計數(shù)初值的8位計數(shù)器。方式2中把16位的計數(shù)器拆成兩個8位計數(shù)器,低8位作計數(shù)器用,高8位用以保存計數(shù)初值。當?shù)?位計數(shù)產(chǎn)生溢出時,將溢出中斷標志位置1,同時又將保存在高8位中的計數(shù)初值重新裝入低8位計數(shù)器中,繼續(xù)計數(shù),循環(huán)不止。T0(或T1)方式2的結(jié)構(gòu)框圖如圖4.7所示。

圖4.7T0(或T1)方式2的結(jié)構(gòu)框圖

在工作方式2時,計數(shù)器的計數(shù)值由下式確定:

N?=?28-x?=?256-x

計數(shù)范圍為1~256。

定時器的定時值由下式確定:

T?=?N?×?Tcy?=?(256-x)Tcy

如果fosc=12MHz,則Tcy=1μs,定時范圍為1~256μs。

4)方式3

定時/計數(shù)器T0和T1在前三種工作方式下,其功能完全相同。但工作方式3對T0和T1是大不相同的。當T1設(shè)置為工作方式3時,它將保持初始值不變,并停止計數(shù),其狀態(tài)相當于將啟??刂莆籘R1設(shè)為0,因此T1不能工作在方式3下。

若將T0設(shè)為方式3,TL0和TH0被分成兩個互相獨立的8位計數(shù)器,其邏輯結(jié)構(gòu)如圖4.8所示。

圖4.8T0方式3的結(jié)構(gòu)框圖

4.2.3定時/計數(shù)器應(yīng)用舉例

1.定時/計數(shù)器初始化

定時/計數(shù)器初始化的內(nèi)容包含以下幾點:

(1)確定定時/計數(shù)器的工作模式及工作方式,即給TMOD置相應(yīng)的控制字。

(2)計算計數(shù)初值,送入計數(shù)器TH0、TL0或TH1、TL1中。

(3)根據(jù)使用要求確定是否需要開放中斷,若使用溢出中斷功能,則需要對中斷允許寄存器IE以及中斷優(yōu)先級寄存器IP進行設(shè)置。

(4)給定時/計數(shù)器控制寄存器TCON送入命令字,啟動定時/計數(shù)器工作。

2.定時/計數(shù)器計數(shù)初值計算

1)定時器的初值計算

當選擇定時功能時,計數(shù)器是對機器周期進行計數(shù)。設(shè)T為定時時間,x為計數(shù)器的初值,n為計數(shù)器位數(shù),單片機系統(tǒng)時鐘頻率為fosc,則計數(shù)初值可通過如下公式計算:

2)計數(shù)功能的初值計算

選擇計數(shù)功能時,計數(shù)脈沖由外部引腳引入,是對外部脈沖進行計數(shù),計數(shù)初值可由下式確定:

x?=?2n-N

式中,N為計數(shù)值,其他參數(shù)的定義同定時器初值計算公式。

3.應(yīng)用舉例

例4.2用定時/計數(shù)器T1進行外部事件計數(shù),每計數(shù)1000個脈沖后,定時/計數(shù)器T1轉(zhuǎn)為定時工作方式,定時10ms后又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定fosc為6MHz,用方式1編程。

解將T1在定時和計數(shù)兩種方式下輪換工作,首先讓T1工作在方式1。

T1為定時器時初值計算如下:

T1為計數(shù)器時初值計算如下:

4.3串行通信及其接口

CPU與外部的信息交換稱為通信。通信的基本方式可分為并行通信和串行通信兩種。并行通信是指構(gòu)成信息的二進制字符的各位數(shù)據(jù)同時傳送的通信方法。并行通信的主要特點是傳輸速度快,在短距離通信中占優(yōu)勢,對長距離數(shù)據(jù)傳輸來說,因為信號線太多導致線路復(fù)雜,成本高。串行通信是指構(gòu)成信息的二進制字符的各位數(shù)據(jù)一位一位順序地傳送的通信方式。串行通信線路簡單,成本低但傳輸速度慢,適用于遠距離傳輸。

4.3.1串行通信方式

1.異步通信

在異步通信中,被傳送的信息通常是一個字符代碼或一個字節(jié)數(shù)據(jù),它們都以規(guī)定的相同傳送格式(字符幀格式)一幀一幀地發(fā)送或接收。發(fā)送端和接收端各有一套彼此獨立、互不同步的通信機構(gòu),可以由各自的時鐘來控制數(shù)據(jù)的發(fā)送和接收。

一個字符在異步傳送中又稱為一幀數(shù)據(jù),字符幀也稱數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗位和停止位四部分組成,異步通信的字符幀格式如圖4.9所示。圖4.9異步通信的字符幀格式

在串行異步傳送中,通信雙方必須事先約定:

字符格式。雙方要事先約定字符的編碼形式、奇偶校驗形式及起始位和停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為7位,加一個奇偶校驗位、一個起始位和一個停止位共10位。當然停止位也可以大于1位。

波特率。波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間有以下關(guān)系:

波特率?=?一個字符的二進制編碼位數(shù)?×?字符/秒

發(fā)送端與接收端的波特率必須一致。

2.同步通信

同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。這里的信息幀與異步通信中的字符幀不同,通常含有若干個數(shù)據(jù)字符,即數(shù)據(jù)塊,它們都是由同步字符、數(shù)據(jù)字符和校驗字符三部分組成的。一旦檢測到同步字符,下面就是按順序傳送的數(shù)據(jù)塊。同步通信的格式如圖4.10所示。

圖4.10同步通信的格式

3)串行通信的制式

串行通信中,信息數(shù)據(jù)在通信線路兩端的通信設(shè)備之間傳遞,按照數(shù)據(jù)傳遞方向和兩端通信設(shè)備所處的工作狀態(tài),可將串行通信分為單工、半雙工和全雙工三種工作制式,如圖4.11所示。

圖4.11串行通信數(shù)據(jù)傳送的制式

4.3.2MCS-51單片機的串行通信接口及其工作方式

1.串行口的結(jié)構(gòu)與功能

MCS-51單片機串行口內(nèi)部結(jié)構(gòu)示意圖如圖4.12所示。?MCS-51單片機串行口主要由兩個物理上獨立的串行數(shù)據(jù)緩沖寄存器SBUF、發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門組成。兩個特殊功能寄存器SCON和PCON用來控制串行口的工作方式和波特率。發(fā)送緩沖寄存器SBUF只能寫,不能讀;接收緩沖寄存器SBUF只能讀,不能寫。兩個緩沖寄存器共用一個地址99H,可以用讀/寫指令區(qū)分。圖4.12MCS-51單片機串行口內(nèi)部結(jié)構(gòu)示意圖

2.與串行口相關(guān)的控制寄存器

MCS-51單片機中,與串行口工作相關(guān)的特殊功能寄存器有四個,分別為串行口控制寄存器SCON、電源控制寄存器PCON、中斷允許寄存器IE和中斷優(yōu)先級寄存器IP。其中PCON、IE、IP在前面章節(jié)已經(jīng)介紹過,在此只介紹SCON。

SCON用于串行口的工作方式選擇、接收和發(fā)送控制以及串行口的狀態(tài)標志,是一個可位尋址的8位特殊功能寄存器。其各位的定義如下:

?SM0、SM1:由軟件置位或清0,用于選擇串行口四種工作方式,如表4.4所示。

3.串行口工作方式

1)方式0

方式0下,串行口用作同步移位寄存器,其波特率固定為單片機振蕩頻率的1/12,串行傳送數(shù)據(jù)8位為一幀,由RXD(P3.0)引腳發(fā)送或接收,低位在前,高位在后。TXD(P3.1)引腳輸出同步移位脈沖信號,可以作為外部擴展的移位寄存器的移位時鐘,因而串行口方式0常用于擴展外部并行I/O口。

2)方式1

在方式1下,串行口為10位通用異步通信接口。一幀信息包括1位起始位(0)、8位數(shù)據(jù)位(低位在前)和l位停止位(1)。TXD是發(fā)送端,RXD是接收端。其傳送波特率可變。

3)方式2與方式3

方式2、方式3都是11位異步通信接口,發(fā)送或接收的一幀信息由11位組成,其中1位起始位、9位數(shù)據(jù)位(低位在前)和1位停止位。方式2與方式3僅波特率不同,方式2的波特率為fosc/32(SMOD=1時)或fosc/64(SMOD=0時),而方式3的波特率由定時/計數(shù)器T1及SMOD決定。

4.波特率設(shè)置

串行口的四種工作方式對應(yīng)著三種波特率模式。

對于方式0,波特率是固定的,為fosc12。

對于方式2,波特率由振蕩頻率fosc和SMOD(PCON.7)所決定,其對應(yīng)公式為

當SMOD=0時,波特率為fosc/64;當SMOD=1時,波特率為fosc/32。

對于方式1和方式3,波特率由定時/計數(shù)器T1的溢出率和SMOD決定,即由下式確定:

其中,溢出率取決于計數(shù)速率和定時器的初值。當利用TI作波特率發(fā)生器時,通常選用方式2,即8位自動重裝初值模式,其中TL1作計數(shù)器,TH1存放自動重裝的定時初值。因此,對T1初始化時,寫入方式控制字TMOD=00100000B。

這樣每過“256-x”個機器周期,定時器T1就會產(chǎn)生一次溢出,溢出周期為

溢出率為溢出周期的倒數(shù),因此,波特率的公式還可寫成:

實際應(yīng)用時,總是先確定波特率,再計算定時器T1的定時初值。根據(jù)上述波特率的公式,得出計算定時器方式2的初值x的公式為

4.3.3串行通信應(yīng)用舉例

1.利用串行口擴展并行I/O接口

當串行口工作于方式0時,是移位寄存器方式,此時可以利用串行口外接移位寄存器將串行口擴展為并行口。

例4.3利用串行口方式0擴展I/O接口,接8個共陰極數(shù)碼管,使片內(nèi)RAM的30H~37H單元的內(nèi)容依次顯示在8個數(shù)碼管上。

解串行口工作在方式0,在TXD和RXD引腳連接串入并出的移位寄存器74LS164即可實現(xiàn)題目要求,利用串行口擴展并行I/O口電路圖如圖4.13所示。圖4.13利用串行口擴展并行I/O口電路圖

2.用串行口作異步通信

串行口工作方式1、2、3都是異步通信,它們之間的區(qū)別在于字符幀格式和通信波特率不同。雙機異步通信的連接線路圖如圖4.14所示。圖4.14雙機異步通信的連接線路圖

例4.4甲乙兩機按工作方式1進行串行通信,甲乙雙方的fosc=11.059MHz,波特率取2400,甲機將片內(nèi)RAM的30H到3FH的內(nèi)容向乙機發(fā)送,先發(fā)送數(shù)據(jù)塊長度,再發(fā)送數(shù)據(jù)。甲機數(shù)據(jù)全部發(fā)送完向乙機發(fā)送一個累加校驗和。乙機接收數(shù)據(jù)進行累加和校驗,若與甲機發(fā)送的一致,則發(fā)送數(shù)據(jù)AAH,表示接收正確;若不一致,則發(fā)送數(shù)據(jù)BBH,甲機接收到BBH后,重發(fā)數(shù)據(jù)。編寫程序。

解當fosc=11.0592MHz,波特率取2400,取SMOD為0,定時/計數(shù)器T1工作于方式2時,計數(shù)初值為0F4H。設(shè)R6作為數(shù)據(jù)長度計算器,R5為累加和寄存器。乙機接收的數(shù)據(jù)存放于片內(nèi)RAM的30H開始的單元。

3.多機通信

MCS-51的方式2和方式3有一個專門的應(yīng)用領(lǐng)域,即多處理機通信,它可以方便地應(yīng)用于主從式系統(tǒng)。這種系統(tǒng)采用一臺主機和多臺從機,主機和各從機可實現(xiàn)全雙工通信,其中主機發(fā)送的信息可被各從機接收,而各從機發(fā)送的信息只能由主機接收,從機與從機之間不能

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論