第9章定時(shí)器計(jì)數(shù)器_第1頁(yè)
第9章定時(shí)器計(jì)數(shù)器_第2頁(yè)
第9章定時(shí)器計(jì)數(shù)器_第3頁(yè)
第9章定時(shí)器計(jì)數(shù)器_第4頁(yè)
第9章定時(shí)器計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第九章定時(shí)/計(jì)數(shù)器12本章內(nèi)容9.1概述

9.1.1定時(shí)/計(jì)數(shù)的基本概念

9.1.2實(shí)現(xiàn)定時(shí)和計(jì)數(shù)的方法9.2可編程計(jì)數(shù)器/定時(shí)器82539.2.18253的主要功能

9.2.28253的引腳結(jié)構(gòu)及功能說(shuō)明

9.2.38253的工作方式

9.2.48253的方式控制字和初始化編程

9.2.58253的應(yīng)用設(shè)計(jì)舉例31、定時(shí)器概述定時(shí)器(TIM):提供時(shí)間標(biāo)準(zhǔn),每過(guò)一定時(shí)間,產(chǎn)生一個(gè)事件。(時(shí)鐘信號(hào))。一切需要按一定周期進(jìn)行的工作。計(jì)算中心對(duì)用戶服務(wù),系統(tǒng)任務(wù)調(diào)度,周期性檢測(cè)、控制等。計(jì)數(shù)器(CNT):記錄在一段的時(shí)間內(nèi)發(fā)生的事件次數(shù),(頻率計(jì):在一定時(shí)間內(nèi)的周期數(shù))。捕捉器(CCP):捕捉外部某一事件(電平、脈沖)發(fā)生的時(shí)刻。在計(jì)算機(jī)中定時(shí)器與計(jì)數(shù)器、捕捉器是同樣的電路,工作在不同的模式下。1、定時(shí)器概述實(shí)現(xiàn)定時(shí)器的主要方法有:CPU軟件延時(shí);簡(jiǎn)單的硬件電路定時(shí);可編程芯片的硬件定時(shí);專用時(shí)鐘芯片。41、定時(shí)器概述設(shè)計(jì)循環(huán)程序,通過(guò)精心計(jì)算循環(huán)次數(shù),和循環(huán)中每條指令的執(zhí)行時(shí)間。執(zhí)行一次這個(gè)程序段,就產(chǎn)生一個(gè)延時(shí)時(shí)間。例如編程中常見(jiàn)的DELAY程序優(yōu)點(diǎn)是不需硬件,缺點(diǎn)是占用CPU時(shí)間,并且不容易實(shí)現(xiàn)精確定時(shí)。在不同的系統(tǒng)時(shí)鐘頻率下,同一個(gè)軟件延時(shí)程序的定時(shí)時(shí)間也會(huì)相去甚遠(yuǎn),因此這種方法常用在對(duì)延時(shí)時(shí)間小,并且不需精確定時(shí)的場(chǎng)合,如等待模數(shù)變換等。軟件定時(shí)器51、定時(shí)器概述簡(jiǎn)單硬件定時(shí)器采用不可編程的器件,實(shí)現(xiàn)數(shù)字分頻器電路。如74LS191、74LS194等。計(jì)數(shù)、分頻電路。采用單穩(wěn)電路

簡(jiǎn)易定時(shí)電路(如常用的555時(shí)基電路),外接RC電路。這樣的定時(shí)電路實(shí)現(xiàn)簡(jiǎn)單。它的缺點(diǎn)仍是定時(shí)精度差,并且調(diào)試過(guò)程復(fù)雜。使用不方便。

61、定時(shí)器概述簡(jiǎn)單硬件定時(shí)器----用觸發(fā)器的分頻電路71、定時(shí)器概述簡(jiǎn)單硬件定時(shí)器----NE555分頻電路81、定時(shí)器概述簡(jiǎn)單硬件定時(shí)器----專用時(shí)鐘芯片如DALLAS的時(shí)鐘芯片DS12887。內(nèi)部帶鋰電池,可保持十年。有多種時(shí)間表示形式,二進(jìn)制或BCD碼。12小時(shí)或24小時(shí)計(jì)時(shí)。提供:秒、分、時(shí)、天、星期、日期、月、年。內(nèi)部有128字節(jié)RAM,掉電時(shí)信息不丟失。其中114字節(jié)為通用RAM。中斷請(qǐng)求:每秒一次到每天一次可設(shè)。

