微機(jī)原理課_8253.ppt_第1頁
微機(jī)原理課_8253.ppt_第2頁
微機(jī)原理課_8253.ppt_第3頁
微機(jī)原理課_8253.ppt_第4頁
微機(jī)原理課_8253.ppt_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章 可編程定時/計數(shù)器8253,1)掌握8253的基本功能 2)掌握8253的6種工作方式的特點(diǎn)和用法 3)掌握8253的硬軟件設(shè)計方法,1)掌握8253的6種工作方式的特點(diǎn)和用法 2)掌握8253的硬軟件設(shè)計方法,本章學(xué)習(xí)的知識點(diǎn):,本章學(xué)習(xí)的難點(diǎn):,8.1 概述,在微機(jī)系統(tǒng)中,要求對外部信號進(jìn)行計數(shù)或要求對時間進(jìn)行精確定時-計數(shù)/定時器. 計數(shù)由外部脈沖信號提供,當(dāng)達(dá)到設(shè)定的計數(shù)值時,輸出一個電平信號,告知外部設(shè)備已經(jīng)計滿。定時時間基準(zhǔn)由8086內(nèi)部時鐘源提供,經(jīng)定時鐘分頻后得到所需的時間信號,當(dāng)定時時間到后也輸出一個電平信號,告知外部設(shè)備定時時間到。,1、應(yīng)用場合,利用CPU每執(zhí)行一

2、條指令都需要幾個固定的指令周期的原理,因此執(zhí)行一個程序段就需要一定的時間,運(yùn)用軟件編程的方式,通過改變指令執(zhí)行的循環(huán)次數(shù)就可以控制定時時間,由于它占用了CPU,因而降低了CPU的利用率。,2、定時與計數(shù)的三種方式,1) 軟件定時:,例: MOV CX,1000H DEALY: MOV BX,1000H LOOP DEALY,由硬件和軟件相結(jié)合, 可以有多種定時和計數(shù)工作方式供選用,可應(yīng)用與各中不同型號的計算機(jī)系統(tǒng)。,利用專門的定時電路實(shí)現(xiàn)精確定時。不受控制,無法修改。如555電路。,2) 硬件定時:,3) 通用可編程接口芯片定時:,8253是Intel公司生產(chǎn)的可編程計數(shù)/定時器芯片。8253

3、的操作對所在系統(tǒng)沒有特殊要求,其通用性強(qiáng),適用于各種微處理器組成的系統(tǒng)。它有3個獨(dú)立的16位減1計數(shù)器,每個計數(shù)器有6種工作方式,能進(jìn)行二進(jìn)制或二-十進(jìn)制計數(shù)或定時操作,計數(shù)速率可達(dá)2 MHz,所有的輸入/輸出都與TTL電平兼容。,3、可編程定時/計數(shù)器8253, 以均勻分布的時間間隔中斷分時操作系統(tǒng), 以便切換程序。 向I/O設(shè)備輸出精確的定時信號, 該信號的周期由程序控制。 用作可編程波特率或速率發(fā)生器。 檢測外部事件發(fā)生的頻率或周期。 統(tǒng)計外部某一事件發(fā)生的次數(shù)。 在定時或計數(shù)達(dá)到編程規(guī)定的值之后, 產(chǎn)生輸出信號,向CPU申請中斷。,可編程定時/計數(shù)器的主要用途有:,8253的引腳配置,

4、8.2 8253定時計數(shù)器的引腳功能,1、8253的引腳功能:,1)與CPU的接口信號 (1)D0-D7:數(shù)據(jù)線,CPU與8253之間傳送數(shù)據(jù),控制和信息。 (2)CS: 片選信號.接地址譯碼電路. (3)WR RD 讀寫控制 (4)A0 A1 地址選擇線, 用于對8253的四個端口的讀寫.(三個計數(shù)/定時口,一個控制口),(1)CLK0CLK2:時鐘/脈沖輸入端 (2)OUT0OUT2 :定時/計數(shù)到, 輸出相應(yīng)的電平 (3)GATE0GATE2 :門控信號,用于啟動/停止定時或計數(shù)工作的控制,也是兩個或兩個以上串聯(lián)的定時/計數(shù)輸入端。該信號有效時定時/計數(shù)器才開始工作。,2)與外部設(shè)備的接

