定時(shí)計(jì)數(shù)器接口_第1頁(yè)
定時(shí)計(jì)數(shù)器接口_第2頁(yè)
定時(shí)計(jì)數(shù)器接口_第3頁(yè)
定時(shí)計(jì)數(shù)器接口_第4頁(yè)
定時(shí)計(jì)數(shù)器接口_第5頁(yè)
已閱讀5頁(yè),還剩42頁(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)介

第8章第3節(jié)第8章第3節(jié):定時(shí)計(jì)數(shù)控制接口

8253的引腳和六種工作方式

8253的編程

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

031244方式0WR①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過(guò)程⑥計(jì)數(shù)結(jié)束第8章第3節(jié):方式1:可編程單穩(wěn)脈沖①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值③硬件啟動(dòng)④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過(guò)程⑥計(jì)數(shù)結(jié)束GATEOUT①②⑤④⑥③CLK

031244方式1WR第8章第3節(jié):方式2:頻率發(fā)生器(分頻器)03124GATEOUTCLK

4方式2031240312403124WR第8章第3節(jié):方式3:方波發(fā)生器03124GATEOUTCLK

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

N/20/N0N01N01N01討論:計(jì)數(shù)開(kāi)始的時(shí)刻第8章第3節(jié):8.1.38253/8254的編程8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫(xiě)入控制字寫(xiě)入計(jì)數(shù)初值讀取計(jì)數(shù)值D7D6D5D4D3D2D1D0第8章第3節(jié):1.寫(xiě)入方式控制字計(jì)數(shù)器讀寫(xiě)格式工作方式數(shù)制D7D6D5D4D3D2D1D000計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211非法00計(jì)數(shù)器鎖存命令01只讀寫(xiě)低字節(jié)10只讀寫(xiě)高字節(jié)11先讀寫(xiě)低字節(jié)后讀寫(xiě)高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進(jìn)制1十進(jìn)制控制字寫(xiě)入控制字I/O地址(A1A0=11)示例第8章第3節(jié):2.寫(xiě)入計(jì)數(shù)值選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進(jìn)制(BCD碼)計(jì)數(shù)值范圍:0000~99990000代表最大值10000計(jì)數(shù)值寫(xiě)入計(jì)數(shù)器各自的I/O地址示例初始化舉例寫(xiě)出8253的初始化程序段,口址為40H,42H,44H,46H,設(shè)計(jì)數(shù)器0:初值=4000H,方式3

計(jì)數(shù)器1:初值=18H,方式2

計(jì)數(shù)器2:初值=4612H,方式3均為二進(jìn)制

MOVAL,26H OUT46H,AL MOVAL,40H OUT40H,AL MOVAL,54H OUT46H,AL MOVAL,18H OUT42H,AL

MOVAL,0B6H OUT46H,AL MOVAL,12H OUT44H,AL MOVAL,46H OUT44H,AL第8章第3節(jié):3.讀取計(jì)數(shù)值對(duì)8位數(shù)據(jù)線,讀取16位計(jì)數(shù)值需分兩次計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀?。合蚩刂谱諭/O地址:給8253寫(xiě)入鎖存命令從計(jì)數(shù)器I/O地址:讀取鎖存的計(jì)數(shù)值讀取計(jì)數(shù)值,要注意讀寫(xiě)格式和計(jì)數(shù)數(shù)制例讀計(jì)數(shù)器2的當(dāng)前計(jì)數(shù)值,并檢查是否為全“1”,設(shè)計(jì)數(shù)初值只有低8位,端口地址為60H~66HKEEP:MOVAL,80H OUT66H,AL INAL,64H CMPAL,0FFH JNEKEEP HLT例:用8253為A/D子系統(tǒng)提供可編程的采樣信號(hào)(*)計(jì)數(shù)器0工作在模式2(分頻器),初值=L計(jì)數(shù)器1工作在模式1(單脈沖),初值=M計(jì)數(shù)器2工作在模式3(方波),初值=N設(shè)時(shí)鐘頻率=FA/D轉(zhuǎn)換器的頻率是多少?每次啟動(dòng)轉(zhuǎn)換后能夠持續(xù)的時(shí)間是多少?例:8253定時(shí)功能的應(yīng)用8253的端口地址為308H,30AH,30CH,30EH,3個(gè)通道使用同一個(gè)輸入時(shí)鐘,頻率=2MHZ,要求如下:用計(jì)數(shù)器0采用硬件觸發(fā),輸出寬度=時(shí)鐘周期的單脈沖,定時(shí)常數(shù)為36用計(jì)數(shù)器1輸出頻率為2KHZ的對(duì)稱方波用計(jì)數(shù)器2產(chǎn)生寬度為0.6ms的單脈沖硬件電路設(shè)計(jì)(*)初始化編程CLK0=CLK1=CLK2=2MHZ,時(shí)鐘周期T=1/f=0.5微秒計(jì)數(shù)器0:方式5,計(jì)數(shù)系數(shù)=36,BCD計(jì)數(shù)

00011011=1BH計(jì)數(shù)器1:方式3,BCD計(jì)數(shù)計(jì)數(shù)常數(shù)=2MHZ/2KHZ=100001110111=77H計(jì)數(shù)器2:方式1,計(jì)數(shù)常數(shù)=0.6毫秒/0.5微秒=120010110011=B3H,BCD計(jì)數(shù)

