版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院1內(nèi)容回顧I/O端口編址編址方式:統(tǒng)一編址、獨(dú)立編址,各自的優(yōu)缺點(diǎn)。獨(dú)立編址下的I/O指令:直接尋址、間接尋址。I/O端口地址分配系統(tǒng)板上的I/O接口芯片端口地址分配。擴(kuò)展槽上的I/O接口控制卡端口地址分配。I/O端口地址譯碼固定式譯碼:門電路,譯碼器(3-8,2-4,4-16譯碼器)。可選式譯碼:比較器,地址開關(guān),跳線等。23第三章定時(shí)/計(jì)數(shù)技術(shù)8253/8254編程與應(yīng)用48253/8254定時(shí)/計(jì)數(shù)器28253/8254工作方式3PC機(jī)的定時(shí)/計(jì)數(shù)器應(yīng)用5定時(shí)/計(jì)數(shù)基本概念1(1)定時(shí)與計(jì)數(shù)定時(shí):設(shè)定的時(shí)間到計(jì)算機(jī)系統(tǒng)是通過(guò)定時(shí)器、按照一定的節(jié)奏(時(shí)間間隔)來(lái)進(jìn)行工作的。如:系統(tǒng)的日歷時(shí)鐘、存儲(chǔ)器的動(dòng)態(tài)刷新、應(yīng)用系統(tǒng)的定時(shí)中斷、定時(shí)查詢與檢測(cè)等。計(jì)數(shù)生產(chǎn)線上產(chǎn)品的計(jì)數(shù),如藥片、飲料等。
3.1定時(shí)/計(jì)數(shù)基本概念
4定時(shí)和計(jì)數(shù)實(shí)質(zhì)上都是計(jì)數(shù)。定時(shí)是通過(guò)記錄高精度晶振的脈沖個(gè)數(shù),輸出準(zhǔn)確的時(shí)間間隔。微機(jī)系統(tǒng)中常需要定時(shí)信號(hào)為處理器或外設(shè)提供時(shí)間基準(zhǔn);或?qū)ν獠渴录M(jìn)行計(jì)數(shù)。例:分時(shí)系統(tǒng)的程序切換,向外設(shè)周期性發(fā)控制信號(hào)。微機(jī)系統(tǒng)中的定時(shí)分為以下2類:內(nèi)部定時(shí):是計(jì)算機(jī)本身運(yùn)行的時(shí)間基準(zhǔn)或時(shí)序關(guān)系。計(jì)算機(jī)的每個(gè)操作都嚴(yán)格按照固定的時(shí)間節(jié)拍來(lái)進(jìn)行。外部定時(shí):外設(shè)與CPU,或外設(shè)與外設(shè)之間的時(shí)間基準(zhǔn)和時(shí)序關(guān)系。5重點(diǎn)
(2)微機(jī)系統(tǒng)中的定時(shí)與計(jì)數(shù)軟件定時(shí)通過(guò)軟件編程,循環(huán)執(zhí)行一段程序來(lái)實(shí)現(xiàn)。優(yōu)點(diǎn):無(wú)需專用硬件,方法簡(jiǎn)單、靈活。缺點(diǎn):CPU開銷大,效率低;定時(shí)不精確。適用于定時(shí)時(shí)間不長(zhǎng)、精度要求不高的場(chǎng)合。6//80c51軟件定時(shí)程序voiddelayms(intxms){for(inti=xms;i>0;i--)for(intj=110;j>0;j--);}delayms(500);//延時(shí)約500ms
(3)微機(jī)中的定時(shí)方法不可編程的硬件定時(shí)采用分頻器、單穩(wěn)電路或簡(jiǎn)易定時(shí)電路來(lái)實(shí)現(xiàn)。例:簡(jiǎn)易定時(shí)炸彈、空調(diào)遙控器。優(yōu)點(diǎn):不占用處理器時(shí)間,電路也不復(fù)雜。缺點(diǎn):缺少靈活性,電路一旦設(shè)計(jì)好,其定時(shí)時(shí)間和范圍就不能改變。7可編程的硬件定時(shí)用可編程定時(shí)器芯片實(shí)現(xiàn),定時(shí)時(shí)間軟件可調(diào)。優(yōu)點(diǎn):軟、硬件結(jié)合,克服了純軟件和純硬件定時(shí)的缺點(diǎn)。不占用CPU資源、定時(shí)準(zhǔn)確、使用靈活。常用的可編程定時(shí)芯片:
8253:5MHz。8254:10MHz。8兩者在芯片功能、外形和引腳上大同小異,8254附加功能:讀當(dāng)前計(jì)數(shù)單元;讀狀態(tài)寄存器內(nèi)容。9內(nèi)容概要8253/8254編程與應(yīng)用48253/8254定時(shí)/計(jì)數(shù)器28253/8254工作方式3PC機(jī)的定時(shí)/計(jì)數(shù)器應(yīng)用5定時(shí)/計(jì)數(shù)基本概念1定時(shí)與計(jì)數(shù)基本概念微機(jī)中的內(nèi)部與外部定時(shí)3種常用的定時(shí)方法(1)總體結(jié)構(gòu)
3.28253/8254定時(shí)/計(jì)數(shù)器
10數(shù)據(jù)總線緩沖器三態(tài)雙向8位寄存器,與系統(tǒng)數(shù)據(jù)
總線相連,可寄存以下3種數(shù)據(jù):CPU向8253/8254寫入的工作方式命令字;CPU向計(jì)數(shù)寄存器寫入的計(jì)數(shù)初值;從計(jì)數(shù)器讀出的當(dāng)前計(jì)數(shù)值。讀/寫控制邏輯接收CPU發(fā)來(lái)的讀、寫、片選和地址信號(hào),選擇相應(yīng)的寄存器,進(jìn)行讀寫操作。11控制字寄存器接收CPU發(fā)來(lái)的控制字(只寫)。
控制字的功能:選擇計(jì)數(shù)器;確定計(jì)數(shù)器的工作方式;確定計(jì)數(shù)初值的格式(高低8位或16位);確定計(jì)數(shù)格式:二進(jìn)制或BCD格式。計(jì)數(shù)器0~23個(gè)結(jié)構(gòu)相同、相互獨(dú)立的計(jì)數(shù)器。每個(gè)計(jì)數(shù)器包含一個(gè)16位初值寄存器、一個(gè)16位減1計(jì)數(shù)器和一個(gè)16位輸出鎖存器。1213計(jì)數(shù)開始前需寫入初值。此后該值被送入減1計(jì)數(shù)器。MAX=216-1。計(jì)數(shù)過(guò)程中,初值寄存器中的值保持不變。條件滿足時(shí),每個(gè)CLK計(jì)數(shù)減1。減為0時(shí),OUT端輸出波形。鎖存減1計(jì)數(shù)器的值,以供讀出和查詢。若想獲取當(dāng)前計(jì)數(shù)值,不能直接從減1計(jì)數(shù)器讀出,而是必須先鎖存,再?gòu)逆i存器讀出。DIP24封裝,單一+5V供電。內(nèi)含3個(gè)獨(dú)立的定時(shí)/計(jì)數(shù)器(T/C),各自具有獨(dú)立的時(shí)鐘信號(hào)CLK、門控信號(hào)GATE和輸出信號(hào)OUT??赏ㄟ^(guò)編程,分別設(shè)定各定時(shí)/計(jì)數(shù)器的工作方式。14
(2)8253/8254外部引腳定義數(shù)據(jù)總線D7~D0用于將8253/8254與系統(tǒng)總線相連,供CPU向8253/8254讀寫數(shù)據(jù)、命令和狀態(tài)信息。內(nèi)部端口地址譯碼信號(hào)A1A0用于片內(nèi)端口選擇。A1A0=00,選擇計(jì)數(shù)器0A1A0=01,選擇計(jì)數(shù)器1A1A0=10,選擇計(jì)數(shù)器2A1A0=11,選擇控制端口15片選信號(hào)CS輸入信號(hào),低有效,由CPU輸出的地址線譯碼產(chǎn)生。讀寫信號(hào)RD和WR輸入信號(hào),低有效。分別連接系統(tǒng)總線的IOR和IOW。時(shí)鐘信號(hào)CLK0~CLK3各自獨(dú)立。定時(shí)或計(jì)數(shù)時(shí),每個(gè)CLK下降沿,計(jì)數(shù)減1。16門控信號(hào)GATE0~GATE3各自獨(dú)立。作用:允許或禁止計(jì)數(shù)過(guò)程。計(jì)數(shù)輸出信號(hào)OUT0~OUT3各自獨(dú)立。計(jì)數(shù)減為0時(shí),OUT端輸出一個(gè)電平或脈沖信號(hào),指示定時(shí)或計(jì)數(shù)已到。1718━CS━RD━WRA1A0操作地址01000
向計(jì)數(shù)器0寫入“計(jì)數(shù)初值”40H01001向計(jì)數(shù)器1寫入“計(jì)數(shù)初值”41H01010
向計(jì)數(shù)器2寫入“計(jì)數(shù)初值”42H01011
向控制寄存器寫入“方式字”43H00100從計(jì)數(shù)器0讀出“當(dāng)前計(jì)數(shù)值”40H00101從計(jì)數(shù)器1讀出“當(dāng)前計(jì)數(shù)值”41H00110從計(jì)數(shù)器2讀出“當(dāng)前計(jì)數(shù)值”42H00111
無(wú)操作(三態(tài))1××××
禁止(三態(tài))011××
無(wú)操作(三態(tài))
(3)8253/8254讀寫操作及端口地址19內(nèi)容概要8253/8254編程與應(yīng)用48253/8254定時(shí)/計(jì)數(shù)器28253/8254工作方式3PC機(jī)的定時(shí)/計(jì)數(shù)器應(yīng)用5定時(shí)/計(jì)數(shù)基本概念18253/8254總體結(jié)構(gòu)8253/8254外部引腳8253/8254地址分配8253/8254的每個(gè)計(jì)數(shù)器有6種工作方式:方式0——計(jì)數(shù)期間低電平輸出(GATE高電平時(shí)計(jì)數(shù))方式1——計(jì)數(shù)期間低電平輸出(GATE上升沿重新計(jì)數(shù))方式2——周期性輸出負(fù)脈沖方式3——周期性輸出方波方式4——軟件觸發(fā)輸出單脈沖方式5——硬件觸發(fā)輸出單脈沖6種工作方式的區(qū)別在于:輸出波形不同。啟動(dòng)計(jì)數(shù)器的觸發(fā)方式不同。計(jì)數(shù)過(guò)程中門控信號(hào)GATE對(duì)計(jì)數(shù)操作的影響不同。
3.38253/8254工作方式
20寫方式字和初值(基本計(jì)數(shù)過(guò)程)寫入方式字0后,WR的上升沿使OUT信號(hào)變低。寫入計(jì)數(shù)初值后,WR的
將初值寫入初值寄存器,在下一個(gè)CLK
,才將計(jì)數(shù)初值寫入減1計(jì)數(shù)器。之后每個(gè)CLK
,計(jì)數(shù)減1。減為0時(shí),OUT變高。21
(1)方式0——計(jì)數(shù)期間輸出低電平(GATE高電平計(jì)數(shù))門控信號(hào)GATE為高時(shí)允許計(jì)數(shù);為低時(shí)暫停計(jì)數(shù),其計(jì)數(shù)值保持不變。當(dāng)GATE再次變高時(shí),計(jì)數(shù)器從暫停處繼續(xù)計(jì)數(shù)。GATE信號(hào)的變化不影響OUT信號(hào)的狀態(tài)。22重新計(jì)數(shù)
計(jì)數(shù)期間,若再次寫入計(jì)數(shù)初值,則計(jì)數(shù)器立即按新的初值重新計(jì)數(shù)。23寫方式字和初值(基本計(jì)數(shù)過(guò)程)寫入方式字1后,WR的
使OUT信號(hào)變高。寫入初值后,若無(wú)GATE
,則OUT持續(xù)為高;若有GATE
,則在GATE
后的下一個(gè)CLK
,OUT變低。之后每個(gè)CLK
,計(jì)數(shù)減1。減為0時(shí),OUT變高。24
(2)方式1——計(jì)數(shù)期間輸出低電平(GATE
重新計(jì)數(shù))門控信號(hào)計(jì)數(shù)期間,若GATE信號(hào)又出現(xiàn),則計(jì)數(shù)器重新裝入初值,開始新的計(jì)數(shù)。25重新計(jì)數(shù)計(jì)數(shù)期間,若重新寫入初值,須等當(dāng)前計(jì)數(shù)值計(jì)滿到0,且GATE再次出現(xiàn)
時(shí),才按新的初值重新計(jì)數(shù)。26寫方式字和初值寫入方式字2后,WR的使OUT信號(hào)變高。寫入初值后,在CLK
進(jìn)行減1計(jì)數(shù)。減為1時(shí),OUT變低并維持一個(gè)周期,然后又變高,并自動(dòng)裝入初值重新計(jì)數(shù)。27
(3)方式2——周期性輸出負(fù)脈沖該方式能連續(xù)工作,且輸出固定頻率的脈沖,因此稱之為頻率發(fā)生器或分頻器。門控信號(hào)GATE為高,允許計(jì)數(shù);否則,終止計(jì)數(shù)。待GATE恢復(fù)為高后,計(jì)數(shù)器將從初值重新計(jì)數(shù)。28重新計(jì)數(shù)計(jì)數(shù)期間,若重新寫入初值,則不影響正在進(jìn)行的計(jì)數(shù)過(guò)程,必須等到計(jì)數(shù)器減到1之后,才裝入新的初值,并按照新的初值進(jìn)行計(jì)數(shù)。29與方式2類似,都具有自動(dòng)裝入初值、連續(xù)計(jì)數(shù)的功能。差別:方式3下OUT端連續(xù)輸出比例為1:1或近似1:1的方波,因此稱為方波發(fā)生器。相同點(diǎn)回顧寫入方式字后,OUT信號(hào)變高。寫入初值后,進(jìn)行減1計(jì)數(shù)。方式2:減為1時(shí),OUT端輸出一個(gè)周期的負(fù)脈沖后變高,重新裝入初值繼續(xù)計(jì)數(shù)。GATE同前:高時(shí)計(jì)數(shù);低時(shí)停止;恢復(fù)后重新計(jì)數(shù)。重新計(jì)數(shù)同前:重裝初值后,須等上輪計(jì)數(shù)完成后再按新的初值計(jì)數(shù)。30
(4)方式3——周期性輸出方波初值為偶數(shù)時(shí)寫入方式字后,OUT信號(hào)變高。寫入初值后開始減1計(jì)數(shù);減到n/2時(shí),OUT變低繼續(xù)計(jì)數(shù);減到0時(shí),OUT變高,并自動(dòng)裝入初值重新計(jì)數(shù)。31OUT端連續(xù)輸出占空比為1/2的方波。占空比:脈沖序列中,正脈沖的持續(xù)時(shí)間與脈沖總周期的比值。初值為奇數(shù)時(shí)寫入方式字后,OUT信號(hào)變高。寫入初值后開始減1計(jì)數(shù);減到(n-1)/2時(shí),OUT變低繼續(xù)計(jì)數(shù);減到0時(shí),OUT變高并自動(dòng)裝入初值,重新計(jì)數(shù)。32寫方式字和初值寫入方式字4后,OUT信號(hào)變高。寫入初值后,進(jìn)行減1計(jì)數(shù)。減為0時(shí),OUT端輸出一個(gè)CLK周期的負(fù)脈沖,然后恢復(fù)為高電平。不能自動(dòng)裝入初值。要想啟動(dòng)下一次計(jì)數(shù),需重新寫入初值,由軟件觸發(fā)計(jì)數(shù)器開始工作。33
(5)方式4——軟件觸發(fā)輸出單脈沖門控信號(hào)GATE高電平時(shí),允許計(jì)數(shù);否則,終止計(jì)數(shù)。待GATE恢復(fù)為高后,計(jì)數(shù)器將從初值重新進(jìn)行計(jì)數(shù)。34重新計(jì)數(shù)計(jì)數(shù)期間,若重新寫入初值,則不會(huì)影響正在進(jìn)行的計(jì)數(shù)過(guò)程,必須等到計(jì)數(shù)器減到0之后,才裝入新的初值,并按照新的初值進(jìn)行計(jì)數(shù)。計(jì)數(shù)完畢后若無(wú)軟件再次觸發(fā),計(jì)數(shù)器將停止工作。35基本原理:類似方式4,硬件觸發(fā)寫入方式字5后,OUT信號(hào)變高。寫入初值后并不立即計(jì)數(shù),而是等GATE有
后才開始計(jì)數(shù)。減為0時(shí),OUT端輸出一個(gè)周期的負(fù)脈沖,然后變高。計(jì)數(shù)過(guò)程中或計(jì)數(shù)結(jié)束后,若GATE再次出現(xiàn)上升沿,則計(jì)數(shù)器裝入初值重新進(jìn)行計(jì)數(shù)。36
(6)方式5——硬件觸發(fā)輸出單脈沖由于計(jì)數(shù)的開始由GATE觸發(fā),而GATE由硬件產(chǎn)生,因此該方式稱為硬件觸發(fā)。376種工作方式比較38方式功能門控情況OUT輸出波形
0計(jì)數(shù)期間低電平輸出(GATE高電平計(jì)數(shù))高電平寫入初值后OUT變低,且開始減1計(jì)數(shù),經(jīng)過(guò)n個(gè)CLK后,OUT變高。(不連續(xù))1計(jì)數(shù)期間低電平輸出(GATE↑重新計(jì)數(shù))上升沿輸出寬度為n個(gè)周期的低電平。(不連續(xù))2周期性輸出負(fù)脈沖高電平連續(xù)輸出周期為n個(gè)CLK、寬度為1個(gè)CLK的負(fù)脈沖。(自動(dòng)連續(xù))3周期性輸出方波高電平連續(xù)輸出比例為1:1或近似1:1的方波。(自動(dòng)連續(xù))4軟件觸發(fā)輸出單脈沖高電平寫入初值后OUT變高,經(jīng)n個(gè)CLK后,輸出1個(gè)CLK的負(fù)脈沖。(軟件觸發(fā)才繼續(xù))5硬件觸發(fā)輸出單脈沖上升沿寫入初值后OUT變高,有門控信號(hào)后才計(jì)數(shù),經(jīng)n個(gè)CLK后輸出1個(gè)CLK的負(fù)脈沖。(GATE上升沿才可再次觸發(fā))方式0(GATE電平控制)與方式1(GATE↑控制)比較相似點(diǎn)輸出波形相似:計(jì)數(shù)期間OUT為低;計(jì)數(shù)到0時(shí)變高。均無(wú)自動(dòng)裝載能力。不同點(diǎn)方式0寫入初值后立即開始計(jì)數(shù);方式1需等GATE
才計(jì)數(shù)。方式0中GATE信號(hào)電平控制計(jì)數(shù)過(guò)程:高電平計(jì)數(shù),低電平暫停,恢復(fù)為高后繼續(xù)計(jì)數(shù);方式1中,GATE
可觸發(fā)重新計(jì)數(shù)。方式0中重新裝入初值后立即按新值計(jì)數(shù);方式1中重新裝入初值后需等上輪計(jì)數(shù)完成且GATE有,才按新值計(jì)數(shù)。3940方式0方式1方式2(分頻器)與方式3(方波發(fā)生器)比較相似點(diǎn)均具有自動(dòng)裝載能力,OUT端均可輸出連續(xù)波形。輸出信號(hào)的頻率相同,均為fclk/初值。不同點(diǎn)方式2:計(jì)數(shù)過(guò)程中OUT端輸出高電平,計(jì)數(shù)減為1時(shí)輸出一個(gè)CLK周期的負(fù)脈沖。方式3:計(jì)數(shù)過(guò)程中,OUT端輸出比例為1:1(初值為偶數(shù))或近似1:1(初值為奇數(shù))的方波。4142方式2方式3方式4(軟件觸發(fā))與方式5(硬件觸發(fā))比較相似點(diǎn)輸出波形相似:計(jì)數(shù)過(guò)程中OUT為高,計(jì)數(shù)減為0時(shí)輸出一個(gè)CLK寬度的負(fù)脈沖。均無(wú)自動(dòng)裝載能力。不同點(diǎn)方式4需由軟件觸發(fā)(寫計(jì)數(shù)初值)計(jì)數(shù)。方式5需由硬件觸發(fā)(GATE上升沿)計(jì)數(shù)。4344方式5方式6【3-1】計(jì)數(shù)器1工作在方式1,計(jì)數(shù)初值為10。門控信號(hào)GATE1和時(shí)鐘信號(hào)CLK1的輸入如下圖所示,請(qǐng)問輸出脈沖T的寬度是多少?45解:(1)方式1特點(diǎn)回顧:
計(jì)數(shù)期間OUT輸出低電平,GATE上升沿觸發(fā)計(jì)數(shù)。46(2)計(jì)算輸出脈沖寬度
由方式1的特點(diǎn)可知,OUT輸出脈沖中低電平的持續(xù)時(shí)間由計(jì)數(shù)初值決定。T=計(jì)數(shù)初值×CLK1的脈沖周期=10×[1/(5×106)]=2μs47【3-2】如圖所示,計(jì)數(shù)器1工作在方式3,計(jì)數(shù)初值為15。請(qǐng)?jiān)敿?xì)刻畫OUT1上的輸出波形特性。48解:(1)方式3特點(diǎn)
周期性輸出方波(1:1或近似1:1)。49(2)輸出波形特性
計(jì)數(shù)初值n=15為奇數(shù),故輸出波形的一個(gè)周期中,高電平的持續(xù)時(shí)間為(n+1)/2個(gè)CLK,低電平的持續(xù)時(shí)間為(n-1)/2個(gè)CLK。所以有:
Tclk1=1/2MHz≈0.5μsT1=(n+1)/2×Tclk1=8×0.5≈4μsT2=(n-1)/2×Tclk1=7×0.5≈3.5μsT=T1+T2=4+3.5≈7.5μs
故輸出波形的特性為:輸出總周期約為7.5μs的方波,其中一個(gè)周期中高電平的持續(xù)時(shí)間約為4μs,低電平的持續(xù)時(shí)間約為3.5μs。50【3-3】如圖所示,計(jì)數(shù)器1工作在方式4。為使該計(jì)數(shù)器10μs后在OUT端產(chǎn)生一個(gè)選通信號(hào),請(qǐng)問應(yīng)裝入的計(jì)數(shù)初值是多少?51解:(1)方式4特點(diǎn)回顧
軟件觸發(fā)輸出單個(gè)負(fù)脈沖。52寫入方式字后,OUT變高。寫入初值后,開始減1計(jì)數(shù)。減為0時(shí),輸出一個(gè)負(fù)脈沖。(2)計(jì)算計(jì)數(shù)初值
已知:計(jì)數(shù)時(shí)間Tout=計(jì)數(shù)時(shí)鐘周期Tclk×計(jì)數(shù)初值,
故:
計(jì)數(shù)初值=Tout/Tclk=10μs/(1/2MHz)=10×10-6×2×106
=2053【3-4】已知計(jì)數(shù)器0工作在方式0,計(jì)數(shù)初值為100。GATE0和CLK0信號(hào)的時(shí)間關(guān)系如圖所示。試計(jì)算T0的輸出端出現(xiàn)正跳變時(shí)的延遲時(shí)間TD。54解:(1)方式0特點(diǎn)回顧
計(jì)數(shù)期間輸出低電平,GATE高電平計(jì)數(shù)。55寫入方式字后,OUT變低。寫入初值后,開始減1計(jì)數(shù)。減為0時(shí),OUT變高。GATE=1計(jì)數(shù);GATE=0暫停計(jì)數(shù)。GATE恢復(fù)為高后繼續(xù)計(jì)數(shù)。(2)OUT0的持續(xù)時(shí)間計(jì)算正常情況下(GATE0保持高電平),OUT0持續(xù)為低的時(shí)間共為N個(gè)時(shí)鐘脈沖寬度。N為計(jì)數(shù)初值。實(shí)際計(jì)數(shù)期間,GATE0暫停計(jì)數(shù)了2個(gè)時(shí)鐘周期,故輸出端OUT0持續(xù)低電平的總寬度為:TD
=(N+2)×Tclk0=(100+2)×(1/2MHz)=102/(2×106)=51μs
5657內(nèi)容概要8253/8254編程與應(yīng)用48253/8254定時(shí)/計(jì)數(shù)器28253/8254工作方式3PC機(jī)的定時(shí)/計(jì)數(shù)器應(yīng)用5定時(shí)/計(jì)數(shù)基本概念16種工作方式的差異:輸出波形、計(jì)數(shù)觸發(fā)方式、門控影響。8253/8254是可編程接口芯片,使用時(shí)必須對(duì)其進(jìn)行初始化編程。
3.48253/8254編程與應(yīng)用
581.方式字2.計(jì)數(shù)初值方式字的作用指定使用哪個(gè)計(jì)數(shù)器。指定某個(gè)計(jì)數(shù)器的工作方式。指定計(jì)數(shù)初值的長(zhǎng)度、裝入順序以及計(jì)數(shù)值的碼制。指定是向計(jì)數(shù)器寫入初值,還是鎖存其當(dāng)前計(jì)數(shù)值。方式字的分類8253/8254方式控制字8254讀回控制字、8254狀態(tài)字59
(1)方式字8253/8254方式命令字的格式60D7D6D5D4D3D2D1D000:計(jì)數(shù)器001:計(jì)數(shù)器110:計(jì)數(shù)器211:8253不用計(jì)數(shù)器00:鎖存當(dāng)前值01:寫初值的低8位,高8位置010:寫初值的高8位,低8位置011:先寫低8位,后寫高8位讀寫格式000:方式0001:方式1×10:方式2×11:方式3100:方式4101:方式5工作方式0:二進(jìn)制編碼1:BCD編碼數(shù)制8254讀回控制字既能鎖存計(jì)數(shù)值,又能鎖存狀態(tài)信息以供CPU讀回。6111:表示讀回控制字0表示鎖存計(jì)數(shù)值,以便CPU讀取0表將狀態(tài)信息鎖存入狀態(tài)寄存器選擇要鎖存的計(jì)數(shù)器D1=1,選計(jì)數(shù)器0D2=1,選計(jì)數(shù)器1D3=1,選計(jì)數(shù)器2恒011COUNTSTATUSCNT2CNT1CNT00D7D6D5D4D3D2D1D08254狀態(tài)字高2位表示計(jì)數(shù)器內(nèi)部的工作狀態(tài);低6位為接收的方式字對(duì)應(yīng)的內(nèi)容。62OUT端的輸出狀態(tài)。1:高電平0:低電平0表計(jì)數(shù)初值已裝入減1計(jì)數(shù)器。讀寫格式00:鎖存01:讀寫低8位10:讀寫高8位11:先低后高工作方式000:方式0;001:方式1×10:方式2;×11:方式3100:方式4;101:方式5OUTNULLCOUNTRW1RW2M2M1M0BCDD7D6D5D4D3D2D1D00:二進(jìn)制編碼1:BCD編碼計(jì)數(shù)初值的計(jì)算8253/8254是減1計(jì)數(shù)器,計(jì)數(shù)初值決定了定時(shí)的長(zhǎng)短。定時(shí)時(shí)間Tout=計(jì)數(shù)時(shí)鐘周期TCLK×計(jì)數(shù)初值n,故舉例已知8253的計(jì)數(shù)脈沖頻率為2MHz,若要定時(shí)4ms時(shí)間,則計(jì)數(shù)初值n=8000。63
(2)計(jì)數(shù)初值寫方式字將方式字送入控制端口,其對(duì)應(yīng)的A1A0=11。寫計(jì)數(shù)初值將計(jì)數(shù)初值寫入相應(yīng)的計(jì)數(shù)器端口。計(jì)數(shù)器0的初值寫入A1A0=00對(duì)應(yīng)的端口。計(jì)數(shù)器1的初值寫入A1A0=01對(duì)應(yīng)的端口。計(jì)數(shù)器2的初值寫入A1A0=10對(duì)應(yīng)的端口。64
(3)8253/8254初始化編程與應(yīng)用65━CS━RD━WRA1A0操作地址01000
向計(jì)數(shù)器0寫入“計(jì)數(shù)初值”40H01001向計(jì)數(shù)器1寫入“計(jì)數(shù)初值”41H01010
向計(jì)數(shù)器2寫入“計(jì)數(shù)初值”42H01011
向控制寄存器寫入“方式控制字”43H00100從計(jì)數(shù)器0讀出“當(dāng)前計(jì)數(shù)值”40H00101從計(jì)數(shù)器1讀出“當(dāng)前計(jì)數(shù)值”41H00110從計(jì)數(shù)器2讀出“當(dāng)前計(jì)數(shù)值”42H00111
無(wú)操作(三態(tài))1××××
禁止(三態(tài))011××
無(wú)操作(三態(tài))【3-5】設(shè)計(jì)數(shù)器的端口地址為40H~43H。已知:選擇計(jì)數(shù)器T2,工作在方式3,計(jì)數(shù)初始值為533H,采用二進(jìn)制計(jì)數(shù)。請(qǐng)寫出初始化程序段。66
MOVAL,10110110B;計(jì)數(shù)器T2的初始化命令字OUT43H,AL;寫入命令寄存器MOVAX,533H;計(jì)數(shù)初值OUT42H,AL;先送低字節(jié)到計(jì)數(shù)器T2MOVAL,AH;取高字節(jié)送入ALOUT42H,AL;后送高字節(jié)到計(jì)數(shù)器T2【3-6】設(shè)8253計(jì)數(shù)器的端口地址為40H~43H。請(qǐng)編寫程序,實(shí)現(xiàn)讀出并檢查計(jì)數(shù)器T1的當(dāng)前值是否為全1(假定計(jì)數(shù)值只有低8位)。
注:要遵循“先鎖存、后讀取當(dāng)前值”的原則。67
L:MOVAL,01000000B;計(jì)數(shù)器T1的鎖存命令
OUT43H,AL;寫入命令寄存器
INAL,41H;讀計(jì)數(shù)器T1的當(dāng)前計(jì)數(shù)值
CMPAL,0FFH;比較
JNEL;不是全“1”,再讀
HLT;是全“1”,暫?!?-7】設(shè)計(jì)數(shù)器的端口地址為40H~43H。計(jì)數(shù)器T2工作在方式1,進(jìn)行8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值低8位為BYTEL。請(qǐng)寫出初始化程序段。68MOVDX,43H;命令口
MOVAL,10010010B;方式字
OUTDX,ALMOVDX,42H;T2數(shù)據(jù)口
MOVAL,BYTEL;低8位,高8位自動(dòng)補(bǔ)0
OUTDX,AL當(dāng)?shù)刂贰?FFH時(shí),也可用間接尋址方式?!?-8】設(shè)計(jì)數(shù)器的端口地址為40H~43H。計(jì)數(shù)器T1工作在方式4,進(jìn)行8位二進(jìn)制計(jì)數(shù),并且只裝入高8位計(jì)數(shù)初值BYTEH。請(qǐng)寫出初始化程序段。69MOVAL,01101000B;方式字
OUT43H,ALMOVAL,BYTEH;高8位,低8位自動(dòng)補(bǔ)0
OUT41H,AL當(dāng)?shù)刂贰?FFH時(shí),直接尋址更明了?!?-9】設(shè)某微機(jī)系統(tǒng)8253/8254計(jì)數(shù)器的端口地址為60H~63H。已知:計(jì)數(shù)器0:方式0,計(jì)數(shù)初值0A8H,按二進(jìn)制計(jì)數(shù);計(jì)數(shù)器1:方式1,計(jì)數(shù)初值為2000,按BCD碼計(jì)數(shù);計(jì)數(shù)器2:方式3,初值為1B3CH,按二進(jìn)制計(jì)數(shù)。
請(qǐng)寫出初始化程序段。70解:寫方式字:控制端口,A1A0=11T0:方式0,初值0A8H,二進(jìn)制計(jì)數(shù)。T1:方式1,初值2000,BCD碼計(jì)數(shù);T2:方式3,初值1B3CH,二進(jìn)制計(jì)數(shù)。寫計(jì)數(shù)初值:寫入對(duì)應(yīng)端口T0:將初值A(chǔ)8H寫入端口60H;(高8位自動(dòng)補(bǔ)0)T1:將初值20H寫入端口61H;(低8位自動(dòng)補(bǔ)0)T2:將初值1B3CH寫入端口62H。(先低8位,后高8位)7100010000B=10H01100011B=63H10110110B=B6H72MOVAL,10H;寫T0控制字
OUT63H,ALMOVAL,0A8H;向T0寫低8位計(jì)數(shù)初值
OUT60H,AL
MOVAL,63H;寫T1控制字
OUT 63H,ALMOVAL,20H;向T1寫高8位計(jì)數(shù)初值
OUT61H,ALMOVAL,0B6H ;寫T2控制字
OUT63H,ALMOVAL,3CH;向T2寫低8位計(jì)數(shù)初值
OUT62H,ALMOVAL,1BH;向T2寫高8位計(jì)數(shù)初值
OUT62H,AL【3-10】針對(duì)下圖,按要求編寫初始化程序段。計(jì)數(shù)器0:方式0,計(jì)數(shù)初值1234H,按二進(jìn)制計(jì)數(shù);計(jì)數(shù)器1:方式2,計(jì)數(shù)初值為100,按BCD碼計(jì)數(shù);計(jì)數(shù)器2:方式4,初值為1FFFH,按二進(jìn)制計(jì)數(shù)。73解:(1)首先確定8253的端口地址。計(jì)數(shù)器0、1、2的地址分別是40H、44H和48H;方式字的端口地址是4CH。74A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000000001000000000000000100010000000000010010000000000001001100
(2)確定8253三個(gè)計(jì)數(shù)器的工作方式T0:方式0,初值1234H,二進(jìn)制計(jì)數(shù)。T1:方式2,初值100,BCD碼計(jì)數(shù);T2:方式4,初值1FFFH,二進(jìn)制計(jì)數(shù)。7500110000B=30H01100101B=65H10111000B=B8H
(3)編寫程序段76MOVAL,30H;寫T0的方式字OUT4CH,ALMOVAL,34H;寫T0的計(jì)數(shù)初值1234HOUT40H,ALMOVAL,12HOUT40H,AL77MOVAL,0B8H;寫T2的方式字OUT4CH,ALMOVAL,0FFH;寫T2的計(jì)數(shù)初值1FFFHOUT48H,ALMOVAL,1FHOUT48H,ALMOVAL,65H;寫T1的方式字OUT4CH,ALMOVAL,01H;寫T1的計(jì)數(shù)初值0100HOUT44H,AL【3-11】請(qǐng)采用8253設(shè)計(jì)一個(gè)可以重復(fù)進(jìn)行的計(jì)數(shù)系統(tǒng),每按脈沖開關(guān)100下,點(diǎn)亮一下LED發(fā)光二極管。其它時(shí)間LED發(fā)光二極管不亮。解:(1)硬件電路分析與設(shè)計(jì)該計(jì)數(shù)器的OUT端可用于控制LED發(fā)光二極管亮或滅。該計(jì)數(shù)器的工作方式應(yīng)能支持連續(xù)計(jì)數(shù):方式2
或3。8253中某個(gè)計(jì)數(shù)器的CLK端接開關(guān),每按一下產(chǎn)生一個(gè)CLK下降沿,用其進(jìn)行計(jì)數(shù)。初值可設(shè)為100。該計(jì)數(shù)器的GATE端可恒接高電平。該8253芯片的CS端應(yīng)接一個(gè)譯碼電路,譯碼范圍為40H~43H。7879(2)軟件編程80MOVAL,00100101H;T0,方式2,
BCD計(jì)數(shù)OUT43H,ALMOVAL,01H;初值100,高位為1OUT40H,AL【3-12】分頻器應(yīng)用。某微機(jī)系統(tǒng)中8253/8254的端口地址為250H~253H,使用該接口芯片將2MHz的脈沖變成1Hz的脈沖。
解:(1)計(jì)數(shù)初值
N=2000000>216=65535,超出了一個(gè)計(jì)數(shù)器的計(jì)數(shù)范圍,故用一個(gè)計(jì)數(shù)器無(wú)法實(shí)現(xiàn)??煽紤]用2個(gè)計(jì)數(shù)器級(jí)聯(lián)來(lái)實(shí)現(xiàn)。第一個(gè)計(jì)數(shù)器的分頻結(jié)果作為第2個(gè)計(jì)數(shù)器的輸入,如圖所示。8182T0工作方式3,其輸出作為T1的時(shí)鐘輸入;T1可工作在方式2或方式3。只要設(shè)計(jì)好計(jì)數(shù)初值,即可輸出1Hz的脈沖。83(2)計(jì)數(shù)初值的拆分設(shè)T0和T1的計(jì)數(shù)初值分別為N0和N1,則有:即:總計(jì)數(shù)初值N=2000000可拆分為兩個(gè)計(jì)數(shù)器初值N0和N1的乘積??扇我獠鸱?,只要保證N0,N1<65535
即可。這里可拆分為N0=400,N1=5000,并采用BCD計(jì)數(shù)。
(3)程序代碼段84MOVAL,27H;T0的方式字:0010
0111MOVDX,253HOUTDX,ALMOVAL,04H;
T0的計(jì)數(shù)初值400MOVDX,250HOUTDX,ALMOVAL,65H;T1的方式字:0110
0101MOVDX,253HOUTDX,ALMOVAL,50H;
T1的計(jì)數(shù)初值5000MOVDX,251HOUTDX,AL【3-13】用8253定時(shí)器來(lái)控制一個(gè)LED發(fā)光二極管的亮滅,要求點(diǎn)亮10秒鐘后再熄滅10秒鐘,依次交替。已知有一個(gè)2MHz的時(shí)鐘源,8253各端口的地址為81H、83H、85H和87H,請(qǐng)?jiān)O(shè)計(jì)電路,并給出初始化程序段。解:(1)計(jì)數(shù)初值分析與電路設(shè)計(jì)輸入時(shí)鐘頻率2MHz,周期為Tclk=1/2MHz。輸出信號(hào)周期為Tout=20s。若用一級(jí)定時(shí)/計(jì)數(shù)器來(lái)實(shí)現(xiàn),則初值為:N>65535,1個(gè)計(jì)數(shù)器無(wú)法實(shí)現(xiàn)。須用2個(gè)計(jì)數(shù)器級(jí)聯(lián)。8586T0可工作方式3,它輸出的方波可作為T1的時(shí)鐘輸入;T1可工作在方式3(題目要求)。N=40000000,可拆分為N0=5000,N1=8000,采用BCD計(jì)數(shù)。
(2)初始化程序段87MOVAL,0010
0111B;T0的方式字:OUT87H,ALMOVAL,50H;
T0的計(jì)數(shù)初值5000OUT81H,ALMOVAL,0110
0111B;T1的方式字OUT87H,ALMOVAL,80H;
T1的計(jì)數(shù)初值8000OUT83H,AL脈寬調(diào)制原理及其應(yīng)用
工業(yè)上常需對(duì)交/直流電機(jī)進(jìn)行轉(zhuǎn)速的調(diào)節(jié)??捎靡粋€(gè)開關(guān)電源對(duì)電機(jī)供電,通過(guò)控制電源開、關(guān)的時(shí)間比例,就可控制輸出的有效電壓,從而控制電動(dòng)機(jī)的轉(zhuǎn)速。該方法就是脈寬調(diào)制(PWM,PulseWidthModulation),即輸出周期固定、占空比可變的脈沖信號(hào)。【3-14】某系統(tǒng)8253/8254的端口地址為250H~253H。T0工作在方式2,其輸出端OUT0接到T1的GATE1端。T1工作在方式1,OUT1用做脈寬調(diào)制的控制端。CLK0和CLK1均接2MHz的時(shí)鐘(周期0.5μs)。試分析其脈寬調(diào)制原理,并給出相應(yīng)的程序段。88898253端口地址為250H~253H。T0為方式2,T1為方式1,OUT1為PWM控制端。CLK0和CLK1為2MHz。90分析:(1)原理分析T1工作在方式1,計(jì)數(shù)時(shí)輸出低電平,GATE有↑時(shí),重新計(jì)數(shù)。而↑由T0提供(T0方式2,周期性輸出負(fù)脈沖)。結(jié)論1:T1輸出端OUT1的周期與GATE1一致,而GATE1又連接到OUT0,故OUT1與OUT0具有相同的周期。結(jié)論2:OUT1用作PWM的控制脈沖,PWM脈沖的周期由T0決定,高低電平的寬度和比例由T1決定。91設(shè)PWM的脈沖周期為5ms,由于其周期由T0決定,故T0的初值為:N0=Tout0/Tclk0=5ms/(1/2MHz)=10000。PWM脈沖的低電平寬度由T1控制,T1工作在方式1。設(shè)T1的計(jì)數(shù)初值為N(N
可在程序中設(shè)置和修改),則T1
的每個(gè)周期內(nèi),低電平的持續(xù)時(shí)間為Tclk×N,高電平的持續(xù)時(shí)間為Tclk×(10000-N),占空比為(10000-N)/10000。N
越大,對(duì)應(yīng)的有效直流電壓越小。92(2)程序段MOVDX,253HMOVAL,34H;T0方式字:0011
0100,方式2OUTDX,ALMOVDX,250H;T0
初值MOVAX,10000;為何不用BCD碼?
OUTDX,ALMOV
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度云南省高校教師資格證之高等教育法規(guī)押題練習(xí)試題B卷含答案
- 贛南師范大學(xué)《民法》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《兒童舞》2023-2024學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)師范大學(xué)《體育舞蹈》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)協(xié)和學(xué)院《國(guó)際貿(mào)易理論與實(shí)務(wù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《影視藝術(shù)前沿》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《實(shí)變函數(shù)論》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《環(huán)境影響評(píng)價(jià)》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《光電子材料與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 精益管理學(xué)習(xí)資料3
- 《沉淀溶解平衡》說(shuō)課課件(全國(guó)優(yōu)質(zhì)課獲獎(jiǎng)案例)
- 中藥飲片生產(chǎn)設(shè)備清潔驗(yàn)證報(bào)告
- 浙江省溫州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 知法守法依法維權(quán)課件
- 小學(xué)英語(yǔ)人教PEP新版六年級(jí)上冊(cè)Unit3B-Let-s-learn課件
- 維修工具管理新版制度
- 幼兒園《保護(hù)牙齒》課件
- 信息技術(shù)與教育教學(xué)融合課評(píng)價(jià)表
- 芯片產(chǎn)業(yè)鏈概述
- 鋼筋吊斗、吊籠制作技術(shù)交底范本
- 新蘇科版八年級(jí)上冊(cè)初中數(shù)學(xué)全冊(cè)教案
評(píng)論
0/150
提交評(píng)論