微機(jī)原理課件第九章 計(jì)數(shù)器和計(jì)時(shí)器.ppt_第1頁
微機(jī)原理課件第九章 計(jì)數(shù)器和計(jì)時(shí)器.ppt_第2頁
微機(jī)原理課件第九章 計(jì)數(shù)器和計(jì)時(shí)器.ppt_第3頁
微機(jī)原理課件第九章 計(jì)數(shù)器和計(jì)時(shí)器.ppt_第4頁
微機(jī)原理課件第九章 計(jì)數(shù)器和計(jì)時(shí)器.ppt_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第 9 章 計(jì)數(shù)器和定時(shí)器電路Intel 8253/8254-PIT,本章講述: 9.1 概述 9.2 8253-PIT的控制字 9.3 8253-PIT的工作方式 9.4 8353-PIT的編程 9.5 Intel 8254-PIT,在控制系統(tǒng)中,常常要求有一些實(shí)時(shí)時(shí)鐘以實(shí)現(xiàn)定時(shí)或延時(shí)控制,如定時(shí)中斷、定時(shí)檢測、定時(shí)掃描等,也往往要求有計(jì)數(shù)器能對外部事件計(jì)數(shù)。 要實(shí)現(xiàn)定時(shí)或延時(shí)控制,有三種主要方法:軟件定時(shí)、不可編程的硬件定時(shí)、可編程的硬件定時(shí)器。 軟件定時(shí)即讓計(jì)算機(jī)執(zhí)行一個(gè)程序段,這個(gè)程序段本身沒有具體的執(zhí)行目的,但由于執(zhí)行每條指令都需要時(shí)間,則執(zhí)行一個(gè)程序段就需要一個(gè)固定的時(shí)間。通過正確

2、地挑選指令和安排循環(huán)次數(shù)很容易實(shí)現(xiàn)軟件定時(shí),但軟件定時(shí)占用了CPU的時(shí)間,降低了CPU的利用率。,不可編程的硬件定時(shí)可以采用小規(guī)模集成電路器件如555,外接定時(shí)部件電阻和電容構(gòu)成。這樣的定時(shí)電路簡單,而且利用改變電阻和電容,可以使定時(shí)在一定的范圍內(nèi)改變。但是,這種定時(shí)電路在硬件連接好以后,定時(shí)值及定時(shí)范圍不能由程序(軟件)來控制和改變,由此就生產(chǎn)了可編程的定時(shí)器電路。 可編程定時(shí)器電路的定時(shí)值及其范圍,可以很容易地由軟件來確定和改變。所以,功能較強(qiáng),使用靈活。本章就介紹這種定時(shí)器電路。,9.1 概述,Intel系列的計(jì)數(shù)器/定時(shí)器電路為可編程序間隔定時(shí)器PIT(Programmable Int

3、erval Timer),型號為8253,改進(jìn)型為8254。 Intel 8253具有3個(gè)獨(dú)立的16位計(jì)數(shù)器通道,使用單一5V電源,它是24個(gè)引腳的雙列直插式器件。,9.1.1 8253-PIT的主要功能,Intel 8253-PIT具有以下主要功能: (1) 一個(gè)芯片上有三個(gè)獨(dú)立的16位計(jì)數(shù)器通道; (2) 每個(gè)計(jì)數(shù)器都可以按照二進(jìn)制或二十進(jìn)制計(jì)數(shù); (3) 每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可高達(dá)2MHz。(82C54-2計(jì)數(shù)頻率可達(dá)到10MHz); (4) 每個(gè)通道有6種工作方式,可由程序設(shè)置和改變; (5) 所有的輸入輸出都與TTL兼容。,9.1.2 8253-PIT的內(nèi)部結(jié)構(gòu),8253的內(nèi)部結(jié)構(gòu)如

