第五章數(shù)字量輸入輸出3of7_第1頁
第五章數(shù)字量輸入輸出3of7_第2頁
第五章數(shù)字量輸入輸出3of7_第3頁
第五章數(shù)字量輸入輸出3of7_第4頁
第五章數(shù)字量輸入輸出3of7_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 1 計(jì)算機(jī)系統(tǒng)中,實(shí)現(xiàn)定時(shí)或延時(shí)有三種方法:軟件定時(shí)、不可編程的硬件定時(shí)、可編程的硬件定時(shí)器。8253為可編程的硬件定時(shí)/計(jì)數(shù)器。8253的主要功能:的主要功能: 具有具有3 3個(gè)獨(dú)立的個(gè)獨(dú)立的1616位計(jì)數(shù)器通道;位計(jì)數(shù)器通道; 每個(gè)計(jì)數(shù)器均可按二進(jìn)制或十進(jìn)制計(jì)數(shù)每個(gè)計(jì)數(shù)器均可按二進(jìn)制或十進(jìn)制計(jì)數(shù)(BCD(BCD碼碼) ); 每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率最高達(dá)每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率最高達(dá)2.6MHz2.6MHz; 每個(gè)通道有每個(gè)通道有6 6種工作方式,可由程序設(shè)置和改變;種工作方式,可由程序設(shè)置和改變; 所有的輸入輸出都與所有的輸入輸出都與TTLTTL兼容。兼容。 28253 可編程定時(shí)可編程定時(shí)/

