第7章定時計(jì)數(shù)技術(shù)_第1頁
第7章定時計(jì)數(shù)技術(shù)_第2頁
第7章定時計(jì)數(shù)技術(shù)_第3頁
第7章定時計(jì)數(shù)技術(shù)_第4頁
第7章定時計(jì)數(shù)技術(shù)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、接口與通訊技術(shù)接口與通訊技術(shù)武漢科技大學(xué)武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第第7 7章定時章定時/ /計(jì)數(shù)技術(shù)計(jì)數(shù)技術(shù) 本章內(nèi)容本章內(nèi)容7.1 7.1 定時與計(jì)數(shù)定時與計(jì)數(shù)7.2 7.2 微機(jī)系統(tǒng)中的定時系統(tǒng)微機(jī)系統(tǒng)中的定時系統(tǒng)7.3 7.3 外部定時方法及硬件定時器外部定時方法及硬件定時器7.4 7.4 可編程定時計(jì)數(shù)器可編程定時計(jì)數(shù)器82C54A82C54A7.5 7.5 定時定時/ /計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用7.1 7.1 定時與計(jì)數(shù)定時與計(jì)數(shù)1. 定時定時日時鐘、實(shí)時鐘、時間延遲2. 計(jì)數(shù)計(jì)數(shù)3. 定時與計(jì)數(shù)的關(guān)系定時與計(jì)數(shù)的關(guān)系7.2 7.2 微機(jī)系統(tǒng)中的定時系統(tǒng)微

2、機(jī)系統(tǒng)中的定時系統(tǒng)1. 內(nèi)部定時內(nèi)部定時計(jì)算機(jī)本身運(yùn)行的時間基準(zhǔn)或時序關(guān)系;由計(jì)算機(jī)硬件決定,用戶無法更改用戶無法更改2. 外部定時外部定時外設(shè)實(shí)現(xiàn)某種功能時,本身所需的時序關(guān)系3. 時序配合時序配合考慮外設(shè)與CPU連接時,以計(jì)算機(jī)的時序關(guān)系為依據(jù),以滿足計(jì)算機(jī)的時序要求7.3 7.3 外部定時方法及硬件定時器外部定時方法及硬件定時器7.3.1 7.3.1 定時方法定時方法1. 1. 軟件定時軟件定時典型的延時程序段特點(diǎn):特點(diǎn):不需增加硬件;浪費(fèi)CPU資源、程序通用性差2. 2. 硬件定時硬件定時特點(diǎn):特點(diǎn):不占用CPU時間、定時準(zhǔn)確、定時程序具有通用性7.3.2 7.3.2 定時器定時器1.

3、 1. 不可編程定時器不可編程定時器常用定時器件:常用定時器件:單穩(wěn)觸發(fā)器、555、556定時器2. 2. 可編程定時器可編程定時器常用可編程定時常用可編程定時/計(jì)數(shù)器芯片:計(jì)數(shù)器芯片:Intel 8253/8254/82C54A、MC6840、Zilog的CTC等對時間的計(jì)時方式:對時間的計(jì)時方式:正計(jì)時、倒計(jì)時7.4 7.4 可編程定時可編程定時/ /計(jì)數(shù)器計(jì)數(shù)器82C54A82C54A7.4.1 82C54A7.4.1 82C54A的外部特性和內(nèi)部寄存器的外部特性和內(nèi)部寄存器82C54A82C54A的主要特性:的主要特性: 3個獨(dú)立的、16位的、減1計(jì)數(shù)通道(T0T2);每個通道有自己的