4、圖9-1所示。 1. 數(shù)據(jù)總線緩沖器 這是8253與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器。CPU用輸入輸出指令對8253進(jìn)行讀寫的所有信息,都是通過這8條總線傳送的。包括: (1) CPU在初始化編程時(shí),寫入8253的控制字; (2) CPU向某一通道寫入的計(jì)數(shù)值; (3) CPU從某一個(gè)通道讀取的計(jì)數(shù)值。,2. 讀/寫邏輯 這是8253內(nèi)部操作的控制部分。首先有選片信號CS的控制部分,當(dāng)CS為高電平(無效)時(shí),數(shù)據(jù)總線緩沖器處在三態(tài),與系統(tǒng)的數(shù)據(jù)總線脫開,故不能進(jìn)行編程,也不能進(jìn)行讀寫操作。其次,由這部分選擇讀寫操作的端口(三個(gè)計(jì)數(shù)器及控制字寄存器),也由這部分控制數(shù)據(jù)傳送的方向,讀數(shù)據(jù)由

5、8253傳向CPU,寫數(shù)據(jù)由CPU傳向8253。,3. 控制字寄存器 在8253的初始化編程時(shí),由CPU寫入控制字以決定通道的工作方式。此寄存器只能寫入而不能讀出。 4. 計(jì)數(shù)器0,計(jì)數(shù)器1,計(jì)數(shù)器2 這是三個(gè)計(jì)數(shù)器/定時(shí)器通道,每一個(gè)都是由一個(gè)16位的可預(yù)置值的減法計(jì)數(shù)器構(gòu)成。這三個(gè)通道的操作是完全獨(dú)立的。,每個(gè)通道都是對輸入脈沖CLK按二進(jìn)制或二十進(jìn)制,從預(yù)置值開始減1計(jì)數(shù)。當(dāng)預(yù)置值減到零時(shí),從OUT輸出端輸出一信號。 計(jì)數(shù)器/定時(shí)器電路的本質(zhì)是一個(gè)計(jì)數(shù)器。若計(jì)數(shù)器對頻率精確的時(shí)鐘脈沖計(jì)數(shù),則計(jì)數(shù)器就可作為定時(shí)器。計(jì)數(shù)頻率取決于輸入脈沖的頻率。,在計(jì)數(shù)過程中,計(jì)數(shù)器受到門控信號GATE的控

6、制。計(jì)數(shù)器的輸入與輸出以及與門控信號之間的關(guān)系,取決于工作方式。 計(jì)數(shù)器的初值必須在開始計(jì)數(shù)之前,由CPU用輸出指令預(yù)置。在計(jì)數(shù)過程中,CPU隨時(shí)可用輸入指令讀取任一計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值,這一操作對計(jì)數(shù)沒有影響。,9.1.3 8253-PIT的引線,Intel 8253-PIT的引線如圖9-2所示。 8253-PIT與CPU接口的引線,除了沒有復(fù)位信號RESET引腳外,其他與8255并行輸入輸出接口芯片相同(請參閱本書第10章)。 每一個(gè)通道有三條引線: CLK: 輸入脈沖線。計(jì)數(shù)器就是對這個(gè)脈沖計(jì)數(shù)。8253規(guī)定,加在CLK引腳的輸入時(shí)鐘周期不能小于380ns。,GATE: 門控信號輸入引腳。

7、這是控制計(jì)數(shù)器工作的一個(gè)外部信號。當(dāng)GATE引腳為低電平(無效)時(shí),通常都是禁止計(jì)數(shù)器工作;只有當(dāng)GATE為高電平時(shí),才允許計(jì)數(shù)器工作。 OUT: 輸出引腳。當(dāng)計(jì)數(shù)到“0”時(shí),OUT引線上必然有輸出,輸出信號的波形取決于工作方式。 8253內(nèi)部端口的選擇是由引線A1和A0決定的,它們通常接至地址總線的A1和A0。各個(gè)通道的讀/寫操作的選擇,如表9-1所示。,9.2 8253-PIT的控制字,在8253的初始化編程中,由CPU向8253的控制字寄存器寫入一個(gè)控制字,它規(guī)定了8253的工作方式。其格式如圖9-3所示。 1. 計(jì)數(shù)器選擇(D7D6) 控制字的最高兩位決定這個(gè)控制字是哪一個(gè)通道的控制字

