單片機原理與應(yīng)用項目式教程 教學(xué)課件 鄒顯圣主編 項目五_第1頁
單片機原理與應(yīng)用項目式教程 教學(xué)課件 鄒顯圣主編 項目五_第2頁
單片機原理與應(yīng)用項目式教程 教學(xué)課件 鄒顯圣主編 項目五_第3頁
單片機原理與應(yīng)用項目式教程 教學(xué)課件 鄒顯圣主編 項目五_第4頁
單片機原理與應(yīng)用項目式教程 教學(xué)課件 鄒顯圣主編 項目五_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

在線教務(wù)輔導(dǎo)網(wǎng):://教材其余課件及動畫素材請查閱在線教務(wù)輔導(dǎo)網(wǎng)QQ:349134187或者直接輸入下面地址:微控制器技術(shù)應(yīng)用工程五“流速〞可控的LED分析與實踐【能力目標(biāo)】1.能夠正確進(jìn)行中斷效勞程序設(shè)計。2.能夠使用定時器/計數(shù)器對外部的事件進(jìn)行統(tǒng)計。3.能夠利用中斷和定時器進(jìn)行“流速〞可控的LED電路設(shè)計。4.能夠進(jìn)行時鐘電路的正確連接及調(diào)試。5.能夠進(jìn)行復(fù)位電路的正確連接及調(diào)試。6.能夠進(jìn)行本工程單片機系統(tǒng)控制電路的正確連接及調(diào)試。7.能夠熟練地使用偉福仿真器。8.能夠熟練地使用編程器。工程五“流速〞可控的LED分析與實踐【知識目標(biāo)】1.掌握中斷的根本概念、中斷優(yōu)先級的設(shè)置。2.熟練掌握中斷源的開放或關(guān)閉設(shè)置及中斷源中斷效勞程序入口地址確實定方法。3.掌握中斷的使用方法。4.掌握單片機中定時器/計數(shù)器的工作模式。5.熟練掌握定時器初始值的計算方法。6.熟練掌握定時器/計數(shù)器初始化程序的設(shè)計。工程五“流速〞可控的LED分析與實踐一、工程引入二、相關(guān)理論知識三、工程實施四、拓展知識六、自測題五、工程小結(jié)工程五“流速〞可控的LED分析與實踐一、工程引入本工程通過單片機來完成“流速〞可控的LED。從這個簡單的“流速〞可控制的LED電路做起,使大家對單片機技術(shù)的定時器/計數(shù)器的工作模式、特點以及中斷系統(tǒng)的工作方式、特點有一個最根本的認(rèn)識,并掌握定時器/計數(shù)器、中斷系統(tǒng)的根本工作過程以及在實際生活中的應(yīng)用,激發(fā)學(xué)生學(xué)習(xí)單片機應(yīng)用技術(shù)的興趣。工程要求用單片機實現(xiàn)對LED的控制,讓LED按一定次序點亮,形成“流動〞的效果,間隔時間采用定時器定時的方法來實現(xiàn),分為快、慢、中三種流速,由三個開關(guān)控制,最終形成“流速〞可控的效果。在設(shè)計本工程控制原理的過程中要求使用軟件查詢、定時器定時的方法來實現(xiàn)流速可控。下面就針對該工程,學(xué)習(xí)“流速〞可控的LED電路分析與實踐方面的相關(guān)知識。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)1.中斷的根本概念中斷是計算機的CPU暫停正在運行的程序,轉(zhuǎn)而執(zhí)行提出中斷請求的那個外部設(shè)備或事件的效勞程序〔即中斷效勞程序〕,當(dāng)效勞程序處理完畢后,CPU再回到原來的“斷點〞繼續(xù)原來的程序。其執(zhí)行過程如圖6-1所示。主程序中斷服務(wù)程序斷點中斷返回二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)2.中斷的必要性〔1〕具有分時處理功能在正常狀態(tài)下,CPU執(zhí)行主程序,當(dāng)外設(shè)需要CPU為它效勞時,就向CPU發(fā)出中斷請求,一般情況下,CPU就響應(yīng)中斷執(zhí)行相應(yīng)的中斷效勞程序。在處理完中斷效勞程序后,CPU又返回主程序正常運行。如果有幾個外設(shè)同時發(fā)出中斷請求時,由于CPU的速度遠(yuǎn)比外設(shè)的速度高出許多,因此當(dāng)CPU響應(yīng)各外設(shè)中斷請求,執(zhí)行各相應(yīng)的中斷效勞程序時,對于各外設(shè)都覺得CPU只為它單獨效勞。事實上,各個外設(shè)提出中斷請求都有一定的時間差,因此即使在極小的時間內(nèi),由于CPU的速度極快,也有足夠的時間執(zhí)行完中斷效勞程序。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)2.中斷的必要性〔2〕具有實時處理功能在單片機用于工業(yè)實時控制時,由于現(xiàn)場的參數(shù)或信息隨時會出現(xiàn)變化并要求CPU能極快地響應(yīng)并作出處理,因此如果沒有中斷技術(shù)是很難實現(xiàn)的。有了中斷以后,可能將這些參數(shù)或信息設(shè)定為中斷請求信號向CPU提出中斷請求,從而使CPU能及時對參數(shù)或信息的變化作出相應(yīng)的處理,到達(dá)實時控制的目的。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)2.中斷的必要性〔3〕故障處理功能在單片機運行過程中,常會出現(xiàn)意料不到的故障,單片機有了中斷技術(shù)后,可以將故障設(shè)定為中斷信號。當(dāng)故障發(fā)生時,故障源作為中斷源向CPU發(fā)出中斷請求,從而使CPU馬上執(zhí)行相應(yīng)的故障效勞程序,保證單片機不會因故障而造成停機。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)3.AT89C51的中斷系統(tǒng)結(jié)構(gòu)AT89C51單片機具有5個中斷源,它們都是可屏蔽中斷,所有的中斷源都由“中斷允許存放器IE〞來設(shè)定“允許〞或“屏蔽〞。中斷源具有“高〞、“低〞兩個優(yōu)先級,由“中斷優(yōu)先級存放器IP〞來設(shè)定。單片機在復(fù)位后,5個中斷源都被屏蔽且都為低優(yōu)先級,如圖6-2所示。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)4.與中斷相關(guān)的存放器EX0ET0EX1ET1ESEAxx〔1〕中斷允許存放器IEEA:總允許位。假設(shè)EA=0,禁止一切中斷。假設(shè)EA=1,那么每個中斷是否允許還要取決于各自的允許位。ES:串行口中斷允許位。假設(shè)ES=0,禁止中斷;假設(shè)ES=1,允許中斷。ET1:定時器1中斷允許位。假設(shè)ET1=0,禁止中斷;假設(shè)ET1=1,允許中斷。EX1:外部中斷INT1中斷允許位。假設(shè)EX1=0,禁止中斷;假設(shè)EX1=1,允許中斷。ET0:定時器0中斷允許位。假設(shè)ET1=0,禁止中斷;假設(shè)ET1=1,允許中斷。EX0:外部中斷INT0中斷允許位。假設(shè)EX0=0,禁止中斷;假設(shè)EX0=1,允許中斷。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)4.與中斷相關(guān)的存放器〔2〕中斷優(yōu)先級存放IPPS:串行口中斷優(yōu)先級設(shè)定位。假設(shè)PS=1,高優(yōu)先級;PS=0低優(yōu)先級。PT1:定時器1中斷優(yōu)先級設(shè)定位。假設(shè)ET1=1,高優(yōu)先級;ET1=0低優(yōu)先級。PX1:外部中斷1中斷優(yōu)先級設(shè)定位。假設(shè)EX1=1,高優(yōu)先級;EX1=0低優(yōu)先級。PT0:定時器0中斷優(yōu)先級設(shè)定位。假設(shè)ET0=1,高優(yōu)先級;ET0=0低優(yōu)先級。PX0:外部中斷0中斷優(yōu)先級設(shè)定位。假設(shè)EX0=1,高優(yōu)先級;EX0=0低優(yōu)先級。PX0PT0PX1PT1PSxxx二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)4.與中斷相關(guān)的存放器〔3〕定時器/計數(shù)器控制存放器TCONTF1:定時器T1溢出標(biāo)志。當(dāng)定時/計數(shù)器T1產(chǎn)生溢出時,該位由硬件置1,并申請中斷〔中斷開放時〕。進(jìn)入中斷效勞程序后由硬件自動清零。注意:如果使用軟件查詢標(biāo)志時,應(yīng)當(dāng)在標(biāo)志有效〔TF=1〕后使用軟件去除標(biāo)志。TF0:定時器T0溢出標(biāo)志。功能同TF1類似。TR1:定時器T1的運行控制位,由軟件置1和清零。置1時,定時/計數(shù)器開始工作,清零時停止工作。TR0:定時器T0的運行控制位,功能同TR1類似。IE1:外中斷INT1標(biāo)志位。當(dāng)檢測到INT1腳上的電平由高電平變?yōu)榈碗娖綍r,該位置位并請求中斷。進(jìn)入中斷效勞程序后,該位自動去除。IE0:外中斷INT0標(biāo)志位。功能同IE1類似。IT1:外中斷INT1觸發(fā)類型控制位。IT=1時,為下降沿觸發(fā)中斷;IT=0時,是低電平觸發(fā)。IT0:外中斷INT0觸發(fā)類型控制位。功能同IT1類似。TF1TR1TF0TR0IE1IT1IE0IT0二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)5.中斷響應(yīng)協(xié)議在每一個機器周期中,所有的中斷源都要按照其順序檢查一遍。到S6狀態(tài)時,就查找到所有被激活的中斷申請并排好優(yōu)先權(quán)。在下一個機器周期的S1狀態(tài),只要不受阻斷,就開始響應(yīng)高級中斷。如果發(fā)生以下情況,中斷將被阻止:1〕同級或高級中斷正在執(zhí)行時。2〕當(dāng)前的機器周期不是指令的最后一個機器周期。3〕CPU正在執(zhí)行的指令是RETI或訪問IE、IP存放器時,CPU是不會響應(yīng)中斷的,而且要等到該指令的下一條指令執(zhí)行完后中斷才能響應(yīng)。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)6.中斷響應(yīng)的優(yōu)先級低級中斷在響應(yīng)執(zhí)行中,可被高級中斷所中斷,反之那么不能。一個中斷〔不管是什么優(yōu)先級〕一旦得到響應(yīng),與它同級的中斷那么不能再中斷它。當(dāng)CPU同時收到幾個同一級別的中斷要求時,CPU響應(yīng)哪個中斷源取決于硬件的查詢順序。從中斷系統(tǒng)的硬件結(jié)構(gòu)圖可以清楚地看出同一級別中5個中斷源的查詢順序。那么,要改變這種順序只能通過IP的設(shè)置。如:要想將串行口的級別設(shè)為最高時,將IP中的PS置1。即使用指令“SETBPS〞或“MOV0B8H,#10H〞完成對IP設(shè)置。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)7.中斷響應(yīng)的過程如果CPU響應(yīng)五個中斷源中的某一個中斷申請時,在硬件的控制下,AT89C51必須做三件事情:1〕CPU查詢到某一中斷源后,使相應(yīng)的“優(yōu)先級激活觸發(fā)器〞置位,用以屏蔽、阻止同級或低級中斷〔在單片機中斷系統(tǒng)中有兩個不可尋址的優(yōu)先級激活觸發(fā)器—flagH和flagL,分別代表高優(yōu)先級和低優(yōu)先級〕。2〕在硬件控制下,將當(dāng)前程序計數(shù)器PC的內(nèi)容〔斷點地址〕進(jìn)棧,以備返回。3〕將對應(yīng)的中斷矢量裝入PC,使程序轉(zhuǎn)向?qū)?yīng)的矢量單元〔入口地址〕,并通過此單元的長轉(zhuǎn)移指令轉(zhuǎn)向執(zhí)行對應(yīng)的中斷效勞程序。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)8.外部中斷在單片機的引腳上,有兩個輸入腳分別為INT0和INT1。作為外部中斷的兩個輸入,其激活中斷申請輸入的方式有兩種:一種是低電平激活;另一種是下降沿激活。具體采用哪種方式,由專用存放器TCON中的IT1、IT0位來決定。假設(shè)ITx〔X=1或0〕=0那么低電平激活中斷;假設(shè)ITx=1是下降沿激活。在2個機器周期中,對ITx進(jìn)行兩次采樣。第一次采為高電平,第二次采樣為低電平時,激活中斷標(biāo)志〔TCON中的IEx=1〕。由于CPU對外部中斷的采樣每個機器周期只有一次,所以電平激活方式中的外觸發(fā)信號加在INTx的引腳上的低電平至少要保證一個機器周期〔即12個振蕩周期〕。如果系統(tǒng)采用的是12M晶體,那么,INTx上的中斷信號〔低電平〕應(yīng)大于1微秒,在實際應(yīng)用中,如果采用電平觸發(fā)方式時,外部中斷源應(yīng)一直保持中斷有效〔低電平〕,直到中斷被響應(yīng)為止。同理,對于邊沿激活方式的信號,加在INTx上的高電平、低電平至少要各保持一個機器周期以上的時間。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)9.中斷請求的撤除CPU一旦響應(yīng)中斷,進(jìn)入中斷效勞程序后,應(yīng)當(dāng)將該中斷請求撤除,否那么該信號還會引起重復(fù)的中斷。撤除中斷的方法就是將對應(yīng)的中斷標(biāo)志位清零。在AT89C51系統(tǒng)中,去除標(biāo)志有兩種方法:一種是靠硬件自動去除;另一種是必須人為地用軟件〔指令〕來去除。具體見表6-1〔如果采用“查詢〞方式編程時,所有標(biāo)志都應(yīng)軟件清零〕二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)9.中斷請求的撤除二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)9.中斷請求的撤除使用一個D型觸發(fā)器,在外部信號的鼓勵下,使觸發(fā)器的Q端為“0〞電平,該電平作為外中斷的申請信號。當(dāng)CPU響應(yīng)該中斷并進(jìn)入到效勞程序中時,利用P0口的一條線輸出一個將D型觸發(fā)器置1的信號,如圖6-3所示。該電路還可以解決外中斷信號有效寬度過窄的問題。二、相關(guān)理論知識〔一〕AT89C51單片機的中斷系統(tǒng)10.中斷技術(shù)的應(yīng)用1〕與查詢方式比較,采用中斷方式編程可以提高CPU的運行效率。2〕單片機內(nèi)部模塊定時器、串行口都可以采用中斷的方式編程。3〕單片機的引腳INT0和INT1為用戶提供了可以使用外部信號承擔(dān)中斷源的時機。如系統(tǒng)的電源監(jiān)控系統(tǒng),當(dāng)電源出現(xiàn)下降時,可以向CPU發(fā)出一個緊急中斷申請,CPU便可實現(xiàn)備用電源的切換等。但應(yīng)當(dāng)注意:外部的INT信號必須要經(jīng)過處理,以保證中斷的可靠性。4〕與查詢方式編程相比,中斷編程要注意兩點:①通過對IE存放器的編程,選擇對應(yīng)的使能位并開放該中斷源。②在對應(yīng)的中斷矢量入口單元寫入“跳板指令〞,以便中斷發(fā)生時,能夠通過跳板指令使CPU轉(zhuǎn)到真正的中斷效勞子程序中。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器1.定時器/計數(shù)器的結(jié)構(gòu)AT89C51單片機有二個16位定時器/計數(shù)器,它們都具有定時和計數(shù)雙重功能。其內(nèi)部結(jié)構(gòu)如圖6-5所示。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器2.定時器/計數(shù)器的特殊功能存放器〔1〕方式存放器TMOD特殊功能存放器TMOD為T0、T1的工作方式存放器,地址為89H,其格式如下:GATEC/TM1M0GATEC/TM1M0定時/計數(shù)器1定時/計數(shù)器0GATE:選通門GATE=1時,只有INTi〔i=0或1〕信號為高電平且TRi=1時,定時器/計數(shù)器才開始工作;GATE=0時,只要TRi=1,定時器/計數(shù)器就開始工作,而與INTi信號無關(guān)。C/T計數(shù)器方式、定時方式選擇位。當(dāng)C/T=0時,設(shè)定為定時方式,計數(shù)脈沖來自內(nèi)部時鐘系統(tǒng);當(dāng)C/T=1時,設(shè)定為計數(shù)方式,計數(shù)脈沖來自外部引腳T0、T1。M1,M0工作模式控制位,具體見表6-2所示。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器2.定時器/計數(shù)器的特殊功能存放器〔1〕方式存放器TMOD二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器2.定時器/計數(shù)器的特殊功能存放器〔2〕控制存放器TCONTF1TR1TF0TR0IE1IT1IE0IT0特殊功能存放器TCON的高4位存放定時器的運行控制位和溢出標(biāo)志位,低4位存放外部中斷的的觸發(fā)方式控制位和鎖存外部中斷請求源,地址為88H,其格式如下。各位含義在中斷控制系統(tǒng)局部已講,這里不再贅述。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式在AT89C51單片機內(nèi)部,具有兩個完全相同的定時計數(shù)器T0、T1,它們都具有兩種工作方式:定時和計數(shù),無論是定時還是計數(shù)方式、其核心局部都是一個“加一計數(shù)器〞,無論何種方式,都具備四種模式,以滿足實際要到達(dá)的最正確工作狀態(tài);定時器/計數(shù)器的工作方式、工作模式是由特殊功能存放器中的TMOD來決定的。因此對其方式、模式的設(shè)定是靠對TMOD的初始化編程實現(xiàn)的。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔1〕方式0當(dāng)M1M0為00時,定時器/計數(shù)器工作在方式0,這時為13位的定時器/計數(shù)器,其工作結(jié)構(gòu)如圖6-6所示。〔以T1為例〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔2〕方式1當(dāng)M1M0為01時,定時器/計數(shù)器工作在方式1,這時為16位的定時器/計數(shù)器,其工作結(jié)構(gòu)如圖6-7所示。〔仍以T1為例〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔3〕方式2當(dāng)M1M0為10時,定時器/計數(shù)器工作在方式2,這時為8位自動重裝的定時器/計數(shù)器,其工作結(jié)構(gòu)如圖6-8所示?!踩砸訲1為例〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔4〕方式3當(dāng)M1M0為11時,定時器/計數(shù)器0工作在方式3,這時為兩個8位的定時器/計數(shù)器,而定時器/計數(shù)器1沒有工作方式3。在定時器/計數(shù)器0工作在方式3的情況下,定時器/計數(shù)器0被分為兩個獨立的8位計數(shù)器TL0和TH0,其中TL0使用本身的控制位GATE、C/T、TF0、TR0和INT0,并占用T0的中斷資源,而TH0固定作為一個8位定時器〔不能作為計數(shù)器〕,借用定時器/計數(shù)器1的局部控制位TR1和TF1,并占用T1的中斷源。其工作結(jié)構(gòu)如圖6-9所示。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔4〕方式3圖6-9方式3T0電路結(jié)構(gòu)圖〔此時T1可先設(shè)定為模式2運行〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔4〕方式3定時器/計數(shù)器4種模式比較見表6-3和表6-4。表6-3定時器/計數(shù)器4種方式比較〔計數(shù)方式〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器3.定時器/計數(shù)器的工作方式〔4〕方式3定時器/計數(shù)器4種模式比較見表6-3和表6-4。表6-4定時器/計數(shù)器4種方式比較〔定時方式〕二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器4.定時器/計數(shù)器的使用方法1〕確定工作方式—配置TMOD存放器。2〕根據(jù)任務(wù)需求,確定定時或計數(shù)功能。3〕選擇工作方式。定時器/計數(shù)器初值計算—配置TH0、TL或TH1、TL1計數(shù)存放器。由于AT89C51單片機定時器/計數(shù)器是加1計數(shù)器,當(dāng)TF溢出時為定時時間到或計數(shù)正好,因此實際定時時間或計數(shù)長度不能作為初值賦給TH1〔TH0〕和TL1〔TL0〕,初值的計算公式應(yīng)為:T初值=2N-定時時間/機器周期其中,N與工作方式有關(guān),方式0時為13,方式1時為16,方式2時為8,方式3時為8。二、相關(guān)理論知識〔二〕AT89C51單片機的定時器/計數(shù)器4.定時器/計數(shù)器的使用方法機器周期與時鐘頻率fosc有關(guān),如果fosc=12MHz,那么機器周期為1us,如果fosc=6MHz,那么機器周期為2us。根據(jù)需要開啟定時器中斷,即配置IE存放器。根據(jù)任務(wù)需求,對中斷允許控制存放器IE賦值,開啟定時器計滿溢出后的中斷請求功能?!?〕啟動定時啟動定時器工作—配置TCON存放器。配置TCON存放器,用位指令置位TR0或TR1,即可啟動定時器,開始定時。〔3〕定時完成通過判斷定時器TF0或TF1來查詢是否完成定時。如果TF0或TF1為1,那么認(rèn)為定時完成。三、工程實施〔一〕硬件電路原理圖設(shè)計〔二〕系統(tǒng)所用元器件、設(shè)備及工具三、工程實施元器件名稱主要參數(shù)數(shù)量元器件名稱主要參數(shù)數(shù)量單片機AT89C511螺釘旋具一字及十字1電阻5.1kΩ1面包板—2電阻330Ω8偉福仿真器H51/L1電阻10K3西爾特編程器SUPERPRO/L+1瓷片電容30pF2仿真頭POD-S8X5X/H8X5X1LED發(fā)光二極管—8插線—若干晶振6MHz1計算機—1開關(guān)

