單片機(jī)原理與接口技術(shù)(第3版)李曉林-第5章_第1頁
單片機(jī)原理與接口技術(shù)(第3版)李曉林-第5章_第2頁
單片機(jī)原理與接口技術(shù)(第3版)李曉林-第5章_第3頁
單片機(jī)原理與接口技術(shù)(第3版)李曉林-第5章_第4頁
單片機(jī)原理與接口技術(shù)(第3版)李曉林-第5章_第5頁
已閱讀5頁,還剩156頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)原理與接口技術(shù)第5章MCS-51

中斷、定時(shí)/計(jì)數(shù)器及串行接口9/11/20241(1)了解MCS-51單片機(jī)中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)和工作方式,熟悉中斷源和中斷控制寄存器,掌握中斷服務(wù)程序的設(shè)計(jì)方法。(2)了解MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作方式,熟悉定時(shí)/計(jì)數(shù)器的控制寄存器,掌握定時(shí)/計(jì)數(shù)器的應(yīng)用編程。(3)了解MCS-51單片機(jī)串行通信接口的結(jié)構(gòu)和工作方式,熟悉串行接口的控制寄存器,掌握串行通信接口的應(yīng)用編程。本章教學(xué)要求

9/11/20242本章目錄5.1中斷系統(tǒng)5.1.1中斷系統(tǒng)概述5.1.2MCS-51中斷系統(tǒng)5.1.3中斷系統(tǒng)應(yīng)用舉例5.2定時(shí)/計(jì)數(shù)器5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理5.2.2定時(shí)/計(jì)數(shù)器的工作方式5.2.3定時(shí)/計(jì)數(shù)器對(duì)輸入信號(hào)的要求5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用5.3串行通信接口5.3.1串行通信基礎(chǔ)知識(shí)5.3.2MCS-51串行通信接口5.3.3串行通信接口的應(yīng)用習(xí)題與思考題9/11/202435.1中斷系統(tǒng)

中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因而必須終止原程序的執(zhí)行,轉(zhuǎn)去完成相應(yīng)的處理程序,待處理結(jié)束之后再返回繼續(xù)執(zhí)行被終止原程序的過程。如圖5-1所示。實(shí)現(xiàn)這種中斷功能的硬件系統(tǒng)和軟件系統(tǒng)統(tǒng)稱為中斷系統(tǒng)。----中斷概念9/11/20244主程序:CPU正常情況下運(yùn)行的程序稱為主程序。中斷源:把向CPU提出中斷申請(qǐng)的設(shè)備稱為中斷源。中斷請(qǐng)求:由中斷源向CPU所發(fā)出的請(qǐng)求中斷的信號(hào)稱中斷請(qǐng)求。中斷響應(yīng):CPU在滿足條件情況下接受中斷申請(qǐng),終止現(xiàn)行程序執(zhí)行轉(zhuǎn)而為申請(qǐng)中斷的對(duì)象服務(wù)稱中斷響應(yīng)。中斷服務(wù)程序:為服務(wù)對(duì)象服務(wù)的程序稱為中斷服務(wù)程序。斷點(diǎn):現(xiàn)行程序被中斷的地址稱為斷點(diǎn)。中斷返回:中斷服務(wù)程序結(jié)束后返回到原來程序稱中斷返回。----中斷概念5.1.1中斷系統(tǒng)概述9/11/20245(1)中斷源(2)中斷優(yōu)先級(jí)控制(3)中斷響應(yīng)的過程

----中斷系統(tǒng)的基本問題1)檢測(cè)中斷2)保護(hù)現(xiàn)場(chǎng)3)中斷服務(wù)4)清除中斷標(biāo)志位5)恢復(fù)現(xiàn)場(chǎng)6)中斷返回5.1.1中斷系統(tǒng)概述9/11/20246保護(hù)現(xiàn)場(chǎng)是指由于CPU執(zhí)行中斷處理程序時(shí),可能要使用主程序中使用過的累加器、寄存器或標(biāo)志位。為了使這些寄存器的值在中斷服務(wù)程序中不被沖掉,在進(jìn)入中斷服務(wù)程序前,要將有關(guān)寄存器保護(hù)起來。在中斷服務(wù)程序執(zhí)行完時(shí),還必須恢復(fù)原寄存器的內(nèi)容及原程序中斷處的地址。即恢復(fù)現(xiàn)場(chǎng)和恢復(fù)斷點(diǎn)。保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)是通過在中斷服務(wù)程序中采用堆棧操作指令PUSH及POP實(shí)現(xiàn)的。而保護(hù)斷點(diǎn)、恢復(fù)斷點(diǎn)是由CPU響應(yīng)中斷和中斷返回時(shí)自動(dòng)完成的。----保護(hù)現(xiàn)場(chǎng)和保護(hù)現(xiàn)場(chǎng)5.1.1中斷系統(tǒng)概述9/11/202475.1.2MCS-51中斷系統(tǒng)1.中斷系統(tǒng)內(nèi)部結(jié)構(gòu)

MCS-51單片機(jī)的中斷系統(tǒng)由與中斷有關(guān)的特殊功能寄存器、中斷入口、順序查詢邏輯電路組成。----中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)9/11/20248

MCS-51單片機(jī)的中斷系統(tǒng)提供了5個(gè)中斷源。----中斷源及種類2.中斷源5.1.2MCS-51中斷系統(tǒng)9/11/20249通常,在實(shí)際應(yīng)用中有以下幾種情況可采取中斷方式工作。(1)I/O設(shè)備。(2)硬件故障。(3)實(shí)時(shí)時(shí)鐘。(4)為調(diào)試程序而設(shè)置的中斷源。----中斷方式應(yīng)用5.1.2MCS-51中斷系統(tǒng)9/11/202410----中斷方式3.中斷方式

MCS-51單片機(jī)的中斷系統(tǒng)有兩種中斷方式,即外部中斷和內(nèi)部中斷。

(1)外部中斷外部中斷是指從單片機(jī)外部引腳INT0和INT1輸入中斷請(qǐng)求信號(hào)的中斷,即外部中斷源有兩個(gè)。如輸入/輸出的中斷請(qǐng)求、實(shí)時(shí)事件的中斷請(qǐng)求、掉電和設(shè)備故障的中斷請(qǐng)求都可以作為外部中斷源,從引腳INT0和INT1輸入。外部中斷請(qǐng)求和有電平觸發(fā)和跳變(邊沿)觸發(fā)兩種觸發(fā)方式。這兩種觸發(fā)方式可以通過對(duì)特殊功能寄存器TCON編程來選擇。5.1.2MCS-51中斷系統(tǒng)9/11/202411----中斷方式(2)內(nèi)部中斷內(nèi)部中斷是單片機(jī)芯片內(nèi)部產(chǎn)生的中斷。MCS-51單片機(jī)(51子系列)的內(nèi)部中斷有定時(shí)/計(jì)數(shù)器T0和T1的溢出中斷,串行口的發(fā)送/接收中斷。5.1.2MCS-51中斷系統(tǒng)9/11/2024124.中斷控制寄存器

MCS-51中斷系統(tǒng)在4個(gè)特殊功能寄存器控制下工作。這4個(gè)特殊功能寄存器是定時(shí)/計(jì)數(shù)器控制寄存器(TCON)、串行口控制寄存器(SCON)、中斷允許控制寄存器(IE)和中斷優(yōu)先級(jí)控制寄存器(IP)。通過對(duì)這4個(gè)特殊功能寄存器的各位進(jìn)行置位或復(fù)位操作,可實(shí)現(xiàn)各種中斷控制功能。9/11/202413(1)TCON中的中斷請(qǐng)求標(biāo)志位

TCON為定時(shí)/計(jì)數(shù)器控制寄存器,其字節(jié)地址為88H,可位尋址,位地址范圍為88H~8FH。這個(gè)寄存器有兩個(gè)作用,即除了控制定時(shí)/計(jì)數(shù)器T0和T1的溢出中斷外,還控制外部中斷的觸發(fā)方式和鎖存外部中斷請(qǐng)求標(biāo)志位。TCON中的各位定義如圖5-3所示。----中斷請(qǐng)求控制1)中斷請(qǐng)求控制4.中斷控制寄存器9/11/202414IT0:選擇外部中斷0的中斷觸發(fā)方式。IT0=0,為電平觸發(fā)方式,低電平有效;IT0=1,為邊沿觸發(fā)方式,P3.2引腳信號(hào)出現(xiàn)負(fù)跳變有效。IT1:選擇外部中斷1的中斷觸發(fā)方式。其功能與IT0類同。IE0:外部中斷0的中斷請(qǐng)求標(biāo)志。當(dāng)INT0輸入端口有中斷時(shí)IE0=1,由硬件置位。----TCON寄存器4.中斷控制寄存器9/11/202415IE1:外部中斷INT1的中斷請(qǐng)求標(biāo)志。功能與IE0類似。TF0:片內(nèi)定時(shí)/計(jì)數(shù)器0溢出中斷請(qǐng)求標(biāo)志。定時(shí)/計(jì)數(shù)器的核心為加法計(jì)數(shù)器,當(dāng)定時(shí)/計(jì)數(shù)器T0發(fā)生定時(shí)或計(jì)數(shù)溢出時(shí),由硬件置位TF0或TF1,向CPU申請(qǐng)中斷,CPU響應(yīng)中斷后,會(huì)自動(dòng)清零TF0或TF1。TF1:片內(nèi)定時(shí)/計(jì)數(shù)器1溢出中斷請(qǐng)求標(biāo)志。功能與TF0類同。