8、。由于三個(gè)通道的工作是完全獨(dú)立的,所以需要有三個(gè)控制字寄存器分別規(guī)定相應(yīng)通道的工作方式。但它們的地址是同一個(gè),即A1A0=11控制字寄存器的地址。,所以,需要由這兩位來決定是哪一個(gè)通道的控制字。因此,對三個(gè)通道的編程需要向同一個(gè)地址(控制字寄存器地址)寫入三個(gè)控制字,它們的D7D6位分別指定不同的通道。在控制字中的通道選擇與通道計(jì)數(shù)器的地址是兩回事,不能混淆。計(jì)數(shù)通道的地址是用作CPU向計(jì)數(shù)器寫初值,或者從計(jì)數(shù)器讀取當(dāng)前的計(jì)數(shù)值。,2. 數(shù)據(jù)讀/寫格式(D5D4) CPU向計(jì)數(shù)通道寫入初值和讀取它們的當(dāng)前狀態(tài)時(shí),有幾種不同的格式。例如,寫數(shù)據(jù)時(shí),是寫入8位數(shù)據(jù)還是16位數(shù)據(jù),若是8位計(jì)數(shù),可以

9、令D5D4=01只寫低8位,則高8位自動(dòng)置0;若是16位計(jì)數(shù),而低8位為0,則可令D5D4=10,只寫入高8位,而低8位就自動(dòng)為0;在令D5D4=11時(shí),16位計(jì)數(shù)就先寫入低8位,后輸入高8位。 在讀取計(jì)數(shù)值時(shí),可令D5D4=00,則把寫控制字時(shí)的計(jì)數(shù)值鎖存,以后再讀取。,3. 工作方式(D3D2D1) 8253的每個(gè)通道可以有6種不同的工作方式,由這三位決定。每一種方式的特點(diǎn),隨后介紹。 4. 數(shù)制選擇(D0) 8253的每個(gè)通道有兩種計(jì)數(shù)制:二進(jìn)制和二十進(jìn)制,由這位決定。在二進(jìn)制計(jì)數(shù)時(shí),寫入的初值的范圍為0000HFFFFH,其中0000H是最大值,代表65536;在二十進(jìn)制時(shí),寫入的初值

10、的范圍為00009999,其中0000是最大值,代表10000。,9.3.1 方式0計(jì)完最后一個(gè)數(shù)時(shí)中斷,在這種方式,當(dāng)控制字CW(Control Word)寫入控制字寄存器,則使OUT輸出端變低,即使計(jì)數(shù)器沒有賦予初值,也沒開始計(jì)數(shù)。 要開始計(jì)數(shù),GATE信號必須為高電平。則在寫入計(jì)數(shù)初值以后,通道開始計(jì)數(shù),在計(jì)數(shù)過程中,OUT信號線一直維持為低電平,直到計(jì)數(shù)到“0”時(shí),OUT輸出信號線才變?yōu)楦唠娖?。方?過程如圖9-4所示。,其中,LSB=4表示只寫低8位計(jì)數(shù)值為4,最底下一行是計(jì)數(shù)器中的數(shù)值。 方式0的主要特點(diǎn)是: (1) 計(jì)數(shù)器只計(jì)數(shù)一遍。當(dāng)計(jì)數(shù)到0時(shí),并不恢復(fù)計(jì)數(shù)初值,不開始重新計(jì)數(shù)

11、,且輸出保持為高。只有在寫入另一個(gè)計(jì)數(shù)值時(shí),OUT變低,開始新的計(jì)數(shù)。,(2) 8253內(nèi)部是在CPU寫計(jì)數(shù)值的WR#信號上升沿,將此值寫入通道的時(shí)常數(shù)寄存器,在WR#信號上升沿后的下一個(gè)CLK脈沖,才將計(jì)數(shù)值由時(shí)常數(shù)寄存器送至計(jì)數(shù)器作為初值,開始計(jì)數(shù)。所以,8253PIT是在寫計(jì)數(shù)值命令后經(jīng)過一個(gè)輸入脈沖,才將計(jì)數(shù)值裝入計(jì)數(shù)器,下一個(gè)脈沖才開始計(jì)數(shù)。因此,如果設(shè)置計(jì)數(shù)初值為N,則輸出信號OUT是在N+1個(gè)CLK脈沖之后才變高的。這個(gè)特點(diǎn)在方式1、方式2、方式4和方式5時(shí)也是同樣的。,(3) 在計(jì)數(shù)過程中,可由門控制信號GATE控制暫停。當(dāng)GATE=0時(shí),計(jì)數(shù)暫停;當(dāng)GATE變高后,就接著計(jì)數(shù)