5、口信號,8.3 8253定時計數(shù)器內(nèi)部結(jié)構(gòu),8253的結(jié)構(gòu)框圖,1、8253的內(nèi)部結(jié)構(gòu)功能分析,八位雙向三態(tài),用于暫時存放數(shù)據(jù),存放的數(shù)據(jù)有: (1)初時化編程時向8253寫入的控制字 (2)向某一通道寫入的計數(shù)值。 (3)從向某一通道讀計數(shù)值。,1)數(shù)據(jù)總線緩沖器,注意:CPU用輸入/輸出指令對8253進(jìn)行讀/寫操作的所有信息都是通過這8條總線傳送的。,(1)接受CPU的RD、WR、CS 、A0、A1 信號,經(jīng)組合產(chǎn)生對某一端口的操作。 (2)當(dāng)片選信號有效, 即CS =0時,讀/寫邏輯才能工作。該控制邏輯根據(jù)讀/寫命令及送來的地址信息,決定三個計數(shù)器和控制字寄存器中哪一個工作,并控制內(nèi)部總

6、線上數(shù)據(jù)傳送的方向。,2)讀/寫控制邏輯,接受CPU的控制字,只能寫,不能讀,根據(jù)控制字決定每個通道的工作方式。,3)控制字寄存器,(1) 計數(shù)/定時器0、1、2是3 個16位減1計數(shù)器,它們互相獨(dú)立, 內(nèi)部結(jié)構(gòu)和功能相同。,4)三個計數(shù)/定時器的特點(diǎn),(2)每個計數(shù)器有3根信號線,它們是時鐘輸入CLK、門控輸入GATE和輸出OUT。,(3)計數(shù)/定時器從CLK端接收時鐘脈沖或事件計數(shù)脈沖,在脈沖下降沿按照二進(jìn)制或十進(jìn)制從預(yù)置的初值開始進(jìn)行減1計數(shù)。當(dāng)計數(shù)值減到零時,從OUT端送出一個信號。,(4)計數(shù)器在開始計數(shù)和計數(shù)過程中,都要受到門控信號GATE的控制, GATE =1可以計數(shù), GAT

7、E =0,停止計數(shù)。,1、有一個16位的預(yù)置計數(shù)初值寄存器,每個計數(shù)/定時器(通道)有:,2、有一個16位的減1計數(shù)寄存器,初值為計數(shù)初值寄存器的值。當(dāng)輸入端CLK輸入一個計數(shù)脈沖后,減1計數(shù)寄存器的內(nèi)容減1,當(dāng)減到0時,輸出端OUT輸出相應(yīng)的電平,表示計數(shù)結(jié)束。,3、當(dāng)前計數(shù)輸出寄存器:16位寄存器,供CPU讀出當(dāng)前的計數(shù)值。當(dāng)前計數(shù)輸出寄存器相當(dāng)于減1計數(shù)寄存器的狀態(tài)寄存器,它隨減1寄存器的內(nèi)容變化,但由于減1計數(shù)寄存器是CPU不能直接讀數(shù)據(jù)的,只能讀當(dāng)前計數(shù)輸出寄存器的值。,5) 三個獨(dú)立端口的特性,1)三個計數(shù)器的GATE都是高電平有效 2)最高計數(shù)頻率2MHZ 3)有6種工作方式 4

8、)計數(shù)范圍 065535或0000H-FFFFH,6) 8253的尋址及連接,8253占用4個接口地址,地址由CS、A0、A1來確定。地址線A1A0編碼與8253內(nèi)部寄存器的對應(yīng)關(guān)系:,1)D7D6:計數(shù)器選擇位。這兩位表示這個控制字是對哪一個計數(shù)器設(shè)置的。 00:計數(shù)器0;01:計數(shù)器1;10:計數(shù)器2;11:非法選擇。,83 8253的編程控制字格式,2)D5D4:數(shù)據(jù)讀/寫格式選擇位。CPU在對計數(shù)器寫入初值和讀取它們的當(dāng)前值時,有幾種不同的格式,由這兩位來決定。 00:將計數(shù)器當(dāng)前值鎖存于輸出鎖存器中,以便讀出; 01:只讀/寫計數(shù)器的低8位,寫入時高8位自動設(shè)置為0; 10:只讀/寫

