MCS-51系列單片機(jī)的內(nèi)部功能模塊及其應(yīng)用._第1頁
MCS-51系列單片機(jī)的內(nèi)部功能模塊及其應(yīng)用._第2頁
免費預(yù)覽已結(jié)束,剩余23頁可下載查看

下載本文檔

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

文檔簡介

1、第6章MCS-51系列單片機(jī)的內(nèi)部功能模塊及其應(yīng)用MCS-51系列單片機(jī)的典型產(chǎn)品的內(nèi)部功能模塊包括P0、P1、P2、P3四個雙向8位并行口,TO、T1二個16位定時/計數(shù)器(52T系列還有第3個定時/計數(shù)器T2)和一個串行口。MCS-51系列所有的產(chǎn)品一般都具有這些I/O部件.除此以 外,一些增強(qiáng)功能的新型51系列的單片機(jī)還有多功能左時 器、A/D轉(zhuǎn)換器、實時時鐘、I2C串行BUS口、watchdog等 一些功能模塊。6.1MCS-51單片機(jī)內(nèi)部的并行口MCS51系列單片機(jī)中稱為PO、Pl、P2、P3的并行接口,每個接口匸要 巾4部分構(gòu)成:數(shù)據(jù)鎖存器、輸入緩沖器、輸出驅(qū)動器和接口引腳,每 一

2、條1/0都能獨亡的用作輸入或輸出,作輸入時,數(shù)據(jù)町以鎖存;作輸 出時,數(shù)據(jù)叮以緩沖。4個接口的功能不窕全相同,真內(nèi)部結(jié)構(gòu)也略仃 不同,但在作I/O操作方式時,其特性基本相同。如圖(a)(d)分 別給出了PO、PI、P2、P3口的1位的結(jié)構(gòu)框圖。PO、Pl、P2. P3口的1位的結(jié)構(gòu)框圖4:第2臣已洋細(xì)地介紹 MCS-51單片機(jī)的并行I/O端LI 卜山1舉個并彳丁接I I應(yīng)用 的例產(chǎn),以加深對并疔接口使用的理解?!纠?1】對例6-1的電路圖,單片機(jī)的P1.4PI.7接4個發(fā)光二極管,P1.0P1.3接4個開關(guān),耍求毎按鍵中斷-次.發(fā)光二極管顯示開關(guān)狀態(tài)。契求對應(yīng)的發(fā)光:極管亮或滅,只需把P1端口

3、的內(nèi)容讀入高、低4位互換.通 過P1瑙口輸出即可.A 編語言參考程序為ORGOOOOHLJMPSTARTORG0003HLJMPEXTOORG0030HSTART: SETBEA:開中斷總開關(guān)SETBEXO:允許屮斷SETBITO:F降沿產(chǎn)生中斷MOVPl, UOFH:設(shè)疋Pi端口低勺位為輸入狀態(tài)SJMP$ORG0100HEXTO:MOVA, PlSWAP AMOVPl, ARETIci/m考稗序為:#includeINTO () interrupt 0嚴(yán)中斯函數(shù)水/6-1例6|的電路圖Pl=OxOf;P=4;廣設(shè)處Pl端口低4位為輸入狀態(tài),輸入端先程1.燈火引嚴(yán)讀入開關(guān)狀態(tài).并左移4位.使開

4、關(guān)反映在發(fā)光二極行1:*/ main()EA=1;EXO=1: ITO=1:while(l);嚴(yán)開中斷總開關(guān)*7允許中斷5*/*卜降沿產(chǎn)牛中斷*/戶等待中斷6.2MCS-51單片機(jī)內(nèi)部的定時器/計數(shù)器6.2.1實現(xiàn)定時/計數(shù)器的辦法通常實觀定時/計數(shù)冇3種左要方法:(1)軟件定時:軟件定時不占用硬件資源,但占用了CPU時間,降低了CPU的利用率。(2)時展電路硬件定時:用小規(guī)模集成電路器件構(gòu)成的碩件定時電路, 電路簡單,但要改變定時范國,必須改變電阻和電容,修改不方便, 即不可編程。(3)可編程定時/計數(shù)器定時:它是為方便微機(jī)系統(tǒng)的設(shè)計和應(yīng)用而研 制的種芯片,它采用硬件定時,且很容易通過軟件來

