實(shí)驗(yàn)定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第1頁(yè)
實(shí)驗(yàn)定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第2頁(yè)
實(shí)驗(yàn)定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第3頁(yè)
實(shí)驗(yàn)定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第4頁(yè)
實(shí)驗(yàn)定時(shí)器計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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)開關(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。圖6-1 8254計(jì)數(shù)應(yīng)用實(shí)驗(yàn)參考接線圖; 計(jì)數(shù)應(yīng)用實(shí)驗(yàn);filename : 8254-1.asm; -PCI卡分配的第3個(gè)I/O空間 MY8254_COUNT0 EQU 0E440H MY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E443H;-PCI卡分配的第1個(gè)I/O空間 INTCSR_BYTE0 EQU 0DC38HINTCSR_BYTE1 EQU 0DC39HINTCSR_BYTE2 EQU 0DC3AHINTCSR_BYTE3 E

3、QU 0DC3BHIMB4_BYTE3 EQU 0DC1FHDATA SEGMENTCSBAK DW ? IPBAK DW ?MKBAK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI MOV AX,DATA MOV DS,AX MOV DX,INTCSR_BYTE0; 設(shè)置pci卡 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3

4、 MOV AL,00H OUT DX,AL MOV AX,0000H MOV ES,AX;-MOV DI, 01C4H ; irq 9 , INT 71h, 01c4= 71h*4 ;- MOV AX,ES:DI MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:DI ;CS MOV CSBAK,AX MOV AX,SEG MYINT STOSW IN AL,0A1H MOV MKBAK,AL;- AND AL,0fdh ; irq9;- OUT 0A1H,AL STIMOV DX,MY8254_MODE ;CLK=KK1- /

5、實(shí)際接線kk1-MOV AL,17H ; 00 01,011 1b :計(jì)數(shù)器0,讀/寫低8位;方式3,十進(jìn)制數(shù) OUT DX,AL MOV DX,MY8254_COUNT0MOV AL,5 ; 寫入計(jì)數(shù)初值 3個(gè)高電平,2個(gè)低電平 OUT DX,AL A1: NOP CALL BREAK JMP A1;-MYINT: PUSH DS PUSH AX PUSH DXMOV DX,IMB4_BYTE3 ; 清PCI卡中斷標(biāo)志 IN AL,DX MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL;- MOV AL,61H ; irq9 從片 D1,主片 D2;- OUT

6、 0A0H,AL MOV AL,62H OUT 20H,AL MOV AX,0E4DH ; 顯示字母 M加一空格 INT 10H MOV AX,0E20H INT 10HPOP DXPOP AX POP DS IRET BREAK PROC NEAR PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DS CLI MOV AL,MKBAK OUT 0A1H,AL MOV AX,0000H MOV ES,AX;-MOV DI,01C4H ;irq 9 INT 71H,01C4H=71H*4;- MOV AX,IPBAK CLD STOSW

7、MOV AX,CSBAK STOSWMOV DX,INTCSR_BYTE1; pci卡設(shè)置 MOV AL,00H OUT DX,AL STI MOV AX,4C00H INT 21HRETURN:POP DS RETBREAK ENDPCODE ENDSEND START2. 定時(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)參考連線圖:圖6-2 8254定時(shí)應(yīng)用實(shí)驗(yàn)參考接線圖; 8254定時(shí)應(yīng)用實(shí)驗(yàn)

8、 ;filename : 8254-2.asm; PCI卡分配的第3個(gè)I/O空間 MY8254_COUNT0 EQU 0E440H MY8254_COUNT1 EQU 0E441HMY8254_COUNT2 EQU 0E442HMY8254_MODE EQU 0E443H; PCI卡分配的第1個(gè)I/O空間 INTCSR_BYTE0 EQU 0DC38HINTCSR_BYTE1 EQU 0DC39HINTCSR_BYTE2 EQU 0DC3AHINTCSR_BYTE3 EQU 0DC3BHIMB4_BYTE3 EQU 0DC1FHDATA SEGMENTCSBAK DW ? IPBAK DW ?

9、MKBAK DB ?SEC1 DB 30H ; 顯示秒的個(gè)位SEC0 DB 31H ; 顯示秒的十位DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI MOV AX,DATA MOV DS,AX MOV DX,INTCSR_BYTE0 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL MOV AX,00

10、00H MOV ES,AX;-MOV DI, 01C4H ; irq 9 , INT 71h, 01c4= 71h*4 ;- MOV AX,ES:DI MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:DI ;CS MOV CSBAK,AX MOV AX,SEG MYINT STOSW IN AL,0A1H MOV MKBAK,AL;- AND AL,0fdh ; irq9;- OUT 0A1H,ALMOV AX,0E30H ; 顯示00回車,注意沒有換行,同在一行顯示 INT 10H MOV AX,0E30H INT 10H M

11、OV AX,0E0DH INT 10HMOV DX,MY8254_MODE ; CLK=10KMOV AL, 35H ; 0011, 0101B 計(jì)數(shù)器0,讀寫低/高位 方式2 ;十進(jìn)制計(jì)數(shù)方式 OUT DX, AL MOV DX,MY8254_COUNT0 ; 寫入計(jì)數(shù)值10000 MOV AL,0 OUT DX,AL OUT DX,AL STIA1: NOP CALL BREAK JMP A1MYINT: PUSH DS PUSH AX PUSH DX MOV AX,DATA MOV DS,AXMOV DX,IMB4_BYTE3 ; 清PCI卡中斷標(biāo)志 IN AL,DX MOV DX,IN

12、TCSR_BYTE2 MOV AL,3FH OUT DX,AL;- MOV AL,61H ; irq9 從片 D1,主片 D2;- OUT 0A0H,AL MOV AL,62H OUT 20H,AL MOV AH,0EH MOV AL,SEC1 INT 10H MOV AH,0EH MOV AL,SEC0 INT 10HMOV AX,0E0DH ; 只回車,不換行,還在原處 INT 10HINC SEC0 ; 秒的個(gè)位+1CMP SEC0,3AH ; 個(gè)位計(jì)數(shù)到10 JZ B3 JMP B1B3: INC SEC1 MOV SEC0,30H CMP SEC1,36H ; 十位計(jì)數(shù)到 6 JZ

13、B4 JMP B1B4: MOV SEC1,30H ; 計(jì)到60,重新到零 B1: POP DXPOP AXPOP DS IRET;-BREAK PROC NEAR PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DS CLI MOV AL,MKBAK OUT 0A1H,AL MOV AX,0000H MOV ES,AXMOV DI,01C4H ; irq 9 INT 71H,01C4H=71H*4 MOV AX,IPBAK CLD STOSW MOV AX,CSBAK STOSW MOV DX,INTCSR_BYTE1 MOV AL,

14、00H OUT DX,AL STI MOV AX,4C00H INT 21HRETURN:POP DS RETBREAK 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)生音樂。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í)間)圖6-3 8254定時(shí)應(yīng)用實(shí)驗(yàn)參考接線圖; 用實(shí)驗(yàn)系統(tǒng)揚(yáng)聲器做發(fā)聲實(shí)驗(yàn)