4、GATE、CLK、OUT;6種工作方式1. 82C54A1. 82C54A的外部連接特性的外部連接特性( (24腳、雙列直插、+5V供電)(1)(1)面向面向CPUCPU的信號線的信號線( (13)D0D7、CS、RD、WR、A1、A0(2)(2)面向面向I/OI/O設(shè)備的信號線設(shè)備的信號線( (9)GATEGATEi i:Ti的門控信號,控制計(jì)數(shù)過程,具體作用視方式而定CLKCLKi i:Ti的脈沖輸入,允許計(jì)數(shù)時對CLKi輸入的脈沖減1計(jì)數(shù)OUTOUTi i:Ti的輸出信號,Ti減為0時OUTi有效,輸出波形視方式而定A1A0選中端口0 0T00 1T11 0T21 1控制口7.4.1 8

5、2C54A7.4.1 82C54A的外部特性和內(nèi)部寄存器的外部特性和內(nèi)部寄存器2. 82C54A2. 82C54A的內(nèi)部寄存器的內(nèi)部寄存器(1)82C54A(1)82C54A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器、命令寄存器、3個計(jì)數(shù)通道、讀/寫邏輯各模塊的功能及各模塊的功能及82C54A82C54A的讀寫操作的讀寫操作(2)3(2)3個計(jì)數(shù)通道的內(nèi)部結(jié)構(gòu)及各寄存器的功能個計(jì)數(shù)通道的內(nèi)部結(jié)構(gòu)及各寄存器的功能16位當(dāng)前計(jì)數(shù)值鎖存器16位減1計(jì)數(shù)器16位計(jì)數(shù)初值寄存器&CLKGATEOUT裝入/讀出初值MSBLSB減1為0時鎖存后讀出當(dāng)前值MSBLSB82C54A82C54A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)

6、構(gòu)內(nèi)部總線讀/寫邏輯數(shù)據(jù)總線緩沖器D0D7A0A1IORIOW命令寄存器CS計(jì)數(shù)器2CLK2GATE2OUT2計(jì)數(shù)器1CLK1GATE1OUT1計(jì)數(shù)器0CLK0GATE0OUT07.4.2 82C54A7.4.2 82C54A的編程模式的編程模式用戶擴(kuò)展的82C54A的I/O端口地址:304H307H1. 1. 方式命令方式命令選擇通道、確定工作方式命令字各位含義及舉例2. 2. 鎖存命令鎖存命令將選定計(jì)數(shù)通道的當(dāng)前計(jì)數(shù)值鎖存,以便讀取讀取當(dāng)前值的作用:讀取當(dāng)前值的作用:求當(dāng)前所計(jì)脈沖數(shù),應(yīng)用舉例3. 3. 讀回命令讀回命令既能鎖存計(jì)數(shù)值又能鎖存狀態(tài)信息CNTCNT:鎖存選中計(jì)數(shù)器的內(nèi)容,=0

7、表示要讀取計(jì)數(shù)值STST:鎖存選中計(jì)數(shù)器的狀態(tài),=0表示要讀取狀態(tài)CNCNi i:選擇計(jì)數(shù)器,=1表示選中SC1SC0RW1RW0M2M1M0BCD11CNTSTCNT2CNT1CNT0082C5482C54方式命令字方式命令字各位的含義各位的含義RWRW1 1RWRW0 0:讀/寫長度選擇或發(fā)鎖存命令00:發(fā)鎖存命令(鎖存SC1SC0指定的通道)此時低4位無效01:只讀/寫一個低字節(jié)10:只讀/寫一個高字節(jié)11:先低后高讀/寫兩個字節(jié)M M2 2M M1 1M M0 0:工作方式選擇(方式05分別由000101選擇)BCDBCD:計(jì)數(shù)碼制選擇0:二進(jìn)制計(jì)數(shù) 1:BCD碼計(jì)數(shù)SCSC1 1SC

8、SC0 0:通道選擇00:通道0(T0)01:通道1(T1)10:通道2(T2)11:不用讀取當(dāng)前值的應(yīng)用舉例讀取當(dāng)前值的應(yīng)用舉例要求:要求:用T0統(tǒng)計(jì)某個事件發(fā)生的次數(shù),將結(jié)果存入寄存器BX中,假設(shè)該事件發(fā)生的次數(shù)在165535次范圍內(nèi)分析:分析:由于發(fā)生次數(shù)在165535之間,故將初值送為0,采用二進(jìn)制計(jì)數(shù);當(dāng)需要了解事件發(fā)生的實(shí)際次數(shù)時,只要用初值減去當(dāng)前值即可;方式可選0/1/4/5(以方式0為例)初始化程序:MOV DX,307HMOV AL,30HOUT DX,AL;方式字MOV BX,0;計(jì)數(shù)初值MOV DX,304HMOV AL,BLOUT DX,ALMOV AL,BHOUT

9、DX,AL;寫入初值需要了解實(shí)際發(fā)生次數(shù)時執(zhí)行下列程序段:MOV DX,307HMOV AL,00HOUT DX,AL;鎖存T0當(dāng)前值MOV DX,304HIN AL,DX;讀低字節(jié)MOV CL,ALIN AL,DX;讀高字節(jié)MOV CH,ALSUB BX,CX;(BX)=實(shí)際發(fā)生次數(shù)7.4.3 82C54A7.4.3 82C54A的工作方式的工作方式區(qū)分區(qū)分6 6種工作方式的標(biāo)志:種工作方式的標(biāo)志:啟動計(jì)數(shù)器的觸發(fā)方式輸出波形計(jì)數(shù)過程中門控信號的作用1. 01. 0方式方式計(jì)數(shù)結(jié)束輸出正跳變觸發(fā)方式:觸發(fā)方式:寫入初值后,WR 觸發(fā)輸出波形:輸出波形:計(jì)數(shù)過程中為低電平,減為0變高,并結(jié)束計(jì)

10、數(shù)過程中計(jì)數(shù)過程中GATE作用:作用:1,允許;0,禁止; ,暫停, ,繼續(xù)2. 12. 1方式方式可重觸發(fā)單穩(wěn)方式觸發(fā)方式:觸發(fā)方式:寫入初值后,GATE 觸發(fā)輸出波形:輸出波形:計(jì)數(shù)過程中為低電平,減為0變高,并結(jié)束計(jì)數(shù)過程中計(jì)數(shù)過程中GATE作用:作用:1,0, ,不影響; ,啟動或重新啟動82C54A82C54A的的0 0方式方式CLKN=5WROUT543210GATE=1WRN=5OUTGATE54333321082C54A82C54A的的1 1方式方式CLKWROUTN=5GATE543210543210WR N=5OUTGATE5435432107.4.3 82C54A7.4.

11、3 82C54A的工作方式的工作方式3. 23. 2方式方式N分頻器(速率波發(fā)生器)觸發(fā)方式:觸發(fā)方式:寫入初值后,WR 觸發(fā)輸出波形:輸出波形:計(jì)數(shù)過程中為高電平,減為1時變低,維持1個時鐘周期,再次變高并重新裝入計(jì)數(shù)初值,重復(fù)計(jì)數(shù)過程計(jì)數(shù)過程中計(jì)數(shù)過程中GATE作用:作用:1,允許;0,禁止; ,停止, ,重新開始4. 34. 3方式方式方波發(fā)生器與與2方式的區(qū)別僅在于輸出波形不同方式的區(qū)別僅在于輸出波形不同輸出波形:輸出波形:占空比為1:1或近似1:1的方波。初值為偶數(shù)時,前半周為高電平,后半周為低電平;初值為奇數(shù)時,前(N+1)/2個脈沖為高電平方式方式2、方式、方式3的特殊性:的特殊

12、性:具有自動重新裝載計(jì)數(shù)初值的功能周期周期/頻率、頻率、兩種方式的占空比占空比82C54A82C54A的的2 2方式方式CLKWROUTN=55432105432105432105GATE1WRN=5OUTGATE543210543543210582C54A82C54A的的3 3方式方式CLKWROUTN=5543210543210 05432105GATE1WRN=44310321OUT0GATE=1244321403217.4.3 82C54A7.4.3 82C54A的工作方式的工作方式5. 45. 4方式方式軟件觸發(fā)選通方式觸發(fā)方式:觸發(fā)方式:寫入初值后,WR 觸發(fā)輸出波形:輸出波形:方

13、式設(shè)定后輸出為高電平,并維持,減為0時變低,維持1個時鐘周期,再次變高并結(jié)束計(jì)數(shù)過程中計(jì)數(shù)過程中GATE作用:作用:1,允許;0,禁止; ,停止, ,重新開始6. 56. 5方式方式硬件觸發(fā)選通方式(輸出波形同4方式,觸發(fā)方式同1方式)觸發(fā)方式:觸發(fā)方式:寫入初值后,GATE 觸發(fā)輸出波形:輸出波形:計(jì)數(shù)過程中為高,結(jié)束時輸出寬度為1個時鐘周期的負(fù)脈沖并結(jié)束計(jì)數(shù)過程中計(jì)數(shù)過程中GATE作用:作用:1,0, ,不影響; ,啟動或重新啟動82C54A82C54A的的4 4方式方式CLKWROUTN=5543210GATE=1WRN=5OUTGATE5454321082C54A82C54A的的5 5

14、方式方式WROUTN=5GATE543210543210WRN=5OUTGATE543543210CLK7.4.3 82C54A7.4.3 82C54A的工作方式的工作方式7. 67. 6種方式的比較種方式的比較觸發(fā)方式:觸發(fā)方式:方式1和方式5為硬件觸發(fā);其余為軟件觸發(fā)輸出波形:輸出波形:方式2和方式3輸出重復(fù)波形,其余為單次波形;方式0、1基本相同,方式4、5相同計(jì)數(shù)過程的結(jié)束:計(jì)數(shù)過程的結(jié)束:方式2和方式3需外加控制信號令GATE=0;方式0、1、4、5計(jì)數(shù)結(jié)束會自動停止7.4.4 82C54A7.4.4 82C54A的計(jì)數(shù)初值計(jì)算及裝入的計(jì)數(shù)初值計(jì)算及裝入1. 1. 計(jì)數(shù)初值的計(jì)算計(jì)數(shù)

15、初值的計(jì)算82C54A是逆計(jì)數(shù)器(減1計(jì)數(shù)器),減1計(jì)數(shù)器減為0時輸出有效定時的計(jì)數(shù)初值計(jì)數(shù)初值(時間常數(shù))2. 2. 計(jì)數(shù)初值的裝入計(jì)數(shù)初值的裝入16位計(jì)數(shù)初值裝入順序先低后高先低后高3. 3. 計(jì)數(shù)初值的范圍計(jì)數(shù)初值的范圍當(dāng)初值N=0時,計(jì)數(shù)脈沖數(shù)最多:二進(jìn)制計(jì)數(shù),計(jì)65536個BCD碼計(jì)數(shù),計(jì)10000個OUTfCLKfCLKTOUTTN7.4.5 82C54A7.4.5 82C54A的初始化的初始化1. 1. 初始化步驟:初始化步驟:設(shè)置方式命令字、設(shè)置計(jì)數(shù)初始值2. 2. 初始化舉例初始化舉例輸入頻率為2MHz的時鐘信號,利用T1定時2ms,采用方式382C54A82C54A的初始化

16、舉例的初始化舉例設(shè):設(shè):輸入時鐘頻率為2MHz,要求利用T1定時2ms,采用方式3計(jì)數(shù)初值計(jì)數(shù)初值(時間常數(shù))方式字:方式字:76H(二進(jìn)制計(jì)數(shù)) 或 77H(BCD碼計(jì)數(shù))MOV DX,307HMOV AL,76HOUT DX,AL;寫入方式字MOV DX,305HMOV AX,4000OUT DX,ALMOV AL,AHOUT DX,AL;寫入計(jì)數(shù)初值4000102102T3-6OUTCLKfCLKTOUTTN4000H 方式字送77H,計(jì)數(shù)初值應(yīng)送多少??7.5 7.5 定時定時/ /計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用7.5.1 7.5.1 用戶擴(kuò)展的定時用戶擴(kuò)展的定時/ /計(jì)數(shù)器計(jì)數(shù)器(304H

17、307H)應(yīng)用應(yīng)用例例7.17.1 某系統(tǒng)要求用82C54A的T1測量脈沖(正脈沖)的寬度,系統(tǒng)提供輸入時鐘CLK=1MHz,采用二進(jìn)制計(jì)數(shù)分析:分析:采用方式方式0 0,用被測脈沖控制GATE1,首先裝入初值初值0 0,當(dāng)被測信號變高時開始計(jì)數(shù),被測信號變低時停止計(jì)數(shù),鎖存并讀出當(dāng)前值n,則脈沖寬度為(65536-n)s脈寬測量程序段:脈寬測量程序段:; ;初始化初始化MOV DX,307HMOV AL,70HOUT DX,ALMOV DX,305HMOV AX,0000HOUT DX,ALMOV AL,AHOUT DX,AL; ;測量脈寬測量脈寬MOV DX,307HMOV AL,40HO

18、UT DX,AL ;鎖存T1MOV DX,305HIN AL,DXMOV BL,ALIN AL,DXMOV BH,AL ;(BX)為當(dāng)前值MOV AX,0SUB AX,BX脈沖寬度測量原理脈沖寬度測量原理CLKWRD=0GATE1被測信號等待設(shè)置初值脈寬計(jì)數(shù)讀結(jié)果7.5.1 7.5.1 用戶擴(kuò)展的定時用戶擴(kuò)展的定時/ /計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用例例7.2 7.2 82C54A用作定時要求:要求:每隔5ms發(fā)出一個掃描負(fù)脈沖,系統(tǒng)提供時鐘CLK=20KHz,采用T2、用十進(jìn)制十進(jìn)制計(jì)數(shù)分析:分析: T2工作于方式2計(jì)數(shù)初值為N=TOUT/TCLK=TOUTCLK=510-320103=100初始

19、化程序:初始化程序:MOV DX, 307HMOV AL, 0B5HOUT DX, ALMOV DX, 306HMOV AX, 100HOUT DX, ALMOV AL, AHOUT DX, AL7.5.1 7.5.1 用戶擴(kuò)展的定時用戶擴(kuò)展的定時/ /計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用例例7.3 7.3 82C54A用作分頻器要求:要求:用T0產(chǎn)生=1000Hz的方波,系統(tǒng)提供時鐘CLK=1.19318MHz,采用二進(jìn)制計(jì)數(shù)分析:分析:工作于方式3計(jì)數(shù)初值為N=CLK/OUT=1.19318106/10001193=4A9H初始化程序:初始化程序:MOV DX, 307HMOV AL, 36HOUT

20、DX, ALMOV DX, 304HMOV AX, 4A9HOUT DX, ALMOV AL, AHOUT DX, AL7.5.1 7.5.1 用戶擴(kuò)展的定時用戶擴(kuò)展的定時/ /計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用例例7.47.4 82C54A同時用作計(jì)數(shù)與定時要求:要求:控制產(chǎn)品流水線,每通過24個產(chǎn)品,暫停5s,等待打包,然后重啟流水線,按ESC鍵停止生產(chǎn),系統(tǒng)提供時鐘100Hz分析:分析:對24計(jì)數(shù),選用T0;對5s定時,選用T1;用OUT0觸發(fā)T1控制流水線的暫停和重啟;設(shè)置T0方式2,T1方式1,由外部硬件信號(OUT0)進(jìn)行觸發(fā);設(shè)兩個通道都采用十進(jìn)制計(jì)數(shù) T0方式字=00010101B=15

21、H,初值N0=24H T1方式字=01110011B=73H,初值N1=(5100)H=500H硬件設(shè)計(jì)硬件設(shè)計(jì)包裝流水線的程序段包裝流水線的程序段包裝流水線計(jì)數(shù)定時裝置電路結(jié)構(gòu)原理包裝流水線計(jì)數(shù)定時裝置電路結(jié)構(gòu)原理82C54AGATE0CLK0OUT0GATE1CLK1OUT1VCC100HzVCCRT產(chǎn)品光源5s暫停啟動包裝流水線匯編語言程序段包裝流水線匯編語言程序段CODE SEGMENTASSUME CS: CODESTART:MOV DX, 307H;通道0初始化MOV AL, 15HOUT DX, ALMOV DX, 304HMOV AL, 24HOUT DX, ALMOV DX,

22、 307H;通道1初始化MOV AL, 73HOUT DX, ALMOV DX, 305HMOV AX, 500HOUT DX, ALMOV AL, AHOUT DX, ALCHECK:MOV AH, 0BH;是否有鍵按下INT 21HCMP AL, 00HJE CHECKMOV AH, 08H;有鍵, 判斷是否為ESCINT 21HCMP AL, 1BHJNE CHECK;發(fā)停止生產(chǎn)的控制信號MOV AX, 4C00H;是ESC則結(jié)束INT 21HCODEENDSEND START7.5.2 7.5.2 系統(tǒng)配置的定時系統(tǒng)配置的定時/ /計(jì)數(shù)器計(jì)數(shù)器(40H43H)應(yīng)用應(yīng)用1. 1. 微機(jī)系

23、統(tǒng)配置的微機(jī)系統(tǒng)配置的82C54A應(yīng)用設(shè)置應(yīng)用設(shè)置OUT0系統(tǒng)時鐘中斷OUT1動態(tài)存儲器刷新OUT2發(fā)聲系統(tǒng)音調(diào)控制82C54A在系統(tǒng)中的應(yīng)用設(shè)置在系統(tǒng)中的應(yīng)用設(shè)置計(jì)數(shù)計(jì)數(shù)通道通道讀讀/寫寫方式方式工作工作方式方式計(jì)數(shù)計(jì)數(shù) 碼制碼制計(jì)數(shù)計(jì)數(shù)初值初值CLK/ MHzGATEToutFoutOUT用途用途0高/低字節(jié)3二進(jìn)制0000H1.19318+5V55ms18.2HzIRQ0日時鐘 中斷請求1只寫低字節(jié)2二進(jìn)制12H1.19318+5V15s66.3KHzDREQ0DRAM 刷新請求2高/低字節(jié)3二進(jìn)制533H1.19318PB0 控制1.1155ms896HzSPK揚(yáng)聲器 發(fā)聲1.1931

24、8MHzDSQQRDACK0DREQ0VCCCLK0OUT0GATE0GATE1GATE2CLK1CLK2OUT1OUT2&PB1SPKIRQ0VCCPB0WRRDCSA1A0D0D782C54AT/S CSA0A1D0D7IORIOW7.5.2 7.5.2 系統(tǒng)配置的定時系統(tǒng)配置的定時/ /計(jì)數(shù)器應(yīng)用計(jì)數(shù)器應(yīng)用2. 2. 微機(jī)系統(tǒng)配置的微機(jī)系統(tǒng)配置的82C54A初始化程序段初始化程序段計(jì)數(shù)器計(jì)數(shù)器0定時中斷(約55ms申請一次中斷)MOV AL, 00110110B;初始化方式命令OUT 43H, ALMOV AX, 00H;初值為00H(最大值)OUT 40H, AL;先寫低字節(jié)M

25、OV AL, AHOUT 40H, AL;再寫高字節(jié)計(jì)數(shù)器計(jì)數(shù)器1DRAM定時刷新(15s請求一次DMA傳輸)MOV AL, 01010100B;初始化方式命令OUT 43H, ALMOV AL, 12H;初值為12HOUT 41H, AL;只寫低字節(jié)計(jì)數(shù)器計(jì)數(shù)器2產(chǎn)生約900Hz的方波使揚(yáng)聲器發(fā)聲MOV AL, 10110110B OUT 42H, ALOUT 43H, AL MOV AL, AHMOV AX, 533H OUT 42H, AL7.5.2 7.5.2 系統(tǒng)配置的定時系統(tǒng)配置的定時/ /計(jì)數(shù)器應(yīng)用計(jì)數(shù)器應(yīng)用3. 3. 微機(jī)系統(tǒng)配置的微機(jī)系統(tǒng)配置的82C54A應(yīng)用舉例應(yīng)用舉例例例

26、7.5 發(fā)聲器設(shè)計(jì)要求:要求:利用82C54A發(fā)600Hz的聲音,按任意鍵開始發(fā)聲,長/短音交替,按ESC鍵停止;82C54A的T2的輸入時鐘頻率1.19318MHz 系統(tǒng)的硬件連接系統(tǒng)的硬件連接分析:分析: 聲音頻率:聲音頻率:由初值控制 N=1.19318*106/6001988 聲音開關(guān):聲音開關(guān):由82C55A的PB口控制PB0PB11,開;PB00或PB10,關(guān) 聲音長短:聲音長短:由開放聲音的延時時間控制BL作延時子程序入口參數(shù)(BL1,短音;BL6,長音) 軟件設(shè)計(jì)軟件設(shè)計(jì)由主程序和發(fā)聲子程序組成 主程序流程圖 主程序 發(fā)聲子程序發(fā)聲器硬件設(shè)計(jì)發(fā)聲器硬件設(shè)計(jì)CLK2GATE2OU

27、T2PB1PB082C55A&濾波功放82C54A1.19318MHz發(fā)聲器主程序流程圖發(fā)聲器主程序流程圖82C54A初始化關(guān)閉揚(yáng)聲器關(guān)閉揚(yáng)聲器按任意鍵?發(fā)長音(BL=6)調(diào)發(fā)聲子程序發(fā)短音(BL=1)調(diào)發(fā)聲子程序按ESC鍵?結(jié)束開始NYNY說明:說明:82C55A的PBPB口地址為61H61HINT 21HINT 21H的0BH0BH號功能調(diào)用AL00H:無鍵按下ALFFH:有鍵按下,再用8號調(diào)用取得該鍵的ASCII碼發(fā)聲器主程序發(fā)聲器主程序CODE SEGMENT ASSUME CS:CODE ORG 100HBEGIN:MOV AL,0B6H ;82C54方式字 OUT 43H,

28、AL MOV AX,1988 ;82C54初值 OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H AND AL,0FCH OUT 61H,AL ;關(guān)聲音(PB0=PB1=0)WT: MOV AH,0BH INT 21H CMP AL,0 JZ WT ;無鍵按下,等待L_SOUND: MOV BL,6 CALL SOUND ;發(fā)長音 MOV AH,0BH INT 21H CMP AL,0 JE S_SOUND ;無按鍵發(fā)短音 MOV AH,8 INT 21H CMP AL,27 JNE S_SOUND ;非ESC,發(fā)短音EXIT: MOV AH,4CH INT 21H ;按ESC,結(jié)束S_SOUND:MOV BL,1 CALL SOUND ;發(fā)短音 JMP L_SOUND ;轉(zhuǎn)去發(fā)長音發(fā)聲器發(fā)聲子程序發(fā)聲器發(fā)聲子程序SOUND PROC NEAR IN AL,61H OR AL,03H OUT 61H,AL ;開放聲音(PB0=PB1=1) SUB CX,CX DLY : LOOP DLY DEC BL ;延時,由(BL)決定時間 JNZ DLY ;長短,即發(fā)聲的長短 IN AL,61H AND A

溫馨提示

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

評論

0/150

提交評論