122ms~500ms周期可設(shè)。92、可編程定時(shí)器目前微機(jī)系統(tǒng)中最常用的方法,方便靈活。定時(shí)值和定時(shí)范圍可用程序確定和改變,定時(shí)精度高。具有多種工作方式,可以產(chǎn)生多種不同形式的輸出信號(hào)。其中Intel公司的8253和8254等是常見(jiàn)的可編程定時(shí)器芯片。當(dāng)定時(shí)器芯片為周期性輸入時(shí),稱定時(shí)器;若為非周期性輸入時(shí),稱計(jì)數(shù)器。102、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器可編程間隔定時(shí)器(ProgrammableIntervalTimer)Intel8254是8253的改進(jìn)型,內(nèi)部工作方式和外部引腳與8253完全相同,只是增加了一個(gè)讀回命令和狀態(tài)字的功能。8253的讀寫操作對(duì)系統(tǒng)時(shí)鐘沒(méi)有特殊要求,因此它幾乎可以應(yīng)用于任何一種微機(jī)系統(tǒng)中,可作為可編程的事件計(jì)數(shù)器、分頻器、方波發(fā)生器、實(shí)時(shí)時(shí)鐘及單脈沖發(fā)生器等。112、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253功能說(shuō)明(1)具有三個(gè)獨(dú)立的16位計(jì)數(shù)通道;(2)每個(gè)計(jì)數(shù)器通道都可按照二進(jìn)制或BCD計(jì)數(shù);(3)每個(gè)計(jì)數(shù)器通道的計(jì)數(shù)速率最高可達(dá)2MHz;(4)每個(gè)計(jì)數(shù)器通道有6種工作方式,均可由程序設(shè)置和改變;(5)所有輸入輸出都與TTL電平兼容。122、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253引腳圖地址總線數(shù)據(jù)總線片選信號(hào)讀、寫線定時(shí)器專用信號(hào):輸入(CLK)、輸出(OUT)、門控(GATE)132、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253功能結(jié)構(gòu)圖14數(shù)據(jù)總線緩沖器讀/寫控制邏輯控制字寄存器CLK0GATE0OUT0通道0CLK2GATE2OUT2通道2CLK1GATE1OUT1通道1CSD0-D7內(nèi)部總線RDWRA0A1152、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253功能結(jié)構(gòu)圖2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253與處理器接口16

