微機原理、匯編語言及接口技術(shù):第8章:定時計算控制接口_第1頁
微機原理、匯編語言及接口技術(shù):第8章:定時計算控制接口_第2頁
微機原理、匯編語言及接口技術(shù):第8章:定時計算控制接口_第3頁
微機原理、匯編語言及接口技術(shù):第8章:定時計算控制接口_第4頁
微機原理、匯編語言及接口技術(shù):第8章:定時計算控制接口_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章第8章:定時計數(shù)控制接口

8253的引腳和六種工作方式

8253的編程

8253在IBMPC系列機上的應(yīng)用教學(xué)重點定時器和計數(shù)器定時控制在微機系統(tǒng)中具有極為重要的作用,計數(shù)是許多過程控制領(lǐng)域常用的功能它們都是由數(shù)字電路中的計數(shù)電路構(gòu)成定時器由數(shù)字電路中的計數(shù)電路構(gòu)成,通過記錄高精度晶振脈沖信號的個數(shù),輸出準確的時間間隔計數(shù)電路如果記錄外設(shè)提供的具有一定隨機性的脈沖信號時,它主要反映脈沖的個數(shù)(進而獲知外設(shè)的某種狀態(tài)),常又稱為計數(shù)器定時功能的實現(xiàn)方法軟件延時利用微處理器執(zhí)行一個延時程序段實現(xiàn)不用硬件,但占用CPU時間、定時精度不高,隨系統(tǒng)時鐘頻率改變不可編程的硬件定時采用分頻器、單穩(wěn)電路或簡易定時電路控制定時時間定時電路簡單、定時時間可以在一定范圍改變可編程的硬件定時軟件硬件相結(jié)合、用可編程定時器芯片構(gòu)成一個方便靈活的定時電路具有多種工作方式、能夠輸出多種控制信號8.18253/8254定時計數(shù)器3個獨立的16位計數(shù)器通道每個計數(shù)器有6種工作方式按二進制或十進制(BCD碼)計數(shù)8254是8253的改進型8.1.18253/8254的內(nèi)部結(jié)構(gòu)和引腳D7~D0計數(shù)器0控制字寄存器計數(shù)器1計數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21.計數(shù)器預(yù)置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器計數(shù)初值存于預(yù)置寄存器;在計數(shù)過程中,減法計數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫入鎖存命令時,鎖定當前計數(shù)值計數(shù)器的3個引腳CLK時鐘輸入信號在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減1GATE門控輸入信號控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUT計數(shù)器輸出信號當一次計數(shù)過程結(jié)束(計數(shù)值減為0),OUT引腳上將產(chǎn)生一個輸出信號2.與處理器接口D0~D7數(shù)據(jù)線A0~A1地址線CS*片選信號RD*讀信號WR*寫信號CS*A1A0I/O地址讀操作RD*寫操作WR*00000101001140H41H42H43H讀計數(shù)器0讀計數(shù)器1讀計數(shù)器2無操作寫計數(shù)器0寫計數(shù)器1寫計數(shù)器2寫控制字8.1.28253/8254的工作方式8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據(jù)實際應(yīng)用問題,選擇正確的工作方式每種工作方式的過程類似:⑴設(shè)定工作方式⑵設(shè)定計數(shù)初值〔⑶硬件啟動〕⑷計數(shù)初值進入減1計數(shù)器⑸每輸入一個時鐘計數(shù)器減1的計數(shù)過程⑹計數(shù)過程結(jié)束方式0:計數(shù)結(jié)束中斷①②⑤④⑥GATEOUTCLK

031244方式0WR①設(shè)定工作方式②設(shè)定計數(shù)初值④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束方式1:可編程單穩(wěn)脈沖①②⑤④⑥①設(shè)定工作方式②設(shè)定計數(shù)初值③③硬件啟動④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束GATEOUTCLK

031244方式1WR方式2:頻率發(fā)生器(分頻器)03124GATEOUTCLK

4方式2031240312403124WR方式3:方波發(fā)生器03124GATEOUTCLK