5、確定和修改 定時值,通過初始化編程,能夠滿足乞種不同的趙時和汁數(shù)要求, 在單片機(jī)、嵌入式系統(tǒng)的設(shè)計和應(yīng)用中得到廣泛的應(yīng)用。單片機(jī)內(nèi)部的定時/計數(shù)器也屬于上面的第3種采用可編程定時/計數(shù)器實 現(xiàn)定時,只不過這種可編程定時/計數(shù)器的碩件模塊被集成到單片機(jī)內(nèi)部 而已。6.2.2MCS-51單片機(jī)內(nèi)部的定時/計數(shù)器運時/計數(shù)器是MCS-51系列單片機(jī)的幣要部件,其工作方式靈活,編程簡 單,它的使用人人減輕了CPU的負(fù)擔(dān)并冃.簡化了外用電路。在MCS51系列單片機(jī)中,51子系列單片機(jī)有2個定時/計數(shù)3ST0和T1, 52了系列單片機(jī)除了有上述兩個怎時/il數(shù)器以外, 還有個疋時/計數(shù)器T2,后者的功能比

6、前兩荷強(qiáng)。怪16-2足MCS-51系列單片機(jī)內(nèi)部定吋/計數(shù)器結(jié) 構(gòu)框圖。圖6-2 MCS-51系列單片機(jī)內(nèi)部定時/計數(shù)搭結(jié)構(gòu)框圖Mflcru.rim運時/計數(shù)器主耍山特殊功能寄心器THO、TLO、TH1、TL1以及TMOD、TCON組成。定時/計數(shù)器的丈質(zhì)足加1計數(shù)器(16位).山高8位和低8位兩個寄器組成。其中,THO(高8位)、TLO(低8位)構(gòu)成16位加1汁數(shù)器TO,用來存放TO的 計數(shù)初值:TH1(高8位)、TL1(低8位)構(gòu)成加116位計數(shù)器T1,用來存放T1的 計數(shù)初值;這兩個16位計數(shù)器都足16位的加1計數(shù)器TMOD用*控制兩個定時/計數(shù)益的I作方式,TCON用作中斷溢出標(biāo)志 并

7、控制定時器的啟停。加1計數(shù)器輸入的計數(shù)脈沖有兩個來源。(1)是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來:(2)是TO或T1引腳輸入的外部脈沖源。每來一個脈沖計 數(shù)器加1,當(dāng)加到計數(shù)器為全1時,再輸入一個脈沖就使計 數(shù)器回零,且計數(shù)器的溢出使TCON中TFO或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器屮斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到; 如果工作于計數(shù)模式,則表示計數(shù)值已滿。I大此,由溢出 時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)fl1)定時/計數(shù)器設(shè)置為定時器模式時,加1計數(shù)器足對內(nèi)部機(jī)器周期計數(shù)(1個機(jī)器周期竽于12個振蕩周期,即計數(shù)頻率為晶振頻率的1

8、/12) o計數(shù)值N乘以機(jī)器周期7cy就是定時時間F o2)定時/計數(shù)器設(shè)置為計數(shù)器模式時,外部事件計數(shù)脈沖由TO或T1引腳輸入到計數(shù)器。在何個機(jī)器周期采樣TO或T1引腳電、卜。當(dāng)某周期采樣 到一高電平輸入,而下一周期又采樣到一低電、F:時,則計數(shù)器加1,更新的計數(shù)值在卜一個機(jī)器周期期間裝入計數(shù)益。由于檢測一個從1到0的卜降沿需要2個機(jī)器周期,因此要求被采樣的電半至少要維持一 個機(jī)器周期。當(dāng)晶振頻率為12MHz時,最髙計數(shù)頻率不超il/2MHz,即計數(shù)脈沖的周期要大于2 pis。6.2.2.1定時器/計數(shù)器的控制寄存器單片機(jī)定時/計數(shù)器TO、T1的工作主要由TMOD、TCON、IE3個特殊功