15、MY8254_COUNT0 EQU 0E440H MY8254_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, 4DH, 45HDB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 3

16、3H, 26H, 26HDB 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, 2DHDB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26HDB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45HDB 45H, 45H, 45H, 45H,

17、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,DATA MOV DS,AX MOV BX,OFFSET DTABLEMOV AL,BXMOV AH,00HA1: MOV DL,0AH ;CLK=1MHz MUL DLP

18、USH AX MOV DX,MY8254_MODE MOV AL,36H ;0011,0110B計(jì)數(shù)器0,讀寫低高字節(jié),;方式3,二進(jìn)制 OUT DX,ALPOP AX MOV DX,MY8254_COUNT0 OUT DX,AL MOV AL,AH OUT DX,ALINC BXMOV AH,00HMOV AL,BXTEST AL,0FFH JZ A2 PUSH AX CALL DALLY CALL BREAK POP AX JMP A1A2: MOV BX,OFFSET DTABLE MOV AL,BXMOV AH,00HJMP A1 DALLY: MOV CX,0F7FFH ; 根據(jù)不同

19、機(jī)器配置修改此值D1: MOV AX,0D00HD2: DEC AX JNZ D2 LOOP D1 BREAK PROC NEAR ;檢測(cè)是否有鍵按下 MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:RETBREAK ENDPCODE ENDS END START2) 用PC機(jī)揚(yáng)聲器做發(fā)聲實(shí)驗(yàn)有三個(gè)計(jì)數(shù)器在PC機(jī)中集成,它們的功能、操作完全與8254兼容。三個(gè)計(jì)數(shù)器的端口地址分別是40H,41H,42H??刂萍拇嫫鞯刂窞?3H。PC揚(yáng)聲器發(fā)聲需要計(jì)數(shù)器2輸出OUT2和端口61H(8255PB口)的D1、D0

20、的控制,只有都為“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) 若音樂節(jié)拍發(fā)聲時(shí)間較長(zhǎng)或較短,可以修改延時(shí)子程序中的計(jì)數(shù)值,調(diào)整發(fā)聲時(shí)間到最佳。圖6-4 PC機(jī)中定時(shí)器結(jié)構(gòu)框圖; filename: 8254-3.asm;用pc揚(yáng)聲器作發(fā)聲實(shí)驗(yàn)PC8254_COUNT0 EQU 40HPC82

21、54_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, 33HDB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45HDB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26HDB 26H, 28H, 2DH,

22、2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 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, 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 SEGMENT ASSUME CS:CODE,DS:DATASTART:IN AL,61H MOV BAK,AL MOV AX,D

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論