4方式3031240312403124WR方式4:軟件觸發(fā)選通信號GATEOUTCLK031244方式42233310WR方式5:硬件觸發(fā)選通信號GATEOUTCLK031244方式522333110WR各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2

N/20/N0N01N01N01討論:計數(shù)開始的時刻8.1.38253/8254的編程8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫入控制字寫入計數(shù)初值讀取計數(shù)值D7D6D5D4D3D2D1D01.寫入方式控制字計數(shù)器讀寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000計數(shù)器001計數(shù)器110計數(shù)器211非法00計數(shù)器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進制1十進制控制字寫入控制字I/O地址(A1A0=11)示例2.寫入計數(shù)值選擇二進制時計數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進制(BCD碼)計數(shù)值范圍:0000~99990000代表最大值10000計數(shù)值寫入計數(shù)器各自的I/O地址示例3.讀取計數(shù)值對8位數(shù)據(jù)線,讀取16位計數(shù)值需分兩次計數(shù)在不斷進行,應(yīng)該將當前計數(shù)值先行鎖存,然后讀取:向控制字I/O地址:給8253寫入鎖存命令從計數(shù)器I/O地址:讀取鎖存的計數(shù)值讀取計數(shù)值,要注意讀寫格式和計數(shù)數(shù)制8.28253在IBMPC系列機上的應(yīng)用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至揚聲器驅(qū)動器PB0PB1IRQ0DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS8.2.1定時中斷和定時刷新從閱讀初始化程序段看計數(shù)器0作為定時中斷的作用將計數(shù)器1作為定時刷新看如何編寫初始化程序段計數(shù)器0:初始化程序moval,36h

;36H=00110110B;計數(shù)器0為方式3,采用二進制計數(shù);先低后高寫入計數(shù)值out43h,al

;寫入方式控制字moval,0

;計數(shù)值為0out40h,al

;寫入低字節(jié)計數(shù)值out40h,al

;寫入高字節(jié)計數(shù)值計數(shù)器0:定時中斷計數(shù)器0:方式3,計數(shù)值:65536,輸出頻率為1.19318MHz÷65536=18.206Hz的方波門控為常啟狀態(tài),這個方波信號不斷產(chǎn)生OUT0端接8259A的IRQ0,用作中斷請求信號每秒產(chǎn)生18.206次中斷請求,或說每隔55ms(54.925493ms)申請一次中斷DOS系統(tǒng)利用計數(shù)器0的這個特點,通過08號中斷服務(wù)程序?qū)崿F(xiàn)了日時鐘計時功能計數(shù)器1:定時刷新需要重復(fù)不斷提出刷新請求門控總為高,選擇方式2或32ms內(nèi)刷新128次,即15.6s刷新一次計數(shù)初值為18計數(shù)器1:初始化程序moval,54h

;54H=01010100B;計數(shù)器1為方式2,采用二進制計數(shù);只寫低8位計數(shù)值out43h,al

;寫入方式控制字moval,18

;計數(shù)初值為18out41h,al

;寫入計數(shù)值8.2.2揚聲器控制計數(shù)器2的輸出控制揚聲器的發(fā)聲音調(diào)計數(shù)器2只能工作在方式3,才能輸出一定頻率的方波,經(jīng)濾波后得到近似的正弦波,進而推動揚聲器發(fā)聲揚聲器還受控于并行接口(8255芯片)必須使PB0和PB1同時為高電平,揚聲器才能發(fā)出預(yù)先設(shè)定頻率的聲音發(fā)音頻率設(shè)置子程序;入口參數(shù)AX=1.19318×106÷發(fā)音頻率speaker proc pushax

moval,0b6h ;b6h=10110110b

out43h,al

;寫入控制字

popax

out42h,al

;寫入低8位計數(shù)值

mov

al,ah

out42h,al

;寫入高8位計數(shù)值

retspeaker endp揚聲器開子程序speakon proc pushax

inal,61h ;PB端口的地址為61H

oral,03h;D1D0=PB1PB0=11B,其他位不變

out61h,al

popax retspeakon

endp揚聲器關(guān)子程序speakoff proc pushax