9、計數(shù)器的高8位,寫入時低8位自動設(shè)置為0; 11:對16位計數(shù)器進(jìn)行兩次讀/寫操作,低字節(jié)在前,高字節(jié)在后, 兩次操作的地址相同。,8253的每個計數(shù)通道有6種不同的工作,工作方式由這3位決定。 000方式0;001方式1;x10方式2 x11方式3;100方式4;101方式5。,8253的每個計數(shù)器有兩種數(shù)制二進(jìn)制和十進(jìn)制,由這一位決定選擇哪一種。D0=0表示采用二進(jìn)制計數(shù),寫入的初值范圍為0000HFFFFH,其中0000H是最大值,代表65536; D=1表示采用十進(jìn)制計數(shù), 寫入的初值范圍為00009999,其中0000是最大值,代表10000。,3)D3D2D1:計數(shù)器工作方式選擇位

10、,4)D0:數(shù)制選擇,8253初始化編程要求,1、8253三個端口有各自獨(dú)立的地址,控制字分別對各端口的工作方式進(jìn)行設(shè)置。,2、對某一個端口設(shè)置初值時,先設(shè)置控制字,3、設(shè)置初值時,要符合D5、D4的規(guī)定,分別輸入計數(shù)值。(16位計數(shù)值要用兩條指令寫入計數(shù)值),4、鎖存(D5D4=00)的目的是:在CPU讀取計數(shù)值前先用鎖存命令鎖存減1計數(shù)器的當(dāng)前值,否則得不到正確的結(jié)果,CPU取走數(shù)據(jù)后,鎖存功能自動失鎖,5、編程順序:先寫入控制字到控制寄存器,然后寫入計數(shù)初值到所確定的計數(shù)器端口!,當(dāng)對8253的計數(shù)器進(jìn)行讀操作時,可以讀出計數(shù)值,具體實(shí)現(xiàn)方法有如下兩種:,使計數(shù)器停止計數(shù)時,先寫入控制字

11、,規(guī)定好RL1和RL0(控制字的D5D4位)的狀態(tài)也就是規(guī)定讀一個字節(jié)還是讀兩個字節(jié)。,在計數(shù)過程中讀計數(shù)值。這時讀出當(dāng)前的計數(shù)值并不影響計數(shù)器的工作。為做到這一點(diǎn),首先寫入8253一個特定的控制字:XX00XXXX。這是控制字的一種形式。,對8253的計數(shù)器進(jìn)行讀操作時,應(yīng)注意:,8.4 8253工作方式與時序,1)寫入控制字時所有的控制邏輯電路復(fù)位,輸出端OUT進(jìn)入初始化狀態(tài)。工作方式不同,輸出電平不同。,1、六種工作方式均遵循的以下幾條原則:,2)初值寫入后,需經(jīng)過一個時鐘周期減1計數(shù)器才開始工作,時鐘脈沖的下降沿使計數(shù)器減1計數(shù)(GATE必須為高時)。如果初值為0,則為最大值(6553

12、6:二進(jìn)制或?yàn)?0000:十進(jìn)制)。,3)對門控信號GATE的采樣是在計數(shù)脈沖的上升沿進(jìn)行,所以有電平觸發(fā)和邊沿觸發(fā)兩種方式,4)8253在上電后必須先對其初始化設(shè)置,本節(jié)以下各例均設(shè)8253各端口地址40H43H。 A口=40H, B口=41H,C口=42H, 控制口=43H,2、8253的工作方式,寫入方式0控制字后,OUT立即變成低電平。當(dāng)寫入計數(shù)初值N后,若GATE為高電平,計數(shù)器開始計數(shù)。,1)方式0計數(shù)結(jié)束后輸出由低變高,工作過程:,在計數(shù)過程中, OUT端一直維持為低,直到計數(shù)為0(結(jié)束)時,OUT端變?yōu)楦撸?可以設(shè)置為向CPU發(fā)出中斷請求)。,在計數(shù)過程中,若GATE變?yōu)榈碗娖?/p>