----TCON寄存器4.中斷控制寄存器9/11/202416中斷請(qǐng)求標(biāo)志IE0和IE1及中斷信號(hào)的撤銷問題無論是采用邊沿觸發(fā)方式(IT0=1)還是電平觸發(fā)方式(IT0=0),在CPU響應(yīng)中斷請(qǐng)求后,中斷請(qǐng)求標(biāo)志位IE0即由硬件自動(dòng)清零。由于CPU對(duì)INT0引腳沒有控制作用,在采用電平觸發(fā)方式時(shí)中斷請(qǐng)求信號(hào)的低電平可能繼續(xù)存在,在以后的機(jī)器周期采樣時(shí)又會(huì)把已清零的IE0標(biāo)志位重新置1,這有可能再次引起中斷而造成出錯(cuò)。所以,在中斷響應(yīng)后必須采用其他方法撤銷該引腳上的低電平,以撤除外部中斷請(qǐng)求信號(hào),可以采用外接電路來撤除中斷請(qǐng)求信號(hào)

。中斷請(qǐng)求標(biāo)志位IE1的清零及中斷請(qǐng)求信號(hào)的撤銷問題與IE0類似。----中斷撤銷4.中斷控制寄存器9/11/202417例5-1

圖5-4所示為對(duì)于外部中斷采用電平觸發(fā)方式時(shí)的撤除外部中斷請(qǐng)求信號(hào)參考電路。----TCON寄存器分析:外部中斷請(qǐng)求信號(hào)通過D觸發(fā)器加到單片機(jī)引腳INTx(x=0,1)上。當(dāng)外部中斷請(qǐng)求信號(hào)使D觸發(fā)器的CLK端發(fā)生正跳變時(shí),由于D端接地,Q端輸出0,向單片機(jī)發(fā)出中斷請(qǐng)求。CPU響應(yīng)中斷后,利用一根口線,如P1.0做應(yīng)答線,在中斷服務(wù)程序中用兩條指令:ANLP1.0,#0FEHORLP1.0,#01H4.中斷控制寄存器9/11/202418----TCON寄存器ANLP1.0,#0FEHORLP1.0,#01H

通過以上兩條命令來撤除中斷請(qǐng)求。第1條指令使P1.0為0,而P1口其他各位的狀態(tài)不變。由于P1.0與D觸發(fā)器的置1端相連,故D觸發(fā)器Q=1,撤除了中斷請(qǐng)求信號(hào)。第2條指令將P1.0變成1,從而使以后產(chǎn)生的新的外部中斷請(qǐng)求信號(hào)又能向單片機(jī)申請(qǐng)中斷。4.中斷控制寄存器9/11/202419(2)SCON中的中斷請(qǐng)求標(biāo)志位

SCON為串行口控制寄存器,其字節(jié)地址為98H,可以進(jìn)行位尋址。串行口的接收和發(fā)送數(shù)據(jù)中斷請(qǐng)求標(biāo)志位(RI、TI)被鎖存在串行口控制寄存器SCON中,其格式如圖5-5所示。----SCON寄存器4.中斷控制寄存器9/11/202420TI:串行口發(fā)送中斷請(qǐng)求標(biāo)志位

CPU將一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器SBUF時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一幀串行數(shù)據(jù)后,硬件置位TI。但CPU響應(yīng)中斷時(shí),并不清除TI中斷標(biāo)志,必須在中斷服務(wù)程序中由軟件對(duì)TI清0。RI:串行口接收中斷請(qǐng)求標(biāo)志位在串行口允許接收時(shí),每接收完一幀數(shù)據(jù),由硬件自動(dòng)將RI位置為1。CPU響應(yīng)中斷時(shí),并不清除RI中斷標(biāo)志,也必須在中斷服務(wù)程序中由軟件對(duì)TI標(biāo)志清0。----SCON寄存器4.中斷控制寄存器9/11/2024212)中斷允許控制

MCS-51對(duì)中斷源的開放或屏蔽是由中斷允許寄存器IE控制的,IE的字節(jié)地址為0A8H,可以按位尋址,當(dāng)單片機(jī)復(fù)位時(shí),IE被清為0。通過對(duì)IE的各位置1或清0操作,實(shí)現(xiàn)開放或屏蔽某個(gè)中斷,其格式如圖5-6所示。----IE寄存器4.中斷控制寄存器9/11/202422EA:總中斷允許控制位。當(dāng)EA=0時(shí),屏蔽所有的中斷;當(dāng)EA=1時(shí),開放所有的中斷。ES:串行口中斷允許控制位。當(dāng)ES=0時(shí),屏蔽串行口中斷;當(dāng)ES=1且EA=1時(shí),開放串行口中斷。ET1:定時(shí)/計(jì)數(shù)器T1的中斷允許控制位。當(dāng)ET1=0時(shí),屏蔽T1的溢出中斷;當(dāng)ET1=1且EA=1時(shí),開放T1的溢出中斷。----IE寄存器4.中斷控制寄存器9/11/202423EX1:外部中斷1的中斷允許控制位。當(dāng)EX1=0時(shí),屏蔽外部中斷1的中斷;當(dāng)EX1=1且EA=1時(shí),開放外部中斷1的中斷。ET0:定時(shí)/計(jì)數(shù)器T0的中斷允許控制位。功能與ET1相同。EX0:外部中斷0的中斷允許控制位。功能與EX1相同。單片機(jī)復(fù)位以后,IE被清0,所有的中斷請(qǐng)求被禁止。由用戶程序?qū)E相應(yīng)的位置1或清0,即可允許或禁止各中斷源的中斷申請(qǐng)。改變IE的內(nèi)容,即可由位操作指令來實(shí)現(xiàn)(即SETBbit;CLRbit),也可用字節(jié)操作指令實(shí)現(xiàn)(即MOVIE,#data;ORLIE,#data;MOVIE,A等)。----IE寄存器4.中斷控制寄存器9/11/202424(1)用位操作指令CLR EX0;禁止外部中斷0中斷CLR EX1;禁止外部中斷1中斷CLR ES;禁止串行口中斷SETB ET0;允許定時(shí)/計(jì)數(shù)器T0中斷SETB ET1;允許定時(shí)/計(jì)數(shù)器T1中斷SETB EA;CPU開中斷例5-2

若允許片內(nèi)2個(gè)定時(shí)/計(jì)數(shù)器中斷,禁止其它中斷源的中斷請(qǐng)求,試編寫出設(shè)置IE的相應(yīng)程序。(2)用字節(jié)操作指令

MOVIE,#8AH

MOVA8H,#8AH;IE寄存器的字節(jié)地址為A8H----IE的設(shè)置4.中斷控制寄存器9/11/2024253)中斷優(yōu)先級(jí)控制8051有2個(gè)中斷優(yōu)先級(jí),每一個(gè)中斷請(qǐng)求源均可編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,從而實(shí)現(xiàn)2級(jí)中斷嵌套。----2級(jí)中斷嵌套4.中斷控制寄存器9/11/2024261)正在進(jìn)行的中斷過程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷,一直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令后,CPU才響應(yīng)新的中斷請(qǐng)求。2)正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù)程序能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,實(shí)現(xiàn)兩級(jí)中斷嵌套。3)CPU同時(shí)接收到幾個(gè)中斷請(qǐng)求時(shí),首先響應(yīng)優(yōu)先級(jí)最高的中斷請(qǐng)求。----中斷優(yōu)先級(jí)控制以上所述可歸納為下面3條基本規(guī)則:

4.中斷控制寄存器9/11/202427----中斷優(yōu)先級(jí)寄存器IP1)PS:串行口中斷優(yōu)先級(jí)控制位PS=1,設(shè)定串行口為高優(yōu)先級(jí);PS=0,設(shè)定串行口為低優(yōu)先級(jí)。2)PT1:定時(shí)器T1中斷優(yōu)先級(jí)控制位PT1=1,設(shè)定T1為高優(yōu)先級(jí);PT1=0,設(shè)定T1為低優(yōu)先級(jí)。在MCS-51內(nèi)部提供了一個(gè)中斷優(yōu)先級(jí)控制寄存器(IP)。其字節(jié)地址為B8H,既可按字節(jié)形式訪問,又可按位形式訪問,其位地址范圍為0B8H~0BFH。4.中斷控制寄存器9/11/202428----中斷優(yōu)先級(jí)寄存器IP3)PX1:外部中斷1中斷優(yōu)先級(jí)控制位PX1=1,設(shè)定外部中斷1為高優(yōu)先級(jí);PX1=0,設(shè)定外部中斷1為低優(yōu)先級(jí)。4)PT0:定時(shí)器T0中斷優(yōu)先級(jí)控制位PT0=1,設(shè)定T0為高優(yōu)先級(jí);PT0=0,設(shè)定T0為低優(yōu)先級(jí)。5)PX0:外部中斷0中斷優(yōu)先級(jí)控制位PX0=1,設(shè)定外部中斷0為高優(yōu)先級(jí);PX0=0,設(shè)定外部中斷0為低優(yōu)先級(jí)。4.中斷控制寄存器9/11/202429在同時(shí)收到幾個(gè)同一優(yōu)先級(jí)的中斷請(qǐng)求時(shí),哪一個(gè)中斷請(qǐng)求能優(yōu)先得到響應(yīng),取決于內(nèi)部查詢次序,這相當(dāng)于在同一個(gè)優(yōu)先級(jí)內(nèi),還同時(shí)存在按次序決定的第二優(yōu)先級(jí)結(jié)構(gòu),其查詢次序見表5-2所示。----中斷優(yōu)先級(jí)控制4.中斷控制寄存器9/11/202430(1)用位操作指令

