版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第5章 MCS-51單片機 典型功能部件結(jié)構(gòu)及應用 5.1 中斷系統(tǒng) 5.2 MCS-51單片機定時器/計數(shù)器 5.3 串行口,5.1 中斷系統(tǒng) 5.1.1 中斷的概念 1. 中斷及中斷源 中斷是指在CPU正在執(zhí)行某一段程序的過程中,如果外界或內(nèi)部發(fā)生了緊急事件,要求CPU暫停正在運行的程序轉(zhuǎn)而去處理這個緊急事件,待處理完后再回到原來被停止執(zhí)行程序的間斷點,繼續(xù)執(zhí)行原來被打斷了的程序的過程。 實現(xiàn)這種功能的機構(gòu)稱為中斷系統(tǒng),產(chǎn)生中斷的請求源叫中斷源。 2. 中斷嵌套及優(yōu)先級 當CPU正在處理一個優(yōu)先級低的中斷請求的時候,如果發(fā)生另一個優(yōu)先級比它高的中斷請求,CPU暫停正在處理的中斷源的處理程序
2、,轉(zhuǎn)而處理優(yōu)先級高的中斷請求,待處理完之后,再回到原來正在處理的低級中斷程序,這種 高級中斷源能中斷低級中斷源的中斷處理稱為中斷嵌套。,5.1.2 MCS-51中斷系統(tǒng)結(jié)構(gòu)及中斷控制 1. 中斷源和中斷請求標志 (1)中斷源 MSC-51系列單片機的5個中斷源,包括2個外部中斷源和 3個內(nèi)部中斷源。 2個外部中斷源是外部中斷0和外部中斷 1 ; 3個內(nèi)部中斷源是定時器/計數(shù)器0溢出中斷、定時器/ 計數(shù)器1溢出中斷、串行口的發(fā)送和接收中斷(TI和RI)。 (2)TCON寄存器 TCON是定時器/計數(shù)器0和1(T0、T1)的控制寄存器, 同時也用來鎖存T0、T1的溢出中斷請求標志和外部中斷請求標志
3、。 (3)SCON寄存器 SCON為串行口控制寄存器,其中的低兩位用作串行口中 斷請求標志。 TI(SCON.1):串行口發(fā)送中斷請求標志。 RI(SCON.0):串行口接收中斷請求標志。,TCON寄存器: IE1(TCON.3):外部中斷請求標志位。 IT1(TCON.2):外部中斷觸發(fā)方式控制位。由軟件來置1或清0 IT1=0時,外部中斷1為電平觸發(fā)方式, IT1=1時,外部中斷1為邊沿觸發(fā)方式(下降沿有效) IT0(TCON.0):外部中斷0()觸發(fā)方式控制位,由軟件置位或復位。IT0=1,外部中斷0為邊沿觸發(fā)方式(下降沿有效);IT0=0,外部中斷0為電平觸發(fā)方式。 TF0(TCON.
4、5):定時器/計數(shù)器0(T0)的溢出中斷請求標志。當T0計數(shù)產(chǎn)生溢出時,由硬件將TF0置1 TF1(TCON.7):定時器/計數(shù)器1(T1)的溢出中斷請求標志 IE0(TCON.1):外部中斷請求標志位。當引腳(P3.2)上出現(xiàn)中斷請求信號時,由硬件置位IE0,向CPU申請中斷。,2. 中斷允許控制 在MCS-51單片機中斷系統(tǒng)中,中斷的允許或禁止是由 片內(nèi)的中斷允許寄存器IE控制的。其引腳定義如下: EA(IE.7):CPU中斷允許標志。EA=0時,表示CPU屏蔽所有中斷;EA=1,表示CPU開放中斷,但每個中斷源的中斷請求是允許還是被禁止,還需由各自的允許位來確定。 ES(IE.4):串行
5、口中斷允許位。ES=0,禁止串行口中斷;ES=1時,允許串行口中斷。 ET1(IE.3):定時器/計數(shù)器T1溢出中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。 EX1(IE.2):外部中斷1中斷允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。 ET0(IE.1):定時器/計數(shù)器T0溢出中斷允許位,其功能同ET1 EX0(IE.0):外部中斷0中斷允許位,功能同EX1。 中斷允許寄存器IE中各位的狀態(tài),可根據(jù)要求用軟件置位或清零,從而實現(xiàn)對于該中斷源允許中斷或禁止中斷。當CPU復位時,IE被清零。,3. 中斷優(yōu)先級控制 MCS-51系列單片機的中斷優(yōu)先級
6、是由中斷優(yōu)先級寄存器IP控制的。 MSC-51單片機中的中斷系統(tǒng),應遵循以下基本準則: (1) 低優(yōu)先級中斷可被高優(yōu)先級中斷請求所中斷,高優(yōu)先級中斷不能被低優(yōu)先級中斷請求所中斷。 (2) 同級的中斷請求不能打斷已經(jīng)執(zhí)行的同級中斷。 (3) 中斷源自然優(yōu)先級順序 中斷源自然優(yōu)先級由高到低: 外部中斷0 定時器/計數(shù)器0 外部中斷1 定時器/計數(shù)器1 串行口,5.1.3 MCS-51中斷響應過程 MCS-51系列單片機的中斷響應過程可分為中斷響應、中斷處理和中斷返回三個階段。 1. 中斷響應 CPU響應中斷的條件主要有以下幾點: (1)有中斷源發(fā)出中斷請求; (2)中斷總允許為EA=1,即CPU開
7、中斷; (3)請求中斷的中斷源的中斷允許位為1,2. 中斷處理 CPU從執(zhí)行中斷處理程序第一條指令開始到返回指令RETI為止,這個過程稱為中斷處理或中斷服務。中斷處理一般包括保護現(xiàn)場、處理中斷源的請求以及恢復現(xiàn)場三部分內(nèi)容。 3. 中斷返回 中斷返回是指執(zhí)行完中斷處理程序的最后指令RETI之后,程序返回到斷點,繼續(xù)執(zhí)行原來的程序。,5.1.4 中斷響應后中斷請求的撤除 中斷源提出中斷申請,在CPU響應此中斷請求后,該中斷源的中斷請求在中斷返回之前應當撤除,以免引起重復中斷,被再次響應。 5.1.5 中斷系統(tǒng)應用 例:單片機讀P1.0的狀態(tài),把這個狀態(tài)送到P1.7的指示燈去,當P1.0為高電平,
8、指示燈亮;當P1.0為低電平時,指示燈不亮。要求用中斷控制這一輸入/輸出過程,每請求中斷一次,完成一個讀寫過程。,#include sbit P1_0=P10; sbit P1_7=P17; void main() IE=0 x81;/* cpu開中斷和外部中斷0允許*/ TCON=0 x01;/* INT0設置為負邊沿觸發(fā)*/ while (1); void ex_int0(void)interrupt 0 if (P1_0=1) P1_7=1; else P1_7=0; ,5.2 MCS-51單片機定時器/計數(shù)器 MCS-51單片機內(nèi)部有兩個16位定時器/計數(shù)器,簡稱定時器0(T0)和定時
9、器1(T1)。它們均可用作定時器或事件計數(shù)器,為單片機系統(tǒng)提供計數(shù)和定時功能,還可作為串行接口的波特率發(fā)生器 5.2.1 定時器/計數(shù)器概述 定時器/計數(shù)器實際上是加1計數(shù)器,當它對外部事件進行計數(shù)時,由于頻率不固定,此時稱之為計數(shù)器; 當它對內(nèi)部固定頻率的機器周期進行計數(shù)時,稱之為定時器。 它們的工作狀態(tài)及工作方式由兩個特殊功能寄存器TMOD和TCON的各位來決定。工作狀態(tài)有定時和計數(shù)兩種,由TMOD的第2位(T0)或第6位(T1)決定。工作模式共有03四種,也是由TMOD其中的兩位(1個定時器)來決定。TMOD和TCON的內(nèi)容由軟件寫入。,定時器/計數(shù)器內(nèi)部結(jié)構(gòu)框圖,定時器/計數(shù)器的基本結(jié)
10、構(gòu): TH1、TL1是T1的計數(shù)器,TH0、TL0是T0的計數(shù)器。TH1和TL1、TH0和TL0分別構(gòu)成兩個16位加法計數(shù)器 。,5.2.2 定時器/計數(shù)器的控制 定時器/計數(shù)器有4種工作模式,由TMOD設置并由TCON控制。 1. 工作方式控制寄存器TMOD 特殊功能寄存器TMOD的地址為89H,它不能位尋址,在設置時一次寫入。高4位用于定時器T1,低4位用于定時器T0 M1M0工作模式控制位 M1M0對應4種不同的二進制組合,分別對應4種工作模式。 C/T :定時器方式和計數(shù)器方式選擇控制位 為1:定時/計數(shù)器工作在計數(shù)器方式。 為0:定時/計數(shù)器工作在定時器方式。 GATE定時器/計數(shù)器
11、運行控制位(門控位) 2. 定時器控制寄存器TCON 定時器控制寄存器TCON除可字節(jié)尋址外,還可以位尋址。TCON的字節(jié)地址為88H,位地址為88H8FH 。,5.2.3 定時器/計數(shù)器的工作模式 MCS-51系列單片機的定時器/計數(shù)器T0和T1可由軟件對特殊功能寄存器TMOD中控制位C/進行設置,以選擇定時功能或計數(shù)功能。對M1和M0位的設置對應于四種工作模式,即模式0、模式1、模式2、模式3。 1. 工作模式0 模式0是選擇定時器/計數(shù)器(T0或T1)的高8位和低5位組成的一個13位定時器/計數(shù)器。其邏輯框圖如圖5-4所示。,定時器/計數(shù)器T0工作模式0邏輯結(jié)構(gòu)框圖,2. 工作模式1 該
12、模式對應的是一個16位的定時器/計數(shù)器,其結(jié)構(gòu)與操作幾乎與模式0完全相同,惟一的差別是:在模式1中,寄存器TH0和TL0是以全部16位參與操作。用于定時工作方式時,定時時間為 t=(216-T0初值)振蕩周期12 用于計數(shù)工作方式時,計數(shù)最大長度為21665535個外部脈沖。,定時器/計數(shù)器T0工作模式1邏輯結(jié)構(gòu)框圖,3. 工作模式2 模式2把TL0(或TL1)設置成一個可以自動重裝載的8位定時器/計數(shù)器。 TL0計數(shù)溢出時,不僅使溢出中斷標志位TF0置1,而且還自動把TH0中的內(nèi)容重新裝載到TL0中。TL0用作8位計數(shù)器,TH0用以保存初值。 用于定時工作方式時,其定時時間(TF0溢出周期)
13、為 t=(28-TH0初值)振蕩周期12 用于計數(shù)工作方式時, 最大計數(shù)長度為28=256 個外部脈沖。,定時器/計數(shù)器T0工作模式2邏輯結(jié)構(gòu)框圖,4. 工作模式3 工作模式3對T0和T1大不相同。若將T0設置為模式3,TL0和TH0被分成為兩個相互獨立的8位計數(shù)器。,定時器/計數(shù)器T0工作模式3邏輯結(jié)構(gòu)框圖,5. 波特率發(fā)生器 定時器T0和T1可同時工作在不同的工作方式。在定時器T0工作在模式3時,盡管TR1和TF1被T0占用,但T1仍可通過M0M1設置其工作模式為02。此時,T1常用作串口的波特率發(fā)生器。,5.2.4 定時器/計數(shù)器的應用舉例 設單片機晶振為6MHz,P1.0連接一個發(fā)光二
14、極管,利用定時器使發(fā)光二極管每1s其狀態(tài)改變一次。 由于定時器最長定時時間是有限的,因此,為實現(xiàn)1s的延時,可以設置定時器T0定時時間為100ms,通過程序設置一個軟件計數(shù)器,對定時器溢出次數(shù)(10次)計數(shù)。 計數(shù)初值的算法: 65536-100000/2 = 15536=(3CB0H),C51程序如下: #include #define uchar unsigned char sbit led = P10; void Init (void) TMOD = 0 x01;/設置T0為方式1 TH0 =0-50000 / 256;/對于16位計數(shù)器0-50000=15536, 免于計算直接裝入初值
15、 TL0 =0-50000 % 256; /裝入初值(15536 mod256) TR0 = 1; led = 1; ,void main(void) uchar i = 0; Init ( ); while(1) TH0 =0-50000 / 256;/重新裝入初值 TL0 =0-50000 % 256; while(!TF0) ;/等待T0溢出 TF0 = 0;/清除溢出標志位 i +;/軟件計數(shù)加1 if(i = 10) led = led;/ P1.0取反輸出 i = 0;/軟件計數(shù)器清0 ,5.3 串行口 CPU與外部設備的基本通信方式有兩種: 并行通信,數(shù)據(jù)的各位同時進行傳送。其特
16、點是傳送速度快、效率高,數(shù)據(jù)有多少位,就需要有多少根傳輸線。 串行通信,數(shù)據(jù)一位一位地按順序進行傳送。其特點是只需一對傳輸線就可實現(xiàn)通信,當傳輸?shù)臄?shù)據(jù)較多、 距離較遠時,它可以顯著減少傳輸線,降低通信成本,但是串行傳送的速度慢。 5.3.1 串行通信的基本概念 串行通信是指計算機主機與外設之間以及主機系統(tǒng)與主機系統(tǒng)之間數(shù)據(jù)的串行傳送。 1. 異步通信和同步通信 串行通信有兩種基本通信方式:異步通信和同步通信。 (1)異步通信 在異步通信中,數(shù)據(jù)通常以字符(或字節(jié))為單位組成數(shù) 據(jù)幀傳送。,異步通信的字符幀格式,(2)同步通信 在同步通信中,每個數(shù)據(jù)塊傳送開始時,采用一個或兩個 同步字符作為起始
17、標志 , 數(shù)據(jù)在同步字符之后,個 數(shù)不受限制,由所需傳送 的數(shù)據(jù)塊長度確定。,同步傳送的數(shù)據(jù)格式,2. 串行通信的制式 在串行通信中,數(shù)據(jù)是在由通信線連接的兩個工作站之間傳送的。按照數(shù)據(jù)傳送方向,串行通信可分為單工、半雙工和全雙工三種方式 (1)單工制式 只允許數(shù)據(jù)向一個方向傳送,即一方只能發(fā)送,另一方只能接收。 (2)半雙工制式 允許數(shù)據(jù)雙向傳送,但由于只有一根傳輸線,在同一時刻只能一方發(fā)送,另一方接收。 (3)全雙工制式 允許數(shù)據(jù)同時雙向傳送,由于有兩根傳輸線,在A站 將數(shù)據(jù)發(fā)送到B站的同時,也允許B站將數(shù)據(jù)發(fā)送到A站。,3. 波特率和發(fā)送/接收時鐘 (1)波特率 串行通信的數(shù)據(jù)是按位進行
18、傳送的,每秒鐘傳送的二進制數(shù)碼的位數(shù)稱為波特率(也稱比特數(shù)),單位是bps(bit per second),即位/秒。 (2)發(fā)送/接收時鐘 二進制數(shù)據(jù)序列在串行傳送過程中以數(shù)字信號波形的形式出現(xiàn)。無論發(fā)送或是接收,都必須有時鐘信號對傳送的數(shù)據(jù)進行定位。 在發(fā)送數(shù)據(jù)時,發(fā)送器在發(fā)送時鐘的下降沿將移位寄存器中的數(shù)據(jù)串行移位輸出;在接收數(shù)據(jù)時,接收器在接收時鐘的上升沿對數(shù)據(jù)位采樣。,4. 奇偶校驗 當串行通信用于遠距離傳送時,容易受到噪聲干擾。為保證通信質(zhì)量,需要對傳送的數(shù)據(jù)進行校驗。對于異步通信,常用的校驗方法是奇偶校驗法。,5.3.2 MCS-51單片機串行口 1. 串行口結(jié)構(gòu) 串行口內(nèi)部有兩
19、個物理上相互獨立的數(shù)據(jù)緩沖器SBUF,一個用于發(fā)送數(shù)據(jù),另一個用于接收數(shù)據(jù)。但發(fā)送緩沖器只能寫入數(shù)據(jù),不能讀出數(shù)據(jù);而接收緩沖器只能讀出數(shù)據(jù),不能寫入數(shù)據(jù),所以兩個緩沖器共用一個地址(99H)。,串行口結(jié)構(gòu)框圖,發(fā)送數(shù)據(jù)時,執(zhí)行一條將數(shù)據(jù)寫入SBUF 的傳送指令(例如 MOV SBUF,A),即可將要發(fā)送的數(shù)據(jù)按事先設置的方式和波特率從引腳TXD串行輸出。一個數(shù)據(jù)發(fā)送完畢后,串行口產(chǎn)生中斷標志位,向CPU申請中斷,請求發(fā)送下一個數(shù)據(jù)。 接收數(shù)據(jù)時,當檢測到RXD引腳上出現(xiàn)一幀數(shù)據(jù)的起始位后,便一位一位地將接下來的數(shù)據(jù)接收保存到SBUF中,然后產(chǎn)生中斷標志位,向CPU申請中斷,請求CPU接收這一
20、數(shù)據(jù),CPU響應中斷后,執(zhí)行一條讀SBUF指令 (例如 MOV A,SBUF)就可將接收到的數(shù)據(jù)送入某個寄存器或存儲單元。為避免前后兩幀數(shù)據(jù)重疊,接收器是雙緩沖的。,2. 串行口控制 (1)串行口控制寄存器SCON SCON是MCS-51的一個SFR,串行數(shù)據(jù)通信的方式選擇、接收 和發(fā)送控制以及串行口的狀態(tài)標志都由專用寄存器SCON控 制和指示。SCON用于控制串行口的工作方式,同時還包含 要發(fā)送或接收到的第9位數(shù)據(jù)位以及串行口中斷標志位。該 寄存器的字節(jié)地址為98H 。 (2)電源控制寄存器PCON PCON中只有最高位SMOD與串行口工作有關(guān),該位用于 控制串行口工作于方式1、2、3時的波
21、特率。當SMOD=1時, 波特率加倍。PCON的字節(jié)地址為87H,沒有位尋址功能。單 片機復位時,SMOD=0。,3. 串行口的工作方式 方式0主要用于擴展并行輸入/輸出口,方式1、方式2 和方式3主要用于串行通信。 (1)方式0 該方式為同步移位寄存器輸入/輸出方式,常用于擴展并行I/O口。 (2)方式1 方式1為波特率可變的10位異步通信方式,由TXD端發(fā)送數(shù)據(jù),RXD端接收數(shù)據(jù)。收發(fā)一幀數(shù)據(jù)的格式為1位起始位、8位數(shù)據(jù)位、一位停止位,共10位 。 (3)方式2和方式3 這兩種方式都是11位異步通信,操作方式完全一樣,只有波特率不同,適用于多機通信。,4. 波特率設置 (1)方式0的波特率
22、 在方式0下,串行口的波特率是固定的,即 波特率=fosc /12 (2)方式2的波特率 在方式2下,串行口的波特率可由PCON中的SMOD位控制:若使SMOD=0,則所選波特率為fosc/64;若使SMOD=1,則波特率為fosc/32。 (3)方式1和方式3的波特率 在這兩種方式下,串行口波特率由定時器T1的溢出率和SMOD值同時決定。相應公式為: 波特率=2SMODT1溢出率/32,5.3.3 串行口應用 1. 串行口方式0的應用 串行口方式0為同步操作。 外接串入并出或并入串出器件,可實現(xiàn)I/O的擴展。 I/O口擴展有兩種不同用途:一是利用串行口擴展并行輸出口,此時需外接串行輸入/并行
23、輸出的同步移位寄存器,如74LS164或CD4094; 另一種是利用串行口擴展并行輸入口,此時需外接并行輸入/串行輸出的同步移位寄存器,如74LS165/74HC165或CD4014。,2. 串行口在其他方式下的應用 MCS-51單片機串行口工作在方式1、2、3時,都用于異步通信,它們之間的主要差別是字符幀格式和波特率不同。此時,單片機發(fā)送或接收數(shù)據(jù)可以采用查詢方式或中斷方式。 3. 雙機通信 雙機通信也稱為點對點的異步串行通信。當兩個MCS-51系列單片機應用系統(tǒng)相距很近時,可將它們的串行口直接相連來實現(xiàn)雙機通信,雙機通信中通信雙方處于平等地位,不需要相互之間識別地址,因此串行口工作方式1、2、3都可以實現(xiàn)雙機之間的全雙工異步串行通信。如果要保持通信的可靠性,還需要在收發(fā)數(shù)據(jù)前規(guī)定通信協(xié)議,包括對通信雙方發(fā)送和接收信息的格式、差錯校驗與處理、波特率設置等事項的明確約定。,5.3.4 常用串行通信總線標準及接口電路 常用的標準異步串行通信接口有RS-232C、 RS-422/485、USB通用接口等幾類。 1. RS-232C總線標準及接口電路 (1)RS-232C總線標準 RS-232C適用于短距離或帶調(diào)制解調(diào)器的通信場合,設備之間的通信距離不大于15m時,可以用RS-232C電纜直接連接;對于距離大于15m以上的長距離通信,需要采用調(diào)制解調(diào)器才
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年地質(zhì)災害的監(jiān)測與評估技術(shù)進展
- 2026年納米復合材料的性質(zhì)測試
- 2025年營口事業(yè)單位考試筆試題及答案
- 2025年四川復核教資筆試及答案
- 2025年啟程教育長春事業(yè)編考試及答案
- 2026年建筑行業(yè)發(fā)展規(guī)劃與政策解析
- 2025年唐山市衛(wèi)生事業(yè)編考試及答案
- 2025年四川煙草商務系統(tǒng)筆試及答案
- 2025年甘肅煙草筆試及答案
- 2025年計算機事業(yè)編考試真題及答案
- (2025版)肥胖癥合并骨關(guān)節(jié)炎專家共識課件
- 民航招飛pat測試題目及答案
- 2型糖尿病臨床路徑標準實施方案
- 2026年鄭州鐵路職業(yè)技術(shù)學院單招職業(yè)傾向性考試題庫及參考答案詳解
- DB35-T 2278-2025 醫(yī)療保障監(jiān)測統(tǒng)計指標規(guī)范
- 長沙股權(quán)激勵協(xié)議書
- 心源性腦卒中的防治課件
- 2025年浙江輔警協(xié)警招聘考試真題含答案詳解(新)
- 果園合伙經(jīng)營協(xié)議書
- 節(jié)能技術(shù)咨詢合同范本
- 物業(yè)管理經(jīng)理培訓課件
評論
0/150
提交評論