各信號(hào)配合實(shí)現(xiàn)8253的讀/寫操作/:讀/寫控制信號(hào),低電平有效。:片選信號(hào),低電平有效。A0、A1、、、各信號(hào)配合實(shí)現(xiàn)8253的讀/寫操作,如表8.2所示。2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253與外界接口CLK時(shí)鐘輸入信號(hào):在計(jì)數(shù)時(shí),此引腳上每輸入一個(gè)時(shí)鐘信號(hào)的下降沿,計(jì)數(shù)器的值減1。它的工作還受門控信號(hào)影響。GATE門控輸入信號(hào):控制計(jì)數(shù)器工作的外部信號(hào)。在不同工作方式下,作用不同;可分成電平控制和上升沿觸發(fā)控制兩種類型;OUT計(jì)數(shù)器輸出信號(hào):當(dāng)一次計(jì)數(shù)過(guò)程結(jié)束(即計(jì)數(shù)值減為0時(shí)),OUT引腳上產(chǎn)生一個(gè)輸出信號(hào)。其波形取決于工作方式。172、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的工作方式方式0--計(jì)數(shù)結(jié)束中斷:每次初始化后,進(jìn)行一次計(jì)數(shù)。方式1--可編程單穩(wěn)脈沖:硬件觸發(fā)一次計(jì)數(shù)。方式2—頻率發(fā)生器:連續(xù)工作,即使8088CPU停止工作,8253仍可保持工作。方式3--方波發(fā)生器:與工作方式2類似,只是輸出波形為方波。方式4--軟件觸發(fā)選通:工作方式與方式0類似。只是輸出信號(hào)不同。方式5--硬件觸發(fā)選通:工作方式與方式1類似。只是輸出信號(hào)不同。182、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷198253的方式0為一次性計(jì)數(shù)。①設(shè)置工作方式。當(dāng)設(shè)置為方式0后,輸出OUT信號(hào)隨即變?yōu)榈碗娖健?、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷20②寫計(jì)數(shù)初值。在下一時(shí)鐘周期計(jì)數(shù)初值裝入減1計(jì)數(shù)器后,若GATE為高,開始計(jì)數(shù)。OUT輸出仍保持低電平。2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷21③計(jì)數(shù)器開始計(jì)數(shù)。CLK引腳每出現(xiàn)一個(gè)下降沿,計(jì)數(shù)值減1。2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷④當(dāng)計(jì)數(shù)值減為0,OUT變?yōu)楦唠娖?。由于寫入?jì)數(shù)值后,第一個(gè)時(shí)鐘脈沖是將計(jì)數(shù)初值寫入計(jì)數(shù)器,因此整個(gè)計(jì)數(shù)過(guò)程有N+1個(gè)周期。并且一直持續(xù)到重新裝入計(jì)數(shù)值或重新設(shè)置工作方式為止。計(jì)數(shù)結(jié)束時(shí),OUT端的跳變信號(hào),可用來(lái)向CPU請(qǐng)求中斷。222、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷⑦計(jì)數(shù)過(guò)程中,若門控信號(hào)變低,停止計(jì)數(shù)值,當(dāng)門控信號(hào)恢復(fù)為高時(shí),繼續(xù)計(jì)數(shù)過(guò)程。232、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷計(jì)數(shù)過(guò)程中,寫入新計(jì)數(shù)值,按新值重新開始。當(dāng)GATE=0時(shí)寫入計(jì)數(shù)值N,在下一時(shí)鐘周期計(jì)數(shù)初值仍會(huì)寫入計(jì)數(shù)器。但不開始減一計(jì)數(shù)。當(dāng)GATE=1后,才開始減一計(jì)數(shù),此時(shí)N脈沖即完成計(jì)數(shù)過(guò)程。242、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷------特點(diǎn)25方式0的特點(diǎn)和應(yīng)用計(jì)數(shù)過(guò)程由軟件啟動(dòng)GATE的作用是開放計(jì)數(shù)或禁止計(jì)數(shù)OUT端由低變高表示計(jì)數(shù)過(guò)程結(jié)束2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式0----計(jì)數(shù)結(jié)束中斷------應(yīng)用26典型的事件計(jì)數(shù)用法:CLK端作為事件計(jì)數(shù)輸入信號(hào);計(jì)數(shù)執(zhí)行單元CE為零時(shí)OUT端變?yōu)楦唠娖剑勺鳛橹袛嗾?qǐng)求信號(hào)OUT的特點(diǎn):寫入工作模式后變低;計(jì)數(shù)到0時(shí)變高,直到一個(gè)新的工作模式或新的計(jì)數(shù)值寫入才會(huì)變低2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖所謂單穩(wěn),是說(shuō)只有一個(gè)穩(wěn)定狀態(tài),(高或低)。另一個(gè)是不穩(wěn)定狀態(tài)。當(dāng)電路處于不穩(wěn)定狀態(tài)時(shí),過(guò)一段時(shí)間后會(huì)自動(dòng)回復(fù)到穩(wěn)定狀態(tài)。方式1:硬件觸發(fā),一次計(jì)數(shù):由門控信號(hào)啟動(dòng)一次計(jì)數(shù)過(guò)程,在計(jì)數(shù)過(guò)程中,若又有門控信號(hào),則重新開始新的計(jì)數(shù)過(guò)程。272、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖①設(shè)置工作方式。當(dāng)設(shè)置為方式1后,輸出OUT信號(hào)隨即變?yōu)楦唠娖?,并保持高。②?jì)數(shù)初值寫到預(yù)置寄存器。此時(shí),OUT輸出仍保持高電平。282、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖③門控信號(hào)的上升沿,啟動(dòng)減法計(jì)數(shù),并且門控信號(hào)的電平不影響計(jì)數(shù)過(guò)程。④下一時(shí)鐘脈沖的下降沿,使輸出變低,并開始減一計(jì)數(shù)。292、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖⑤計(jì)數(shù)值從一減到0時(shí),停止計(jì)數(shù)過(guò)程;使OUT變高,并保持高電平。⑥在計(jì)數(shù)過(guò)程中,計(jì)數(shù)過(guò)程中,若門控信號(hào)變低,不影響計(jì)數(shù)過(guò)程。若門控端有脈沖上跳沿出現(xiàn),則再次將預(yù)置值裝入減一計(jì)數(shù)器,并重新開始計(jì)數(shù)。302、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖在計(jì)數(shù)過(guò)程中,可以對(duì)預(yù)置寄存器寫入新預(yù)置值。它并不中斷計(jì)數(shù)過(guò)程。直到減一計(jì)數(shù)器從1減到0,OUT變高,并停止計(jì)數(shù)過(guò)程。直到新的門控脈沖(上升沿),將新預(yù)置值裝入減一計(jì)數(shù)器,開始按新值的計(jì)數(shù)過(guò)程。312、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖若在計(jì)數(shù)過(guò)程中,不斷有門控脈沖出現(xiàn)(減一計(jì)數(shù)器不出現(xiàn)從1減到0的情況),計(jì)數(shù)過(guò)程永遠(yuǎn)不會(huì)停止。OUT也一直保持為低電平(暫態(tài))。(WATCHDOG看門狗)。322、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式1----可編程單穩(wěn)脈沖----特點(diǎn)和應(yīng)用33計(jì)數(shù)器的啟動(dòng)只能由Gate的上升沿產(chǎn)生即只能用硬件啟動(dòng)OUT輸出為一個(gè)單穩(wěn)態(tài)負(fù)脈沖在形成單穩(wěn)態(tài)脈沖過(guò)程中可以重觸發(fā)在微機(jī)實(shí)時(shí)控制系統(tǒng)中常用作監(jiān)視時(shí)鐘WatchdogTimer2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器方式2的特點(diǎn)是能夠連續(xù)工作。如果計(jì)數(shù)值為N,則每輸入N個(gè)CLK脈沖,OUT就輸出一個(gè)負(fù)脈沖。這種方式象一個(gè)頻率發(fā)生器或分頻器。它的典型應(yīng)用是產(chǎn)生實(shí)時(shí)時(shí)鐘信號(hào),可用來(lái)作為CPU定時(shí)中斷信號(hào)。當(dāng)初始化為方式2后,輸出OUT變高,寫入計(jì)數(shù)值后,輸出OUT繼續(xù)保持高電平,并立即開始減法計(jì)數(shù)。當(dāng)計(jì)數(shù)值減為1時(shí),OUT腳出現(xiàn)一個(gè)時(shí)鐘周期的低脈沖。并恢復(fù)計(jì)數(shù)初值,開始新的計(jì)數(shù)周期。342、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器352、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器初始化后、及計(jì)數(shù)過(guò)程中,OUT保持為高,計(jì)數(shù)值減為1時(shí),OUT輸出一個(gè)周期的低電平并重新開始計(jì)數(shù)362、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器計(jì)數(shù)過(guò)程中裝入新值,不影響當(dāng)前計(jì)數(shù)工作;但從下個(gè)周期開始按新計(jì)數(shù)值計(jì)數(shù)。372、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器在計(jì)數(shù)過(guò)程中,若GATE出現(xiàn)低電平,將禁止計(jì)數(shù),輸出保持高。GATE恢復(fù)高電平時(shí),將重新裝入預(yù)置計(jì)數(shù)值,開始計(jì)數(shù)。通過(guò)GATE,能用硬件對(duì)多個(gè)計(jì)數(shù)器進(jìn)行同步。382、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器若在輸出脈沖期間(OUT=0),GATE出現(xiàn)低電平,輸出立即變高。并在下一時(shí)鐘周期重新裝入計(jì)數(shù)值,開始計(jì)數(shù)。模式2,計(jì)數(shù)值不能設(shè)為1。392、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式2----頻率發(fā)生器----特點(diǎn)和應(yīng)用40CR內(nèi)容能自動(dòng)地、重復(fù)地裝入到CE中OUT端上能連續(xù)地輸出周期性分頻信號(hào)改變計(jì)數(shù)初值即可獲得不同速率的OUT輸出信號(hào)負(fù)脈沖寬度均為一個(gè)CLK脈沖的周期。主要作為分頻器和時(shí)基信號(hào)2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器41除OUT輸出方波之外和方式2相似方波的重復(fù)周期是計(jì)數(shù)初值個(gè)CLK脈沖周期之和2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器門控信號(hào)GATE=1,允許計(jì)數(shù),=0,禁止計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,寫入新的計(jì)數(shù)值,不影響當(dāng)前計(jì)數(shù)過(guò)程;在本次計(jì)數(shù)結(jié)束后,從新計(jì)數(shù)初值開始工作。若寫入新計(jì)數(shù)值后,若門控信號(hào)(GATE=0)出現(xiàn)在輸出OUT為高電平期間,門控信號(hào)結(jié)束后,下一時(shí)鐘周期,從新值開始重新工作。若出現(xiàn)在輸出OUT為低電平期間,則從下一周期從新值開始工作。方式3的工作形式與方式2十分相似,只是輸出低電平持續(xù)時(shí)間不一樣。常作為波特率發(fā)生器使用。422、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器432、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器方式3,8253計(jì)數(shù)器每次進(jìn)行減二操作。對(duì)偶數(shù)計(jì)數(shù)值,每次輸出發(fā)生變化時(shí),重新裝入計(jì)數(shù)值,并進(jìn)行減二計(jì)數(shù)。對(duì)奇數(shù)計(jì)數(shù)值,將初值裝入后,或每次輸出發(fā)生高跳變時(shí),第一次減一,以后每次減二;而當(dāng)輸出發(fā)生低跳變時(shí),重新裝入計(jì)數(shù)值后,下一時(shí)鐘周期執(zhí)行一次減三操作,然后執(zhí)行每次減二操作。這樣高電平的持續(xù)時(shí)間比低電平多一個(gè)時(shí)鐘周期。442、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器452、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式3----方波發(fā)生器----特點(diǎn)和應(yīng)用46計(jì)數(shù)過(guò)程是CE內(nèi)容減2/3改變計(jì)數(shù)初值則OUT端將輸出不同頻率主要應(yīng)用作為方波發(fā)生器和波特率發(fā)生器2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式4----軟件觸發(fā)選通