MOVDX,30EH MOVAL,1BH OUTDX,AL MOVDX,308H MOVAL,36H OUTDX,AL;通道0初始化

MOVDX,30EH MOVAL,77H OUTDX,AL

MOVDX,30AH MOVAL,00H OUTDX,AL MOVAL,10H OUTDX,AL;通道1初始化

MOVDX,30EH MOVAL,0B3H OUTDX,AL MOVDX,30CH MOVAL,00H OUTDX,AL MOVAL,12H OUTDX,AL;通道2初始化例:8253計(jì)數(shù)功能的應(yīng)用某8086系統(tǒng)中有一片8253芯片,用通道2對(duì)外部事件計(jì)數(shù),計(jì)滿360次經(jīng)8259的IR1向CPU發(fā)出中斷申請(qǐng)信號(hào)。計(jì)數(shù)器2的口址為05CH,控制口為05EH360=168H,用二進(jìn)制計(jì)數(shù)

MOVAL,0B0H OUT5EH,AL MOVAL,68H OUT5CH,AL MOVAL,01H OUT5CH,AL第8章第3節(jié):8.28253在IBMPC系列機(jī)上的應(yīng)用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至揚(yáng)聲器驅(qū)動(dòng)器PB0PB1IRQ0DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS第8章第3節(jié):8.2.1定時(shí)中斷和定時(shí)刷新從閱讀初始化程序段看計(jì)數(shù)器0作為定時(shí)中斷的作用將計(jì)數(shù)器1作為定時(shí)刷新看如何編寫(xiě)初始化程序段第8章第3節(jié):計(jì)數(shù)器0:初始化程序moval,36h

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

;寫(xiě)入方式控制字moval,0

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

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

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

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

;寫(xiě)入方式控制字moval,18

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

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

moval,0b6h ;b6h=10110110b

out43h,al

;寫(xiě)入控制字

popax

out42h,al

;寫(xiě)入低8位計(jì)數(shù)值

mov

al,ah

out42h,al

;寫(xiě)入高8位計(jì)數(shù)值

retspeaker endp第8章第3節(jié):揚(yáng)聲器開(kāi)子程序speakon proc pushax

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

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

out61h,al

popax retspeakon

endp第8章第3節(jié):揚(yáng)聲器關(guān)子程序speakoff proc pushax

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

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

out61h,al

popax retspeakoff

endp第8章第3節(jié):例題8.1揚(yáng)聲器聲音的控制 ;數(shù)據(jù)段freq dw1193180/600

;代碼段

mov

ax,freq callspeaker

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

callspeakon

;打開(kāi)揚(yáng)聲器聲音

movah,1

;等待按鍵

int21h

;按鍵后

callspeakoff

;關(guān)閉揚(yáng)聲器聲音第8章第3節(jié):8.2.3可編程硬件延時(shí)利用日時(shí)鐘每隔55ms中斷一次不變的特點(diǎn),可以編寫(xiě)一段不隨系統(tǒng)時(shí)鐘頻率變化的固定延時(shí)程序由于日時(shí)鐘中斷的時(shí)間單位是55ms,所以無(wú)法實(shí)現(xiàn)更短時(shí)間的延時(shí)這時(shí)只有利用實(shí)時(shí)時(shí)鐘中斷,不過(guò)它的最短延時(shí)約是1ms(976s)第8章第3節(jié):8.3擴(kuò)充定時(shí)計(jì)數(shù)器的應(yīng)用A0A1———A0—A1外部事件產(chǎn)生源8253OUT0GATE0CLK0200~207HIRQD0~D7D0~D7譯碼電路AENA3~A9+5VCSIORIOWRDWR第8章第3節(jié):例題8.2外部事件的計(jì)數(shù)movdx,203h

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

movdx,200h

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

;計(jì)數(shù)初值為100outdx,al輸出:明確向哪個(gè)端口輸出什么數(shù)據(jù)輸入:清楚從哪個(gè)端口輸入什么數(shù)據(jù)第8章第3節(jié):第8章第3節(jié)教學(xué)要求1.掌握8253引腳,尤其是CLK、OUT、GATE引腳的功能2.掌握8253的六種工作方式、編程和在IBMPC系列機(jī)上的應(yīng)用習(xí)題8(第203頁(yè))——

8.1~8.38.4⑴⑵⑶8.58.6計(jì)數(shù)開(kāi)始的時(shí)刻需要注意:處理器寫(xiě)入8253的計(jì)數(shù)初值只是寫(xiě)入了預(yù)置寄存器,之后到來(lái)的第一個(gè)CLK輸入脈沖(需先由低電平變高,再由高變低)才將預(yù)置寄存器的初值送到減1計(jì)數(shù)器。從第二個(gè)CLK信號(hào)的下降沿,計(jì)數(shù)器才真正開(kāi)始減1計(jì)數(shù)。實(shí)驗(yàn):計(jì)數(shù)開(kāi)始的時(shí)刻實(shí)驗(yàn)結(jié)果1感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果

溫馨提示

  • 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)論