13、,暫時停止計數(shù),OUT不變,直到GATE變?yōu)楦唠娖胶罄^續(xù)接著計數(shù),到計數(shù)為0(結(jié)束)時,OUT端變?yōu)楦摺?可以設(shè)置為向CPU發(fā)出中斷請求)。,8253用作計數(shù)時, 一般都工作在方式0。,方式0的時序圖,(設(shè)計數(shù)初值為3),特點(diǎn): 計數(shù)器只計一遍數(shù)。當(dāng)計數(shù)到0時,并不恢復(fù)計數(shù)初值, 不開始重新計數(shù),輸出端OUT由低變高且一直保持為高。只有當(dāng)寫入一個新的計數(shù)初值后,OUT才變低,開始新的計數(shù)。,方式0的時序圖,(設(shè)計數(shù)初值為3),特點(diǎn):在計數(shù)過程中可改變計數(shù)值。如果計數(shù)器為8位,在寫入新的8位計數(shù)值后,計數(shù)器將按新的計數(shù)值重新開始計數(shù)。 如果計數(shù)器為16位, 在寫入第一個字節(jié)后,計數(shù)器停止計數(shù),在

14、寫入第二個字節(jié)后, 計數(shù)器按照新的數(shù)值開始計數(shù)。,方式0的時序圖,(設(shè)計數(shù)初值為3),特點(diǎn) :在計數(shù)過程中,可由門控信號GATE控制暫停。當(dāng)GATE=0時, 計數(shù)器暫停計數(shù);當(dāng)GATE變?yōu)?后,就接著計數(shù)。,方式0的時序圖,(設(shè)計數(shù)初值為3),特點(diǎn): 方式0的OUT信號在計數(shù)到0時由低變高,可作為中斷請求信號。 但由于在8253內(nèi)部沒有中斷控制電路,通常接8259中斷控制器。,例:設(shè)8253計數(shù)器通道0工作于方式0,用8位二進(jìn)制計數(shù),其計數(shù)值為50,十進(jìn)制,初始化程序如下: MOV AL,00010001B ;設(shè)置控制字 OUT 43H,AL ;寫入控制字寄存器 MOV AL,50 ;設(shè)置計數(shù)

15、初值 OUT 40H,AL ;寫入計數(shù)初值寄存器 其計數(shù)值為5000,十進(jìn)制,初始化程序如下: MOV AL,00110001B ;設(shè)置控制字 OUT 43H,AL ;寫入控制字寄存器 MOV AX,5000 ;寫入計數(shù)初值寄存器 OUT 40H,AL ;設(shè)置計數(shù)初值低8位 MOV AL,AH ; OUT 40H,AL ;設(shè)置計數(shù)初值高8位 注意:計數(shù)方式為十進(jìn)制,但送數(shù)據(jù)時,計算機(jī)要把十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)!,(2) 方式1可程控的單脈沖 工作過程:寫入控制字后,OUT輸出高電平, 此時并不開始計數(shù)。寫入計數(shù)初值后當(dāng)門控信號GATE變?yōu)楦唠娖綍r(邊沿觸發(fā)!),啟動計數(shù),OUT輸出變低。在整

16、個計數(shù)過程中,OUT都維持為低,直到計數(shù)到0時,輸出變?yōu)楦?。因此,輸出為一單脈沖,其低電平維持時間由裝入的計數(shù)初值來決定。,方式1的時序圖,方式1的特點(diǎn) : 當(dāng)計數(shù)到0后,計數(shù)器可再次由外部啟動(GATE信號跳變一次), 按原計數(shù)初值重新開始計數(shù),輸出單脈沖,而不需要再次送一個計數(shù)初值。,方式1的特點(diǎn): 計數(shù)過程中門控信號再次被觸發(fā),計數(shù)器按計數(shù)初值寄存器的值重新開始計數(shù)。,方式1的特點(diǎn): 計數(shù)過程中改變計數(shù)初值不影響本次計數(shù)過程。若門控信號再次被觸發(fā),則計數(shù)器才按新的計數(shù)值計數(shù)。, 方式0設(shè)置計數(shù)初值后立即計數(shù);方式1設(shè)置計數(shù)初值后不立即計數(shù),直到有外部觸發(fā)信號后才開始計數(shù)。,比較方式0和方

