1、图5.扬声器工作流程图三、课程设计的结果1、实验代码DATA SEGMENTINFO1 DB 0AH, 0DH, WELE YOU TO E HERE!$ DB 0AH, 0DH, THIS IS A MUSIC PROGRAM!PLEASE SELECLT!INFO4 DB 0AH, 0DH, INPUT ERROR!INFO5 DB 0AH, 0DH, PLEASE INPUT AGAIN!MUSLIST DB 0AH, 0DH, =Press1 HuanLeSongPress2 KaiXinPress3 XiaoBuWuQuPress4 WonderfulPress5 SCALE PLA
2、Y Press6 EXITMUS_FRQ1 DW 330, 330, 350, 393, 393, 350, 330, 294 DW 262, 262, 294, 330, 330, 294, 294 DW 330, 330, 350, 393, 393, 350, 330, 294 DW 262, 262, 294, 330, 294, 262, 262 DW 294, 294, 330, 262, 294, 330, 350, 330, 262 DW 294, 330, 350, 330, 262, 262, 294, 393 DW 262, 262, 294, 330, 294, 262
3、, 262, -1MUS_TIM1 DW 8 DUP(100) DW 7 DUP(100),200 DW 8 DUP(100) DW 5 DUP(100),50,50,2 DUP(100) DW 100,50,50,4 DUP(100),200MUS_FRQ2 DW 330, 294, 262, 294, 3 DUP(330) DW 3 DUP(294), 330, 392, 392 DW 330, 294, 262, 294, 4 DUP(330) DW 294, 294, 330, 294, 262, -1MUS_TIM2 DW 6 DUP(100),200 DW 2 DUP(100,10
4、0,200) DW 4 DUP(100),400MUS_FRQ3 DW 392, 262, 294, 330, 350, 392, 262, 262 DW 440, 350, 392, 440, 494, 524, 262, 262 DW 350, 392, 350, 330, 294, 330 DW 350, 330, 294, 262, 294, 330, 294, 262, 247, 262,-1MUS_TIM3 DW 200, 4 DUP(100), 200, 200, 200 DW 200, 4 DUP(100), 200, 200, 200 DW 200, 4 DUP(100),
5、200 DW 4 DUP(100), 200, 4 DUP(100), 400MUS_FRQ4 DW 330, 392, 330, 294, 330, 392, 330, 394, 330 DW 330, 392, 330, 294, 262, 294, 330, 392, 294 DW 262, 262, 220, 196, 196, 220, 262, 294, 330, 262,-1MUS_TIM4 DW 3 DUP(200), 100, 100, 200, 100, 100, 400 DW 2 DUP(200,200,100,100), 400 DW 3 DUP(200,100,100
6、), 400TABLE DW 262, 294, 330, 349, 392, 440, 494, 525 NUMB DB 0AH, 0DH, Keyboard number 18 keys play notes of the scaleEnter or Ctrl+C to exitDATA ENDSSTACK SEGMENT PARA STACK STACKSTA DB 200 DUP() STACK ENDSCODE SEGMENTASSUME DS: DATA, SS: STACK, CS: CODE, ES: DATASTART: MOV AX, DATA MOV DS, AX MOV
7、 ES, AX MOV AX, STACK MOV SS, AXSHOW MACRO B MOV DX, OFFSET B MOV AH, 09H INT 21HENDM SHOW INFO1 LOP: SHOW MUSLIST MOV AH, 01H INT 21H CMP AL, 36H JZ RETU CMP AL, 31H JNZ B0 CALL MUSIC1 JMP EXIT1B0: CMP AL, 32H JNZ C0 CALL MUSIC2C0: CMP AL, 33H JNZ D0 CALL MUSIC3D0: CMP AL, 34H JNZ E0 CALL MUSIC4E0:
8、 CMP AL, 35H JNZ EXIT SHOW NUMB CALL MUSIC5EXIT1: SHOW INFO5 JMP LOPEXIT: SHOW INFO4 RETU: MOV AX, 4C00H MUSIC1 PROC LEA SI, MUS_FRQ1 LEA BP,DS: MUS_TIM1FREQ1: MOV DI, SI CMP DI,-1 JE END_MUS1 MOV BX, DS: BP CALL GENSOUND ADD SI,2 ADD BP,2 JMP FREQ1 END_MUS1:RETMUSIC1 ENDPMUSIC2 PROC LEA SI, MUS_FRQ
9、2 MUS_TIM2FREQ2: JE END_MUS2 JMP FREQ2 END_MUS2:MUSIC2 ENDP MUSIC3 PROC LEA SI, MUS_FRQ3 MUS_TIM3FREQ3: JE END_MUS3 JMP FREQ3 END_MUS3:MUSIC3 ENDPMUSIC4 PROC LEA SI, MUS_FRQ4 MUS_TIM4FREQ4: JE END_MUS4 JMP FREQ4 END_MUS4:MUSIC4 ENDPMUSIC5 PROC NEAR PUSH AX PUSH BX PUSH CXLOP5: CMP AL, 0DH JE EXIT5 L
10、OP5 CMP AL, 38H JA LOP5 AND AX, 0FH SHL AX, 1 SUB AX, 2 MOV SI, AX MOV BX, OFFSET TABLE MOV DI, BXSI MOV BX, 100 CALL GENSOUND JMP LOP5EXIT5: POP CX POP BX POP AX RETMUSIC5 ENDPGENSOUND PROC PUSH DX PUSH DI MOV AL, 0B6H OUT 43H, AL MOV DX, 12H MOV AX, 533H*896 DIV DI OUT 42H, AL MOV AL, AH IN AL, 61H MOV AH, AL OR AL, 3 OUT 61H, AL WAIT1: MOV CX, 1200 DELA1: AND AL, 10H CMP AL, AH JE DELA1 MOV AH,ALLOOP DELA1 DEC BX JNZ WAIT1 POP DI POP DXPOP AXGENSOUND ENDPCODE ENDSEND START
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1