微机原理及应用课程设计(电子琴)
更新时间:2023-10-23 06:48:01 阅读量: 综合文库 文档下载
目录:
一、课程设计的目的与要求
1.设计目的
2.设计要求
3.主要技术指标
二、课程设计课题的分析
三、课程设计的结果
1.实验代码
2.实验现象
3.实验说明
四、课程设计心得与体会
五、参考文献
主要实验内容
计算机电子琴仿真
1 / 16
一、课程设计的目的与要求
1、设计目的
本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。 2、设计要求
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
1) 掌握汇编语言程序设计的基本方法。 2) 进一步理解各种接口电路的应用。例如8255并行接口,8253定时器等。 3) 掌握利用PC机扬声器发出不同频率声音的方法。 3、主要技术指标 编写程序
1) 在程序运行时使PC即成为一架可弹奏的电子琴。当按下小写字母a-g时,依次发
出低八度1,2,3,4,5,6,7这7个音调,当按下数字键1-7时,依次发出C调的1,2,3,4,5,6,7这7个音,而当按下大写字母A-G时,依次发出高八度1,2,3,4,5,6,7这7个音调。按下CTRL+C或者回车则退出电子琴状态。 2) 在程序运行时使PC自动按要求提示演奏乐曲。
二、课程设计课题的分析
1、主要步骤及其内容的分析:
先根据乐谱对应的频率编写相应的频率表,然后根据1,9,10号功能键的调用实现界面的显示;由于在计算机内部8254,8255已经连接好(在下面会介绍连接示意图)。
要求是实现8个音符的发音,但是在我们所做的课设中不但实现了8个音符的发音而且还根据乐谱编写了天空之城的曲子和big bigworld的曲子;更运用循环结构设计了音符的低,中,高音的不同发音。
在开始编写的程序中,当执行一个曲子的时候并不可以中断只能等待其结束,后来在查阅资料后更改原来的程序后;当在执行一个曲子的时候,当你按下任意的按键就可以终止曲子,返回开始的界面。
8254控制字的初始化:
MOV AL, 0B6H ;8254的控制字 1011 0110计数器2 计数器16位操作 方式3二进制
OUT 43H, AL
扬声器的开始与关闭:
IN AL, 61H MOV AH, AL
OR AL, 3 ;因为扬声器的低两位高电平有效 OUT 61H, AL
2 / 16
曲子演奏过程中的终止程序:
PUSH AX MOV AH,0BH INT 21H CMP AL,0 JNE START POP AX
实现音符不同发音的循环程序: MUSIC5 PROC NEAR PUSH AX PUSH BX PUSH CX
LOP5: MOV AH, 01H INT 21H CMP AL, 0DH JE EXIT5
CMP AL, 61H
JB LOP7 CMP AL, 67H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND JMP LOP5
LOP6:
CMP AL, 0DH JE EXIT5
CMP AL, 31H
JB LOP5 CMP AL, 37H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV BX,0EH
ADD AX, BX
3 / 16
MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND ;JMP LOP5
LOP7:
CMP AL, 0DH JE EXIT5
CMP AL, 41H
JB LOP6 CMP AL, 47H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV BX,1CH
ADD AX, BX MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND JMP LOP5
EXIT5: POP CX POP BX POP AX
RET MUSIC5 ENDP
2、扬声器的工作原理图以及程序执行的流程图:
4 / 16
图1.扬声器工作原理图示
开始 显示提示信息 显示提示信息 菜单选择 Y AL=1? N AL=2? N AL=3? N AL=4? Y 结束 N 显示提示信息 Y 电子琴 Y 乐曲2 乐曲1 图2.主程序工作流程图
5 / 16
END_MUS2:RET MUSIC2 ENDP
MUSIC5 PROC NEAR PUSH AX PUSH BX PUSH CX
LOP5: MOV AH, 01H ;实现音符的低,中,高音发音的循环结构 INT 21H CMP AL, 0DH JE EXIT5
CMP AL, 61H
JB LOP7 CMP AL, 67H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND JMP LOP5
LOP6:
CMP AL, 0DH JE EXIT5
CMP AL, 31H
JB LOP5 CMP AL, 37H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV BX,0EH
ADD AX, BX MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND ;JMP LOP5
11 / 16
LOP7:
CMP AL, 0DH JE EXIT5
CMP AL, 41H
JB LOP6 CMP AL, 47H
JA LOP5 AND AX, 0FH
SHL AX, 1 SUB AX, 2 MOV BX,1CH
ADD AX, BX MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI] MOV BX, 100
CALL GENSOUND JMP LOP5
EXIT5: POP CX POP BX POP AX
RET MUSIC5 ENDP
GENSOUND PROC ;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
12 / 16
扬声器的功能实现 PUSH AX
WAIT1: MOV CX, 1200 DELA1: IN AL, 61H AND AL, 10H CMP AL, AH JE DELA1 MOV AH,AL LOOP DELA1 DEC BX JNZ WAIT1 POP AX MOV AL, AH
OUT 61H, AL POP DI POP DX POP CX
POP BX POP AX
RET GENSOUND ENDP CODE ENDS END START 2、实验现象
13 / 16
图6.DOS调试界面
图7.操作界面初始界面
14 / 16
图8.按数字键3后进入电子琴界面按回车后退出电子琴界面
图9.按数字键4返回DOS界面
3、操作说明
在进行操作的时候只要在键盘上按1-2这四个数字键就可以任意听取歌曲1—歌曲2,按数字键3时进入电子琴界面,当按下小写字母a-g时,依次发出低八度1,2,3,4,5,6,7这7个音调,当按下数字键1-7时,依次发出C调的1,2,3,4,5,6,7这7个音,而当按下大写字母A-G时,依次发出高八度1,2,3,4,5,6,7这7个音调。按下CTRL+C或者回车则退出电子琴状态。这时候按4退出程序。
四、课程设计心得与体会
在课程设计中,经过老师的讲解以及到图书馆查阅资料。找到了一个适合课程设计的程
15 / 16
序,但是又比课程设计麻烦了一点。在后面的课程设计中为了实现不同的功能,对程序进行一步步的改进和理解,以及不断查阅的查阅资料和同学的相互讨论,在后面的程序中慢慢弄懂了整个程序的意思。
在后面自己按照自己的想法调整程序的时候,不断的尝试,最后终于将自己的程序改出了自己想要的结果,相同音符的不用发音(分为低,中,高共21个音调);在开始的时候曲子演奏的时候只能等待曲子演奏结束并不能自己结束,后来在查阅资料中找到了自己可以结束曲子的程序,这样的不断尝试与调试使系统的功能更加的完美和丰富。
在课程设计中,自己与同学不断的查阅资料和熟悉一些在课堂上学习的知识,来完成自己想要的程序。使自己对汇编语言有了进一步的了解,也为自己在以后的学习中提供了丰富的经验。,
五、参考文献
[1] 王忠民微型计算机原理(第二版).西安:西安电子科技大学出版社.2007年 [2] 马春燕微机原理与接口技术实验与学习辅导.北京:电子工业出版社.2007年 [3] 赵燕、何南微机原理与应用实验指导书:大连海洋大学 2008年 [4] 王忠民微型计算机原理陕西:西安电子出版社 2007年
16 / 16
序,但是又比课程设计麻烦了一点。在后面的课程设计中为了实现不同的功能,对程序进行一步步的改进和理解,以及不断查阅的查阅资料和同学的相互讨论,在后面的程序中慢慢弄懂了整个程序的意思。
在后面自己按照自己的想法调整程序的时候,不断的尝试,最后终于将自己的程序改出了自己想要的结果,相同音符的不用发音(分为低,中,高共21个音调);在开始的时候曲子演奏的时候只能等待曲子演奏结束并不能自己结束,后来在查阅资料中找到了自己可以结束曲子的程序,这样的不断尝试与调试使系统的功能更加的完美和丰富。
在课程设计中,自己与同学不断的查阅资料和熟悉一些在课堂上学习的知识,来完成自己想要的程序。使自己对汇编语言有了进一步的了解,也为自己在以后的学习中提供了丰富的经验。,
五、参考文献
[1] 王忠民微型计算机原理(第二版).西安:西安电子科技大学出版社.2007年 [2] 马春燕微机原理与接口技术实验与学习辅导.北京:电子工业出版社.2007年 [3] 赵燕、何南微机原理与应用实验指导书:大连海洋大学 2008年 [4] 王忠民微型计算机原理陕西:西安电子出版社 2007年
16 / 16
正在阅读:
微机原理及应用课程设计(电子琴)10-23
2015-2016高中英语 短文改错专项训练 新人教版必修4(2)12-20
毛概课堂实践作业09-22
一把进囗伞作文600字06-22
新人教版九年级物理第十七章欧姆定律导学案06-10
国际金融课设09-15
转子允许不平衡量的计算04-29
教书育人与师德修养 小学教师师德论文教书育人师德为先03-08
CSS相关学习内容总结08-13
人力资源管理系统软件需求说明书07-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 电子琴
- 微机
- 原理
- 课程
- 应用
- 设计
- 东华《大学英语四》16春平时作业1
- “四有”老师先进事迹心得体会与“深化三学”主题教育学习心得体会汇编
- 微生物检验考试题(毕业)
- 公共管理作业2
- 三层三列式升降横移式立体车库的设计 - 图文
- 工会特色亮点工作汇报3篇
- 商品购销三方协议
- 现浇板超厚、超薄及保护层偏厚质量缺陷处理方案
- 2017—2018人教版PEP小学英语三年级下册Unit5测试题
- 2014-2020年中国在线教育行业发展潜力分析及深度调查预测报告
- 西方法律思想史
- 2014年新疆生产建设兵团第二师卫生局招聘
- 2015全国应用物理竞赛模拟试题1
- 落实一岗双责情况总结
- 病理生理学考试重点笔记(精华)
- 经济运营部副部长工作标准、职责、权限、岗位要求、工作内容和要求
- 2018届浙江普通高等学校优秀毕业生汇总名册 - 图文
- 现代汉语练习题
- 2009年高考福建省数学(理)试题答案
- 施工作业人员安全生产知识教育培训考核五套试卷答案