9、能寄存器控制。 其中:TMOD用來設(shè)置各個定時/計數(shù)器的工作方式、 選 擇總時或il數(shù)功能;TCONJI丁控制心動運行以及作為運彳亍狀態(tài)的標(biāo),忐 等;IE用于對定時/汁數(shù)器中斷允許進(jìn)行控制.1丄作方式控制寄存器TMODTMOD寄存器是-個用J設(shè)定定時/汁數(shù)器匚作方式的特殊功能寄存器, 艮低4位用丁控制TO,而高4位用丁控制Tlo 7節(jié)地址為89H,不能位/ 址設(shè)*fflTMOD須用了節(jié)操作指令。復(fù)位時TMODVjOOHo它的族位定義 見圖&3位號D7D6D5D4D3D2D1DO符號GATEC/TMlGAHC/亍MlTNIOD 功能門控位計救/ 走時迭擇工作方式迭擇厲空位計數(shù)走時送擇工作

10、方式迭擇高4位J空制T1低4位徑制TO圖63 TMOD各位泄義(1) Ml、MO:I:作方式選樣位Ml、卜10用來選擇I-作方式,對應(yīng)關(guān)系如衣61所小。辰6-1定時/i卜數(shù)器的方式選押Ml MO工作方式功能00丁作方龍013位計數(shù)髀01工(F方式116位ilttZt10丄(F萬式2口幼再裝人8位訂裁為11工作方式3定時器T0:分成兩個8位計效器; 宦時211 h停止計數(shù)(2) C/T:定時/計數(shù)功能選擇位C/亍=0為定時方式。在定時方式中.以掾蕩輸岀時t中脈沖fosc的12分頻信號作為 計數(shù)信號,如果單片機(jī)采用12MHz晶體,則計數(shù)頻率為1MHz,計數(shù)脈沖周期為12,即每1“計數(shù)器加1次。C/

11、T=1対計數(shù)方式。在計數(shù)方式中,單片機(jī)在毎個機(jī)器周期對外部計數(shù)脈沖進(jìn)行 采樣。如果前個機(jī)器周期采樣為高電r. Ju個機(jī)器周期采樣為低電平,即為 一個冇效的計數(shù)脈沖。在下一機(jī)器周期進(jìn)行計數(shù)。因此,外部爭件計數(shù)時最高計 數(shù)頻率是單片機(jī)晶振頻率的1/24。如果單片機(jī)采用12MHz骷體,則外部事件計數(shù) 牀沖垠矩周期為2戶,即繪快町以做到毎2ysi|數(shù)器加1。(3) GATE:門控位GATE=1怎時/計數(shù)器的運行受外部引腳輸入電乎的控制.UUTNTO控制TO運 行,imr控制TI運行。GATE=O 定時/計數(shù)器的運行不受外部輸入引腳的控制o2.定時器控制寄存器TCONTCON寄存器足個丿IJ于控制罔動運

12、行以及作為運行狀態(tài)的標(biāo)志的待殊功能宙存器。TCUN奇仔器既參與圧時控制乂參與中I析控制,址品4位川J;控制TO, TI.而低4位用于控制外部中斷IN而、INTTOTCON的字節(jié)地址為88H,它可位J址。 復(fù)位時TCON為00H。它的位定義見圖64圖&4 TCON備位定義位號D70605D4D302DlDO位名稱IF11RITFOIRO1E1m1E0no位地址8FH8EII8D1I8CII8B118 All891188HTCONT1中斷標(biāo)志T1遠(yuǎn)行標(biāo)志TO中斷標(biāo)志TO運行標(biāo)志INT1中 斷標(biāo)志iNTite發(fā)方式INTO中TNTOW發(fā)方式高2位控制TI低2位獨刨TOTCON低4位與外屮斷I

13、NT弘INTT/I關(guān).島4位功能疋時控制仃關(guān)。(1)TFO和TF1:計數(shù)溢出標(biāo)志位F 計數(shù)器計數(shù)溢出(計滿)時,該位置1使用査詢方武時,此位作狀態(tài)位供 査詢.但應(yīng)注意査詢有效后應(yīng)用軟件方法及時將該位清0;使用中斷方式時, 此位作中斷標(biāo)志位,在轉(zhuǎn)向屮斷服務(wù)程序時山破件I動淸0(2)TRO和R1:足時器運行控制位TRO (TR1) =0,停止定時/計數(shù)器工作:TRO (TRi) =1,啟動定時/計數(shù)器工 作。該位根抑;需妄靠軟件來賢1或潔0,以控制疋時器的啟動或停I上。3中斷允許控制寄存器TEIE寄存器與定時/計數(shù)器有關(guān)的位為ETO和ET1,它們分別足疋時/計數(shù)器0、I的 中斷允許控制位。當(dāng)ETO

14、(或ETI) =0時,蔡止沱時/計數(shù)器0(或I)中斷:而 當(dāng)ETO或ETI) =1時,允許定時/計數(shù)器0(或I)中斷.6.2.2.2定時器/計數(shù)器的工作方式1.方式o13位訂數(shù)結(jié)構(gòu)的丄作力工,定吋心數(shù)器TO、T1部對以設(shè)咒丄作方式0, TO(或TI)的計數(shù)器itlTHO(或TH1)高8位和TL0(或TL1)的低5位構(gòu) 成,TLO(或TLI)的高3位未用。圖6-5、圖6-6分別為匸作力式0的邏輯 電路給構(gòu)、匚作原理框圖。為TL0的低5位溢出時向TH0進(jìn)位,TH0溢出 時,宙位TCON中的TFO標(biāo)志,向CPU發(fā)出中斷諸求。請求16-5 I作方式0的TCDIM(I)當(dāng)C/T=O時,名路開關(guān)接通振蕩脈

15、沖的12分頻輸出.13位計數(shù)器以此進(jìn)行計數(shù), 這就足足時方式。C/T = l時,名路開關(guān)接通計數(shù)引腳P34 (TO),外祁計數(shù)脈沖由引腳P3.4輸入。 肖計數(shù)脈沖發(fā)生負(fù)跳變時,計數(shù)器加1,這就是計數(shù)方式。不管是定時方式還足計數(shù)方式,當(dāng)TLO的低5位計數(shù)溢出時,向THO進(jìn)位,而全部13位計數(shù)溢岀時, 則向計數(shù)溢出標(biāo)志位TFO進(jìn)位.在滿足中斷條件時, 向CPU中i疔 小斯,若需繼續(xù)進(jìn)行總時或計數(shù),則應(yīng)用指令對TLO、THO重新置數(shù),否則,卜一 次計數(shù)將會從0開始,造成汁數(shù)或沱時時間不準(zhǔn)確這甲.翌說明的圧;TO能否啟動,取決于TR()、GATE和引腳THTO的狀態(tài)。嗎GATE=O時,GATE信匕封鎖

16、了或門,他;I腳iNTOf無效。而或門輸出端的 高電平狀態(tài)卻打開了與門.這時如果TRO=h則與門輸出為1,模擬開關(guān)接通,定 時/計數(shù)0工作.如果TRO=O,則斷開模擬開關(guān),定時/計數(shù)器0不能工作;1GATE=L同時TRO=1時,模擬開關(guān)足仰披通由INTOF制。lNTO=l時,與 門輸出髙電平,模擬開關(guān)接通.定時/計數(shù)器0 11作:INTO=0時.與門輸出低電 平,模擬丿I關(guān)斷開,定時/計數(shù)冊0停止工作這種情況可用于測量外信號WTO的 脈沖寬度。方式0足13位的定時/計數(shù)方式,因而最大計數(shù)值(滿值)為Af=2l3=8192o若計 數(shù)值為N,則胃入的初值X為:X=8192N例如,定時/計數(shù)益TO的

17、計數(shù)值為1000,則初值為7192,轉(zhuǎn)換成二進(jìn)制數(shù)為1110000011()O()B,則THO=1I1OOOOOB二EOHTLO=xxxl IO(XJB=I8H(把xxx當(dāng)作000時2.方式116位計數(shù)結(jié)構(gòu)的工作方式,定時/il數(shù)器TO、T1那可以設(shè)置工作方式1, T0(或T1)的計數(shù)器ihTHO(或TH1)扁8位和TLO(或TL1的低8位構(gòu)成,其邏輯電路和工作情況與工作力式0基本和同。所不同的只足組成訃數(shù)器 的位數(shù),它比匸作方式0冇更寬的計數(shù)范圍,因此.在實際應(yīng)用中,【作 方式】町以代替I:作方式0。圖&7、圖&8分別為工作方式0的邏輯電路結(jié) 構(gòu).工作原理框圖。圖67 IW方

18、式1的邏軻電路結(jié)構(gòu)TROGATE中爭清求INT(P32)h圖68 1作方式1的I作原理框圖市于足6位的定時/計數(shù)方式因而最大計數(shù)值(滿值)為Af=216=65536.若計 數(shù)值為N,則冒入的初值X為:X=65536N例如,定時/計數(shù)器T0的計數(shù)值為1000.則初值為65536-1OOO=M536,轉(zhuǎn)換成二 進(jìn)制數(shù)為1111110000011000B,則THO=11I111(M)B=FCH, TL0 = 00011000B = 18HeTCOXvol)073.方式2具有自動垂裝初值的、8位計數(shù)結(jié)構(gòu)的工作方式,從時/計數(shù)器TO、T1都可以設(shè)置I.作方式2。在方式2下,16位計數(shù)器披分為兩部分,即以

19、TLO(或TL1)作計數(shù)骷 而以THO(或TH1)作預(yù)置奇存器(即保存計數(shù)初值),初始化時把8位的計 數(shù)初值分別裝人TL0(或TLI)和THO(或TH1)中。1|TLO(或TL1)計數(shù)溢出 石,不是像前兩種件方式那柑通過軟件力法,RuMllJ偵灣竊心器THO(或TH1)以駛件方法自動給計數(shù)器TLO(或TL1)重新加如 圖9、圖6-10分別為匸作方 式2的邏啊電路結(jié)構(gòu)、工作廉理finite圖610丄作力式2的工作凍現(xiàn)框圖TCXKTFJ中詰中斷TR1TFOTROILHI卸機(jī)券周期機(jī)券周期- a而引腳而引D70由于足8位的定時/計數(shù)方式,因而垠大計數(shù)值(満值)為M=28=256。若計數(shù)值 為N,則置

20、入的初值X為:X=256-/V例如,泄時/計數(shù)器TO的計數(shù)值為100,則初值為256-100=156,轉(zhuǎn)換成二進(jìn)制數(shù) 為10011100B,貝IJTHO=TLO=I()O1I1OOB江意:由于方式2計滿后,溢出信號會觸發(fā)三態(tài)門自動地把TH0(或TH1)的值 裝入TLU(或TL1)屮內(nèi)而如果嬰垂新實現(xiàn)N個單位的計數(shù),不用亜新國入初 值。4.工作力式3匚作方式3只適用丁淀時器T0如果企圖將定時器T置為方式3,則它將停止計 數(shù),比效果與fiTR 1=0111同,即關(guān)閉定時器Tl。TTO匸作在方式3時,它被拆 成兩個獨立的8位計數(shù)器TLO和THO。圖6U1、圖6-12分別為工作方式3的邏訓(xùn)電 路結(jié)構(gòu)、

21、匸作頂理梅圖.16-11工作方式3的邏輯電路結(jié)構(gòu)圖612工作方式3的工作原理框圖圖611屮, 上方的8位汁數(shù)器TLO使用原定時器TO的控制位C7T、GATE、TRO和,TWW既町以計數(shù)使用,又可以定時使用,直功能和操作與前面介紹的匸作方式0或匚作方 或嘵全相同下方的THO只能作為簡單的定時器使用而且由于定時/計效)的控制 何巳彼TLO獨巧,因此只好借用足時/計數(shù)制的控制偵TRI和TF1。即以計數(shù)溢出去逍 位TF1,而定時的啟動和停止則受TR1的狀態(tài)控制。由J TLO既能作定時器使用也能作計數(shù)器使用,而THO只能作定時器使用卻不能作計 數(shù)器使用,因此在匸作方式3卜 S 定時/計數(shù)器0町以構(gòu)成兩個

22、定時器或個定時器和 一個計數(shù)器。注意:在方式3卜 STO和T1的工作有很人的不同。其繪別如卜:1)若把T置于方式3,則T1停止計數(shù),其效果與置TR1=O相同,即關(guān)閉定時器T1。此 進(jìn),定時器T1保持其內(nèi)容不變。因此,一般不會把TI豐于方式3。2)若把TO胃J方式3,則16位訂數(shù)器拆開為兩個獨立工作的8位訃數(shù)器TLO和THO。但這兩個8位計數(shù)器的工作是有希別的。首先它們的工作方式不同:對TLO來說 它既對以按計數(shù)方式工作,也町以按定時方式工作:ifuTHO則只能按定時方式工 作。另外,它們的控制方式也不同.3當(dāng)TO處于方式3時,此時T1可工作為方式0、1、2.但由F此時TI己沒仃控制通斷TR1和

