




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 课程设计课程设计 一 课程设计题目一 课程设计题目 简易电子琴 二 课程设计目的二 课程设计目的 用汇编语言独立完成一个程序题 以达到熟练运用汇编语言编程实现有比较完 整功能的系统的目的 三 课程设计内容三 课程设计内容 用汇编语言编写一个简易电子琴程序 基本功能 1 可以进行固定音乐演奏 两首以上 可以自行弹奏音乐 2 图形显示键盘界面 弹奏时键盘现实所按按 键 可以调节音量 四 设计思路四 设计思路 ROM BIOS 中的 BEEP 子程序能根据 BL 中给出的时间计数值控制 8254 定时 器 产生持续声音 通过对 BEEP 的修改可以使其产生任一频率的声音 用汇编语 言编写的程序 GENSOUND 能使 PC 机发出指定频率和指定延迟时间的声音 它 是一个很好的通用发声程序 组成乐曲的每个音符的频率值和持续时间是乐曲发声 程序所必须的两组数据 知道了音调及频率的关系后 就可以按照乐曲的乐谱将每 个音符的频率和持续时间定义成两个数据表 然后编程依次取出表中的频率值和时 间值 调用 GENSOUND 程序发出各种声音 本程序通过调用 GENSOUND 程序演 奏乐曲 五 操作说明五 操作说明 运行时 按 A 键演奏乐曲 Two tigers 按 B键演奏乐曲 Happy Birthday 按 C 键演奏乐曲 Snail And Oriole 按 P 键自行弹奏音乐 按 Q 键退出 以上按键必须使用大写 字母 否则显示出错信息 源程序 MUSIC ASM 如下 DATA SEGMENT PARA DATA INFO1 DB 0DH 0AH INFO2 DB 0DH 0AH WELCOME YOU TO COME HERE INFO3 DB 0DH 0AH This is a music program INFO4 DB 0DH 0AH INFO5 DB 0DH 0AH 0DH 0AH Please select INFO6 DB 0DH 0AH 0DH 0AH Input Error Please Input Again INFO7 DB 0DH 0AH INFO9 DB 0DH 0AH 0DH 0AH If you want to play piano Please push P MUSLIST DB 0DH 0AH A Two tigers DB 0DH 0AH B Happy Birthday DB 0DH 0AH C Snail And Oriole DB 0DH 0AH Q EXIT 2 DB 0DH 0AH MUS FREG1 DW 2 DUP 262 294 330 262 为演奏的乐曲定义一个频率表 DW 2 DUP 330 349 392 DW 2 DUP 392 440 392 349 330 262 DW 2 DUP 294 196 262 0ffffh MUS TIME1 DW 10 DUP 25000 50000 25000 25000 50000 为演奏的乐曲定义一个节拍时间 表 DW 2 DUP 12000 12000 12000 12000 25000 25000 DW 2 DUP 25000 25000 50000 MUS FREG2 DW 262 262 294 262 349 DW 330 262 262 294 262 DW 392 349 262 262 523 DW 440 349 262 262 466 DW 466 440 262 392 349 1 MUS TIME2 DW 500 500 1000 1000 1000 DW 1000 1000 500 500 1000 1000 DW 1000 1000 1000 500 500 1000 DW 1000 1000 1000 1000 1000 500 DW 500 1000 1000 1000 1000 1000 MUS FREG3 DW 392 396 392 395 330 392 262 440 392 395 DW 392 395 392 330 294 262 330 294 297 330 DW 392 395 392 330 335 294 262 265 294 330 DW 262 265 220 196 220 196 392 395 392 395 DW 330 392 262 440 292 392 395 392 395 330 DW 294 262 330 294 294 330 392 395 330 335 DW 294 262 265 294 330 262 265 220 196 220 DW 196 392 395 392 395 330 294 262 440 392 DW 395 440 262 294 262 294 330 294 262 1 MUS TIME3 DW 1 DUP 25 50 25 50 25 25 50 50 100 25 DW 1 DUP 50 25 50 25 25 50 50 100 75 25 DW 1 DUP 50 25 25 50 25 25 50 50 75 25 DW 1 DUP 50 25 25 50 50 100 25 50 25 50 DW 1 DUP 25 25 50 50 100 25 50 25 50 25 DW 1 DUP 25 50 50 100 75 25 50 50 50 25 DW 1 DUP 25 50 50 75 25 50 25 25 50 50 DW 1 DUP 100 25 50 25 50 25 25 50 50 50 DW 1 DUP 25 25 50 50 50 50 100 100 200 msg DB 0DH 0AH 0DH 0AH 1 2 3 4 5 6 7 DB 0DH 0AH q w e r t y u DB 0DH 0AH DB 0DH 0AH 9 EXIT DB 0DH 0AH 音调 后面用到 1 判断音乐播是否放完 sound 0 DW 1 sound 11 DW 441 1 sound 12 DW 495 1 sound 13 DW 556 1 3 sound 14 DW 589 1 sound 15 DW 661 1 sound 16 DW 742 1 sound 17 DW 833 1 sound 1 DW 882 1 sound 2 DW 990 1 sound 3 DW 1112 1 sound 4 DW 1178 1 sound 5 DW 1322 1 sound 6 DW 1484 1 sound 7 DW 1655 1 time DW 25 DATA ENDS STACK SEGMENT PARA STACK STACK DB 300 DUP STACK STACK ENDS CODE SEGMENT ASSUME DS DATA SS STACK CS CODE MAIN PROC FAR MOV AX DATA MOV DS AX MOV aH 3 MOV AL 4 INT 10H MOV AH 09H MOV BH 6 MOV BL 4 INT 10H MOV AH 0BH MOV BH 09H MOV BL 00 INT 10H 定义一个宏 SHOW MACRO b LEA DX b MOV AH 9 INT 21H ENDM show INFO1 show INFO2 show INFO3 show INFO4 show INFO5 show infO9 show MUSLIST INPUT MOV AH 01H INT 21H CMP AL Q JZ retu CMP AL P 4 JZ RETU2 CMP AL A JNZ B0 CALL MUSIC1 JMP EXIT1 B0 CMP AL B JNZ C0 CALL MUSIC2 JMP EXIT1 C0 CMP AL C JNZ exit CALL MUSIC3 EXIT1 show INFO7 JMP INPUT EXIT call clear show INFO6 show INFO7 show INFO5 show MUSLIST SHOW INFO9 jmp input RETU MOV AH 4CH INT 21H MAIN ENDP RETU2 MOV AX DATA MOV DS AX 一个声音宏 onesound macro soundis jumpis letteris CMP AL letteris JNZ jumpis LEA SI soundis LEA BP DS time CALL MUSIC JMP inpu ENDM show msg INPU MOV AH 01H INT 21H CMP AL 9 jnz go mov ah 4ch int 21h 5 go onesound sound 11 a1 q a1 onesound sound 12 b1 w b1 onesound sound 13 c1 e c1 onesound sound 14 d1 r d1 onesound sound 15 e1 t e1 onesound sound 16 f1 y f1 onesound sound 17 g1 u g1 onesound sound 1 h1 1 h1 onesound sound 2 i1 2 i1 onesound sound 3 j1 3 j1 onesound sound 4 k1 4 k1 onesound sound 5 l1 5 l1 onesound sound 6 m1 6 m1 onesound sound 7 n1 7 n1 onesound sound 0 o1 al o1 jmp inpu 发声 GENSOUND1 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI MOV AL 0B6H OUT 43H AL MOV DX 12H MOV AX 348ch DIV DI OUT 42H AL MOV AL AH OUT 42H AL IN AL 61H MOV AH AL OR AL 3 OUT 61H AL WAIT2 MOV CX 3314 call waitf DELAY1 DEC BX JNZ WAIT2 MOV AL AH OUT 61H AL POP DI POP DX POP CX POP BX 6 POP AX RET GENSOUND1 ENDP waitf proc near push ax waitf1 in al 61h and al 10h cmp al ah je waitf1 mov ah al loop waitf1 pop ax ret waitf endp MUSIC PROC NEAR PUSH DS SUB AX AX PUSH AX FREG MOV DI SI CMP DI 1 JE END MUS MOV BX DS BP CALL GENSOUND1 ADD SI 2 ADD BP 2 END MUS RET MUSIC ENDP MUSIC1 PROC NEAR PUSH DS SUB AX AX PUSH AX LEA SI MUS FREG1 LEA BP DS MUS TIME1 FREG1 MOV DI SI CMP DI 1 JE END MUS1 MOV DX DS BP MOV BX 2600 CALL GENSOUND ADD SI 2 ADD BP 2 7 JMP FREG1 END MUS1 RET MUSIC1 ENDP GENSOUND PROC NEAR PUSH AX PUSH BX PUSH CX 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 OUT 42H AL IN AL 61H MOV AH AL OR AL 3 OUT 61H AL WAIT1 MOV CX 8FF0H DELAY2 LOOP DELAY2 DEC BX JNZ WAIT1 MOV AL AH OUT 61H AL POP DI POP DX POP CX POP BX POP AX RET GENSOUND ENDP MUSIC2 PROC NEAR PUSH DS SUB AX AX PUSH AX LEA SI MUS FREG2 LEA BP DS MUS TIME2 FREG2 MOV DI SI CMP DI 1 JE END MUS2 MOV DX DS BP MOV BX 3500 CALL GENSOUND ADD SI 2 ADD BP 2 JMP FREG1 8 END MUS2 RET MUSIC2 ENDP MUSIC3 PROC NEAR PUSH DS SUB AX AX PUSH AX LEA SI MUS FREG3 LEA BP DS MUS TIME3 FREG3 MOV DI SI CMP DI 1 JE END MUS3 MOV DX DS BP MOV BX 2000 CALL GENSOUND ADD SI 2 ADD BP 2 JMP FREG1 EN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邻居土地租赁协议书范本
- 厂房安全风险评估与预防合同
- 香港法律婚前协议书范本
- 采石场经营权与资源权转让协议
- 柴油运输碳排放交易合同
- 餐饮行业食品安全管理合作协议书
- 餐饮品牌直营店租赁合作协议
- 车辆产权转让与质保服务合同范本
- 系杆拱桥吊杆张拉顺序专题
- 离子沉积技术培训课件
- GB 14443-2007涂装作业安全规程涂层烘干室安全技术规定
- 藏宝图-7-10岁-少儿美术课件
- 解一元一次方程移项说课稿课件
- 小学45年级必背古诗课件
- 客户确认单(标准模版)
- 北京市西城区2020-2021学年三年级语文下学期期末试卷新人教版
- 废气治理设施运行管理规程
- 广告公司客户回访表
- 内力组合计算表(自动版)
- 《心理健康与职业生涯》期末考试题库含答案
- FANUC机器人培训教程(完成版)(PPT134页)
评论
0/150
提交评论