12、,其波形如圖9-5所示。 (4) 在計(jì)數(shù)過程中可以改變計(jì)數(shù)值。若是8位計(jì)數(shù),則在寫入新的計(jì)數(shù)值后,計(jì)數(shù)器將按新的計(jì)數(shù)值重新開始計(jì)數(shù),如圖9-6所示。如果是16位計(jì)數(shù),在寫入第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),在寫入第二個(gè)字節(jié)后,計(jì)數(shù)器便按照新的數(shù)值開始計(jì)數(shù),即改變計(jì)數(shù)值是立即有效的。,(5) 8253內(nèi)部沒有中斷控制電路,也沒有專用的中斷請求引線,所以若要用于中斷,則可以用OUT信號作為中斷請求信號,但是,需要有外接的中斷優(yōu)先權(quán)排隊(duì)電路與中斷向量產(chǎn)生電路。 若8253的地址為04H07H,要使計(jì)數(shù)器1工作在方式0,僅用8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為128,初始化程序?yàn)椋?MOVAL,50H;設(shè)控制字 OU

13、T07H,AL;輸出至控制字寄存器 MOVAL,80H;設(shè)置計(jì)數(shù)值 OUT05H,AL;輸出至計(jì)數(shù)通道1,9.3.2 8253-PIT工作方式小結(jié),8253有六種不同的工作方式,它們的特點(diǎn)不同,因而應(yīng)用的場合也就不同。 方式2、4、5的輸出波形是相同的,都是寬度為一個(gè)CLK周期的負(fù)脈沖。但方式2是連續(xù)工作,方式4由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)啟動(dòng),而方式5由門控脈沖觸發(fā)啟動(dòng)。,方式5(硬件觸發(fā)選通)與方式1(硬件再觸發(fā)單拍脈沖),工作方式基本相同,但輸出波形不同,方式1輸出的是寬度為N個(gè)CLK脈沖的低有效脈沖(計(jì)數(shù)過程中輸出為低),而方式5輸出的是寬度為1個(gè)CLK脈沖的負(fù)脈沖(計(jì)數(shù)過程中輸出為高)。

14、 1輸出OUT的初始狀態(tài) 在6種方式中,只有方式0,在寫入控制字后輸出為低。其它5種方式,都是在寫入控制字后輸出為高。,2計(jì)數(shù)值的設(shè)置 任一種方式,只有在寫入計(jì)數(shù)值后才能開始計(jì)數(shù),方式0、2、3和4都是在寫入計(jì)數(shù)值后,計(jì)數(shù)過程就開始了,而方式1和5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)。 在不同工作方式下,計(jì)數(shù)值N對輸出波形的影響是不同的,如表9-2所示。 6種方式中,只有方式2和3是連續(xù)計(jì)數(shù),其他4種方式都是一次計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng),方式0、4由寫入計(jì)數(shù)值(軟件)啟動(dòng),方式1、5要由外部信號(硬件)啟動(dòng)。,3門控信號的作用 8253在不同方式下門控輸入信號的作用,如表9-3所示。 GATE輸入

15、總是在CLK輸入時(shí)鐘的上升沿被采樣。在方式0、2、3、4中,GATE輸入是電平起作用,邏輯電平在CLK的上升沿采樣。在方式1、2、3、5中,GATE輸入是上升沿起作用的,在這種情況下,GATE信號的上升沿使計(jì)數(shù)器內(nèi)部的一個(gè)邊沿敏感的觸發(fā)器置位,它由下一個(gè)CLK脈沖的上升沿采樣,采樣之后,這個(gè)觸發(fā)器被復(fù)位。這樣不管GATE的上升沿何時(shí)出現(xiàn)總能被檢測到,且對GATE高電平的持續(xù)時(shí)間沒有要求。在方式2和3中,GATE信號的上升沿和電平都可以起作用。,4在計(jì)數(shù)過程中改變計(jì)數(shù)值 8253在不同方式時(shí)都可以在計(jì)數(shù)過程中寫入計(jì)數(shù)值,但它的作用在不同方式時(shí)有所不同,如表9-4所示。表中的立即有效都是指寫入計(jì)數(shù)