2、計(jì)數(shù)器計(jì)數(shù)器要點(diǎn):要點(diǎn):u計(jì)數(shù)初值是如何置入的計(jì)數(shù)初值是如何置入的?u計(jì)數(shù)是如何啟動(dòng)的?計(jì)數(shù)是如何啟動(dòng)的?u輸出是如何變化的?輸出是如何變化的? 3一、一、82538253工作原理工作原理1 1 三通道可編程三通道可編程1616位計(jì)數(shù)位計(jì)數(shù)/ /定時(shí)電路定時(shí)電路 處理脈沖信號(hào)1.1. 引腳及結(jié)構(gòu)引腳及結(jié)構(gòu) P265 P265 圖圖5.285.28、 P265 P265 圖圖5.295.292.2. 內(nèi)部寄存器的讀寫(內(nèi)部寄存器的讀寫(P266 P266 表表5.55.5) 4 58253的內(nèi)部結(jié)構(gòu)*三個(gè)計(jì)數(shù)器(減法器) 3個(gè)獨(dú)立的16位減法器,可作定時(shí)/計(jì)數(shù)器使用; 計(jì)數(shù)器按二/BCD方式減法

3、計(jì)數(shù),從預(yù)常減到零時(shí),OUT端輸出一信號(hào)。數(shù)據(jù)總線緩沖 器計(jì)數(shù)器0讀/寫邏輯控制字寄存器計(jì)數(shù)器1計(jì)數(shù)器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253內(nèi)部結(jié)構(gòu)內(nèi)部數(shù)據(jù)總線*數(shù)據(jù)總線緩沖器(傳送信息) 寫控制字, 寫計(jì)數(shù)初值, 讀計(jì)數(shù)值*讀寫邏輯*控制字寄存器(存放控制字) 6數(shù)據(jù)總線緩沖器計(jì)數(shù)器0讀/寫邏輯控制字寄存器計(jì)數(shù)器1計(jì)數(shù)器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253內(nèi)部結(jié)構(gòu)內(nèi)部數(shù)據(jù)總線8253 的引線* 數(shù)據(jù)線(D7D0)* 地址線:選擇內(nèi)部

4、寄 存器;* 控制線:完成片選和 讀寫操作。CLK:輸入脈沖線;GATE:門控信號(hào)輸入線; GATE=0 禁止計(jì)數(shù), GATE=1 允許工作;OUT:輸出引腳; 當(dāng)計(jì)數(shù)到“0”時(shí),OUT 端輸出一信號(hào)。 7 三個(gè)計(jì)數(shù)器各占一個(gè)地址,可讀可寫。三個(gè)計(jì)數(shù)器各占一個(gè)地址,可讀可寫。 三個(gè)控制寄存器共用一個(gè)地址三個(gè)控制寄存器共用一個(gè)地址(A(A1 1A A0 0=11)=11), 只寫。只寫。每個(gè)計(jì)數(shù)器要分別寫自己的控制字,用同一個(gè)地址,每個(gè)計(jì)數(shù)器要分別寫自己的控制字,用同一個(gè)地址,再根據(jù)控制字再根據(jù)控制字特征位特征位的不同取值,分別寫到各計(jì)數(shù)器的的不同取值,分別寫到各計(jì)數(shù)器的控制寄存器中控制寄存器中

5、 8CSRDWR A1A0寄存器選擇和操作01000寫入計(jì)數(shù)器 001001寫入計(jì)數(shù)器 101010寫入計(jì)數(shù)器 201011寫入控制寄存器00100讀計(jì)數(shù)器 000101讀計(jì)數(shù)器 100110讀計(jì)數(shù)器 200111無操作(三態(tài))1*禁止(三態(tài))82538253輸入信號(hào)組合的功能表輸入信號(hào)組合的功能表 916位讀出鎖存器16位減法計(jì)數(shù)器16位初值寄存器8位數(shù)據(jù)線I/O讀I/O寫置入鎖存(OUT指令)(IN指令) 101. 編程步驟 初始化編程: 寫控制字寫計(jì)數(shù)初值,可重復(fù)做。 工作編程: 寫控制字讀計(jì)數(shù)值,可重復(fù)做。2. 控制字 (CW) 功能:規(guī)定工作方式及操作類型 118253的控制字00

6、選擇計(jì)數(shù)器001 選擇計(jì)數(shù)器110 選擇計(jì)數(shù)器211 非法選擇0=二進(jìn)制1=BCD計(jì)數(shù)器讀/寫格式工作方式數(shù)制D0D1D2D3D4D5D6D7 在8253的初始化編程中,由CPU向8253的控制字寄存器寫入一個(gè)控制字來規(guī)定8253的工作方式。00 計(jì)數(shù)器鎖存命令10 只讀/寫最高有效字節(jié)(高八位)01 只讀/寫最低有效字節(jié)(低八位)11 先讀寫最低有效字節(jié)然后讀寫最高有效字節(jié)000 方式0001 方式1*10 方式2*11 方式3100 方式4101 方式5 12 CW的格式:P267 圖5.30最高兩位是寄存器號(hào),即最高兩位是寄存器號(hào),即特征位輔助尋址特征位輔助尋址讀計(jì)數(shù)值前讀計(jì)數(shù)值前壓縮壓

7、縮BCD碼碼寫完后的讀,默認(rèn)為讀寫完后的讀,默認(rèn)為讀16位,用兩條位,用兩條 IN 指令指令 13 指令只將計(jì)數(shù)初值寫到初值寄存器,靠指令只將計(jì)數(shù)初值寫到初值寄存器,靠硬硬件信號(hào)件信號(hào)從初值寄存器置入計(jì)數(shù)器從初值寄存器置入計(jì)數(shù)器, ,然后才做然后才做減法計(jì)數(shù)。減法計(jì)數(shù)。初值都是初值都是1616位,但可以只寫一字節(jié),缺省位,但可以只寫一字節(jié),缺省字節(jié)默認(rèn)為零字節(jié)默認(rèn)為零 計(jì)數(shù)范圍計(jì)數(shù)范圍 對(duì)于十六進(jìn)制為對(duì)于十六進(jìn)制為 1(FFFFH+1)1(FFFFH+1)對(duì)于十進(jìn)制為對(duì)于十進(jìn)制為 1(9999+1)1(9999+1)0 0表示表示最大值最大值十進(jìn)制計(jì)數(shù)初值偽裝成十六進(jìn)制輸入十進(jìn)制計(jì)數(shù)初值偽裝成

8、十六進(jìn)制輸入 14有有6 6種工作方式供選擇(方式種工作方式供選擇(方式0505)每種方式可從每種方式可從5 5方面分析:方面分析:?jiǎn)?dòng)方式啟動(dòng)方式 軟件軟件/ /硬件啟動(dòng),或兼有硬件啟動(dòng),或兼有輸出波形輸出波形 OUTOUT端的波形變化端的波形變化暫停方式暫停方式 GATEGATE變變0 0后計(jì)數(shù)是否暫停,后計(jì)數(shù)是否暫停, GATEGATE再次變?cè)俅巫? 1后計(jì)數(shù)怎樣繼續(xù)后計(jì)數(shù)怎樣繼續(xù)能否重復(fù)能否重復(fù) 計(jì)到計(jì)到0 0后能否自動(dòng)重新開始后能否自動(dòng)重新開始更新初值的效果更新初值的效果 計(jì)數(shù)未完又重寫計(jì)數(shù)計(jì)數(shù)未完又重寫計(jì)數(shù) 初值,新初值何時(shí)啟用。初值,新初值何時(shí)啟用。計(jì)數(shù)器工作方式一覽表計(jì)數(shù)器工作

