![可編程定時計數(shù)器課件_第1頁](http://file4.renrendoc.com/view/a13ea0c97d7f7e0bbc4a013e859f0c38/a13ea0c97d7f7e0bbc4a013e859f0c381.gif)
![可編程定時計數(shù)器課件_第2頁](http://file4.renrendoc.com/view/a13ea0c97d7f7e0bbc4a013e859f0c38/a13ea0c97d7f7e0bbc4a013e859f0c382.gif)
![可編程定時計數(shù)器課件_第3頁](http://file4.renrendoc.com/view/a13ea0c97d7f7e0bbc4a013e859f0c38/a13ea0c97d7f7e0bbc4a013e859f0c383.gif)
![可編程定時計數(shù)器課件_第4頁](http://file4.renrendoc.com/view/a13ea0c97d7f7e0bbc4a013e859f0c38/a13ea0c97d7f7e0bbc4a013e859f0c384.gif)
![可編程定時計數(shù)器課件_第5頁](http://file4.renrendoc.com/view/a13ea0c97d7f7e0bbc4a013e859f0c38/a13ea0c97d7f7e0bbc4a013e859f0c385.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第11章可編程定時計數(shù)器11.1可編程定時計數(shù)器82C54的特點11.282C54的工作方式11.3定時計數(shù)器的應(yīng)用2023/7/23111.1可編程定時計數(shù)器82C54的特點11.1.0定時與計數(shù)的基本概念11.1.182C54的組成和工作原理11.1.3計數(shù)初值11.1.282C54的控制字和狀態(tài)字2023/7/23211.1.0定時與計數(shù)的基本概念定時日常生活:日時鐘、實時鐘。微機系統(tǒng):系統(tǒng)時鐘、DRAM刷新定時、周期性控制信號。定時與計數(shù)的關(guān)系相同點由數(shù)字電路中的計數(shù)電路構(gòu)成;定時就是采用時間單位進行計數(shù)。不同點定時是對固定頻率的脈沖信號進行計數(shù);計數(shù)是對隨機性的脈沖信號進行計數(shù)。2023/7/233微機系統(tǒng)中的定時內(nèi)部定時:CPU(主機)本身工作的控制時序,如時鐘周期;由硬件結(jié)構(gòu)確定,微機中所有操作都要嚴格按照此節(jié)拍來完成,是固定的,無法更改的。一般為ns(納秒)級;外部定時:外設(shè)工作時,所需要的時序關(guān)系;實時監(jiān)控系統(tǒng)的定時中斷、定時監(jiān)測、定時掃描等;對I/O設(shè)備運行速度和工作頻率的調(diào)整和控制;一般定時為ms(毫秒)級;2023/7/234外部定時方法(1/2)軟件定時:定時方法:通過CPU執(zhí)行一段循環(huán)程序,而產(chǎn)生等待延時;需要按延時的時間來計算時間常數(shù)。優(yōu)點:節(jié)省硬件成本;缺點:占用CPU的時間,降低了CPU的工作效率;軟件延時的時間隨主機頻率不同而發(fā)生變化,通用性差。適用于短時間或不頻繁發(fā)生延時的簡單系統(tǒng)。2023/7/235延時程序:
…………MOVDX,
0FFFFH
AGAIN:
MOVCX,DXWAIT:NOPLOOPWAITDECDXJNZAGAIN…………也可單獨作為一延時程序,延時時間較短延時常數(shù)決定于:需要的延時時間、系統(tǒng)主頻、指令的執(zhí)行時間延時常數(shù)2023/7/236外部定時方法(2/2)硬件定時:方法:采用可編程定時/計數(shù)器或單穩(wěn)延時電路產(chǎn)生定時或延時。特點:不占用CPU時間,提高了CPU的利用率;可以產(chǎn)生精確的時間時隔,形成各種脈沖序列,靈活性強;定時不受主機頻率影響,定時程序通用性強。可用于各種定時計數(shù)場合。2023/7/23711.1.182C54的組成和工作原理82C54A芯片的工作特點82C54A芯片的外部引腳特性82C54A的內(nèi)部結(jié)構(gòu)2023/7/238一、82C54A芯片的工作特點每片82C54A上都有3個獨立的16位的計數(shù)通道;最大可計數(shù)值為216=65536;每個通道計數(shù)均可編程設(shè)置為二進制或BCD碼計數(shù);BCD碼計數(shù)即十進制計數(shù);每個計數(shù)通道都有6種工作方式,可以編程選擇;每種工作方式的輸出波形、觸發(fā)方式等不同;計數(shù)通道都是減法計數(shù)器;計數(shù)/定時啟動之前需要設(shè)置計數(shù)初值/定時常數(shù);2023/7/239二、82C54A芯片的外部引腳特性數(shù)據(jù)總線片選及讀寫控制信號片內(nèi)端口選通信號計數(shù)通道0的輸入、輸出信號計數(shù)通道1的輸入、輸出信號計數(shù)通道2的輸入、輸出信號2023/7/2310計數(shù)通道的外部信號時鐘輸入信號CLK定時計數(shù)時,每經(jīng)過一個脈沖,計數(shù)值減1;門控輸入信號GATE用于控制計數(shù)的啟停;可有開關(guān)作用和觸發(fā)作用;計數(shù)器輸出信號OUT各種波形輸出端;可供CPU檢測狀態(tài),也可用于提供請求信號。2023/7/2311定時/計數(shù)器的讀寫操作類型2023/7/2312三、82C54A的內(nèi)部邏輯結(jié)構(gòu)數(shù)據(jù)總線緩沖器:三態(tài)雙向8位寄存器;82C54A與CPU之間數(shù)據(jù)交換的部件;讀/寫控制邏輯:接收CPU有關(guān)控制信號,決定操作對象及類型??刂谱旨拇嫫鳎航邮誄PU發(fā)出的控制字,決定各計數(shù)器的工作方式;三個計數(shù)通道共用一個命令端口區(qū)分該芯片內(nèi)部的端口類型!計數(shù)通道為數(shù)據(jù)端口,每個計數(shù)通道分別占用一個端口地址;(計數(shù)通道0—304H、計數(shù)通道1—305H、計數(shù)通道2—306H)控制字寄存器為命令端口,占用一個端口地址(307H);無狀態(tài)端口。2023/7/2313計數(shù)通道的內(nèi)部結(jié)構(gòu)存放CPU發(fā)出的計數(shù)初值,在計數(shù)過程中不發(fā)生變化;用于自動重裝計數(shù)初值。鎖存當前的計數(shù)值,以供CPU讀取。裝入計數(shù)初值,每個計數(shù)脈沖到來時執(zhí)行減1操作。時鐘脈沖輸入端控制輸入端,對計數(shù)操作起開關(guān)作用或觸發(fā)作用輸出端,其輸出波形由操作方式?jīng)Q定注意CPU對計數(shù)器內(nèi)部部件的可訪問性!16位當前計數(shù)值鎖存器 —— 只讀16位減1計數(shù)器 —— 不可訪問16位計數(shù)初值寄存器 —— 可讀寫2023/7/231411.1.3計數(shù)初值82C54芯片的初始化步驟:按照命令字格式寫出滿足當前操作的命令字,使用I/O指令將其寫入命令端口;寫入命令字后,計數(shù)初值寄存器清零;確定計數(shù)初值(定時常數(shù)),使用I/O指令將初始值裝入指定計數(shù)通道的初值寄存器。計數(shù)初值會通過初值寄存器送入減1計數(shù)器;當計數(shù)條件滿足時,減1計數(shù)器即開始定時/計數(shù)。2023/7/2315計數(shù)初值的確定按定時時間計算:t—定時時間、TCLK
-時鐘周期則計算公式為:n=t/TCLK
按脈沖序列頻率計算:fCLK-輸入時鐘頻率;fOUT-輸出波形頻率則計算公式為:n=fCLK/fOUT計數(shù)初值的范圍:二進制:00000~0FFFFH十進制(BCD碼):00000~9999其中,最大值為0,因為計數(shù)器計數(shù)時先減1后判斷。n-計數(shù)初值(定時常數(shù))2023/7/2316計數(shù)初值/定時常數(shù)計算例子假定輸入時鐘頻率fCLK=2MHz要求1:定時20msn=t/TCLK=t×fCLK=20×10-3×2×106=40000要求2:產(chǎn)生1KHz的方波n=fCLK/fOUT=2×106/1×103=20002023/7/231711.1.282C54A的控制字和狀態(tài)字工作方式控制字初始化時使用,用于選擇計數(shù)通道及其工作方式;也可作為計數(shù)值鎖存命令使用;讀回命令控制字在82C54芯片使用過程中,由CPU發(fā)給82C54的命令;用于鎖存某個計數(shù)通道中的當前計數(shù)值、或狀態(tài)信息;狀態(tài)字表示某計數(shù)通道當前的工作狀態(tài);2023/7/23181、工作方式命令字SC1SC0RL1RL0M2M1M0BCD計數(shù)器選擇00計數(shù)器001計數(shù)器110計數(shù)器211不用計數(shù)數(shù)制0二進制1BCD碼命令類型00鎖存命令01讀/寫低8位10讀/寫高8位11先讀/寫低8位再讀/寫高8位工作方式選擇000方式0001方式1010方式2011方式3100方式4101方式5110無效1112023/7/2319工作方式命令字的應(yīng)用舉例(1/4)例1.選擇計數(shù)通道2,工作在方式3下,計數(shù)初值為533H,采用二進制計數(shù),試寫出其初始化程序段。工作方式命令字初始化程序段寫入命令字:寫入計數(shù)初值(先寫低字節(jié),再寫高字節(jié)):MOVDX,306HMOVAL,05HMOVDX,307HMOVAL,0B6HOUTDX,ALOUTDX,ALMOVAL,33HOUTDX,ALSC1SC0RL1RL0M2M1M0BCD101101102023/7/2320初始化程序段MOVDX,307HMOVAL,0B6HOUTDX,ALMOVDX,306HMOVAL,33HOUTDX,ALMOVAL,05HOUTDX,AL初始化程序執(zhí)行過程101101100011001100000101000001010011001100000000000000002023/7/2321工作方式命令字的應(yīng)用舉例(2/4)例2.計數(shù)通道1工作于方式0,用二進制計數(shù),計數(shù)初值為128。工作方式命令字初始化程序段
MOVDX,307H MOVAL,50H
OUTDX,AL
MOVDX,305H
MOVAL,128
OUTDX,ALSC1SC0RL1RL0M2M1M0BCD010100002023/7/2322工作方式命令字的應(yīng)用舉例(3/4)例3.計數(shù)通道0工作于方式1,按BCD碼計數(shù),計數(shù)值為3000。工作方式命令字初始化程序段 MOVDX,307H MOVAL,33H OUTDX,AL
MOVDX,304H MOVAX,3000
SC1SC0RL1RL0M2M1M0BCD00110011OUTDX,ALMOVAL,AHOUTDX,ALH2023/7/2323工作方式命令字的應(yīng)用舉例(4/4)例4.讀取1號計數(shù)器的當前計數(shù)值,并判斷是否為全1。讀當前計數(shù)值的操作: 先發(fā)鎖存命令,鎖存當前計數(shù)值; 再用輸入指令從計數(shù)器的當前計數(shù)值鎖存器中讀取數(shù)據(jù)。命令字:程序段 發(fā)鎖存命令
MOVDX,307H MOVAL,40H OUTDX,ALSC1SC0RL1RL0M2M1M0BCD01000000讀計數(shù)值判斷處理MOVDX,305HINAL,DXCMPAX,0FFFFHJEYES…………INAL,DXMOVAH,ALXCHGAL,AH假定初始化的工作方式命令字的RL位為11。2023/7/23242、讀回命令控制字11CNTSTCNT2CNT1CNT00特征位特征位計數(shù)通道選擇100通道2010通道1001通道0其他無效鎖存計數(shù)值0鎖存1不鎖存鎖存計數(shù)器狀態(tài)0鎖存1不鎖存2023/7/2325讀回命令控制字舉例例5.將1號計數(shù)器的當前計數(shù)值讀入AX寄存器。讀回命令控制字控制程序段11CNTSTCNT2CNT1CNT0000101發(fā)鎖存命令MOVDX,307HMOVAL,0D4HOUTDX,AL讀計數(shù)值MOVDX,305HINAL,DXMOVAH,AL
INAL,DXXCHGAL,AH2023/7/23263、狀態(tài)字OUTNULLRW1RW0M2M1M0BCD計數(shù)器輸出端OUT的狀態(tài)計數(shù)初值的有效性0有效,計數(shù)初值已裝入減1計數(shù)器1無效,計數(shù)初值未裝入減1計數(shù)器同“工作方式命令字”的低6位每個通道內(nèi)部都有一個狀態(tài)寄存器,通過對該通道端口的讀取獲得。2023/7/2327讀取82C54狀態(tài)字舉例例6.試判斷計數(shù)通道1是否正在計數(shù)。處理步驟發(fā)送讀回命令讀取狀態(tài)字信息并判斷控制程序段11CNTSTCNT2CNT1CNT0010100發(fā)鎖存命令MOVDX,307HMOVAL,0E4HOUTDX,AL讀計數(shù)值MOVDX,305HINAL,DX判斷當前的計數(shù)狀態(tài)TESTAL,40HJNZNULL2023/7/232882C54對計數(shù)通道的訪問類型寫計數(shù)通道寫計數(shù)通道的初值寄存器;讀計數(shù)通道讀計數(shù)通道的初值寄存器直接讀取讀計數(shù)通道的當前計數(shù)值先使用工作方式命令字或讀回命令字發(fā)鎖存命令,再讀取;讀計數(shù)通道的狀態(tài)字先使用讀回命令字發(fā)鎖存命令,再讀??;2023/7/232911.282C54的工作方式82C54共有6種工作方式,三個計數(shù)通道都可以工作在這6種工作方式下。學(xué)習(xí)這6種工作方式的要點:輸出波形;計數(shù)的觸發(fā)方式;軟件觸發(fā)、硬件觸發(fā)、軟硬觸發(fā);計數(shù)過程中,門控信號GATE的變化對計數(shù)的影響;不影響、停止計數(shù)、暫停計數(shù)、重新計數(shù);重裝計數(shù)初值后,對計數(shù)過程的影響;不影響、立刻生效、下次計數(shù)生效;2023/7/23301.方式0——計數(shù)結(jié)束產(chǎn)生正脈沖每次用命令字設(shè)置計數(shù)器為方式0或?qū)懭胗嫈?shù)初值后,輸出端OUT的起始電平為低電平;寫入計數(shù)初值后,經(jīng)過一個時鐘周期,將計數(shù)初值送入減1計數(shù)器開始計數(shù),OUT輸出維持低電平;直至計數(shù)值變?yōu)?,OUT輸出端變?yōu)楦唠娖?,并維持到下次使用計數(shù)器。CWn=33210CLKWR#OUT2023/7/2331門控信號GATE對計數(shù)起開關(guān)作用。即當GATE=1時,允許計數(shù);當GATE=0時,禁止計數(shù)。計數(shù)過程中,GATE變?yōu)榈碗娖?,暫停計?shù);當GATE再次變?yōu)楦唠娖綍r,從中止計數(shù)處繼續(xù)開始計數(shù)。GATE的變化并不影響OUT端的輸出狀態(tài)。0門控信號的作用n=3322CLKWR#OUTGATE12023/7/2332計數(shù)過程中,若計數(shù)初值發(fā)生變化,則計數(shù)器會在下一時鐘周期將新的計數(shù)值寫入減1計數(shù)器,并重新開始計數(shù);方式0是軟件觸發(fā)(寫計數(shù)初值的OUT指令)的計數(shù)方式。方式0的計數(shù)初值只一次有效;若要再次計數(shù),即使計數(shù)值不變,也需重新寫入計數(shù)初值。n=4n=3324CLKWR#OUTGATE321改變計數(shù)初值的影響2023/7/23333n=3WR#CW2.方式1——硬件可重復(fù)觸發(fā)的單脈沖發(fā)生器當命令字設(shè)定方式1后,輸出端OUT以高電平為起始電平;寫入計數(shù)初值后,經(jīng)過一個時鐘周期,將計數(shù)初值送入減1計數(shù)器,但并不開始計數(shù);當門控信號GATE出現(xiàn)上升沿,則開始計數(shù),計數(shù)開始的同時,OUT輸出端變?yōu)榈碗娖?,作為單脈沖的開始;直到計數(shù)值為0,OUT輸出變回高電平,計數(shù)結(jié)束,即單脈沖結(jié)束。20CLKOUTGATE12023/7/2334GATE信號對計數(shù)過程起觸發(fā)作用。GATE的上升沿會使計數(shù)過程重新開始;但其高、低電平及下降沿不影響計數(shù)。實質(zhì)上,GATE的上升沿使計數(shù)初值寄存器將當前的計數(shù)初值再次裝入減1計數(shù)器中;GATE變化不影響OUT的輸出狀態(tài),但會影響輸出單脈沖的寬度。n=3320CLKWR#OUTGATE321門控信號的作用2023/7/2335n=4n=3計數(shù)初值多次有效,即該方式下計數(shù)過程可以重復(fù)被觸發(fā)。計數(shù)過程中,若計數(shù)初值發(fā)生變化,則當GATE再次出現(xiàn)上升沿時,立即以新的計數(shù)初值開始計數(shù);否則,計數(shù)初值的改變不會影響當前的計數(shù)過程。32CLKWR#OUTGATE14321改變計數(shù)初值的影響2023/7/2336方式0與方式1的比較輸出波形大致相同;在一次計數(shù)過程中輸出單次負脈沖;觸發(fā)方式不同;方式0——軟件觸發(fā);方式1——硬件觸發(fā);方式0主要使用計數(shù)結(jié)束的上升沿脈沖作為請求信號使用;方式1主要用作定時器使用。方式1是由硬件觸發(fā)計數(shù)的,因此方式1輸出的負脈沖寬度是可以由計數(shù)初值精確計算的,而方式0不可。2023/7/233711n=3CWWR#3.方式2——分頻器當命令字設(shè)置方式2后,OUT輸出端的初始狀態(tài)為高電平;裝入計數(shù)初值后,開始計數(shù),輸出端仍維持高電平;直到計數(shù)值為1時,OUT輸出一個時鐘周期的低電平,一次計數(shù)結(jié)束,輸出恢復(fù)高電平;然后自動重裝計數(shù)初值,再次進行同樣的計數(shù),從而產(chǎn)生連續(xù)的脈沖序列。320CLKOUT3202023/7/2338n=3門控信號GATE對計數(shù)過程有開關(guān)作用,也有觸發(fā)作用。當GATE=1時,允許計數(shù);當GATE=0時,禁止計數(shù);當GATE出現(xiàn)上升沿時,可以觸發(fā)計數(shù)重新開始。0CLKWR#OUTGATE321322計數(shù)過程中,僅計數(shù)初值發(fā)生變化若沒有GATE上升沿,則不影響本次的計數(shù)過程;只是在當前計數(shù)歸0,自動裝入新的計數(shù)初值開始新的計數(shù);若出現(xiàn)GATE上升沿,則在下個時鐘周期立刻裝入新的計數(shù)初值開始計數(shù);門控信號的作用2023/7/23394n=4CW4.方式3——方波發(fā)生器當命令字設(shè)置方式3后,OUT輸出端的初始狀態(tài)為高電平;裝入計數(shù)初值后,開始計數(shù),輸出端仍維持高電平;當計數(shù)到一半時,OUT輸出變?yōu)榈碗娖剑钡接嫈?shù)值為0,恢復(fù)高電平的輸出;然后自動重裝計數(shù)初值,再次進行同樣的計數(shù),從而產(chǎn)生連續(xù)的方波序列。輸出方波或基本對稱的矩形波,常作為某些慢速外設(shè)的時鐘輸入信號320CLKWR#OUT1432023/7/2340計數(shù)初值的一半:當計數(shù)初值為偶數(shù)時,計數(shù)到n/2,輸出端OUT發(fā)生負跳變,得到占空比為1:1的方波;當計數(shù)初值為奇數(shù)時,計數(shù)到(n+1)/2,輸出端OUT發(fā)生負跳變,得到占空比為(n+1)/2:(n-1)/2的矩形波。門控信號GATE對計數(shù)過程起開關(guān)作用和觸發(fā)作用,同方式2。計數(shù)過程中寫入新的計數(shù)初值,則會在半周期結(jié)束或門控脈沖觸發(fā)時,重新裝入新值,開始計數(shù)。關(guān)于門控信號和計數(shù)初值2023/7/2341方式2和方式3的比較方式2主要用于產(chǎn)生周期性負脈沖;
方式3主要用于產(chǎn)生方波或矩形波;方式2和方式3的計數(shù)觸發(fā)方式均為軟硬件觸發(fā)。軟件觸發(fā)方法——重新寫入計數(shù)初值;在一個完整的計數(shù)周期(方式2)或半周期(方式3)輸出完成后,按照新的計數(shù)初值開始計數(shù);硬件觸發(fā)方法——門控信號出現(xiàn)上升沿;立即(下個時鐘周期)觸發(fā)新的計數(shù)過程,即輸出脈沖序列的頻率隨GATE信號的變化而隨時發(fā)生改變。2023/7/2342n=35.方式4——軟件觸發(fā)選通的單脈沖發(fā)生器當用命令字設(shè)置方式4后,OUT輸出端的初始狀態(tài)為高電平;裝入計數(shù)初值后,即開始計數(shù);在計數(shù)過程中,輸出端始終維持高電平;當計數(shù)為0,OUT輸出一個時鐘周期的負脈沖,結(jié)束計數(shù)。CW3210CLKWR#OUT2023/7/2343n=3CW6.方式5——硬件觸發(fā)選通的單脈沖發(fā)生器當命令字設(shè)置方式5后,OUT輸出端的初始狀態(tài)為高電平;裝入計數(shù)初值后,并不立即開始計數(shù);當GATE出現(xiàn)上升沿時,開始減1計數(shù),OUT維持高電平;當計數(shù)為0時,OUT輸出一個時鐘周期的負脈沖,結(jié)束計數(shù)。320CLKWR#OUTGATE12023/7/2344方式4和方式5的比較輸出波形完全相同;一次計數(shù)得到單次單拍負脈沖;計數(shù)的觸發(fā)方式不同;方式4——軟件觸發(fā);觸發(fā)方式、GATE和計數(shù)初值改變時,對計數(shù)的影響同方式0;方式5——硬件觸發(fā);觸發(fā)方式、GATE和計數(shù)初值改變時,對計數(shù)的影響同方式1;2023/7/2345各種工作方式的功能方式功能輸出波形描述輸出波形0計數(shù)結(jié)束產(chǎn)生正脈沖單次負脈沖1單脈沖發(fā)生器單次負脈沖2分頻器連續(xù)脈沖波3方波發(fā)生器連續(xù)方波4軟件觸發(fā)選通單次單拍負脈沖5硬件觸發(fā)選通單次單拍負脈沖n0n0n0n0n0n0n0n02023/7/2346計數(shù)器啟動和重復(fù)計數(shù)的條件方式功能啟動條件重復(fù)條件0計數(shù)結(jié)束產(chǎn)生正脈沖軟件觸發(fā)寫計數(shù)值1單脈沖發(fā)生器硬件觸發(fā)GATE信號觸發(fā)2分頻器軟硬件觸發(fā)3方波發(fā)生器軟硬件觸發(fā)4軟件觸發(fā)選通軟件觸發(fā)寫計數(shù)值5硬件觸發(fā)選通硬件觸發(fā)GATE信號觸發(fā)2023/7/2347門控信號GATE的作用方式GATE信號的狀態(tài)低電平或下降沿上升沿高電平0暫停計數(shù)不影響計數(shù)允許計數(shù)1不影響計數(shù)重新計數(shù)不影響計數(shù)2停止計數(shù)重新計數(shù)允許計數(shù)3停止計數(shù)重新計數(shù)允許計數(shù)4暫停計數(shù)不影響計數(shù)允許計數(shù)5不影響計數(shù)重新計數(shù)不影響計數(shù)2023/7/2348計數(shù)過程中改變計數(shù)初值的結(jié)果方式功能改變計數(shù)初值0計數(shù)結(jié)束產(chǎn)生中斷信號立即有效1單脈沖發(fā)生器門控信號觸發(fā)后有效2分頻器(速率發(fā)生器)當前計數(shù)周期結(jié)束
(計數(shù)到1后)或門控信號觸發(fā)后有效3方波速率發(fā)生器當前半個計數(shù)周期結(jié)束(計數(shù)到一半或計數(shù)到0后)或門控信號觸發(fā)后有效4軟件觸發(fā)選通立即有效5硬件觸發(fā)選通門控信號觸發(fā)后有效2023/7/234911.3定時計數(shù)器的應(yīng)用11.3.1微機系統(tǒng)中的應(yīng)用11.3.2兩級計數(shù)例子11.3.3波特率時鐘發(fā)生器例子2023/7/235011.3.1微機系統(tǒng)中的應(yīng)用通道0——系統(tǒng)時鐘更新中斷信號工作于方式3,計數(shù)初值為0;通道1——動態(tài)存儲器的定時刷新信號工作于方式2,計數(shù)初值為18;通道2——發(fā)聲系統(tǒng)音頻信號工作于方式3,計數(shù)初值為533H;2023/7/2351去8237PC系列機中定時系統(tǒng)結(jié)構(gòu)框圖端口地址為40H~43H作為系統(tǒng)時鐘更新中斷信號2023/7/23521、系統(tǒng)時鐘更新中斷信號(通道0)工作于方式3,計數(shù)初值為0;GATE0接+5Ⅴ,CLK0輸入時鐘頻率為1.1931816MHz;OUT0輸出頻率為18.2Hz的方波;輸出脈沖周期=1/18.2≈55ms;OUT0連接8259A的IRQ0上,約55ms產(chǎn)生1次中斷,用于更新系統(tǒng)的日時鐘計數(shù)。系統(tǒng)直接調(diào)用固化在BIOS中的中斷類型號為08H的中斷服務(wù)程序。初始化程序如下:MOVAL,00110110BOUT43H,ALMOVAL,0OUT40H,ALOUT40H,AL2023/7/23532、動態(tài)存儲器的定時刷新信號(通道1)工作于方式2,計數(shù)初值為18;GATE1接+5Ⅴ,CLK1輸入時鐘頻率為1.1931816MHz;OUT1每隔15.08μs輸出一個負脈沖;OUT1連接到8237的DREQ0上;8237通道0用于控制DRAM的刷新;82C54A的通道1定時產(chǎn)生DRAM的刷新請求信號,每個周期刷新存儲器一行。初始化程序如下:MOVAL,01010100BOUT43H,ALMOVAL,18OUT41H,AL2023/7/23543、發(fā)聲系統(tǒng)音頻信號(通道2)工作于方式3,計數(shù)初值為533H;GATE2由8255A的PB0位控制,CLK2輸入時鐘頻率為1.1931816MHz;OUT2輸出頻率約為900Hz的方波;輸出信號與8255的PB1位(控制發(fā)聲)共同經(jīng)過濾波,作為系統(tǒng)揚聲器發(fā)聲的音頻信號,進行提示和故障報警。初始化程序如下:MOVAL,10110110BOUT43H,ALMOVAX,533HOUT42H,ALMOVAL,AHOUT42H,AL2023/7/2355BIOS中對計數(shù)通道2的初始化編程BEEPPROCFAR INAL,61H MOVAH,AL PUSHAX
MOVAL,10110110B OUT43H,AL
MOVAX,0533H OUT42H,AL MOVAL,AH OUT42H,AL POPAX
ORAL,03H OUT61H,AL
NOPL1:LOOPL1
ANDAL,0FDH OUT61H,AL
MOVAL,AH OUT61H,AL
RETBEEPENDP讀8255PB口保存方式3,寫16位計數(shù)初值OUT2輸出頻率為1.1931816M/1331=896Hz的方波置PB0、PB1為1,打開揚聲器由CX決定延時長短置PB0、PB1為0,封鎖OUT2輸出恢復(fù)原PB端口值2023/7/2356使用入口參數(shù)
指定揚聲器的發(fā)聲頻率和發(fā)聲持續(xù)時間BIOS中對應(yīng)程序;功能:按照指定的時間間隔發(fā)指定頻率的聲音
;入口參數(shù):
CX=指定頻率,BX=指定時間;返回:無SOUNDPROCFAR
MOVAL,10110110B OUT43H,AL MOVAX,CX OUT42H,AL MOVAL,AH OUT42H,AL
INAL,61H MOVAH,AL ORAL,03H OUT61H,ALL1:MOVCX,5000HL2:LOOPL2 DECBX JNZL1 MOVAL,AH OUT61H,AL
RETSOUNDENDP2023/7/235711.3.2兩級計數(shù)例子
利用82C54A設(shè)計一個定時器,每5秒鐘輸出一個負脈沖,設(shè)外部時鐘頻率為2.5MHz。計數(shù)初值為n=5/TCLK=5×fCLK=5×2.5×106=12.5×106
故采用兩級計數(shù)器;使用82C54A的計數(shù)通道0和計數(shù)通道1計數(shù)通道0:方式3,產(chǎn)生頻率低于外部時鐘頻率的方波;計數(shù)通道1:方式2,產(chǎn)生最終的負脈沖序列;82C54A的硬件連接通道0的OUT輸出端作為通道1的CLK時鐘輸入;兩個通道的GATE端均接高電平;>>655362023/7/2358兩個通道的計數(shù)初值和命令字總的計數(shù)初值n為12.5×106;采用兩級計數(shù)時,通道0、1的計數(shù)初值n0、n1n=n0×n1假定選擇計數(shù)值為n0:62500;n1:200設(shè)置命令字:計數(shù)通道0計數(shù)通道1SC1SC0RL1RL0M2M1M0BCD00110110SC1SC0RL1RL0M2M1M0BCD010101002023/7/2359硬件連接圖輸入2.5MHz的時鐘工作于方式2和方式3下,使GATE始終為高電平11輸出40Hz的方波作為計數(shù)器1的輸入輸出每5秒一個負脈沖的脈沖序列計數(shù)器0輸出脈沖序列的頻率OUT0
=CLK0/n0=2.5MHz/62500=40Hz82C54AOUT0GATE0CLK1GATE1CLK0OUT12023/7/2360初始化程序段計數(shù)器0的初始化程序段:MOVDX,307HMOVAL,36HOUTDX,AL;設(shè)置命令字MOVDX,304HMOVAX,62500OUTDX,ALMOVAL,AHOUTDX,AL;設(shè)置計數(shù)初值計數(shù)器1的初始化程序段:MOVDX,307HMOVAL,54HOUTDX,AL;設(shè)置命令字MOVDX,305HMOVAL,200OUTDX,AL;8位計數(shù)初值2023/7/2361答: 其輸出波形的負脈沖寬度會有不同。 單通道計數(shù)——輸出負脈沖寬度為1個時鐘周期; 雙通道計數(shù)——輸出負脈沖寬度由第一級計數(shù)的輸出決定。思考:
本題中輸出波形是否會因為采用的是兩級計數(shù)或單通道計數(shù)而有所不同?有何不同?2023/7/236211.3.3波特率時鐘發(fā)生器的例子要求:設(shè)計一個波特率分為8檔的波特率發(fā)生器,
采用人機對話方式選擇波特率,按Esc鍵退出。已知:輸入時鐘為1.19318MHz,波特率因子為16,
所需的8檔輸出波特率分別為110b/s、150b/s、
300b/s、600b/s、1200b/s、2400b/s、
4800b/s、9600b/s。2023/7/2363定時常數(shù)的計算利用82C54A方式3產(chǎn)生指定波特率的方波,用于串行數(shù)據(jù)傳送。定時常數(shù):Tc=CLK頻率/(Baud×Factor)波特率110b/s,Tc=1.19318×106/(110×16)=678波特率150b/s,Tc=1.19318×106/(150×16)=497波特率300b/s,Tc=1.19318×106/(300×16)=249波特率600b/s,Tc=1.19318×106/(600×16)=124………………2A6H1F1H0F9H07CH2023/7/2364波特率時鐘發(fā)生器的設(shè)計硬件設(shè)計82C54A的計數(shù)通道產(chǎn)生所需的時鐘;CLK接輸入時鐘,OUT得到輸出時鐘;GATE接8255A的PC6,控制82C54A的工作;軟件設(shè)計定時常數(shù)事先設(shè)定,存于數(shù)據(jù)區(qū);根據(jù)指定的波特率,查表選擇定時常數(shù),送入計數(shù)通道;TC_TABLEA602F101F9007C003E001F0010000800110b/s150b/s300b/s9600b/s………
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際貨物寄遞服務(wù)合同范本
- 2025年度新能源汽車產(chǎn)業(yè)股份合作合同
- 2025年度廣告公司廣告創(chuàng)意總監(jiān)勞動合同
- 2025年度借電合同臨時用電設(shè)施安全評估及風(fēng)險評估服務(wù)協(xié)議
- 2025年度公職人員住房保障政策實施效果評估合同
- 2025年度開盤活動客戶接待與咨詢合同規(guī)范
- 2025年度文化創(chuàng)意產(chǎn)業(yè)版權(quán)授權(quán)合同
- 2025年度個性化接送服務(wù)合同標準范本
- 2025年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)設(shè)計委托合同范本
- 2025年度數(shù)據(jù)中心項目經(jīng)理數(shù)據(jù)安全聘用合同
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 王崧舟:學(xué)習(xí)任務(wù)群與課堂教學(xué)變革 2022版新課程標準解讀解析資料 57
- 招投標現(xiàn)場項目經(jīng)理答辯(完整版)資料
- 運動競賽學(xué)課件
- 重大事故隱患整改臺賬
- 2022年上海市初中畢業(yè)數(shù)學(xué)課程終結(jié)性評價指南
- 高考作文備考-議論文對比論證 課件14張
- 新華師大版七年級下冊初中數(shù)學(xué) 7.4 實踐與探索課時練(課后作業(yè)設(shè)計)
- 山東省萊陽市望嵐口礦區(qū)頁巖礦
- 《普通生物學(xué)教案》word版
- 安全生產(chǎn)應(yīng)知應(yīng)會培訓(xùn)課件
評論
0/150
提交評論