CLR PS;串行口、定時(shí)

/計(jì)數(shù)器T0、

T1為低優(yōu)先級(jí)

CLR PT0 CLR PT1 SETB PX0 ;外中斷0、1為高優(yōu)先級(jí)

SETB PX1例5-3

設(shè)置IP寄存器的初始值,使得MCS-51的片內(nèi)中斷為低優(yōu)先級(jí),片外中斷為高優(yōu)先級(jí)。(2)用字節(jié)操作指令

MOVIP,#05H

MOVB8H,#05H;IP寄存器的字節(jié)地址為B8H----中斷優(yōu)先級(jí)設(shè)置4.中斷控制寄存器9/11/202431例5-4

某程序中對(duì)IE、IP的初始化為:

MOV IE,#8FH MOV IP,#06H則此時(shí)該系統(tǒng)中:1)CPU中斷允許;2)允許外部中斷0、外部中斷1、定時(shí)器0和定時(shí)器1提出的中斷申請(qǐng),屏蔽串口中斷;3)允許中斷源的中斷優(yōu)先次序?yàn)椋憾〞r(shí)/計(jì)數(shù)器0→外部中斷1→外部中斷0→定時(shí)/計(jì)數(shù)器1----中斷優(yōu)先級(jí)設(shè)置4.中斷控制寄存器9/11/2024325.中斷響應(yīng)單片機(jī)響應(yīng)中斷的條件為中斷源有請(qǐng)求且CPU開中斷(即EA=1)。(1)無同級(jí)或高級(jí)中斷正在處理。(2)現(xiàn)行指令執(zhí)行到最后1個(gè)機(jī)器周期且已結(jié)束。(3)若現(xiàn)行指令為RETI或訪問特殊功能寄存器IE、IP的指令時(shí),執(zhí)行完該指令且緊隨其后的另一條指令也已執(zhí)行完畢。----中斷響應(yīng)的條件1)中斷響應(yīng)的條件9/11/202433----中斷響應(yīng)過程CPU響應(yīng)中斷后,由硬件自動(dòng)執(zhí)行如下的功能操作:(1)根據(jù)中斷請(qǐng)求源的優(yōu)先級(jí)高低,對(duì)相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置1,硬件自動(dòng)生成常調(diào)用指令LCALLaddr16。(2)保護(hù)斷點(diǎn),即把程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧保存。(3)清除相應(yīng)的中斷請(qǐng)求標(biāo)志位。(4)把被響應(yīng)的中斷源所對(duì)應(yīng)的中斷服務(wù)程序入口地址(中斷矢量)送入PC,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。5.中斷響應(yīng)2)中斷響應(yīng)過程上述調(diào)用指令LCALLaddr16中的addr16是程序存儲(chǔ)區(qū)中相應(yīng)的中斷入口地址。例如對(duì)于外中斷1的響應(yīng),系統(tǒng)自動(dòng)生成的長(zhǎng)調(diào)用指令為:LCALL0013H9/11/202434

MCS-51系統(tǒng)的中斷服務(wù)程序的入口地址即中斷矢量也是由硬件自動(dòng)生成的。各中斷源與它所對(duì)應(yīng)的中斷服務(wù)程序入口地址見表5-3所示。5.中斷響應(yīng)----中斷服務(wù)程序的入口地址9/11/202435

由于MCS-51系列單片機(jī)的相鄰中斷源中斷服務(wù)程序入口地址相距只有8個(gè)單元,一般的中斷服務(wù)程序是容納不下的,通常是在相應(yīng)的中斷服務(wù)程序入口地址中放一條長(zhǎng)跳轉(zhuǎn)指令LJMP,這樣就可以轉(zhuǎn)到64KB的任何可用區(qū)域。若在2KB范圍內(nèi)轉(zhuǎn)移,則可存放AJMP指令。5.中斷響應(yīng)----中斷服務(wù)程序部署9/11/202436

電平觸發(fā)方式適合于外部中斷輸入以低電平輸入且中斷服務(wù)程序能清除外部中斷請(qǐng)求源的情況。例如,并行接口芯片8255的中斷請(qǐng)求線在接受讀或?qū)懖僮骱蠹幢粡?fù)位,因此,以其去請(qǐng)求電平觸發(fā)方式的中斷比較方便。邊沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部中斷請(qǐng)求,如ADC0809的轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)EOC為正脈沖,經(jīng)反相后就可以作為MCS-51單片機(jī)的中斷輸入。5.中斷響應(yīng)----中斷信號(hào)的極性9/11/202437 ORG0000H AJMP MAIN ORG0003H LJMPINT0 … ORG 0100HMAIN:…

5.中斷響應(yīng)例5-5

設(shè)外部中斷0提出申請(qǐng),且主程序中需對(duì)累加器A、DPTR、R0和R1進(jìn)行保護(hù),則程序如下:

ORG 1000H;1000H為

;中斷入口地址INT0: PUSH ACC PUSHDPH PUSH DPL … POP DPL POP DPH POP ACC RETI----保護(hù)現(xiàn)場(chǎng)9/11/202438

在中斷服務(wù)程序中,PUSH指令與POP指令必須成對(duì)使用,否則不能正確返回?cái)帱c(diǎn)。而且最后一條指令必須為中斷返回指令RETI,RETI的具體功能是:(1)將中斷響應(yīng)時(shí)壓入堆棧保存的斷點(diǎn)地址從棧頂彈出送回PC,CPU從原來中斷的地方繼續(xù)執(zhí)行程序;(2)將相應(yīng)中斷優(yōu)先級(jí)狀態(tài)觸發(fā)器清0,通知中斷系統(tǒng),中斷服務(wù)程序已執(zhí)行完畢。如果有多個(gè)中斷源,就對(duì)應(yīng)有多個(gè)“ORG中斷入口地址”,且這多個(gè)“ORG中斷入口地址”必須依次由小到大排列。5.中斷響應(yīng)----PUSH和POP指令的功能9/11/202439----中斷響應(yīng)時(shí)間

所謂中斷響應(yīng)時(shí)間是指CPU檢測(cè)到中斷請(qǐng)求信號(hào)到轉(zhuǎn)入中斷服務(wù)程序入口所需要的機(jī)器周期數(shù)。