9、方式一覽表 P272P272表表5.65.6 15P268圖5.31方式0的波形軟件啟動(dòng)、不自動(dòng)重復(fù)軟件啟動(dòng)、不自動(dòng)重復(fù)1N入計(jì)數(shù)器N入初始值寄存器1. 方式0* CW寫入,OUT=0;* 寫入初值,通道開始計(jì)數(shù);* 計(jì)數(shù)到零,OUT=1;* 計(jì)數(shù)器只計(jì)數(shù)一遍;* OUT是N+1個(gè)CLK后變高;* 計(jì)數(shù)過程中,GATE=0, 計(jì)數(shù)暫停;* 計(jì)數(shù)過程中可改變計(jì)數(shù)值;* 8253無中斷控制,可用OUT信號(hào)作為中斷請(qǐng)求。經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù) 16方式1(可編程單脈沖)* 寫入控制字OUT=1,寫入初值不計(jì)數(shù);*

10、 GATE啟動(dòng)計(jì)數(shù),OUT=0;* 計(jì)數(shù)到,OUT=1。*單拍脈沖寬度為N;*由GATE重新啟動(dòng);*計(jì)數(shù)中,可重新啟動(dòng);*計(jì)數(shù)中,可改變計(jì)數(shù)值,再次啟動(dòng)有效。P269圖5.33方式1的波形經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)上升沿啟動(dòng)N入計(jì)數(shù)器 17方式2(速率發(fā)生器)* 寫入控制字OUT=1;* 寫入初值,通道開始計(jì)數(shù);* 計(jì)數(shù)到1,OUT=0;* 一個(gè)CLK周期后,OUT=1,重新計(jì)數(shù)。* 通道連續(xù)工作不需重置初值;* 計(jì)數(shù)過程中,GATE=0,計(jì)數(shù)暫停,GATE變高后重新計(jì)數(shù);* 計(jì)數(shù)過程中可改變計(jì)數(shù)值;新的計(jì)數(shù)值

11、在下一次有效。P270圖5.34方式2的波形經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù) 18方式3(方波發(fā)生器)* 與方式2的區(qū)別在于:輸出為周期是N個(gè)CLK脈沖的方波。* 若計(jì)數(shù)值為偶數(shù),每個(gè)CLK使計(jì)數(shù)值減2,計(jì)到0,OUT改變狀態(tài),重裝計(jì)數(shù)值開始新的計(jì)數(shù)。*若計(jì)數(shù)值為奇數(shù),第一個(gè)脈沖先減1,以后,每個(gè)CLK使計(jì)數(shù)值減2,計(jì)到0 時(shí),OUT改變狀態(tài),重裝計(jì)數(shù)值后,第一個(gè)脈沖減3,以后,每個(gè)CLK使計(jì)數(shù)值減2,計(jì)到0時(shí),OUT改變狀態(tài)。*GATE信號(hào)控制計(jì)數(shù)過程;*計(jì)數(shù)過程中寫入新的計(jì)數(shù)值將在半周期結(jié)束時(shí)裝入計(jì)數(shù)器。P270

