實驗6_8254定時器計數(shù)器應用實驗_第1頁
實驗6_8254定時器計數(shù)器應用實驗_第2頁
實驗6_8254定時器計數(shù)器應用實驗_第3頁
實驗6_8254定時器計數(shù)器應用實驗_第4頁
實驗6_8254定時器計數(shù)器應用實驗_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

2、斷請求,在屏幕上顯示字符“ M。 8254計數(shù)應用參考連接線圖如圖 6-1 o總線接口XD7XD6XD5 XD4 .XD3XD2XD1XD0XA1 -XA0 -D7D6D5GATEO D4D3CLKOXIOWXIORIOY2;計數(shù)應用實驗;filename : 8254-1.asmD2D1DOA1AO/WR/RD/CS8254 outoUNIT圖6-1 8254計數(shù)應用實驗參考接線圖;-PCI卡分配的第3個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個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- / 實際接線 kk1-MOV AL,17H;00 01,011 1b :計數(shù)器0,讀/寫低8位;方式3,十進制數(shù)OUT DX,ALMOV DX,MY8254_COUNT0MOV AL,5;寫入計數(shù)初值3個高電平,2個低電平OUT DX,ALA1: NOPCALL BREAKJMP A1START: CLIMOV AX,DATAMOV DS,AXMOV DX,INTCSR_BYTEO ; 設置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卡中斷標志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 卡設置MOV AL,00HOUT DX,ALSTIMOV AX,4C00HINT 21HRETURN:POP DSRETBREAK ENDPCODE ENDSEND STARTMOV DI,01C4H2. 定時應用實驗編寫程序,將8254的計數(shù)器0設置為方式2,用信號源10kHz作為CLK0時鐘,計數(shù)值為十 進制0(即最大計數(shù)值10000),OUT0連接IRQ,這樣每計時1s后產(chǎn)生中斷請求,制作一個秒表 顯示,每計時60秒自動歸零。8254定時應用實驗參考連線圖:XD總線接口XDD7D6D5GATEOD4D3CL

8、KOD2D1DO8254 outoUNIT+5V10KHZ(接信號源)IRQXA1 -XAO 一 -XIOWXIORIOY2A1AO/WR/RD/CS圖6-2 8254定時應用實驗參考接線圖;8254定時應用實驗;file name : 8254-2.asm;PCI卡分配的第3個I/O空間MY8254_COUNT0 EQU 0E440HMY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E443H;PCI卡分配的第1個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顯示秒的個位顯示秒的十位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卡中斷標志IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DX,ALAND AL,Ofdh; irq9MOV AL,61H;irq9 從片D1,主片D2OUT 0A1H,ALMOV AX,0E30H顯示00回車,注意沒有換行,同在一行顯示INT 10HMOV AX,0E30HINT 10HMOV AX,0E0DHINT 10HMOV DX,MY8254_MODE;CLK=10KMOV AL, 35H;0011, 0101B計數(shù)器0,讀寫低/高位 方式2;十進制計數(shù)方式OUT DX, ALMOV DX,MY8254_COUNT0;寫入計數(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;秒的個位+1CMP SEC0,3AH;個位計數(shù)到10JZ B3JMP B1B3: INC SEC1MOV SEC0,30HCMP SEC1,36H ;十位計數(shù)到 6JZ B4JMP B1B4: M

13、OV SEC1,30H ; 計到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ā)聲實驗:1)用實驗系統(tǒng)揚聲器做發(fā)聲實驗用信號源1MHz作為揚聲器發(fā)聲基準時鐘,計數(shù)器0設置為工作方式3,由表格查出每個音符對應的時間常數(shù)送給計數(shù)器0,以確定音調(diào),驅動揚聲器產(chǎn)生音樂。8254電子發(fā)聲實驗參考圖如圖6-3所示。(發(fā)聲頻率已設定,但發(fā)聲時間是通過軟件延時控制的,因此發(fā)聲時間隨不同檔次 PC機而變化,可以通過調(diào)節(jié)延時子程序參數(shù)來調(diào)節(jié)發(fā)聲時間)XDe o6DX總線接口e Q4DXXDe ooDXQoAXXIOW-I0Y2D7D6D5D4D3D2D1DOA1A0/WR/RD/CSGATE0CL

15、K08254OUT0UNIT+5VV1MHZ一-: SPK圖6-3 8254定時應用實驗參考接線圖;用實驗系統(tǒng)揚聲器做發(fā)聲實驗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 計數(shù)器0,讀寫低高字節(jié);方式3,二進制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ù)不同機器配置修改此值D1: MOV AX,0D00HD2: DEC AXJNZ D2LOOP D1BREAK PROC NEAR ;檢測是否有鍵按下MOV AH,06HMOV DL,0FFHINT 21HJE RETURNMOV AX,4C00HINT 21HRETURN:RETBREAK ENDPCODE ENDSEND START2)用PC機揚聲器做發(fā)聲實驗有三個計數(shù)器在 PC機中集成,它們的功能、操作完全與8254兼容。三個計數(shù)器的端口地址分別是40H, 41H, 42H??刂萍拇嫫鞯刂窞?43H。PC揚聲器發(fā)聲

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

21、-3.asm;用pc揚聲器作發(fā)聲實驗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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論