23、溢出中斷TF1的功能,T1只能作為串行口的波特率發(fā)生器使用,或不需要中斷 的場介。6.2.23定時器/計數(shù)器的計數(shù)初值計算MCS-51的定時器/計數(shù)器采用增帛計數(shù)。根擁定時/計數(shù)器的計數(shù)結(jié)構(gòu), 真最人計數(shù)為2化其屮加為計數(shù)器的位數(shù),對于工作方式0,加=13,其最 人計數(shù)為2鼻8192:對于工作方式1,加=16,其最犬計數(shù)為265536:對于匸作方式2和匸作方式3,加=8,梵最大計數(shù)為2256。在實際應(yīng)用中, 經(jīng)常會有少于2加個計數(shù)值的雯求, 例如, 要求計數(shù)flj 1(X)0就產(chǎn)生溢出,這時可在計數(shù)時,不從0開始,而是從一個固定值開始,這 個固定值的大小,取決于被計數(shù)的大小。如要計數(shù)1000,

24、預(yù)先在計數(shù)器里 放進(jìn)(2肝一1000)的數(shù),再*1000個脈沖,就到了2叫 就會產(chǎn)生溢出,B位TFOo這個(2”一1000)的數(shù)稱作計數(shù)初值,也稱作預(yù)置值。定時也有同樣的問題,并且也可采用同樣的方法來解決。當(dāng)定時/計數(shù)器 為工作力式0,并假設(shè)單片機(jī)的胡振是12MHz,那么每個計時脈沖是1“,il滿28192個脈沖盅要8.192ms,如來只盂定時1ms,町以作這樣的處理:ImsUPlOOOKis,也就足計數(shù)1(X)0時滿。因此.計數(shù)之前預(yù)先在計數(shù)器里放 進(jìn)231000=819210(X)=7192,開始計數(shù)后, 計滿1000個脈沖到8192即 產(chǎn)生溢出。如果計數(shù)初值為X,則計算定時時間F為:i=