12、 圖5.35 方式3的波形經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù) 19例:要求計(jì)數(shù)器0工作于方式3,輸出方波的頻率為2KHz,計(jì)數(shù)脈沖的頻率為2.5MHz,采用BCD計(jì)數(shù),試寫出初始化程序段。2. 初值計(jì)算:N = 2.5MHz/2KHz=1250MOV AL,37HOUT 83H,ALMOV AL,50HOUT 80H,ALMOV AL,12HOUT 80H,AL1. 8253的端口地址為:80H,81H,82H,83H。000111113. 8253的方式控制字為: 計(jì)數(shù)器計(jì)數(shù)器 0 0;先寫低再寫高;方式;先寫低再寫

13、高;方式3 3;十進(jìn)制;十進(jìn)制4. 初始化程序段: 20方式4(軟件觸發(fā)選通)* 寫入控制字OUT=1;* 寫入初值,通道開始計(jì)數(shù);* 計(jì)數(shù)到0,OUT=0;* 一個(gè)CLK周期后,OUT=1,計(jì)數(shù)器停止計(jì)數(shù)。* 計(jì)數(shù)器只計(jì)數(shù)一遍;* OUT是N+1個(gè)CLK后變低;* 計(jì)數(shù)過程中, GATE=0, 計(jì)數(shù)暫停;* 若在計(jì)數(shù)過程中,改變計(jì)數(shù)值,則按新的計(jì)數(shù)值重新開始計(jì)數(shù)。P271 圖5.35 方式4的波形經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù) 21方式5(硬件觸發(fā)選通)* 寫入控制字OUT=1;* 寫入初值后,由GATE的上升沿

14、啟動(dòng)計(jì)數(shù);* 計(jì)數(shù)到0,OUT=0;* 一個(gè)CLK周期后,OUT=1,計(jì)數(shù)器停止計(jì)數(shù)。* 計(jì)數(shù)器只計(jì)數(shù)一次;* OUT是N+1個(gè)CLK后變低;* 在 計(jì)數(shù)過程中出現(xiàn)的GATE脈沖, 將使 計(jì)數(shù)器重新開始計(jì)數(shù),對(duì)輸出狀態(tài)沒有影響;* 若在計(jì)數(shù)過程中改變計(jì)數(shù)值,只要沒有GATE信號(hào)觸發(fā),不影響計(jì)數(shù)過程。有新的GATE信號(hào)觸發(fā)則按新的計(jì)數(shù)值開始計(jì)數(shù)。上升沿啟動(dòng)N入計(jì)數(shù)器P271圖5.37 方式5的波形經(jīng)過經(jīng)過CLK的一個(gè)上升邊沿和一個(gè)的一個(gè)上升邊沿和一個(gè)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù)下降邊沿,初值進(jìn)入計(jì)數(shù)器計(jì)數(shù) 228253工作方式小結(jié)1. 輸出端OUT的初始狀態(tài) 只有方式0是在寫入控制字后輸出為低,

15、其它均為高;2. 計(jì)數(shù)值的設(shè)置 任一種方式,只有在寫入計(jì)數(shù)值后才能開始計(jì)數(shù),方式0、2、3、4在寫入計(jì)數(shù)值后,計(jì)數(shù)自動(dòng)開始,方式1、5需外部觸發(fā),才開始計(jì)數(shù)。 23計(jì)數(shù)值N與輸出波形的關(guān)系方式功能N與輸出波形的關(guān)系0計(jì)完最后一個(gè)數(shù)中斷 寫入計(jì)數(shù)值N后,經(jīng)過N+1 個(gè)CLK脈沖輸出變高1硬件再觸發(fā)單拍脈沖 單拍負(fù)脈沖的寬度為N個(gè)CLK脈沖2速率發(fā)生器 N個(gè)CLK脈沖,輸出寬度為一個(gè)CLK周期的負(fù)脈沖3方波速率發(fā)生器寫入N后,輸出N /2 個(gè)CLK高電平,N /2 個(gè)CLK低電平(N為偶數(shù)) ; (N+1)/2 個(gè) CLK 高電平, (N-1)/2 個(gè) CLK 低電平(N為奇數(shù))4軟件觸發(fā)選通 寫

