电子行业企业管理微机原理课程设计电子琴Word下载.docx
《电子行业企业管理微机原理课程设计电子琴Word下载.docx》由会员分享,可在线阅读,更多相关《电子行业企业管理微机原理课程设计电子琴Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
![电子行业企业管理微机原理课程设计电子琴Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/14/77c9a116-e830-458d-a532-c21574c06524/77c9a116-e830-458d-a532-c21574c065241.gif)
3、程序流程图3
五、程序源代码及注释3
六、DOS/BIOS功能调用,文件列表清单3
七、电路的连接及调试3
1、电路连接3
2、调试步骤3
八、调试中出现的问题、原因及排除方法3
九、收获和体会3
十、参考文献4
一、课题名称及设计组成员
课题名称,计算机钢琴和音乐发生器程序设计人,姓名,学号,分工
杜勇,8,按键键值与频率查表设计
邓丰,5,按键扫描处理
雷雄,6,固定频率发声分析报告日期,2009年3月2日二、课题内容及要求
1、计算机钢琴
基本功能:
I、利用键盘按键“q、w、e、r、t、y、u”实现音调的重低音输入,利用键盘按键“a、s、d、f、g、h、j”实现音调的低音输入,
利用键盘按键“z、x、c、v、b、n、m”实现音调的中音输入,利用键盘按键“1、2、3、4、5、6、7”实现音调的重低音输入。
II、实现菜单选择以及处理各种功能键的多种中级功能。
2、音乐播放系统控制
实现功能:
①制作一个菜单,使用菜单条选择功能,让用户选择演奏的乐曲。
②用定时器方式演奏画皮之主题曲《画心》实现音乐演奏。
Ⓒ提示使用ESC键或者ENTER键可以退出当前过程或返回DOS。
④实现控制变量可以控制不同的效果以及要求,如播放速度,间隔等。
⑤界面美观,程序结构化程度高,模块结构合理。
⑥设计出相应的音乐取码软件。
3、实验环境
16位的汇编语言程序设计有几种工作环境,本实验以及所有程序都是通过MASM5.0编译的,MASM5.0一个汇编语言的编译、连接、调试及运行的集成环境。
支持标号的快速定位,编译速度快。
三、方案、系统组成框图和工作原理说明
1、方案
基于PC计算机的时钟晶振为1.MHz,利用电脑里面的蜂鸣器发出声音。
各音阶标称频率值:
/*-------------------------------------------------------------*/
音符:
(重低音)
对应频率(Hz):
(低音)
(中音)
(高音)
2、系统组成框图
PC机扬声器电路以及相关接口电路如下:
地计数。
在内存"
0040H:
006CH"
处有四字节的存储空间专门用于保存计数值,CPU每执行一次08H中断,这四字节的计数值就被加1,不难算出这个计数值每增加1091后时间恰好过了1分钟,每增加65454后时间恰好过了1小时。
系统内部的时钟之所以能准确走时,靠得就是08H中断和这四字节的计数值。
因此我们要想精确的定时,必须依靠时钟计数值才行。
由于PC计算机的时钟晶振为1.MHz,根据频率的公式:
f=1/T
则频率周期为
T=1/f
定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:
t=65536*T=65536/f=0.(秒)
即:
PC定时器每秒可中断18.2065次。
四、程序功能描述及程序流程
2、程序功能描述
程序开始,显示提示信息,对缓存区初始化。
按键扫描,接着调用发音子程序在把AL送缓存区,发出与按键相对应频率的声音,从而实现计算机钢琴功能。
并不停地对Esc键、Enter键扫描,当Esc键或Enter键按下时,就退出程序。
当按下p时,显示播放音乐目录。
当按下数字选择键时,播放程序中预设的曲目。
当检测到q时,退出到计算机钢琴演奏状态。
3、程序流程图
五、程序源代码及注释
;
/*------------------------------------------------------------------
-------------------------*/
编译环境:
MASM5.0
日期:
2009-3-2
时间:
8:
03
数据段定义datasegment;
数据定义段
assumeds:
data;
建立数据段寄存器寻址
msg_1db'
<
---WeleyoutothisOS.--->
>
$'
0dh,0ah;
定义字节msg_2db0dh,0ah,'
InthisOS.youcanpressbelowkeystoenjoy:
msg_3db0dh,0ah,'
SuperLow:
q-w-e-r-t-y-u$'
msg_4db0dh,0ah,'
Low:
a-s-d-f-g-h-j$'
msg_5db0dh,0ah,'
Mid:
z-x-c-v-b-n-m$'
msg_6db0dh,0ah,'
Hig:
1-2-3-4-5-6-7$'
msg_7db0dh,0ah,'
Anytimeyoucanpress'
'
Esc'
or'
Enter'
toexit.$'
msg_8db0dh,0ah,'
What'
smore,youcanpress'
p'
toplaymusic!
msg_9db0dh,0ah,'
Pleaseselectthemusic(press'
q'
toexitthemainmenu):
msg_10db0dh,0ah,'
1.Huaxin$'
msg_11db0dh,0ah,'
2.Jinglebells$'
msg_12db0dh,0ah,'
3.Happybirthdaytoyou$'
msg_13db0dh,0ah,'
4.Happynewyear$'
msg_21db0dh,0ah,'
note_tdw131,147,165,175,196,220,247;
重低音dw262,294,330,349,392,440,494;
低音dw523,587,659,698,784,880,988;
中音dw1046,1175,1318,1397,1568,1760,1975;
高音
dw0;
休止符0
1'
'
2'
3'
4'
5'
6'
7'
从低到高
key_tdb'
w'
e'
r'
t'
y'
u'
重低音
db'
a'
s'
d'
f'
g'
h'
j'
低音
z'
x'
c'
v'
b'
n'
m'
中音
0'
画心music_n1db'
db'
0
music_d1db4,4,8,4,4,8,4,4,16db8,4,4,8,4,4,8,4,4
db16,8,4,4,8,4,4,8,4,4db4,4,4,4,8,4,4
db8,4,4,4,4,8,8,4
db4,4,8,4,4,4,4,8
db4,2,16,4,4,8,4,4,4,4
db4,4,4,4,8,4,4,8,4,4,8
db4,4,4,4,4,4,8,4,4
db8,4,4,4,4,8,4,2,8,8
db4,4,4,8,4,4,4,4,4,4
db4,4,8,4,4,8,4,4,4,4,4
db4,4,4,16,4,4,8,4,4
db8,4,4,4,4,4,4,8,4,4,8
db4,4,4,4,8,4,4,16,4,4
db8,4,4,8,4,4,4,4,8,4,4
db8,4,4,8,4,4,4,4,8
db4,4,8,4,4,8,4,4
db4,4,4,4,8,4,4,8,4,4db4,4,8,4,4,32
铃儿响叮当+生日快乐+新年好music_n2db'
铃儿响叮当
生日快乐
新年好db'
0music_d2db4,4,4,4,8,4,2,2,4,4,4,4
db8,4,2,2,4,4