3鉗子尖口1電解電容10μF1萬用表數(shù)字式1〔三〕系統(tǒng)所用匯編源程序的編制三、工程實施ORG0000HLJMPMAINORG0100HMAIN:MOVR2,#08HMOVA,#0FEHMOVP0,#0FFHCLREANEXT:JBP0.0,NEXT1MOVP1,AMOVR3,#05HLCALLDELAY1SJMPNEXT3NEXT1:JBP0.1,NEXT2MOVP1,AMOVR3,#0AHLCALLDELAY1SJMPNEXT3NEXT2:JBP0.2,NEXTMOVP1,AMOVR3,#0FHLCALLDELAY1NEXT3:RLADJNZR2,NEXTSJMPMAINDELAY1:MOVTMOD,#10HMOVTH1,#3CHMOVTL1,#0B0HSETBTR1L1:JBCTF1,L2SJMPL1L2:MOVTH1,#3CHMOVTL1,#0B0HDJNZR3,L1RETEND〔四〕硬件及軟件的聯(lián)合調(diào)試三、工程實施三、工程實施〔五〕脫離仿真器后的獨立運行四、拓展知識〔一〕定時器/計數(shù)器初值TC的計算1.計數(shù)方式下的TC計算TC=M-C其中,C為要求的計數(shù)值;M為計數(shù)器的模,有以下3種情況:方式0:M=213=8192方式1:M=216=65536方式2:M=28=256例6-2要求每計100個脈沖定時器產(chǎn)生一次溢出。解1:選擇方式2TC=256-100=156=9CHMOVTH0,#9CHMOVTL0,#9CH解2:選擇方式1TC=65536-100=65436=FF9CHMOVTH0,#0FFHMOVTL0,#9CH四、拓展知識〔一〕定時器/計數(shù)器初值TC的計算2.定時方式下的TC計算TC=M-T/T計數(shù)