47SoftwareTriggeredstrobe寫入方式控制字CW后OUT端輸出高電平在寫入計(jì)數(shù)初值后的一個(gè)CLK脈沖開始減1計(jì)數(shù)CE為零時(shí)使OUT輸出變?yōu)榈碗娖絆UT低電平持續(xù)一個(gè)CLK脈沖周期后又恢復(fù)到高電平與方式0不同是輸出OUT的相位相反。方式5硬件方式0結(jié)束后中斷2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式4:軟件觸發(fā)選通信號(hào)發(fā)生(一次性)置方式4后,輸出OUT變高,寫入計(jì)數(shù)值后,輸出仍保持高。從下一時(shí)鐘裝入計(jì)數(shù)值,開始計(jì)數(shù),到計(jì)數(shù)值為0時(shí),OUT變低,并持續(xù)一個(gè)時(shí)鐘周期,再變高,并停止計(jì)數(shù)。48方式4----軟件觸發(fā)選通

2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器若GATE=0,寫入計(jì)數(shù)值后,不開始計(jì)數(shù)工作,直到GATE=1,開始計(jì)數(shù)。若計(jì)數(shù)未完成,重新寫入計(jì)數(shù)值,將從新值重新開始。49方式4----軟件觸發(fā)選通

2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器若計(jì)數(shù)未完成,重新寫入計(jì)數(shù)值,將從新值重新開始。50方式4----軟件觸發(fā)選通