MCS-51單片機(jī)響應(yīng)中斷的最短時(shí)間為3個(gè)機(jī)器周期。若CPU檢測(cè)到中斷請(qǐng)求信號(hào)時(shí)間正好是一條指令的最后一個(gè)機(jī)器周期,則不需等待就可以立即響應(yīng)。所謂響應(yīng)中斷就是由內(nèi)部硬件執(zhí)行一條長(zhǎng)調(diào)用指令,需要2個(gè)機(jī)器周期,加上檢測(cè)需要1個(gè)機(jī)器周期,一共需要3個(gè)機(jī)器周期才開始執(zhí)行中斷服務(wù)程序。5.中斷響應(yīng)3)中斷響應(yīng)時(shí)間9/11/202440中斷響應(yīng)的最長(zhǎng)時(shí)間由下列情況所決定: 若中斷檢測(cè)時(shí)正在執(zhí)行RETI或訪問IE或IP指令的第一個(gè)機(jī)器周期,這樣包括檢測(cè)在內(nèi)需要2個(gè)機(jī)器周期(以上三條指令需兩個(gè)機(jī)器周期); 若緊接著要執(zhí)行的指令恰好是執(zhí)行時(shí)間最長(zhǎng)的乘除法指令,其執(zhí)行時(shí)間均為4個(gè)機(jī)器周期; 再用2個(gè)機(jī)器周期執(zhí)行一條長(zhǎng)調(diào)用指令才轉(zhuǎn)入中斷服務(wù)程序。 這樣,總共需要8個(gè)機(jī)器周期。5.中斷響應(yīng)----中斷響應(yīng)最長(zhǎng)時(shí)間9/11/202441

如果已經(jīng)在處理同級(jí)或更高級(jí)中斷,外部中斷請(qǐng)求的響應(yīng)時(shí)間取決于正在執(zhí)行的中斷服務(wù)程序的處理時(shí)間,這種情況下,響應(yīng)時(shí)間就無法計(jì)算。因此,在1個(gè)單一中斷的系統(tǒng)里,MCS-51單片機(jī)對(duì)外部中斷請(qǐng)求的響應(yīng)時(shí)間為3~8個(gè)機(jī)器周期。5.中斷響應(yīng)----中斷響應(yīng)最長(zhǎng)時(shí)間9/11/2024425.1.3中斷應(yīng)用舉例

中斷系統(tǒng)雖然是硬件系統(tǒng),但中斷系統(tǒng)的應(yīng)用需要硬件系統(tǒng)和軟件系統(tǒng)相互配合才能正確使用。在設(shè)計(jì)中斷服務(wù)程序時(shí)需要注意以下幾個(gè)問題。在主程序的初始化程序段中:(1)設(shè)置中斷允許控制寄存器IE(2)設(shè)置中斷優(yōu)先級(jí)寄存器IP(3)若是外部中斷源,還要設(shè)置中斷請(qǐng)求的觸發(fā)方式IT1或IT0在中斷服務(wù)程序中:(1)現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)(2)開中斷和關(guān)中斷(3)中斷返回----設(shè)計(jì)中斷服務(wù)程序需要注意9/11/2024431)設(shè)置中斷允許控制寄存器IE,允許相應(yīng)的中斷源請(qǐng)求中斷。2)設(shè)置中斷優(yōu)先級(jí)寄存器IP,確定并分配所使用的中斷源的優(yōu)先級(jí)。3)若是外部中斷源,還要設(shè)置中斷請(qǐng)求的觸發(fā)方式IT1或IT0,以決定采用電平觸發(fā)方式還是邊沿觸發(fā)方式。4)編寫中斷服務(wù)程序,處理中斷請(qǐng)求。一般將前3條都放在主程序的初始化程序段中。1.中斷服務(wù)程序設(shè)計(jì)的基本任務(wù)----中斷服務(wù)程序的任務(wù)5.1.3中斷應(yīng)用舉例9/11/202444(1)現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)(2)開中斷和關(guān)中斷(3)中斷返回2.中斷服務(wù)程序的流程----中斷服務(wù)程序的流程5.1.3中斷應(yīng)用舉例9/11/2024453.中斷系統(tǒng)應(yīng)用實(shí)例例5-6

中斷初始化程序舉例。分析:假設(shè)允許外部中斷0和1中斷,并設(shè)定外部中斷0為高級(jí)中斷,外部中斷1為低級(jí)中斷,外部中斷0采用邊沿觸發(fā)方式,外部中斷1采用電平觸發(fā)方式。對(duì)應(yīng)的主程序中程序段如下:

SETB EA ;CPU開中斷

SETB ET0 ;允許外中斷0產(chǎn)生中斷

SETB ET1 ;允許外中斷1產(chǎn)生中斷

SETB PX0 ;外中斷0為高級(jí)中斷

CLR PX1 ;外中斷1為低級(jí)中斷

SETB IT0 ;外中斷0為跳沿觸發(fā)方式

CLR IT1 ;外中斷0為電平觸發(fā)方式----例5-69/11/202446

當(dāng)外部中斷源多于兩個(gè)時(shí),可以采用硬件申請(qǐng)與軟件查詢方法,把多個(gè)中斷源通過或非門引入外部中斷源輸入端,同時(shí)又連到某I/O口。這樣,每個(gè)“源”都可能引起中斷,但在中斷服務(wù)程序中通過軟件查詢,便可確定哪一個(gè)是正在申請(qǐng)的中斷源,其查詢的次序則由中斷源優(yōu)先級(jí)決定。這樣就可實(shí)現(xiàn)多個(gè)外部中斷源的擴(kuò)展。3.中斷系統(tǒng)應(yīng)用實(shí)例例5-7

中斷和查詢結(jié)合的方法擴(kuò)展多個(gè)外中斷源----例5-79/11/202447

圖5-10中的LED可實(shí)現(xiàn)系統(tǒng)的故障顯示。當(dāng)系統(tǒng)的各部分工作正常時(shí),4個(gè)故障源輸入端全為低電平,顯示燈全熄滅。只有當(dāng)某部分出現(xiàn)故障時(shí),則對(duì)應(yīng)的輸入線由低電平變?yōu)楦唠娖?,從而引?051的中斷,在中斷服務(wù)中通過查詢即可判斷故障源,并進(jìn)行相應(yīng)的LED顯示。3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-79/11/202448;匯編語言主程序:

ORG 0000H ;復(fù)位入口地址

AJMP MAIN ;轉(zhuǎn)主程序

ORG 0003H ;外部0中斷入口

AJMP IO ;轉(zhuǎn)中斷服務(wù)程序MAIN:ANL P1,#0AAH ;置P1口輸出全為0 SETB IT0 ;外部中斷0為邊沿觸發(fā)中斷方式

SETB EX0 ;允許外部中斷0中斷

SETB EA ;CPU開中斷LOOP1:SJMPLOOP1 ;等待中斷3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-79/11/202449;匯編語言中斷服務(wù)程序:

IO: JNB P1.1,L1 ;查詢中斷源,P1.1為0轉(zhuǎn)L1執(zhí)行

SETB P1.0 ;P1.0送出1使對(duì)應(yīng)的燈點(diǎn)亮

L1: JNB P1.3,L2 SETB P1.2L2: JNB P1.5,L3 SETB P1.4L3: JNB P1.7,L4 SETB P1.6L4: RETI ;返回主程序

END3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-79/11/202450例5-8

結(jié)合如圖所示電路,編寫由P1口控制發(fā)光二極管狀態(tài)的程序。分析:要求P1口輸出控制8只發(fā)光二極管呈循環(huán)點(diǎn)亮狀態(tài),當(dāng)開關(guān)S按下時(shí),發(fā)光二極管全部熄滅一段時(shí)間,然后回到原來的循環(huán)點(diǎn)亮狀態(tài)。3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-89/11/202451;匯編語言主程序:

ORG 0000H ;復(fù)位入口地址

AJMP ST ;轉(zhuǎn)主程序

ORG 0003H ;外部0中斷入口

AJMP SER ;轉(zhuǎn)中斷服務(wù)程序

ORG 0100HST: MOV SP,#40H MOV IE,#81H MOV IP,#01H MOV TCON,#00H MOV A,#01H ;ACC初始化RES: MOV P1,A ;顯示

RL A ;循環(huán)移位

LCALL DEL ;延時(shí)保持

SJMP RES ;循環(huán)3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-89/11/202452;匯編語言中斷服務(wù)程序:SER: PUSH ACC

;存當(dāng)前的ACC值

MOV 30H,R1;存延時(shí)

;程序的計(jì)數(shù)值

MOV 31H,R2 MOV P1,#00H;把二極

;管熄滅

MOV R3,#10;保持LOOP: LCALLDEL DJNZ R3,LOOP MOV R1,30H;取延時(shí)

;程序的計(jì)數(shù)值

MOV R2,31H3.中斷系統(tǒng)應(yīng)用實(shí)例----例5-8

POP ACC

;取當(dāng)前的ACC值

MOV P1,ACC RETI ;中斷返回DEL: MOV R1,#123

;延時(shí)程序DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET END9/11/2024535.2定時(shí)/計(jì)數(shù)器