17、式1, 有以下幾點(diǎn)不同:, 方式0在計數(shù)過程中能用門控信號暫停計數(shù); 方式1在計數(shù)過程中若有門控脈沖時不停止計數(shù),而是使計數(shù)過程重新開始。, 方式0在計數(shù)過程中改變計數(shù)初值時,原計數(shù)過程停止,立即按新的計數(shù)初值開始計數(shù);方式1在計數(shù)過程中當(dāng)改變計數(shù)初值時,現(xiàn)行計數(shù)不受影響,新計數(shù)初值在GATE出現(xiàn)跳變后才以新的初值開始計數(shù)。,比較方式0和方式1, 有以下幾點(diǎn)不同:, 方式0在一次計數(shù)結(jié)束后,必須重新設(shè)置計數(shù)初值才能再次計數(shù),即計數(shù)初值只能使用一次;方式1的計數(shù)初值在一次計數(shù)過程完成后繼續(xù)有效。,例:設(shè)計數(shù)器通道1工作于方式1,按二進(jìn)制計數(shù),計數(shù)初值為40H,它的初始化程序?yàn)椋?MOVAL,01

18、010010B ;工作方式控制字 OUT 43H,AL MOVAL,40H;送計數(shù)初值 OUT 41H,AL ;注意計數(shù)初值送到該通道 計數(shù)初值為1234H,它的初始化程序?yàn)椋?MOVAL,01110010B ;工作方式控制字 OUT 43H,AL MOVAL,34H;送計數(shù)初值 OUT 41H,AL ;注意順序 MOVAL,12H;送計數(shù)初值 OUT 41H,AL,寫入控制字后,計數(shù)器輸出端為高電平。寫入計數(shù)初值后,只要GATE為高電平(電平觸發(fā))計數(shù)器立即對CLK端的輸入脈沖計數(shù)。,(3) 方式2分頻器,工作過程:,在計數(shù)過程中輸出端始終保持為高,直到計數(shù)器減為1時,輸出變低。經(jīng)過一個CL

19、K周期,輸出恢復(fù)為高,同時按照原計數(shù)初值重新開始計數(shù)。如果計數(shù)值為N,則在CLK端每輸入N-1個脈沖后,OUT就輸出一個脈沖。因此,這種方式可以作為分頻器或用于產(chǎn)生實(shí)時時鐘中斷。,方式2的時序圖,方式2的特點(diǎn): 不用重新設(shè)置計數(shù)初值,計數(shù)到0后自動裝入初值,計數(shù)器能夠連續(xù)工作, 輸出固定頻率的脈沖。,方式2的特點(diǎn): 計數(shù)過程可由門控信號GATE控制。當(dāng)GATE為0時, 暫停計數(shù)。當(dāng)GATE變?yōu)?后,下一個CLK脈沖使計數(shù)器恢復(fù)初值,重新開始計數(shù)。,方式2的特點(diǎn) : 在計數(shù)過程中可以改變計數(shù)初值,這對正在進(jìn)行的計數(shù)過程沒有影響。但當(dāng)計數(shù)到1時輸出變低,過一個CLK周期輸出又變高,計數(shù)器將按新的計