inal,61h ;PB端口為61H

andal,0fch;D1D0=PB1PB0=00B,其他位不變

out61h,al

popax retspeakoff

endp例8.1揚聲器聲音的控制 ;數(shù)據(jù)段freq dw1193180/600

;代碼段

mov

ax,freq callspeaker

;設(shè)置揚聲器音調(diào)

callspeakon

;打開揚聲器聲音

movah,1

;等待按鍵

int21h

;按鍵后

callspeakoff

;關(guān)閉揚聲器聲音8.2.3可編程硬件延時利用日時鐘每隔55ms中斷一次不變的特點,可以編寫一段不隨系統(tǒng)時鐘頻率變化的固定延時程序由于日時鐘中斷的時間單位是55ms,所以無法實現(xiàn)更短時間的延時這時只有利用實時時鐘中斷,不過它的最短延時約是1ms(976s)日時鐘功能調(diào)用

;延時開始

movah,0

int1ah adddx,90 ;加5秒(5×18=90)

mov

bx,dx

;期望值送bxrepeat: int1ah ;再讀日時鐘

cmp

bx,dx

;與期望值比較

jnerepeat ;不等,則循環(huán)

…… ;相等,延時結(jié)束實時時鐘功能調(diào)用

;延時開始

movcx,0

movdx,1952

;延時1.952ms=2×976

s

movah,86h

int15h

;功能調(diào)用返回時,定時時間到8.3擴充定時計數(shù)器的應(yīng)用:例8.2外部事件的計數(shù)A0A1———A0—A1外部事件產(chǎn)生源8253OUT0GATE0CLK0200~207HIRQD0~D7D0~D7譯碼電路AENA3~A9+5VCSIORIOWRDWR例8.2外部事件的計數(shù)movdx,203h

;設(shè)置方式控制字moval,10houtdx,al

movdx,200h

;設(shè)置計數(shù)初值moval,64h

;計數(shù)初值為100outdx,al輸出:明確向哪個端口輸出什么數(shù)據(jù)輸入:清楚從哪個端口輸入什么數(shù)據(jù)8.3擴充定時計數(shù)器的應(yīng)用:例8.3可編程采樣信號8253OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2啟動轉(zhuǎn)換時鐘頻率F+5V計數(shù)值cnt0cnt1cnt2A0A1A1A2200H~207HCS例8.3可編程采樣信號:計數(shù)器0初始化moval,14hmovdx,206houtdx,almoval,cnt0movdx,200houtdx,al例8.3可編程采樣信號:計數(shù)器1初始化moval,52hmovdx,206houtdx,almoval,cnt1movdx,202houtdx,al例8.3可編程采樣信號:計數(shù)器2初始化moval,96hmovdx,206houtdx,almoval,cnt4movdx,204houtdx,al第8章教學(xué)要求1.掌握8253引腳,尤其是CLK、OUT、GATE引腳的功能2.掌握8253的六種工作方式、編程和在IBMPC系列機上的應(yīng)用習(xí)題8(第188頁)——

8.28.68.7

作業(yè)8.38.48.5計數(shù)開始的時刻需要注意:處理器寫入8253的計數(shù)初值只是寫入了預(yù)置寄存器,之后到來的第一個CLK輸入脈沖(需先由低電平變高,再由高變低)才將預(yù)置寄存器的初值送到減1計數(shù)器。從第二個CLK信號的下降沿,計數(shù)器才真正開始減1計數(shù)。出處:教材第178頁實驗:計數(shù)開始的時刻實驗結(jié)果1感謝山西省太原理工大學(xué)常曉明教授提供實驗結(jié)果計數(shù)開始實驗結(jié)果2感謝山西省太原理工大學(xué)常曉明教授提供實驗結(jié)果計數(shù)開始問題討論通過本例,請大家思考理論(原理)與實踐(工程)的關(guān)系體會教學(xué)實踐環(huán)節(jié)(上機、實驗)的重要性同時,還請大家注意大學(xué)的常規(guī)教學(xué)側(cè)重理論(原理)的掌握大家

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論