2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式5----硬件觸發(fā)選通51HardwareTriggeredStrobe方式5和方式1有些相似CE到零時(shí)OUT端產(chǎn)生寬度為1個(gè)CLK脈沖周期的負(fù)脈沖選通輸出信號(hào)2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式5----硬件觸發(fā)選通方式5與方式1的工作過(guò)程類似,也是輸出信號(hào)不同。當(dāng)寫入方式5的控制字后,OUT為高,寫入計(jì)數(shù)初值后,并不開始計(jì)數(shù)。由GATE上升沿啟動(dòng)計(jì)數(shù)過(guò)程(硬件啟動(dòng))。當(dāng)計(jì)數(shù)到0時(shí),OUT變低,持續(xù)一個(gè)時(shí)鐘周期,OUT恢復(fù)為高,并停止計(jì)數(shù)。522、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式5----硬件觸發(fā)選通在計(jì)數(shù)過(guò)程中GATE可以為高電平,也可以為低電平。在計(jì)數(shù)過(guò)程中,又有觸發(fā)信號(hào)GATE(上升沿),計(jì)數(shù)器在下一時(shí)鐘周期重新裝入計(jì)數(shù)初值,且從新開始計(jì)數(shù)。532、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器方式5----硬件觸發(fā)選通計(jì)數(shù)過(guò)程中裝入新計(jì)數(shù)值,不影響當(dāng)前計(jì)數(shù)過(guò)程。等待新的觸發(fā)GATE到來(lái)后開始新的計(jì)數(shù)過(guò)程5455方式0:一旦寫入控制字輸出即為低計(jì)數(shù)結(jié)束,輸出即為高該上升沿可作中斷請(qǐng)求信號(hào)一次有效方式1:產(chǎn)生單個(gè)負(fù)脈沖脈寬為計(jì)數(shù)值一次有效方式2:分頻器但負(fù)脈沖的寬度為一個(gè)時(shí)鐘寬連續(xù)有效方式3:方波發(fā)生器占空比為0.5(偶)或略大于0.5(奇)連續(xù)有效方式4:軟件置計(jì)數(shù)值負(fù)脈沖為一個(gè)時(shí)鐘寬度一次有效方式5:硬件(門控信號(hào))觸發(fā)計(jì)數(shù)負(fù)脈沖為一個(gè)時(shí)鐘寬度, 以后初值自動(dòng)裝入,但不觸發(fā)六種工作方式對(duì)比六種工作方式對(duì)比562、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器工作方式小結(jié)572、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程58寫入方式控制字三個(gè)通道用的控制字端口地址是相同的三個(gè)控制字寫入后存入通道對(duì)應(yīng)的寄存器中寫入計(jì)數(shù)初始值讀計(jì)數(shù)值以普通對(duì)計(jì)數(shù)器端口讀的方法取得當(dāng)前計(jì)數(shù)值鎖存計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值2、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程8253每一計(jì)數(shù)器均有一控制字,三個(gè)控制字格式相同,如下592、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程----方式控制字1)計(jì)數(shù)器選擇(D7、D6)3個(gè)計(jì)數(shù)器共用一個(gè)控制字地址,D7D6兩位決定當(dāng)前控制字是哪一個(gè)通道的控制字。在8253中,D7D6=11的編碼是非法,而8254利用它作為讀回命令。2)讀寫格式(D5、D4)8253的數(shù)據(jù)線為8位,一次只能進(jìn)行一個(gè)字節(jié)的數(shù)據(jù)交換,但計(jì)數(shù)器是16位的,所以8253設(shè)計(jì)了幾種不同的讀寫計(jì)數(shù)值的格式。602、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程----方式控制字3)工作方式(D3、D2、D1)8253的每個(gè)通道的6種不同工作方式,由這三位決定。4)數(shù)制設(shè)定(D0)8253的每個(gè)通道有兩種計(jì)數(shù)制:二進(jìn)制和十進(jìn)制(BCD碼)0~FFFFH(65535D),0~9999D。612、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程----寫入計(jì)數(shù)值