20、數(shù)值計數(shù)。所以對方式2改變計數(shù)初值時,在下一次計數(shù)有效。,例:設(shè)8253計數(shù)器0工作于方式2,按二進(jìn)制計數(shù),計數(shù)初值為0304H。 MOVAL,00110100B;先讀/寫低8位;再讀寫高8位,方式2,二進(jìn)制。 OUT43H,AL MOV AL,04H ;送計數(shù)值低字節(jié) OUT 40H,AL MOV AL,03H ;如只有低8位,不要這兩條指令 OUT 40H,AL ;送計數(shù)值高字節(jié),工作過程:寫入控制字后,輸出為高電平。GATE為高電平時(電平觸發(fā)),在寫入計數(shù)初值后就開始計數(shù),輸出保持為高。當(dāng)計數(shù)到一半計數(shù)初值時,輸出變?yōu)榈?,直至計?shù)到0,輸出又變?yōu)楦?,重新開始計數(shù)。,方式3的時序圖,(4

21、) 方式3方波發(fā)生器,方式3的特點(diǎn) : 當(dāng)計數(shù)初值N為偶數(shù)時,輸出端的高低電平持續(xù)時間相等,各為N/2個CLK脈沖周期;當(dāng)計數(shù)初值N為奇數(shù)時,輸出端的高電平持續(xù)時間比低電平持續(xù)時間多一個脈沖周期,即高電平持續(xù)(N+1)/2個脈沖周期。低電平持續(xù)(N-1)/2個脈沖周期。,方式3的特點(diǎn) : GATE=1,允許計數(shù);GATE=0,停止計數(shù)。當(dāng)GATE變高以后,在下一個CLK脈沖來到時,計數(shù)器將重新裝入初始值,開始計數(shù)。在這種情況下通過門控信號使計數(shù)器實(shí)現(xiàn)同步, 稱為硬件同步。,方式3的特點(diǎn) : 如果GATE信號一直為高電平,在寫入控制字和計數(shù)值后,將在下一個CLK脈沖來到時裝入計數(shù)初值并開始計數(shù),

22、這種情況稱為軟件同步。,方式3的特點(diǎn) : 在計數(shù)期間寫入一個新的計數(shù)初值,如果在輸出信號半周之后沒有收到GATE脈沖,則要到現(xiàn)行輸出結(jié)束后才按新的計數(shù)初值開始計數(shù)。,方式3的特點(diǎn) : 在寫入新計數(shù)初值之后在現(xiàn)行輸出半周結(jié)束之前GATE=0,計數(shù)器停止工作,當(dāng)GATE=1后,將在下一個CLK脈沖來到時立即裝入新的計數(shù)初值并開始計數(shù)。,例:設(shè)8253計數(shù)器2工作在方式3,按十進(jìn)制計數(shù),計數(shù)初值為4,則它的初始化程序如下: MOV AL,10010111B;計數(shù)器2,只讀/寫低8位,工作方式3,十進(jìn)制 OUT 43H,AL;控制字送控制字寄存器 MOV AL,4;送計數(shù)初值 OUT 42H,AL 計

23、數(shù)初值為1234,則它的初始化程序如下: MOV AL,10110111B ;計數(shù)器2,只讀/寫低8位,工作方式3,十進(jìn)制 OUT 43H,AL;控制字送控制字寄存器 MOV AL,34;送計數(shù)初值低8位 MOV AX,1234 ;用此指令可以自動的轉(zhuǎn)換為16進(jìn)制 OUT 42H,AL MOV AL,AH;送計數(shù)初值高8位 OUT 42H,AL,寫入控制字后,輸出端OUT變?yōu)楦唠娖剑?以此作為初始電平。 當(dāng)寫入計數(shù)初值后開始計數(shù),稱為軟件觸發(fā)(前提條件是GATE為高電平)。,(5) 方式4軟件觸發(fā)的選通信號發(fā)生器,工作過程:,當(dāng)計數(shù)到0后,輸出變低, 經(jīng)過一個CLK周期,輸出又變高,計數(shù)器停止

24、計數(shù)。這種方式計數(shù)也是一次性的,只有在輸入新的計數(shù)值后,才開始新的計數(shù)過程。若設(shè)置的計數(shù)初值為N,則在寫入了計數(shù)初值后經(jīng)過N個CLK脈沖,輸出一個負(fù)脈沖。 一般將此負(fù)脈沖作為選通信號。,方式4的特點(diǎn) : 當(dāng)GATE=1時,允許計數(shù);當(dāng)GATE=0時,禁止計數(shù)。所以,要做到軟件觸發(fā),GATE應(yīng)保持為1。在計數(shù)過程中如果GATE變?yōu)榈停瑒t停止計數(shù),當(dāng)GATE再變?yōu)楦邥r,重新開始計數(shù)。,方式 4 的特點(diǎn) : 在計數(shù)過程中,若改變計數(shù)初值,則停止計數(shù),在下一個CLK的下降沿按新的計數(shù)初值開始計數(shù)。這稱為軟件再觸發(fā)。16位數(shù),在設(shè)置第一個字節(jié)后停止計數(shù),在設(shè)置第二個字節(jié)后開始計數(shù).,例:設(shè)8253計數(shù)器

