當前位置:編程學習大全網 - 編程語言 - 8253的方式012345都分別是用來幹什麽的,簡單說下就好,最好能讓人懂

8253的方式012345都分別是用來幹什麽的,簡單說下就好,最好能讓人懂

設定8253的2#通道工作方式為方式0,用於事件計數,當計數值為5 時,發出中斷請求信號,顯示“M”。

STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,OFFSET IRQ7 ; 修改8259 中斷7 中斷矢量

MOV SI,003CH

MOV [SI],AX

MOV AX,CS

MOV SI,003EH

MOV [SI],AX

IN AL,21H ;修改IMR,使IRQ7 中斷允許

AND AL,7FH

OUT 21H,AL

MOV AL,90H ;8253 初始化

OUT 43H,AL

A1: MOV AL,05H ;賦8253 2 號計數器初值

OUT 42H,AL

HLT ;停機,等待中斷

STI

JMP A1

;IRQ7 中斷服務程序

IRQ7: MOV AX,014DH ;顯示“M”

INT 10H

MOV AX,0120H ;顯示空格

INT 10H

MOV AL,20H ;普通EOI 命令

OUT 20H,AL

IRET ;中斷返回

CODE ENDS

END START

系統的OPCLK(1.1625MHz)作為音樂節拍,由表格查出每個音符對應的時間常數送給計數器2(工作在方式3:方波頻率發生器),以確定音調,驅動揚聲器產生音樂。

STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS

DATA SEGMENT

TABLE 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, 33H, 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, 39H

DB 39H,52H,4DH,4DH,4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET TABLE

MOV AL,[BX]

MOV AH,00H

A1: MOV DL,25H

MUL DL

PUSH AX

MOV AL,0B7H

OUT 43H,AL

POP AX

OUT 42H,AL

MOV AL,AH

OUT 42H,AL

INC BX

MOV AH,00H

MOV AL,[BX]

TEST AL,0FFH

JZ A3

MOV CX,77FFH

A2: PUSH AX

POP AX

LOOP A2

JMP A1

A3: MOV BX,OFFSET TABLE

MOV AL,[BX]

MOV AH,00H

JMP A1

CODE ENDS

END START

  • 上一篇:宣城有什麽大學
  • 下一篇:紅玫瑰朵數寓意
  • copyright 2024編程學習大全網