每個(gè)計(jì)數(shù)器通道都有對(duì)應(yīng)的計(jì)數(shù)器I/O地址,用于讀寫計(jì)數(shù)值。讀寫計(jì)數(shù)值時(shí),必須按方式控制字規(guī)定的讀寫格式進(jìn)行。因?yàn)橛?jì)數(shù)器是先減1,再判斷是否為0,所以,寫入0實(shí)際上代表最大計(jì)數(shù)值。在二進(jìn)制時(shí),代表65536。選擇十進(jìn)制(BCD碼)時(shí),計(jì)數(shù)值范圍為0000~9999,其中0000代表最大值10000。622、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程----讀取計(jì)數(shù)值

利用計(jì)數(shù)器I/O地址,可以讀取計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值。但對(duì)8位數(shù)據(jù)線的8253來(lái)說(shuō),讀取16位計(jì)數(shù)值需要分兩次。由于計(jì)數(shù)在不斷進(jìn)行,在前后兩次執(zhí)行輸入指令的過(guò)程中,計(jì)數(shù)值可能已經(jīng)變化。所以,如果計(jì)數(shù)過(guò)程可以暫停,可在讀取計(jì)數(shù)值時(shí),使GATE信號(hào)為低(對(duì)方式1和方式5無(wú)效)。否則應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀取。632、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程順序1)寫方式控制字,設(shè)定工作方式。2)寫預(yù)置寄存器,設(shè)定計(jì)數(shù)初值。3)對(duì)方式1和方式5,需要硬件啟動(dòng),即GATE端出現(xiàn)一個(gè)上升沿信號(hào);對(duì)其它方式不需要這個(gè)過(guò)程,直接進(jìn)入下一步,即設(shè)定計(jì)數(shù)值后軟件啟動(dòng)。4)CLK端的下一個(gè)下降沿,將預(yù)置寄存器的計(jì)數(shù)初值送入減1計(jì)數(shù)器。5)計(jì)數(shù)開始,當(dāng)GATE為高電平時(shí),CLK端每出現(xiàn)一個(gè)下降沿,計(jì)數(shù)器減1;當(dāng)GATE為低電平時(shí),不進(jìn)行計(jì)數(shù)(方式1、5除外)。6)當(dāng)計(jì)數(shù)值減至0,一次計(jì)數(shù)過(guò)程結(jié)束;通常OUT端在計(jì)數(shù)值減至0時(shí)發(fā)生改變,以指示一次計(jì)數(shù)結(jié)束。642、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的編程順序需要注意:處理器寫入8253的計(jì)數(shù)初值只是寫入了預(yù)置寄存器,之后到來(lái)的第一個(gè)CLK輸入脈沖(需先由低電平變高,再由高變回低),才將預(yù)置寄存器的初值送到減1計(jì)數(shù)器。從第二個(gè)CLK信號(hào)的下降沿,計(jì)數(shù)器才真正開始減1計(jì)數(shù)。因此,若設(shè)置計(jì)數(shù)初值為N,則從輸出指令寫完計(jì)數(shù)初值到計(jì)數(shù)結(jié)束,CLK信號(hào)的下降沿有N+1個(gè),但從第一個(gè)下降沿到最后一個(gè)下降沿之間正好又是N個(gè)完整的CLK信號(hào)。652、可編程定時(shí)器-8253定時(shí)計(jì)數(shù)器8253的工作過(guò)程方式0和方式4,如果不重新設(shè)定計(jì)數(shù)初值,計(jì)數(shù)器就停止計(jì)數(shù)過(guò)程。方式1和方式5,由GATE端的硬件啟動(dòng)信號(hào)(上升沿),重新開始計(jì)數(shù)過(guò)程。方式2和方式3,計(jì)數(shù)值減至0后,8253自動(dòng)將預(yù)置寄存器的計(jì)數(shù)初值送入減1計(jì)數(shù)器,同時(shí)重復(fù)計(jì)數(shù)過(guò)程,直到寫入新的方式控制字才停止。即使CPU停止工作,8253也會(huì)繼續(xù)工作。662、8253定時(shí)計(jì)數(shù)器應(yīng)用舉例用8253監(jiān)視一個(gè)生產(chǎn)流水線67預(yù)定義:8253cs0x40 8255cs0x80

2、8253定時(shí)計(jì)數(shù)器應(yīng)用舉例用8253監(jiān)視一個(gè)生產(chǎn)流水線68主程序?yàn)椋?/p>

MOVAL,15H ;00010101 OUT43H,AL MOVAL,50H OUT40H,AL STI LOP:HLT JMPLOP2、8253定時(shí)計(jì)數(shù)器應(yīng)用舉例用8253監(jiān)視一個(gè)生產(chǎn)流水線69中斷服務(wù)程序?yàn)椋?/p>

MOVAL,01H OUT80H,AL ;8255PA接口

MOVAL,77H ;01110111 OUT43H,AL MOVAL,50H OUT41H,AL MOVAL,12H OUT41H,AL CALLprocess

MOVAL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論