25、1工作于方式4,按二進(jìn)制計數(shù),計數(shù)初值為3,則初始化程序?yàn)椋?MOVAL,01011000B;設(shè)置控制字寄存器 OUT43H,AL;送控制字 MOVAL,3;置計數(shù)初值 OUT41H,AL;送計數(shù)初值 計數(shù)初值為1234H,則初始化程序?yàn)椋?MOVAL, 01111000B ;設(shè)置控制字寄存器 OUT43H,AL;送控制字 MOVAL,34H;置計數(shù)初值低8位 OUT41H,AL;送計數(shù)初值 MOVAL,12H;置計數(shù)初值高8位 OUT41H,AL;送計數(shù)初值,工作過程:,(6) 方式5硬件觸發(fā)的選通信號發(fā)生器,寫入控制字后,輸出變?yōu)楦唠娖?寫入計數(shù)初值后,計數(shù)器并不立即開始計數(shù),而是要由門控

26、脈沖的上升沿來啟動計數(shù),稱為硬件觸發(fā)。當(dāng)計數(shù)到0時,輸出變低,又經(jīng)過一個CLK脈,輸出恢復(fù)為高。這樣在輸出端得到一個負(fù)脈沖選通信號。計數(shù)器停止計數(shù)后要等到下次門控脈沖觸發(fā),才能再進(jìn)行計數(shù)。,方式5的特點(diǎn) : 若設(shè)置計數(shù)初值為N,則在門控脈沖觸發(fā)后,經(jīng)過N個CLK脈沖,才輸出一個CLK周期的負(fù)脈沖。,方式5的特點(diǎn) : 在計數(shù)過程中,若GATE端又出現(xiàn)一個脈沖進(jìn)行觸發(fā),則使計數(shù)器重新開始計數(shù),但對輸出狀態(tài)沒有影響。,方式5的特點(diǎn) : 若在計數(shù)過程中改變計數(shù)值,只要沒有門控信號的觸發(fā), 就不影響本次計數(shù)過程。,方式5的特點(diǎn) : 若在計數(shù)過程中改變計數(shù)值,若有新的門控信號的觸發(fā),則按新的計數(shù)初值計數(shù)。

27、,方式5和方式4都產(chǎn)生選通脈沖 這兩種方式的區(qū)別在于:,1)方式4每次要靠軟件設(shè)置計數(shù)初值后才能計數(shù)(軟件觸發(fā))。,2)方式5的計數(shù)初值只需設(shè)置一次,但是每次計數(shù)要靠門控信號的觸發(fā)(硬件觸發(fā))。,3)方式4軟件更改計數(shù)初值后立即起作用, 方式5軟件更改計數(shù)初值后要有新的門控信號的觸發(fā)才能起作用。,例:設(shè)8253的通道1工作于方式5,按二進(jìn)制計數(shù),計數(shù)初值為4000H,則它的初始化程序段為: MOV AL,01101010B;通道1,只讀寫高字節(jié), OUT 43H,AL ;方式5,二進(jìn)制計數(shù)。 MOV AL,40H ;低8位自動補(bǔ)0 OUT 41H,AL ;送計數(shù)初值 或先送低8位,后送高8位