25、 (2NX) X7cy= (2NX) X 12/dsc式中:7hy為機(jī)器周期,/bsc為晶振周期。例如,如果定時/計數(shù)器為匚作方式0,需妥定時3ms (30002),Jose為12MHZo設(shè)計數(shù)初值為X,則根據(jù)上述公式可得:3()00=(2/n-X)X 12 / fosc=(2liX)X 12/12曲此口J得,X=5192需要說明的是,單片機(jī)屮的定時器通常耍求不斷亟復(fù)定時,次定時時間 到之厲,緊按看進(jìn)行第二次的定時燥作。一口產(chǎn)牛溢出,汁數(shù)器中的值就 冋到(),卜次計數(shù)從o開始.定時時間將不止確,為便卜次的定時時間 不變,需耍在定時溢出后馬上把計數(shù)初值送到計數(shù)器。6.2.2.4定時/計數(shù)器的初始

26、化編程及應(yīng)用定時器/計數(shù)器的功能是由軟件編稈確定的,在使用主時器,計數(shù)器前都 要對其進(jìn)行初始化。MCS-51單片機(jī)定時/計數(shù)器的初始化編程步驟為:(1)根據(jù)要求選抒方式.確定方式控制字,寫入方式控制寄存器TMOD。(2)根據(jù)定時時間妥求或計數(shù)耍求,計算定時/計數(shù)器的計數(shù)值,再由計 數(shù)值求得初值,送計數(shù)初值的高8位和低8位到TH0(或TH1)和TL0(或TL1)寄存器中。定時/訃數(shù)器的初值因工作方式的不同而不同。設(shè)最大計數(shù)值為M,則各 種匚作方式下的M值為:方式0時;W=2,3=8192;方式I時;v=2,6=65536:方式2時Af=2x=256:方式3時,T0分成兩個8位計數(shù)器,所以兩個逕時

