實(shí)驗(yàn)6_8254定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第1頁(yè)
實(shí)驗(yàn)6_8254定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第2頁(yè)
實(shí)驗(yàn)6_8254定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第3頁(yè)
實(shí)驗(yàn)6_8254定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第4頁(yè)
實(shí)驗(yàn)6_8254定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

1、實(shí)驗(yàn)六8253/4定時(shí)器/計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)6.1實(shí)驗(yàn)?zāi)康?1) 掌握8254的工作方式及應(yīng)用編程(參考教材)(2) 掌握8254的典型應(yīng)用電路的接法(3) 學(xué)習(xí)8254在PC系統(tǒng)中的典型應(yīng)用方法6.2 實(shí)驗(yàn)設(shè)備 PC機(jī)一臺(tái),TD-PIT-B實(shí)驗(yàn)裝置一套。6.3實(shí)驗(yàn)內(nèi)容及說(shuō)明1 )計(jì)數(shù)應(yīng)用實(shí)驗(yàn)。2)定時(shí)應(yīng)用實(shí)驗(yàn)。3)電子發(fā)聲實(shí)驗(yàn) 注意:在斷電情況,連接好實(shí)驗(yàn)線路,檢查無(wú)誤后,通電進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)完畢,先斷電,再 拆線,并將導(dǎo)線整理好。1. 計(jì)數(shù)應(yīng)用實(shí)驗(yàn):編寫程序,將8254的計(jì)數(shù)器0設(shè)置為方式3,計(jì)數(shù)值為十進(jìn)制5,用微動(dòng)開(kāi)關(guān)KK1-作為 CLK0時(shí)鐘,OUT0連接IRQ,每當(dāng)KK1-按動(dòng)5次后產(chǎn)生中

2、斷請(qǐng)求,在屏幕上顯示字符“ M。 8254計(jì)數(shù)應(yīng)用參考連接線圖如圖 6-1 o總線接口XD7XD6XD5 XD4 .XD3XD2XD1XD0XA1 -XA0 -D7D6D5GATEO D4D3CLKOXIOWXIORIOY2;計(jì)數(shù)應(yīng)用實(shí)驗(yàn);filename : 8254-1.asmD2D1DOA1AO/WR/RD/CS8254 outoUNIT圖6-1 8254計(jì)數(shù)應(yīng)用實(shí)驗(yàn)參考接線圖;-PCI卡分配的第3個(gè)I/O空間MY8254_COUNT0 EQU 0E440HMY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E

3、443H+5VKK1-IRQINTCSR_BYTE3 EQU 0DC3BHIMB4_BYTE3 EQU 0DC1FHDATA SEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?DATA ENDS;-PCI 卡分配的第1個(gè)I/O空間INTCSR_BYTEO EQU 0DC38HINTCSR_BYTE1 EQU 0DC39HINTCSR BYTE2 EQU 0DC3AHCODE SEGMENTASSUME CS:CODE,DS:DATAMOV DI, 01C4H;irq 9 , INT 71h, 01c4= 71h*4STIMOV DX,MY8254_MODE ;CLK=K

4、K1- / 實(shí)際接線 kk1-MOV AL,17H;00 01,011 1b :計(jì)數(shù)器0,讀/寫低8位;方式3,十進(jìn)制數(shù)OUT DX,ALMOV DX,MY8254_COUNT0MOV AL,5;寫入計(jì)數(shù)初值3個(gè)高電平,2個(gè)低電平OUT DX,ALA1: NOPCALL BREAKJMP A1START: CLIMOV AX,DATAMOV DS,AXMOV DX,INTCSR_BYTEO ; 設(shè)置pci卡MOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DX,ALMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,AL

5、MOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,ALMOV AX,0000HMOV ES,AXMOV AX,ES:DIMOV IPBAK,AX ;IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:DI ;CSMOV CSBAK,AXMOV AX,SEG MYINTSTOSWIN AL,0A1HMOV MKBAK,ALAND AL,0fdh; irq9OUT 0A1H,ALMYINT: PUSH DSPUSH AXPUSH DXMOV DX,IMB4_BYTE3 ;清PCI卡中斷標(biāo)志IN AL,DXMOV DX,INTCSR_BYTE2MOV

6、AL,3FHOUT DX,ALMOV AL,61H;irq9 從片D1,主片D2OUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AX,0E4DH;顯示字母M加一空格INT 10HMOV AX,0E20HINT 10HPOP DXPOP AXPOP DSIRETBREAK PROC NEARPUSH DSMOV AH,06HMOV DL,0FFHINT 21HJE RETURNPOP DSCLIMOV AL,MKBAKOUT 0A1H,ALMOV AX,0000HMOV ES,AX;irq 9 INT 71H,01C4H=71H*4MOV AX,IPBAKCLDSTOSWM