MCS-51單片機(jī)內(nèi)有2個(gè)16位可編程的定時(shí)/計(jì)數(shù)器,即定時(shí)器0(T0)和定時(shí)器1(T1)。兩個(gè)定時(shí)/計(jì)數(shù)器都有定時(shí)或事件計(jì)數(shù)的功能,可用于定時(shí)控制、延時(shí)、對(duì)外部事件計(jì)數(shù)和檢測(cè)等應(yīng)用。9/11/2024545.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理

T0和T1受特殊功能寄存器TMOD和TCON控制??捎绍浖O(shè)置為定時(shí)或計(jì)數(shù)工作方式。1.定時(shí)/計(jì)數(shù)器T0、T1結(jié)構(gòu)----T0、T1結(jié)構(gòu)9/11/2024552.加1計(jì)數(shù)器T0、T1都是16位加1計(jì)數(shù)器,TH0、TL0構(gòu)成定時(shí)/計(jì)數(shù)器T0加1計(jì)數(shù)器的高8位和低8位。加1計(jì)數(shù)器的初值可以通過程序進(jìn)行設(shè)定,設(shè)定不同的初值,就可以獲得不同的計(jì)數(shù)值或定時(shí)時(shí)間。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理----加1計(jì)數(shù)器9/11/2024563.定時(shí)控制寄存器(TCON)TF0、TF1:計(jì)數(shù)溢出標(biāo)志位。

TF0=1或TF1=1是計(jì)數(shù)溢出;

TF0=0或TF1=0是計(jì)數(shù)未滿。TR0、TR1:?jiǎn)???刂莆?。

TR0=1或TR1=1,使T0或T1啟動(dòng)計(jì)數(shù);

TR0=0或TR1=0,使T0或T1停止計(jì)數(shù)。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理----TCON9/11/2024574.工作方式控制寄存器(TMOD)GATE:門控信號(hào)。當(dāng)GATE=0時(shí),TRx=1即可啟動(dòng)定時(shí)器工作;當(dāng)GATE=1時(shí),要求同時(shí)有TRx=1和INTx=1才可啟動(dòng)定時(shí)器工作(x是1、2)。C/T:定時(shí)/計(jì)數(shù)器選擇位。C/T=1,為計(jì)數(shù)器工作方式;C/T=0,為定時(shí)器工作方式。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理M1、M0:定時(shí)/計(jì)數(shù)器工作模式選擇位M1M0=00工作方式0(13位方式)M1M0=01工作方式1(16位方式)M1M0=10工作方式2(8位自動(dòng)再裝入方式)M1M0=11工作方式3(T0為2個(gè)8位方式)----TMOD9/11/2024585.T0、T1定時(shí)功能和計(jì)數(shù)功能的選擇通過選擇控制C/T實(shí)現(xiàn)定時(shí)器或計(jì)數(shù)器的功能選擇。當(dāng)C/T=0時(shí),選擇定時(shí)器功能;當(dāng)C/T=1時(shí),選擇計(jì)數(shù)器功能。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理----定時(shí)/計(jì)數(shù)功能選擇9/11/202459

對(duì)單片機(jī)內(nèi)部機(jī)器周期產(chǎn)生的脈沖進(jìn)行計(jì)數(shù),計(jì)數(shù)器每個(gè)機(jī)器周期自動(dòng)加1。如果單片機(jī)的晶振頻率為12MHz,則計(jì)數(shù)頻率為1MHz,或者說計(jì)數(shù)器每加1,可實(shí)現(xiàn)1μs的計(jì)時(shí)。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理定時(shí)器功能(C/T=0):

-----定時(shí)器功能9/11/202460

對(duì)外部事件產(chǎn)生的脈沖進(jìn)行計(jì)數(shù)。對(duì)于MCS-51單片機(jī)來說,P3.4和P3.5兩個(gè)信號(hào)引腳分別是T0和T1計(jì)數(shù)器的計(jì)數(shù)脈沖信號(hào)輸入端,當(dāng)該引腳輸入脈沖發(fā)生負(fù)跳變時(shí),加1計(jì)數(shù)器自動(dòng)加1。5.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)與原理計(jì)數(shù)器功能(C/T=1):----計(jì)數(shù)器功能9/11/2024615.2.2定時(shí)/計(jì)數(shù)器的工作方式定時(shí)/計(jì)數(shù)器T0、T1可以有四種不同的工作方式: 方式0、方式1、方式2和方式34種工作方式由TMOD中的M1、M0兩位決定,見下表所示。----四種工作方式9/11/202462當(dāng)TMOD中M1M0=00時(shí),選定方式0(13位狀態(tài))進(jìn)行工作。

C/T=1時(shí),圖中電子開關(guān)S1切至下端,13位定時(shí)/計(jì)數(shù)器處于計(jì)數(shù)器狀態(tài),加法計(jì)數(shù)器對(duì)T0引腳上的外部輸入脈沖計(jì)數(shù)。計(jì)數(shù)值:N=8192-x。x是由TH0、TL0設(shè)定的初值。x=8191時(shí)為最小計(jì)數(shù)值l,x=0時(shí)為最大計(jì)數(shù)值8192,即計(jì)數(shù)范圍為1~8192(213)。

5.2.2定時(shí)/計(jì)數(shù)器的工作方式1.方式0----方式0,13位計(jì)數(shù)9/11/202463

C/T=0時(shí),圖中電子開關(guān)S1切至上端,加法計(jì)數(shù)器對(duì)機(jī)器周期計(jì)數(shù),13位定時(shí)/計(jì)數(shù)器處于定時(shí)器狀態(tài)。定時(shí)時(shí)間:Td=(8192-x)×Tcy。如果晶振頻率fosc=12MHz,即機(jī)器周期為1μs,則定時(shí)范圍為1μs~8192μs。5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式0,13位定時(shí)1.方式09/11/202464無論是計(jì)數(shù)器狀態(tài)還是計(jì)時(shí)器狀態(tài),隨著加法計(jì)數(shù)的增大,TL0的低5位溢出后自動(dòng)向TH0進(jìn)位,TH0溢出后,將溢出標(biāo)志位TF0置位,并向CPU發(fā)出中斷請(qǐng)求。

5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式0計(jì)數(shù)溢出置位TF01.方式09/11/2024655.2.2定時(shí)/計(jì)數(shù)器的工作方式----啟動(dòng)方式9/11/202466當(dāng)TMOD中M1M0=01時(shí),選定方式1(16位狀態(tài))進(jìn)行工作。

5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式1,16位定時(shí)/計(jì)數(shù)2.方式1當(dāng)作為計(jì)數(shù)器使用時(shí),計(jì)數(shù)范圍是1~65536(216);當(dāng)作為定時(shí)器使用時(shí),定時(shí)器的定時(shí)時(shí)間為:Td=(216-Count)×Tcy。如果晶振頻率fosc=12MHz,則定時(shí)范圍為:1~65536μs。9/11/202467

方式0和方式1具有共同的特點(diǎn),即當(dāng)加法計(jì)數(shù)器發(fā)生溢出后,自動(dòng)處于0狀態(tài),如果要實(shí)現(xiàn)循環(huán)計(jì)數(shù)或周期定時(shí),就需要程序不斷反復(fù)給計(jì)數(shù)器賦初值,這就影響了計(jì)數(shù)或定時(shí)精度,并給程序設(shè)計(jì)增添了麻煩。而方式2具有初值自動(dòng)重新加載功能,其邏輯結(jié)構(gòu)如下圖所示。5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式2,自動(dòng)重載初值3.方式29/11/202468當(dāng)M1M0=10時(shí),定時(shí)/計(jì)數(shù)器選定方式2進(jìn)行工作。該方式下,16位計(jì)數(shù)器被分為兩個(gè)8位寄存器TL0和TH0,其中TL0作為計(jì)數(shù)器,TH0作為計(jì)數(shù)器TL0的初值預(yù)置寄存器,并始終保持為初值常數(shù)。當(dāng)TL0計(jì)數(shù)溢出時(shí),系統(tǒng)將TF0置位,并向CPU申請(qǐng)中斷,同時(shí)將TH0的內(nèi)容重新裝入TL0,繼續(xù)計(jì)數(shù)。

5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式2,自動(dòng)重載初值9/11/2024694.方式35.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式3在前述方式0、1、2三種工作方式中,T0和T1兩個(gè)定時(shí)/計(jì)數(shù)器具有相同的功能。在方式3下,T0和T1的功能完全不同。當(dāng)M1M0=11時(shí):T0定時(shí)/計(jì)數(shù)器處于方式3工作模式。T1定時(shí)/計(jì)數(shù)器只能工作在方式0、1、2下。

9/11/2024704.方式35.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式3時(shí)T0的結(jié)構(gòu)1)T0的方式3工作模式