16、值后的下一個(gè)CLK脈沖以后,新的計(jì)數(shù)值開始起作用。 5計(jì)數(shù)到0后計(jì)數(shù)器的狀態(tài) 計(jì)數(shù)器減到0后并不停止不動(dòng)。在方式0、1、4、5,計(jì)數(shù)器計(jì)到0后,都從這個(gè)最大計(jì)數(shù)值(十六進(jìn)制的FFFFH和BCD的9999)繼續(xù)倒計(jì)數(shù)。方式2與3是連續(xù)計(jì)數(shù),計(jì)數(shù)器自動(dòng)裝入計(jì)數(shù)值繼續(xù)計(jì)數(shù)。,9.4 8253-PIT的編程,要使用8253-PIT必須首先進(jìn)行初始化編程,初始化編程的內(nèi)容為: 必須先寫入每一個(gè)通道的控制字,然后寫入通道的計(jì)數(shù)值。如前所述,在有些方式下,寫入計(jì)數(shù)值后此計(jì)數(shù)通道就開始工作了,而有的方式需要外界門控信號的觸發(fā)啟動(dòng)。 在初始化編程時(shí),某一通道的控制字和計(jì)數(shù)值,是通過兩個(gè)不同的端口地址寫入的。任一

17、通道的控制字都是寫入至控制字寄存器(地址總線低兩位A1A0=11),由控制字中的D7D6來確定是哪一個(gè)通道的控制字;而計(jì)數(shù)值是由各個(gè)通道的端口地址寫入的。,初始化編程的步驟為: (1) 寫入通道控制字,規(guī)定通道的工作方式。 (2) 寫入計(jì)數(shù)值。 若規(guī)定只寫低8位,則寫入的為計(jì)數(shù)值的低8位,高8位自動(dòng)置0; 若規(guī)定只寫高8位,則寫入的為計(jì)數(shù)值的高8位,低8位自動(dòng)置0; 若是16位計(jì)數(shù)值,則分兩次寫入,先寫入低8位,再寫入高8位。,例如: 若要用通道0,工作在方式1,按二十進(jìn)制計(jì)數(shù),計(jì)數(shù)值為5080H。則初始化編程的步驟為: (1) 確定通道控制字: (2) 計(jì)數(shù)值的低8位為80H。 (3) 計(jì)數(shù)

18、值的高8位為50H。,若端口地址位為F8HFBH,則初始化程序?yàn)椋?MOVAL,33H OUT0FBH,AL MOVAL,80H OUT0F8H,AL MOVAL,50H OUT0F8H,AL8253,任一通道的計(jì)數(shù)值,CPU可用輸入指令讀取。CPU讀到的是執(zhí)行輸入指令瞬間計(jì)數(shù)器的現(xiàn)行值。但8253的計(jì)數(shù)器是16位的,所以要分兩次讀至CPU,因此,若不設(shè)法鎖存,則在輸入過程中,計(jì)數(shù)值可能已經(jīng)變化了。要鎖存有兩種辦法: (1) 利用GATE信號使計(jì)數(shù)過程暫停。 (2) 向8253輸送一個(gè)通道控制字,令8253通道中的鎖存器鎖存。8253的每一個(gè)通道都有一個(gè)輸出鎖存器(16位),平時(shí),它的值隨通道計(jì)數(shù)器的值變化,當(dāng)向通道寫入鎖存的控制字時(shí),它把計(jì)數(shù)器的現(xiàn)行值鎖存(計(jì)數(shù)器中繼續(xù)計(jì)數(shù))。于是CPU讀取的就是鎖存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論