7、OV AX,CSBAKSTOSWMOV DX,INTCSR_BYTE1 ;pci 卡設(shè)置MOV AL,00HOUT DX,ALSTIMOV AX,4C00HINT 21HRETURN:POP DSRETBREAK ENDPCODE ENDSEND STARTMOV DI,01C4H2. 定時(shí)應(yīng)用實(shí)驗(yàn)編寫程序,將8254的計(jì)數(shù)器0設(shè)置為方式2,用信號(hào)源10kHz作為CLK0時(shí)鐘,計(jì)數(shù)值為十 進(jìn)制0(即最大計(jì)數(shù)值10000),OUT0連接IRQ,這樣每計(jì)時(shí)1s后產(chǎn)生中斷請(qǐng)求,制作一個(gè)秒表 顯示,每計(jì)時(shí)60秒自動(dòng)歸零。8254定時(shí)應(yīng)用實(shí)驗(yàn)參考連線圖:XD總線接口XDD7D6D5GATEOD4D3CL

8、KOD2D1DO8254 outoUNIT+5V10KHZ(接信號(hào)源)IRQXA1 -XAO 一 -XIOWXIORIOY2A1AO/WR/RD/CS圖6-2 8254定時(shí)應(yīng)用實(shí)驗(yàn)參考接線圖;8254定時(shí)應(yīng)用實(shí)驗(yàn);file name : 8254-2.asm;PCI卡分配的第3個(gè)I/O空間MY8254_COUNT0 EQU 0E440HMY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E443H;PCI卡分配的第1個(gè)I/O空間INTCSR_BYTE0INTCSR_BYTE1INTCSR_BYTE2INTCSR_BY

9、TE3EQU 0DC38HEQU 0DC39HEQU 0DC3AHEQU 0DC3BHIMB4 BYTE3 EQU 0DC1FHDATA SEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?SEC1 DB 30HSECO DB 31H ;DATA ENDS顯示秒的個(gè)位顯示秒的十位CODE SEGMENTASSUME CS:CODE,DS:DATASTART: CLIMOV AX,DATAMOV DS,AXMOV DX,INTCSR_BYTEOMOV AL,00HOUT DX,ALMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DX,ALMOV DX,IN

10、TCSR_BYTE2MOV AL,3FHOUT DX,ALMOV DX,INTCSR_BYTE3MOV AL,00HOUT DX,ALMOV AX,0000HMOV ES,AXMOV DI, 01C4H;irq 9 , INT 71h, 01c4= 71h*4MOV AX,ES:DIMOV IPBAK,AX ;IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:DI ;CSMOV CSBAK,AXMOV AX,SEG MYINTSTOSWIN AL,0A1HMOV MKBAK,ALPUSH DXMOV AX,DATAMOV DS,AXMOV DX,IMB4_BYTE3

11、 ; 清PCI卡中斷標(biāo)志IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALAND AL,Ofdh; irq9MOV AL,61H;irq9 從片D1,主片D2OUT 0A1H,ALMOV AX,0E30H顯示00回車,注意沒(méi)有換行,同在一行顯示INT 10HMOV AX,0E30HINT 10HMOV AX,0E0DHINT 10HMOV DX,MY8254_MODE;CLK=10KMOV AL, 35H;0011, 0101B計(jì)數(shù)器0,讀寫低/高位 方式2;十進(jìn)制計(jì)數(shù)方式OUT DX, ALMOV DX,MY8254_COUNT0;寫入計(jì)數(shù)值1000

12、0MOV AL,0OUT DX,ALOUT DX,ALSTIA1: NOPCALL BREAKJMP A1MYINT: PUSH DSPUSH AXOUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AH,0EHMOV AL,SEC1INT 10HMOV AH,0EHMOV AL,SEC0INT 10HMOV AX,0E0DH;只回車,不換行,還在原處INT 10HINC SEC0;秒的個(gè)位+1CMP SEC0,3AH;個(gè)位計(jì)數(shù)到10JZ B3JMP B1B3: INC SEC1MOV SEC0,30HCMP SEC1,36H ;十位計(jì)數(shù)到 6JZ B4JMP B1B4: M

13、OV SEC1,30H ; 計(jì)到60,重新到零B1: POP DXPOP AXPOP DS IRETBREAK PROC NEARPUSH DSMOV AH,06HMOV DL,0FFHINT 21HJE RETURNPOP DSCLIMOV AL,MKBAKOUT 0A1H,ALMOV AX,0000HMOV ES,AXMOV DI,01C4H; irq 9 INT 71H,01C4H=71H*4MOV AX,IPBAKCLDSTOSWMOV AX,CSBAKSTOSWMOV DX,INTCSR_BYTE1MOV AL,00HOUT DX,ALSTIMOV AX,4C00HINT 21HRE