在方式3下,T0被拆成兩個(gè)獨(dú)立的8位計(jì)數(shù)器TL0和TH0。TL0既可以計(jì)數(shù)使用,又可以定時(shí)使用,構(gòu)成了1個(gè)8位的定時(shí)/計(jì)數(shù)器(TL0)。T0的控制位和引腳信號(hào)全歸TL0使用,其功能和操作與方式0或方式1完全相同,而且工作邏輯結(jié)構(gòu)也極其類似。TH0只能作為1個(gè)8位定時(shí)器使用(不能用做外部計(jì)數(shù)方式)。而且由于T0的控制位已被TL0獨(dú)占,因此只好借用定時(shí)/計(jì)數(shù)器T1的控制位TR1和TF1,以計(jì)數(shù)溢出去置位TF1,還占用T1的中斷源。而定時(shí)的啟動(dòng)和停止則受TR1的狀態(tài)控制。由于TL0既能做定時(shí)器使用,也能做計(jì)數(shù)器使用,而TH0只能做定時(shí)器使用,因此在工作方式3下,定時(shí)/計(jì)數(shù)器T0可以構(gòu)成兩個(gè)獨(dú)立的定時(shí)器或1個(gè)定時(shí)器、1個(gè)計(jì)數(shù)器。9/11/2024711)T0的方式3工作模式

T0為方式3工作模式時(shí)可以構(gòu)成兩個(gè)獨(dú)立的定時(shí)器或1個(gè)定時(shí)器、1個(gè)計(jì)數(shù)器。5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式3時(shí)T0的結(jié)構(gòu)9/11/2024722)T0在方式3時(shí)T1的工作模式5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式3時(shí)T1的工作模式如果定時(shí)/計(jì)數(shù)器T0已工作在方式3下,則定時(shí)/計(jì)數(shù)器T1只能工作在方式0、方式1或方式2下。此時(shí)由于T1的運(yùn)行控制位TR1及計(jì)數(shù)溢出標(biāo)志位TF1已被定時(shí)/計(jì)數(shù)器T0借用而沒有計(jì)數(shù)溢出標(biāo)志位可供使用,因此只能把計(jì)數(shù)溢出直接送給串行口,作為串行口的波特率發(fā)生器使用,以確定串行通信的速率。當(dāng)作為波特率發(fā)生器使用時(shí),只需要設(shè)置好工作方式,便可自動(dòng)運(yùn)行。如要停止工作,只需送入一個(gè)把T1設(shè)置為方式3的方式控制字就可以了。因?yàn)槎〞r(shí)/計(jì)數(shù)器T1不能在方式3下使用,如果硬把它設(shè)置為方式3,則停止工作。9/11/2024732)T0在方式3時(shí)T1的工作模式5.2.2定時(shí)/計(jì)數(shù)器的工作方式----方式3時(shí)T1的工作模式如果定時(shí)/計(jì)數(shù)器T0已工作在方式3下,則定時(shí)/計(jì)數(shù)器T1只能工作在方式0、方式1或方式2下。9/11/2024745.2.3定時(shí)/計(jì)數(shù)器對(duì)輸入信號(hào)的要求定時(shí)/計(jì)數(shù)器的作用是用來精確地確定某一段時(shí)間間隔(作為定時(shí)器用)或累計(jì)外部輸入的脈沖個(gè)數(shù)(作為計(jì)數(shù)器用)。當(dāng)用作定時(shí)器時(shí),在其輸入端輸入周期固定的脈沖,根據(jù)定時(shí)/計(jì)數(shù)器中累計(jì)的脈沖個(gè)數(shù),即可計(jì)算出所定時(shí)間的長(zhǎng)度。當(dāng)MCS-5l內(nèi)部的定時(shí)/計(jì)數(shù)器被選定為定時(shí)器工作模式時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖位,計(jì)數(shù)器增l,因此定時(shí)/計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣,為時(shí)鐘振蕩頻率的l/12。當(dāng)采用12MHz頻率的晶振時(shí),計(jì)數(shù)速率為1MHz,輸入脈沖的周期間隔為1μs。由于定時(shí)的精度決定于輸入脈沖的周期,因此當(dāng)需要高分辨率的定時(shí)時(shí),應(yīng)盡量選用頻率較高的晶振。定時(shí)器作用----定時(shí)器作用9/11/202475當(dāng)定時(shí)/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自外部輸入引腳T0或T1。當(dāng)輸入信號(hào)產(chǎn)生由1至0的跳變(即負(fù)跳變)時(shí),計(jì)數(shù)器的值增l。由于確認(rèn)一次負(fù)跳變需要用2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24,例如,選用6MHz頻率的晶振,允許輸入的脈沖頻率為250kHz,如果選用12MHz頻率的晶振,則可輸入500kHz的外部脈沖。對(duì)于外部輸入信號(hào)的占空比并沒有什么限制,但為了確保某一給定的電平在變化之前能被采樣一次,則這一電平至少要保持一個(gè)機(jī)器周期。5.2.3定時(shí)/計(jì)數(shù)器對(duì)輸入信號(hào)的要求----計(jì)數(shù)器作用計(jì)數(shù)器作用9/11/2024765.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用1)初始化步驟(1)設(shè)置工作方式(2)計(jì)算加1計(jì)數(shù)器的計(jì)數(shù)初值Count,并將計(jì)數(shù)初值Count送入TH、TL中(3)啟動(dòng)計(jì)數(shù)器工作,即將TRx置1(4)若采用中斷方式,則應(yīng)設(shè)置T0、T1及CPU開中斷1.定時(shí)/計(jì)數(shù)器初始化----初始化步驟9/11/2024772)計(jì)數(shù)方式初始化假設(shè)T0工作于計(jì)數(shù)方式1,計(jì)數(shù)值N=1,即每當(dāng)T0引腳輸入一個(gè)計(jì)數(shù)脈沖就使加1計(jì)數(shù)器產(chǎn)生溢出,通??梢允褂眠@種方法擴(kuò)展外中斷。為了使加1計(jì)數(shù)器每加一次1就溢出,加1計(jì)數(shù)器的初值Count=0FFFFH=216-1,其中16為工作方式1時(shí)加1計(jì)數(shù)器的位數(shù),1為計(jì)數(shù)值x?,F(xiàn)用n表示加1計(jì)數(shù)器的位數(shù),用x表示計(jì)數(shù)值,則計(jì)數(shù)初值Count=2n-x,式中,n=13,16,8和8,分別對(duì)應(yīng)工作方式0,1,2和3。

5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化9/11/202478例5-9

定時(shí)/計(jì)數(shù)器T0工作于計(jì)數(shù)方式,計(jì)數(shù)值x=1,允許中斷,分別使用工作方式1、方式0和方式2。進(jìn)行初始化編程。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-9(1)假設(shè)T1定時(shí)/計(jì)數(shù)器閑置不用,可設(shè)控制寄存器TMOD的高4位為0000,即:TMOD7~4=0000B。(2)T0定時(shí)/計(jì)數(shù)器工作于計(jì)數(shù)方式,可確定T0的GATE=0,C/T=1,即:TMOD3~2=01B。9/11/202479(3)T0工作于方式1時(shí),應(yīng)確定M1M0=01

即,TMOD1~0=01B

則,TMOD=0000,0101B=05H

計(jì)數(shù)器位數(shù)n=16,計(jì)數(shù)器初值

Count=216-1=1111,1111,1111,1111B=FFFFH

即,TH0=FFH,TL0=FFH5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/202480(4)T0工作于方式0時(shí),應(yīng)確定M1M0=00

即,TMOD1~0=00B

則,TMOD=0000,0100B=04H

計(jì)數(shù)器位數(shù)n=13,計(jì)數(shù)器初值

Count=213-1=1111,1111,1,1111B

即,TH0=FFH(高8位FFH送入TH0中)

TL0=1FH(低5位1FH送入TL0中)5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/202481(5)T0工作于方式2時(shí),應(yīng)確定M1M0=10

即,TMOD1~0=10B

則,TMOD=0000,0110B=06H

計(jì)數(shù)器位數(shù)n=8,計(jì)數(shù)器初值

Count=28-1=1111,1111B=FFH

即,TH0=FFH,TL0=FFH5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/202482按照前面分析,初始化程序如下。(1)T0工作于方式1的初始化程序 匯編程序段:

MOVTMOD,#05H ;設(shè)置T0工作于計(jì)數(shù)方式1 MOVTH0,#0FFH ;加1計(jì)數(shù)器高8位TH0賦初值FFH MOVTL0,#0FFH ;加1計(jì)數(shù)器低8位TL0賦初值FFH SETBET0 ;T0開中斷

SETBEA ;CPU開中斷