16、入N后,過N+1 個(gè)CLK,輸出寬度為一個(gè)CLK的負(fù)脈沖5硬件觸發(fā)選通 門控觸發(fā)后過N+1 個(gè)CLK,輸出寬度為一個(gè)CLK的負(fù)脈沖 243. 門控信號(hào)的作用-GATE輸入總是在CLK輸入時(shí)鐘的上升沿被采樣。在方式0,2,3,4中,GATE輸入是電平起作用。在方式1,2,3,5中 GATE輸入是上升沿起作用的。GATE方式功 能低或變?yōu)榈蜕仙馗?計(jì)完最后一個(gè)數(shù)中斷禁止計(jì)數(shù)_允許計(jì)數(shù)1硬件再觸發(fā)單拍脈沖-啟動(dòng)計(jì)數(shù)下一個(gè) CLK 脈沖使輸出變低-2速率發(fā)生器禁止計(jì)數(shù)立即使輸出為高重新裝入計(jì)數(shù)值啟動(dòng)計(jì)數(shù)允許計(jì)數(shù)3方波速率發(fā)生器禁止計(jì)數(shù)立即使輸出為高啟動(dòng)計(jì)數(shù)允許計(jì)數(shù)4軟件觸發(fā)選通禁止計(jì)數(shù)-允許計(jì)數(shù)5硬

17、件觸發(fā)選通-啟動(dòng)計(jì)數(shù)- 25方式功能 改變計(jì)數(shù)值0計(jì)完最后一個(gè)數(shù)中斷立即有效1硬件再觸發(fā)單拍脈沖外部觸發(fā)后有效2速率發(fā)生器計(jì)數(shù)到 1 后有效3方波速率發(fā)生器外部觸發(fā)后有效計(jì)數(shù)到 0 后有效4軟件觸發(fā)選通立即有效5硬件觸發(fā)選通外部觸發(fā)后有效4. 在計(jì)數(shù)過程中改變計(jì)數(shù)值立即有效是寫入計(jì)數(shù)值后的下一個(gè)CLK脈沖后,新的計(jì)數(shù)值開始起作用。5.計(jì)數(shù)到0后計(jì)數(shù)器的狀態(tài)計(jì)數(shù)器減到0后并不停止,在方式0,1,4,5,計(jì)數(shù)器減到0后從FFFF/9999繼續(xù)計(jì)數(shù)。方式2,3是連續(xù)計(jì)數(shù),計(jì)數(shù)器自動(dòng)裝入計(jì)數(shù)值后,繼續(xù)計(jì)數(shù)。 268253 的編程8253-PIT8253-PIT初始化編程的步驟:初始化編程的步驟:1.寫入通道控制字,規(guī)定通道的工作方式;(A1A0=11)2. 寫入計(jì)數(shù)值(由控制字的D7D6確定通道號(hào))。若規(guī)定只寫入低8位,則寫入的為計(jì)數(shù)值的低8位,高8位自動(dòng)置0;若規(guī)定只寫入高8位,則寫入的為計(jì)數(shù)值的高8位,低8位自動(dòng)置0;若是16位計(jì)數(shù)值,則分兩次寫入,先寫入低8位,再寫入高8位。 271 1、連接、連接通道通道0 0 日時(shí)鐘,即提到的日時(shí)鐘,即提到的55ms55ms定時(shí)定時(shí) (18.218.2次次/ /秒)秒) (方式(方式3 3)通道通道1 1 動(dòng)態(tài)存儲(chǔ)器刷新動(dòng)態(tài)存儲(chǔ)器刷新 (方式(方式2 2)通道通

溫馨提示

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