14、TURN:POP DSRETBREAK ENDPCODE ENDSEND START3. 電子發(fā)聲實(shí)驗(yàn):1)用實(shí)驗(yàn)系統(tǒng)揚(yáng)聲器做發(fā)聲實(shí)驗(yàn)用信號(hào)源1MHz作為揚(yáng)聲器發(fā)聲基準(zhǔn)時(shí)鐘,計(jì)數(shù)器0設(shè)置為工作方式3,由表格查出每個(gè)音符對(duì)應(yīng)的時(shí)間常數(shù)送給計(jì)數(shù)器0,以確定音調(diào),驅(qū)動(dòng)揚(yáng)聲器產(chǎn)生音樂(lè)。8254電子發(fā)聲實(shí)驗(yàn)參考圖如圖6-3所示。(發(fā)聲頻率已設(shè)定,但發(fā)聲時(shí)間是通過(guò)軟件延時(shí)控制的,因此發(fā)聲時(shí)間隨不同檔次 PC機(jī)而變化,可以通過(guò)調(diào)節(jié)延時(shí)子程序參數(shù)來(lái)調(diào)節(jié)發(fā)聲時(shí)間)XDe o6DX總線接口e Q4DXXDe ooDXQoAXXIOW-I0Y2D7D6D5D4D3D2D1DOA1A0/WR/RD/CSGATE0CL

15、K08254OUT0UNIT+5VV1MHZ一-: SPK圖6-3 8254定時(shí)應(yīng)用實(shí)驗(yàn)參考接線圖;用實(shí)驗(yàn)系統(tǒng)揚(yáng)聲器做發(fā)聲實(shí)驗(yàn)MY8254_COUNT0 EQU 0E440HMY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E443HDATA SEGMENTDTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33HDB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H,

16、4DH, 45HDB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26HDB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39HDB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DHDB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26HDB 26H, 2DH, 28H, 26H, 2DH,

17、2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45HDB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DHDB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39HDB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00HDATA ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AX,DATAMOV DS,AXMOV BX,OFFSE

18、T DTABLEMOV AL,BXMOV AH,00HA1:MOV DL,0AH ;CLK=1MHzMUL DLPUSH AXMOV DX,MY8254_MODEMOV AL,36H;0011,0110B 計(jì)數(shù)器0,讀寫低高字節(jié);方式3,二進(jìn)制OUT DX,ALPOP AXMOV DX,MY8254_COUNTOOUT DX,ALMOV AL,AHOUT DX,ALINC BXMOV AH,00HMOV AL,BXTEST AL,0FFHJZ A2PUSH AXCALL DALLYCALL BREAKPOP AXJMP A1A2:MOV BX,OFFSET DTABLEMOV AL,BXMOV

19、 AH,00HJMP A1DALLY: MOV CX,0F7FFH ; 根據(jù)不同機(jī)器配置修改此值D1: MOV AX,0D00HD2: DEC AXJNZ D2LOOP D1BREAK PROC NEAR ;檢測(cè)是否有鍵按下MOV AH,06HMOV DL,0FFHINT 21HJE RETURNMOV AX,4C00HINT 21HRETURN:RETBREAK ENDPCODE ENDSEND START2)用PC機(jī)揚(yáng)聲器做發(fā)聲實(shí)驗(yàn)有三個(gè)計(jì)數(shù)器在 PC機(jī)中集成,它們的功能、操作完全與8254兼容。三個(gè)計(jì)數(shù)器的端口地址分別是40H, 41H, 42H。控制寄存器地址為 43H。PC揚(yáng)聲器發(fā)聲

20、需要計(jì)數(shù)器 2輸出OUT2和端 口 61H(8255PB 口)的D1、D0的控制,只有都為“ 1 ”時(shí)揚(yáng)聲器才可以發(fā)聲。我們可以將61H的D1、D0兩位置1,然后改變計(jì)數(shù)器 2的初值,使OUT2輸出不同的頻率,從而改變揚(yáng)聲器發(fā)聲的 音調(diào)。PC機(jī)中定時(shí)器結(jié)構(gòu)框圖如圖6-X所示。具體實(shí)驗(yàn)步驟如下:(1) 編寫程序,通過(guò)設(shè)置 PC機(jī)內(nèi)計(jì)數(shù)/定時(shí)器2,實(shí)現(xiàn)PC機(jī)內(nèi)揚(yáng)聲器的發(fā)聲(2) 注意退出時(shí)要恢復(fù)端口 61H原來(lái)的值(3) 運(yùn)行程序,觀察發(fā)聲是否正常(4) 若音樂(lè)節(jié)拍發(fā)聲時(shí)間較長(zhǎng)或較短,可以修改延時(shí)子程序中的計(jì)數(shù)值,調(diào)整發(fā)聲時(shí)間到最佳。圖6-4 PC機(jī)中定時(shí)器結(jié)構(gòu)框圖;file name: 8254

21、-3.asm;用pc揚(yáng)聲器作發(fā)聲實(shí)驗(yàn)PC8254_COUNTO EQU 40HPC8254_COUNT1 EQU 41HPC8254_COUNT2 EQU 42HPC8254_MODE EQU 43HDATA SEGMENTBAK DB ?DTABLE DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 3

22、3H, 33H, 3DH, 33H, 26H, 26H DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DH DB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H DB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H DB 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH DB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39HDB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00HDATA ENDSCODE SEGMENTMOV AX,DATAASSUME CS:CODE,DS:DATAMO

溫馨提示

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