SETBTR0 ;啟動(dòng)T0計(jì)數(shù)5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/202483C語言程序段:#include<reg51.h>sbitET0=IE^1;/*定義CPU中斷控制字IE第1位為ET0*/sbitEA=IE^7; /*定義CPU中斷控制字IE第7位為EA*/sbitTR0=TCON^4;/*定義TCON第4位為TR0*/ …TMOD=0x05; /*設(shè)置T0工作于計(jì)數(shù)方式1*/TH0=0xff; /*加1計(jì)數(shù)器高8位TH0賦初值FFH*/TL0=0xff; /*加1計(jì)數(shù)器低8位TL0賦初值FFH*/ET0=1; /*T0開中斷*/EA=1; /*CPU開中斷*/TR0=1; /*啟動(dòng)T0*/5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/202484(2)T0工作于方式0的初始化程序

MOV TMOD,#04H;設(shè)置T0工作于計(jì)數(shù)方式0 MOV TH0,#FFH ;加1計(jì)數(shù)器高8位TH0賦初值FFH MOV TL0,#1FH ;加1計(jì)數(shù)器低8位TL0賦初值1FH SETB ET0 ;T0開中斷

SETB EA ;CPU開中斷

SETB TR0 ;啟動(dòng)T0(3)T0工作于方式2的初始化程序

MOV TMOD,#06H;設(shè)置T0工作于計(jì)數(shù)方式2 MOV TL0,#0FFH;計(jì)數(shù)器TL1賦初值FFH MOV TH0,#0FFH;重裝寄存器TH1賦初值FFH SETB ET0 ;T0開中斷

SETB EA ;CPU開中斷

SETB TR0 ;啟動(dòng)T05.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----計(jì)數(shù)器初始化,例5-99/11/2024853)定時(shí)方式初始化若系統(tǒng)主頻fosc=6MHz,則機(jī)器周期Tcy=2μs,即計(jì)數(shù)器加一次1所用時(shí)間為2μs,若計(jì)數(shù)器加100次產(chǎn)生溢出(計(jì)數(shù)值N=100),則定時(shí)時(shí)間為200μs,即定時(shí)器定時(shí)時(shí)間Td=N×Tcy。計(jì)數(shù)值N與計(jì)數(shù)器初值Count的關(guān)系是N=2n-Count

所以,定時(shí)時(shí)間Td=(2n-Count)Tcy

計(jì)數(shù)初值Count=2n-Td/Tcy式中,n=13、16、8、8,分別對(duì)應(yīng)方式0、1、2、35.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化9/11/202486(1)假設(shè)T1定時(shí)/計(jì)數(shù)器閑置不用,可設(shè)控制寄存器TMOD的高4位為0000,即,TMOD7~4=0000B。(2)T0工作于定時(shí)方式,可確定T0的GATE=0,C/T=0,即TMOD3~2=00B。例5-10T0工作于定時(shí)方式1,定時(shí)時(shí)間Td=2ms,系統(tǒng)主頻fosc=8MHz,允許中斷,對(duì)T0進(jìn)行初始化編程。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-109/11/202487(3)T0工作于方式1時(shí),應(yīng)確定M1M0=01

即,TMOD1~0=01B

則:TMOD=0000,0001B=01H(4)系統(tǒng)主頻fosc=8MHz,時(shí)鐘周期Tcp=1/8μs

系統(tǒng)機(jī)器周期Tcy=12Tcp=12/8=1.5μs

計(jì)數(shù)器位數(shù)n=16,定時(shí)時(shí)間Td=2ms=2000μs

計(jì)數(shù)初值Count=2n-Td/Tcy=216-2000/1.5 =64203=FACBH

即:TH0=FAH,TL0=CBH5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-109/11/202488匯編語言初始化程序段:MOV TMOD,#01H;設(shè)置T0工作于定時(shí)方式1MOVTH0,#0FAH;加1計(jì)數(shù)器高8位TH0賦初值FAHMOV TL0,#0CBH;加1計(jì)數(shù)器低8位TL0賦初值CBHSETB ET0 ;T0開中斷SETB EA ;CPU開中斷SETB TR0 ;啟動(dòng)T0開始定時(shí)5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-109/11/202489(1)假設(shè)T0定時(shí)/計(jì)數(shù)器閑置不用,可設(shè)控制寄存器TMOD的低4位為0000,即,TMOD3~0=0000B。(2)T1工作于定時(shí)方式,可確定T1的GATE=0,C/T=0,即,TMOD7~6=00B。例5-11T1工作于定時(shí)方式2,定時(shí)時(shí)間Td=500μs,系統(tǒng)主頻fosc=6MHz,不允許中斷。對(duì)T1進(jìn)行初始化編程。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-119/11/202490(3)T1工作于方式2時(shí),應(yīng)確定M1M0=10

即,TMOD5~4=10B。則,TMOD=0010,0000B=20H。(4)系統(tǒng)主頻fosc=6MHz,時(shí)鐘周期Tcp=1/6μs,

Tcy=12Tcp=12/6=2μs,

計(jì)數(shù)器位數(shù)n=8,定時(shí)時(shí)間Td=500μs,

計(jì)數(shù)初值Count=2n-Td/Tcy=28-500/2=6=06H, 即,TH0=06H,TL0=06H。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-119/11/202491匯編語言初始化程序段:MOV TMOD,#20H;設(shè)置T1工作于計(jì)數(shù)方式2MOV TL1,#06H ;計(jì)數(shù)器TL1賦初值06HMOVTH1,#06H;重裝寄存器TH1賦初值06HCLR ET1 ;T1關(guān)中斷SETBTR1 ;啟動(dòng)T15.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-119/11/202492C語言初始化程序段:#include<reg51.h>sbitET1=IE^3;/*定義CPU中斷控制字IE第3位為ET1*/sbitTR1=TCON^6;/*定義TCON第6位為TR1*/ …TMOD=0x20; /*設(shè)置T1為定時(shí)方式2*/TL1=0x06; /*計(jì)數(shù)器TL1賦初值06H*/TH1=0x06; /*重裝寄存器TH1賦初值06H*/ET1=0; /*T1關(guān)中斷*/TR1=1; /*啟動(dòng)T1*/5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----定時(shí)器初始化,例5-119/11/2024932.定時(shí)/計(jì)數(shù)器應(yīng)用實(shí)例分析:周期為2ms的方波要求定時(shí)間隔為1ms,每次時(shí)間到將P1.0取反。定時(shí)器計(jì)數(shù)頻率為fosc/12,Tcy=12/fosc=1μs。每個(gè)機(jī)器周期定時(shí)器計(jì)數(shù)加1,1ms=1000μs,需計(jì)數(shù)次數(shù)為1000/(12/fosc)=1000。由于計(jì)數(shù)器向上計(jì)數(shù),為得到l000個(gè)計(jì)數(shù)之后的定時(shí)器溢出,必須給定時(shí)器賦初值65536-1000,C語言中相當(dāng)于-1000。用定時(shí)器1的方式1編程,采用中斷方式。例5-12

設(shè)單片機(jī)的fosc=12MHz,要求在P1.0腳上輸出周期為2ms的方波。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-129/11/202494(1)匯編語言程序:

ORG 0000H ;復(fù)位入口

AJMP START ORG 001BH ;T1中斷服務(wù)程序入口地址

AJMP T1INT ORG 0030HSTART:MOV SP,#60H ;初始化程序

MOV TMOD,#10H ;設(shè)置T1工作于定時(shí)方式1 MOV TH1,#0FCH ;設(shè)置加1計(jì)數(shù)器的計(jì)數(shù)初值高字節(jié)

MOV TL1,#18H ;設(shè)置加1計(jì)數(shù)器的計(jì)數(shù)初值低字節(jié)

SETB TR1 ;啟動(dòng)T1 SETB ET1 ;開T1中斷

SETB EA ;開總允許中斷MAIN: AJMP MAIN ;主程序T1INT: CPL P1.0 ;T1中斷服務(wù)程序

MOV TH1,#0FCH MOV TL1,#18H RETI5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-129/11/202495(2)C51程序段:#include<reg51.h>sbit