28、MOV AL,01111011B;通道1,先讀寫低字節(jié), OUT 43H,AL ;后讀寫高字節(jié),方式5,十進(jìn)制數(shù)。 MOV AL,00H ;低8位為0 OUT 41H,AL ; MOV AL,40H ;高8位40, OUT 41H,AL ;送計數(shù)初值,3、六種工作方式的比較,1、方式0、4是由軟件觸發(fā)(寫入計數(shù)值)啟動計數(shù),無自動裝入計數(shù)初值的功能,除非再寫入初值。GATE高時,減1計數(shù)器減1, GATE低時,減1計數(shù)器停止計數(shù)。 區(qū)別:方式0輸出為低電平,計數(shù)結(jié)束輸出高電平并一直保持。 方式4輸入輸出為高電平,計數(shù)結(jié)束時輸出一個時鐘周期的負(fù)脈沖,然后又保持高電平。,2、方式1、5是硬件觸發(fā)(

29、GATE上升沿)啟動計數(shù),寫入初值后并不馬上計數(shù),必須在GATE的上升沿觸發(fā)后才開始計數(shù)。 區(qū)別:方式1輸出N*TCLK的負(fù)脈沖。 方式5結(jié)束后輸出一個TCLK的負(fù)脈沖。,3、方式2、3都具有自動裝入計數(shù)值的能力,都是分頻器,但方式2輸出N-1占空比的波形,方式5則輸出方波。,8253的寫操作包括寫控制字和寫計數(shù)初值兩項(xiàng)內(nèi)容。 具體要求是:,4、8253的讀/寫操作, 各計數(shù)器的控制字都寫到同一地址單元, 而各計數(shù)初值寫到各自的地址單元中。, 對于每個計數(shù)器,必須先寫控制字,后寫計數(shù)初值。 因?yàn)楹笳叩母袷绞怯汕罢邲Q定的。, 寫入的計數(shù)初值必須符合控制字決定的格式。 16位數(shù)據(jù)應(yīng)先寫低8位,再寫

30、高8位。 當(dāng)給多于一個的計數(shù)器寫入控制字和計數(shù)初值時,其順序無要求,只要遵循上述要求即可。,8253的讀操作所得到的是當(dāng)前計數(shù)值, 通常用于實(shí)時檢測、實(shí)時顯示和數(shù)據(jù)處理。在進(jìn)行讀操作時需要注意以下幾點(diǎn):, 讀操作是通過訪問對應(yīng)于各計數(shù)器的地址單元來實(shí)現(xiàn)的。, 每個計數(shù)器的讀操作必須按照控制字確定的格式。 如果是16位計數(shù),讀操作要進(jìn)行兩次,先讀低8位,后讀高8位。, 當(dāng)計數(shù)器為16位時,為了避免在兩次讀出過程中計數(shù)值的變化,要求先將計數(shù)值鎖存。 鎖存計數(shù)值的常用方法是使用計數(shù)器鎖存命令: 控制字的D7D6兩位為所要鎖存的計數(shù)器號, D5D4兩位置為00。8253的每個計數(shù)器都有一個輸出鎖存器(

31、16位),平時它的值跟隨計數(shù)值而變化。當(dāng)向計數(shù)器寫入鎖存命令后,現(xiàn)行計數(shù)值被鎖存(如不鎖存計數(shù)器值如正在跳變,讀出的值不確定)。這樣CPU讀取的就是鎖存器中的值。 當(dāng)CPU讀取了計數(shù)值或?qū)τ嫈?shù)器重新編程以后,鎖存狀態(tài)被解除,輸出鎖存器的值又隨計數(shù)值變化。,讀計數(shù)器的值時,控制字的D7D6兩位為所要鎖存的計數(shù)器號, D5D4兩位置為00,其它位不用考慮。,讀計數(shù)值的程序設(shè)計: MOV AL,40 ;通道1鎖存,16位數(shù)據(jù) OUT 43H,AL; IN AL,41H ;讀通道1,低8位 MOV CL,AL ;存在CL中 IN AL ,41H ;讀通道1,高8位 MOV CH,AL ;存在CH中 注意:讀入數(shù)據(jù)的程序設(shè)計過程,先要鎖存,然后才開始讀入。,8.5 8253設(shè)計舉例,8253與CPU的外部接口電路圖,例1、設(shè)計用8253完成如下要求:,1、有一計數(shù)器,當(dāng)計夠1000個數(shù)時通知外部設(shè)備。 2、對輸入為10KHZ的時鐘信號分頻,輸出為1KHZ的方波。 3、對輸入為10KHZ的時鐘信號分頻,輸出為10HZ,但不為方波。,各端口的分配及其設(shè)置:,1、要求1可設(shè)置為方式0,端口0,計數(shù)

溫馨提示

  • 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

提交評論