教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

《微机原理与应用》课程设计——电子音乐播放器(2)

来源:网络收集 时间:2026-08-04
导读: 接口 八、汇编程序代码 D8255_MODE EQU 0C003H D8255_B_DU EQU 0C001H D8254_MODE EQU 0C063H D8254_COUT EQU 0C060H NAME PAGE DATA1 FREQ1 TIME1 FREQ2 TIME2 FREQ3 DZYYBF 50,70 SEGMENT DW 247,247,277,311,311

接口

八、汇编程序代码

D8255_MODE EQU 0C003H D8255_B_DU EQU 0C001H D8254_MODE EQU 0C063H D8254_COUT EQU 0C060H NAME PAGE DATA1 FREQ1 TIME1 FREQ2 TIME2 FREQ3 DZYYBF 50,70 SEGMENT

DW 247,247,277,311,311,330,330,311,311,277 DW 277,311,277,247,466,247,415,415,247,247 DW 277,311,311,330,330,311,311,370,415,370 DW 311,277,247,277,247,330,370,415,370,330 DW 247,247,311,311,330,311,277,247,415,370,0,0 DW 50,25,25,50,50,50,50,25,100,50 DW 25,25,50,50,50,50,25,100,50,25 DW 25,50,50,50,50,50,50,25,50,50 DW 25,25,50,50,50,25,100,75,25,25 DW 25,25,25,25,25,25,100,50,50,25,0,0 DW 265,294,330,262,262,294,330,262,330,349 DW 392,330,349,392,392,440,392,349,330,262 DW 392,440,392,349,330,262,294,196,262,294 DW 196,262,0

DW 50,50,100,100,100,100,100,50,50,100 DW 100,100,100,100,50,50,100,100,100,100 DW 100,100,50,50,100,100,100,100,100,50 DW 100,100,0,0

DW 7 DUP(330),392,262,294,330,4 DUP(349) DW 2 DUP(330),330,294,262,294,392 DW 7 DUP(330),392,262,294,330,4 DUP(349)

接口

DW 2 DUP(330),392,392,349,294,262,0,0 TIME3 DW 2 DUP(25,25,50),4 DUP(25),100 DW 2 DUP(25,25,50),4 DUP(25)

DW 2 DUP(50),2 DUP(25,25,50),4 DUP(25),100 DW 2 DUP(25,25,50),4 DUP(25),100,0,0

DATA1 ENDS

STACK1 SEGMENT PARA STACK DW 100 DUP(?) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA1 ASSUME SS:STACK1 START:

MOV AX,DATA1 MOV DS,AX MOV AX,0 MOV SI,AX

MOV DX,D8255_MODE

MOV AL,10000010B OUT DX,AL

MOV DX,D8254_MODE MOV AL,00110110B OUT DX,AL

MUSIC1: MOV CX,4H CIRCUL1: DEC CX JZ MUSIC2

LEA DI,FREQ1 LEA BP,TIME1

;B端口方式0输人 ;连接8253的控制端口 ;定义8253为通道0,方式3,;二进制,先读低位/后读高位;取偏移地址

接口

LOOP1: MOV AX,[DI] ;取时间偏移地址 CMP AX,0 JE CIRCUL1 CALL SPEAKER XOR AX,AX

MOV DX,D8255_B_DU ;连接8255_B端口

AAA2: AAA3: AAA1: MUSIC2: CIRCUL2: LOOP2: IN AL,DX MOV AH,0

CMP AX,SI JZ AAA1 MOV SI,AX

CMP AL,1H JNZ AAA2 JMP MUSIC1 CMP AL,2H JNZ AAA3 JMP MUSIC2 CMP AL,4H JNZ AAA1 JMP MUSIC3 ADD DI,2 ADD BP,2 JMP LOOP1 MOV CX,4H DEC CX JZ MUSIC3 LEA DI,FREQ2 LEA BP,TIME2 MOV AX,[DI]

;从手动控制端读入控制选择信息 ;判断输入的信息变化没有,

;没变则表示没有改变原来的选择 ;判断输入的信息,

:选择播放那首音乐

接口

CMP AX,0 JE CIRCUL2 CALL SPEAKER XOR AX,AX

MOV DX,D8255_B_DU ;连接8255_B端口

IN AL,DX ;从手动控制端读入控制选择信息 AAA4: AAA5: AAA6:

MUSIC3: CIRCUL3: LOOOP: MOV AH,0H

CMP AX,SI JZ AAA6 MOV SI,AX

CMP AL,1H JNZ AAA4 JMP MUSIC1 CMP AL,2H JNZ AAA5 JMP MUSIC2 CMP AL,4H JNZ AAA6 JMP MUSIC3 ADD DI,2 ADD BP,2 JMP LOOP2 MOV CX,4H DEC CX JNZ LOOOP CALL BREAK JMP MUSIC1

LEA DI,FREQ3 ;判断输入的信息变化没有,没变

;则表示没有改变原来的选择 ;判断输入的信息,选择播放那首音乐 ;取偏移地址

接口

LEA BP,TIME3 ;取时间偏移地址 LOOP3: MOV AX,[DI] CMP AX,0 JE CIRCUL3 CALL SPEAKER XOR AX,AX

MOV DX,D8255_B_DU ;连接8255_B端口 IN AL,DX ;从手动控制端读入控制选择信息 MOV AH,0H

CMP AX,SI ;判断输入的信息变化没有,没

JZ AAA9 ; 变则表示没有改变原来的选择

MOV SI,AX

CMP AL,1H ;判断输入的信息,选择播放那首音乐 JNZ AAA7 JMP MUSIC1 AAA7: CMP AL,2H JNZ AAA8 JMP MUSIC2 AAA8: CMP AL,4H JNZ AAA9

JMP MUSIC3 AAA9: ADD DI,2 ADD BP,2

JMP LOOP3 SPEAKER PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AX,[DI]

接口

MOV BX,AX MOV DX,0FH

MOV AX,4240H ;送入记数值clk=1MHZ 1000 DIV BX

MOV DX,D8254_COUT ;将数送入8253计数器中 OUT DX,AL MOV AL,AH

OUT DX,AL ;将每个音节的时间周期存入CX MOV CX,2710H ;设0.5s的时间周期所需的循环次数 WAIT1: MOV BX,WORD PTR DS:[BP]

DELAY2: MOV AX,2710H ;设最小节拍播放时间为0.5s DELAY3: DEC AX JNZ DELAY3 DELAY1: DEC BX JNZ DELAY2 LOOP WAIT1 CALL BREAK POP DX POP CX POP BX POP AX RET

SPEAKER ENDP

BREAK PROC ;键盘输入字符时,结束程序运行 MOV AH,6 MOV DL,0FFH INT 21H JZ RETURN

MOV AH,4CH

INT 21H

接口

RETURN: RET BREAK ENDP CODE ENDS END START

…… 此处隐藏:1410字,全部文档内容请下载后查看。喜欢就下载吧 ……
《微机原理与应用》课程设计——电子音乐播放器(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/127149.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)