rect_wave=P1^0; /*方波由P1.0口輸出*/voidtime1_over(void); /*計(jì)數(shù)器計(jì)數(shù)時(shí)間到子程序*/voidmain(void){ TMOD=0x10; /*設(shè)置定時(shí)/計(jì)數(shù)器1為工作方式1*/ TH1=-1000/256; /*設(shè)置計(jì)數(shù)初值高字節(jié)*/ TL1=-1000%256; /*設(shè)置計(jì)數(shù)初值低字節(jié)*/ IE=0x00; /*禁止中斷*/ TR1=1; /*啟動(dòng)定時(shí)*/

for(;;) {if(TF1) /*查詢計(jì)數(shù)溢出*/ time1_over(); /*調(diào)用計(jì)數(shù)器計(jì)數(shù)時(shí)間到子程序*/ }}5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-129/11/202496voidtime1_over(void) /*計(jì)數(shù)器計(jì)數(shù)時(shí)間到子程序*/{ TH1=-1000/256; /*設(shè)置計(jì)數(shù)初值高字節(jié)*/ TL1=-1000%256; /*設(shè)置計(jì)數(shù)初值低字節(jié), 重啟定時(shí)器*/ TF1=0; /*計(jì)數(shù)溢出標(biāo)志位清0*/

rect_wave=!rect_wave; /*輸出取反*/}5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-129/11/202497例5-13

設(shè)一只發(fā)光二極管LED和8051的P1.0腳相連。當(dāng)P1.0腳是高電平時(shí),LED發(fā)亮;當(dāng)P1.0腳是低電平時(shí),LED熄滅。編制程序用定時(shí)器來實(shí)現(xiàn)發(fā)光二極管LED的閃爍功能,設(shè)置LED每1s閃爍一次。已知單片機(jī)系統(tǒng)主頻為12MHz。5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-139/11/202498設(shè)計(jì)思想:定時(shí)/計(jì)數(shù)器的最長(zhǎng)定時(shí)是65.536ms,無法實(shí)現(xiàn)1s的定時(shí)??梢圆捎密浖?jì)數(shù)器來進(jìn)行設(shè)計(jì)。定義一個(gè)軟件計(jì)數(shù)器單元30H,先用定時(shí)/計(jì)數(shù)器T0做一個(gè)50ms的定時(shí)器,定時(shí)時(shí)間到后將軟件計(jì)數(shù)器中的值加1,如果軟件計(jì)數(shù)器計(jì)到了20(1s),取反P1.0,并清除軟件計(jì)數(shù)器中的值,否則直接返回。則完成了20次定時(shí)中斷才取反一次P1.0,實(shí)現(xiàn)定時(shí)時(shí)間20×50=1000ms=1s的定時(shí)。定時(shí)/計(jì)數(shù)器T0采用工作方式1(16位定時(shí)器),其初值為:216

50ms/1

s=65536

50000=15536=3CB0H5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-139/11/202499程序如下:

ORG 0000H AJMP START;轉(zhuǎn)入主程序

ORG 000BH ;定時(shí)/計(jì)數(shù)器T0的中斷服務(wù)程序入口地址

AJMP TIME0;跳轉(zhuǎn)到真正的定時(shí)器中斷服務(wù)程序處

ORG 0030HSTART:MOVSP,#60H ;設(shè)置堆棧指針

MOV P1,#00H ;關(guān)發(fā)光二極管LED(使其滅) MOV 30H,#00H ;軟件計(jì)數(shù)器預(yù)清0 MOV TMOD,#01H ;定時(shí)/計(jì)數(shù)器T0工作于方式1 MOV TH0,#3CH ;設(shè)置定時(shí)/計(jì)數(shù)器的初值

MOV TL0,#0B0H SETB EA ;開總中斷允許

SETB ET0 ;開定時(shí)/計(jì)數(shù)器T0中斷允許

SETB TR0 ;啟動(dòng)定時(shí)/計(jì)數(shù)器T0LOOP:JMP LOOP ;循環(huán)等待5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-139/11/2024100TIME0:INC 30H ;中斷程序

MOV A,30H CJNE A,#14H,RET0 ;與20比較,不等轉(zhuǎn)RET0 MOV 30H,#00H CPL P1.0RET0:MOV TH0,#3CH ;重設(shè)定時(shí)初值,啟動(dòng)

MOV TL0,#0B0H RETI5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----應(yīng)用實(shí)例,例5-139/11/2024101盡管MCS-51為用戶只提供了兩個(gè)外部中斷源,但用戶可以根據(jù)實(shí)際需求,進(jìn)行多于兩個(gè)外部中斷請(qǐng)求的擴(kuò)展,其中有很多擴(kuò)展方法。在此重點(diǎn)介紹利用定時(shí)器中斷作為外部中斷的擴(kuò)展。MCS-51有兩個(gè)定時(shí)/計(jì)數(shù)器T0、T1,若選擇它們以計(jì)數(shù)器方式工作,當(dāng)引腳T0或T1上發(fā)生負(fù)跳變時(shí),T0或T1計(jì)數(shù)器則加1。利用這個(gè)特性,借用引腳T0或T1作為外部中斷請(qǐng)求輸入線,若設(shè)定計(jì)數(shù)初值為滿量程,計(jì)數(shù)器加1,就會(huì)產(chǎn)生溢出中斷請(qǐng)求,TF0或TF1變成了外部中斷請(qǐng)求標(biāo)志位,T0或T1的中斷入口地址被擴(kuò)展成了外部中斷源的入口地址。值得注意的是,當(dāng)使用定時(shí)器作為外部中斷時(shí),定時(shí)器以前的功能將失效,除非用軟件對(duì)它進(jìn)行復(fù)用。

3.采用定時(shí)/計(jì)數(shù)器擴(kuò)展外部中斷5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----擴(kuò)展外部中斷9/11/2024102

將定時(shí)器T0引腳作為外部中斷源使用的具體做法為,設(shè)定相應(yīng)定時(shí)器工作方式為方式2,計(jì)數(shù)器TH0、TL0初值為0FFH,允許計(jì)數(shù)器T0中斷,則T0的初始始化程序如下:

MOVTMOD,#06H ;將計(jì)數(shù)器T0設(shè)定為

;方式2外部計(jì)數(shù)

MOVTL0,#0FFH ;設(shè)置計(jì)數(shù)器初值

MOVTH0,#0FFH ;設(shè)置重裝計(jì)數(shù)器初值

SETBET0 ;允許T0中斷

SETBEA ;CPU開中斷

SETBTR0 ;啟動(dòng)T05.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----擴(kuò)展外部中斷9/11/2024103#include<reg51.h>voidmain(void){ TMOD=0x66; /*兩個(gè)定時(shí)/計(jì)數(shù)器都設(shè)為方式2

外部計(jì)數(shù)模式*/ TH1=0xFF; /*設(shè)定重裝值,TL1不用設(shè)置*/ TH0=0xFF; /*設(shè)定重裝值,TL0不用設(shè)置*/ TCON=0x50; /*置位TR1、TR0,開始計(jì)數(shù)*/ IE=0x9F; /*中斷使能*/}5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----擴(kuò)展外部中斷9/11/2024104

/*定時(shí)器0中斷服務(wù)程序*/ voidtimer0_int(void)interrupt1 { TF0=0; /*計(jì)數(shù)溢出標(biāo)志位清0*/ …… } /*定時(shí)器1中斷服務(wù)程序*/ voidtimer1_int(void)interrupt3 { TF1=0; /*計(jì)數(shù)溢出標(biāo)志位清0*/ …… }5.2.4定時(shí)/計(jì)數(shù)器的應(yīng)用----擴(kuò)展外部中斷9/11/20241055.3串行通信接口數(shù)據(jù)通信的傳輸方式有:?jiǎn)喂し绞剑簲?shù)據(jù)僅按一個(gè)固定方向傳送。半雙工方式:數(shù)據(jù)可實(shí)現(xiàn)雙向傳送,但不能同時(shí)進(jìn)行。全雙工方式:允許雙方同時(shí)進(jìn)行數(shù)據(jù)雙向傳送。5.3.1串行通信基礎(chǔ)知識(shí)1.?dāng)?shù)據(jù)通信的傳輸方式----數(shù)據(jù)通信傳輸方式9/11/20241062.并行通信和串行通信數(shù)據(jù)通信:指計(jì)算機(jī)與計(jì)算機(jī)或外設(shè)之間的數(shù)據(jù)傳送?!靶拧保褐敢环N信息,是由數(shù)字1和0構(gòu)成的具有一定規(guī)則并反映確定信息的一個(gè)數(shù)據(jù)或一批數(shù)據(jù)。這種數(shù)據(jù)傳輸有兩種基本方式:并行通信:是數(shù)據(jù)的每位被同時(shí)傳輸出去或接收進(jìn)來。串行通信:數(shù)據(jù)傳輸是逐位傳輸?shù)摹T谙嗤瑮l件下,串行通信比并行通信傳輸速度慢。5.3.1串行通信基礎(chǔ)知識(shí)----并行通信,串行通信9/11/2024107根據(jù)串行通信的不同工作方式,還可將發(fā)送接收線合二為一,成為發(fā)送/接收復(fù)用線(如半雙工)。即便在實(shí)際應(yīng)用中可能還要附加一些信號(hào)線

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論