27、器 的M值均為M=256。由于定時器計數(shù)器工作的實質(zhì)是做“加計數(shù),所以, 當(dāng)最大計數(shù)值M值為已知且計數(shù)值為N時,初值X可計算為:X=M-N(3)如果工作于中斷方式,則根據(jù)需要開放定吋/計數(shù)器的中斷,即對IE寄存器賦值(后面還需編寫中斷服務(wù)程序)。(4)設(shè)置定時/i十?dāng)?shù)器控制寄存器TCON的值(即將其TRO或TR1置位),啟動定時/計數(shù)器開始工作。(5)等待定時/計數(shù)時間到,定時/計數(shù)到則執(zhí)行中斷服務(wù)程序;若用査 詢處理,則需編寫查詢程序判斷溢曲標(biāo)忐,溢出標(biāo)止等于1,則進(jìn)行相 應(yīng)處理?!纠?2】TO運行于耀時器狀態(tài),時鐘振蕩周期為12MHz,要求疋時lOOys。 試求不同工作方式時的定時初值X。

28、osc= 12MHz.時,7cy=lps, /V=l(M)ps/lps=l(X)= 64H方式0 (13位力式):X=2,3-64H=1F9CH方式1 (16位方式):X=2,6-64H=FF9CH方式2、3 (8位方式):X=28- 64H=9CH注意:工作方式0的初值裝入方法:IF9CH= 1 1111 10()1 1I(X)BTH0的8位TLO的低5位町見,THO=OFCH, TLO=ICHMOV THO, #OFCHMOV TLO, #1CH6.2.2.5定時器/計數(shù)器的應(yīng)用舉例【例63】設(shè)系統(tǒng)時鐘頻率為12MHz.利用定時器/i|數(shù)器TO編程實現(xiàn)從P10輸出周期為20ms的方波。從P