其中,T——要求的定時時間值;T計數(shù)——計數(shù)器計數(shù)脈沖周期=〔1/fosc〕×12;M---計數(shù)器的模,有以下3種情況:方式0:M=213=8192方式1:M=216=65536方式2:M=28=256例6-3定時方式:要求T0產(chǎn)生20ms的定式。解:選擇方式1TC=M-T/T計數(shù)TC=65536?〔20ms×1000〕/1μS=65536-20000=45536=0B1E0HMOVTH0,#0B1HMOVTL0,#0E0H四、拓展知識〔一〕定時器/計數(shù)器初值TC的計算3.定時器門控位GATE的應(yīng)用如果GATE=1,TR=1時電路是否計數(shù)取決于INT0:INT0=1時開始計數(shù);INT0=0時電路停止計數(shù)。利用這一特點,可以實現(xiàn)測量外部脈沖的周期〔頻率〕,如圖6-13所示。解題步驟:1〕將外部脈沖接到P3.2〔INT0〕上,使用T0且C/T=0,且令GATE=1。2〕計數(shù)器TH0、TL0原始初值為00H,且設(shè)為模式1〔16位〕。3〕在INT0=0時啟動T0計數(shù)器〔TR0=1〕。4〕當(dāng)INT0=1時,定時器T0自動開始計數(shù);當(dāng)INT0=0時自動停止計數(shù),此時TH0、TL0中的計數(shù)值就是與脈沖寬度相對應(yīng)的數(shù)據(jù)。四、拓展知識〔一〕定時器/計數(shù)器初值TC的計算3.定時器門控位GATE的應(yīng)用圖6-13定時器門控位GATE的應(yīng)用四、拓展知識〔一〕定時器/計數(shù)器初值TC的計算3.定時器門控位GATE的應(yīng)用程序清單:MOVTMOD,#09H;設(shè)定T0為模式1且GATE=1MOVTH0,#00HMOVTL0,#00H;計數(shù)器原始清零MOVR0,#20H;設(shè)置數(shù)據(jù)區(qū)指針并原始賦初值JBINT0,$;等待P3.2引腳上的脈沖變低,尋找準(zhǔn)備階段SETBTR0;INT0變低后,TR0置1〔但不計數(shù)〕JNBINT0,$;假設(shè)INT0低電平那么等待,準(zhǔn)備計數(shù)階段JBINT0,$;假設(shè)INT0高電平那么等待〔硬件開始計數(shù)〕CLRTR0;INT0變低后,關(guān)閉T0〔停止計數(shù)〕MOV@R0,TH0INCR0MOV@R0,TL0;保存計數(shù)器T0的計數(shù)值四、拓展知識〔二〕外部中斷源的擴展1.用定時器作外部中斷源AT89C51單片機有兩個定時器,具有兩個內(nèi)中斷標(biāo)志和外計數(shù)引腳,如在某些應(yīng)用中不被使用,那么它們的中斷可作為外部中斷請求使用。此時,可將定時器設(shè)置成計數(shù)方式,計數(shù)初值可設(shè)為滿量程,那么它們的計數(shù)輸入端T0〔P3.4〕或T1〔P3.5〕引腳上發(fā)生負(fù)跳變時,計數(shù)器加1便產(chǎn)生溢出中斷。利用此特性,可把T0腳或T1腳作為外部中斷請求輸入線,而計數(shù)器的溢出中斷作為外部中斷請求標(biāo)志。四、拓展知識〔二〕外部中斷源的擴展1.用定時器作外部中斷源例6-4將定時器T0擴展為外部中斷源。解:將定時器T0設(shè)定為方式2〔自動恢復(fù)計數(shù)初值〕,TH0和TF0的初值均設(shè)置為FFH,允許T0中斷,CPU開放中斷,源程序如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA…當(dāng)連接在T0〔P3.4〕引腳的外部中斷請求輸入線發(fā)生負(fù)跳變時,TL0加1溢出,TF0置1,向CPU發(fā)出中斷申請,同時,TH0的內(nèi)容自動送至TL0使TL0恢復(fù)初值。這樣,T0引

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論