29、I.0輸出周期為20ms的方波,只需P1.0每隔10ms取反一次。 肖系統(tǒng)時 鐘為12MHz,定時器/計數(shù)器TO匚作于方式1時,最大的逕時時間為65536us,滿足10ms的定時要求。系統(tǒng)時鐘為12MHz, i|數(shù)值為10000,初值X=65536-10000=D8FOH,貝IJTHO二D8H、TL0=F0H如果定時時間人于65536MS,這時用一個定時/汁數(shù)器也接處理不能實現(xiàn), 這時可用:1個定時/計數(shù)器配合軟件計數(shù)方式處理,2個定時/計數(shù)器 共同處理。1采用査詢方式編程匯編語育參考柞序為:SJMP HH1SJMP $ORG 0000HAJMP MAIN;定時器, 讓數(shù)器:査詢C語言參考程序

30、為:# include sbit P.1=PAO;void inain()char i;TMOD=0 x01;TRO=1:For(;)TH()=()xD8; TL()=()xF():do ) while (!TFO) (P1_O=!P1_O; TFO=O;) )2.采用中斷方式編程匯編語言參考程序為:ORG 0000HLJMP MAINSETB EASETB ETOSETB TROSJMP $c語言參考程序為:# include 包含特殊功能奇存器庫充詢ORGCPLMOVMOVRET IORGMAIN:MOVMOVMOVOOOBHP1.0THO, #0D8HTLO, #OFOH0200HTMO

31、D. #01HTHO, #0D8HTLO. #OFOH:中斷處理程序sbit P1_O=P1AO:void main ()TMOD=0 x01:TH(=()xDS:TLO=()xF():EA= 1; ETO= 1;TRO=1;while (1);void time()_int (void) interrupt I中斷服務(wù)序P1_O=!P1_O;TH()=()xD8;TL0=0 xF0:【例4】如圖613所示,在Pl7端接一個發(fā)光一極管LED,要求利用足 時控制便LED亮1 s火1 s周而復(fù)始地閃爍,設(shè)時鐘頻率;/bsc=6M HZ 圖6J3例68的電路圖當(dāng)_/6sc=6MHz時,_L作力式0、

32、1、2均不能滿足疋時Is的要求。如,16位 總時最人為2 X2屮=131.072ms,顯然不能滿足耍求,町用以下兩種力 法解決。方法1:采用T0產(chǎn)牛周期為2(X)ms脈沖,即P1.0每1(X)ms取反-次作為T1的計數(shù)脈沖,T1對下降沿計數(shù),因此T1計5個脈沖正好Is。通過P1.7反 相,改變LED的狀態(tài)。TO采用方武1,定時100ms。計數(shù)初值為:X=2,6-100X 103/2 =3CB0HoT1采用方式2,計5個脈沖,汁數(shù)初值:X = 25=FBH均釆用何詢方式,軋流稈圖如圖614所示。圖|4例6的流程圖匯編參考程序為:ORG0000HMAIN:CLRPl. 7SETBP1.0MOVTMOD,# 61HMOVTH1,#OFBHMO

溫馨提示

  • 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

提交評論