您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理课程设计 电子琴
1微机原理课程设计报告院系:襄樊学院物理与电子工程学院班级:电子信息科学与技术0611班指导老师:张静姓名:杜勇06111028邓丰06111025雷雄061110262目录一、课题名称及设计组成员............................................................3二、课题内容及要求........................................................................3三、方案、系统组成框图和工作原理说明...................................31、方案..................................................................................................................42、系统组成框图..................................................................................................43、工作原理..........................................................................................................5四、程序功能描述及程序流程........................................................52、程序功能描述..................................................................................................53、程序流程图......................................................................................................5五、程序源代码及注释....................................................................6六、DOS/BIOS功能调用,文件列表清单..................................16七、电路的连接及调试..................................................................171、电路连接........................................................................................................172、调试步骤........................................................................................................17八、调试中出现的问题、原因及排除方法.................................18九、收获和体会..............................................................................20十、参考文献..................................................................................203一、课题名称及设计组成员课题名称计算机钢琴和音乐发生器程序设计人姓名学号分工杜勇06111028按键键值与频率查表设计邓丰06111025按键扫描处理雷雄06111026固定频率发声分析报告日期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一个汇编语言的编译、连接、调试及运行的集成环境。支持标号的快速定位,编译速度快。4三、方案、系统组成框图和工作原理说明1、方案基于PC计算机的时钟晶振为1.1931816MHz,利用电脑里面的蜂鸣器发出声音。各音阶标称频率值:/*-------------------------------------------------------------*/音符:1234567(重低音)对应频率(Hz):131147165175196220247(低音)对应频率(Hz):262294330349392440494(中音)对应频率(Hz):523587659698784880988(高音)对应频率(Hz):1046117513181397156817601975/*-------------------------------------------------------------*/2、系统组成框图PC机扬声器电路以及相关接口电路如下:PC机扬声器电路以及相关接口电路53、工作原理PC中的定时电路有三个通道,通道3用于发声,通道1用于控制系统内部的时钟。大家都十分清楚用DOS的TIME命令可以观察并修改系统内部的一个时钟,这个时钟之所以能连续运转主要依靠定时器的通道1。通道1的工作方式和通道3一样,但是系统启动时设定其发出一个频率固定为18.2Hz的信号,这个信号直接送到系统中的中断控制器。每一个Hz都产生一个硬件中断,一般称这个硬中断为IRQ0,对应的中断号是08H。也就是说,当计算机启动后,我们的机器看上去十分平静,但实际上CPU非常忙碌。在定时器的控制下每隔55毫秒就要执行一个08H号中断,这个中断的主要工作就是连续地计数。在内存0040H:006CH处有四字节的存储空间专门用于保存计数值,CPU每执行一次08H中断,这四字节的计数值就被加1,不难算出这个计数值每增加1091后时间恰好过了1分钟,每增加65454后时间恰好过了1小时。系统内部的时钟之所以能准确走时,靠得就是08H中断和这四字节的计数值。因此我们要想精确的定时,必须依靠时钟计数值才行。由于PC计算机的时钟晶振为1.1931816MHz,根据频率的公式:f=1/T则频率周期为T=1/f定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:t=65536*T=65536/f=0.0549254(秒)即:PC定时器每秒可中断18.2065次。四、程序功能描述及程序流程2、程序功能描述程序开始,显示提示信息,对缓存区初始化。按键扫描,接着调用发音子程序在把AL送缓存区,发出与按键相对应频率的声音,从而实现计算机钢琴功能。并不停地对Esc键、Enter键扫描,当Esc键或Enter键按下时,就退出程序。当按下p时,显示播放音乐目录。当按下数字选择键时,播放程序中预设的曲目。当检测到q时,退出到计算机钢琴演奏状态。3、程序流程图6五、程序源代码及注释;/*-------------------------------------------------------------------------------------------*/;编译环境:MASM5.0;日期:2009-3-2;时间:8:03;数据段定义开始显示缓存区,变量初始化键盘扫描调用发音子程序是否Esc或Enter键是否p键是否为q键返回DOSYNNYYN播放音乐菜单播放音乐程序键盘扫描是否播放完毕YN7datasegment;数据定义段assumeds:data;建立数据段寄存器寻址msg_1db'---WelcomeyoutothisOS.---$',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'q','w','e','r','t','y','u';重低音db'a','s','d','f','g','h','j';低音db'z','x','c','v','b','n','m';中音db'1','2','3','4','5','6','7';高音db'0';休止符0;画心music_n1db'b','c','c','x','z','x','x','b','c'db'0','b','c','c','x','z','x','b','n'db'c','0','b','c','c','x','z','x','z','j'db'z','x','j','g','h','d','g'db'h','h','c','x','z','j','j','g','h'db'g','g','h','h','z','j','h','g'db's','d','d','d','g','h','h','j','z','g'db'z','x','x','c','c','b','c','c','x','z','x'db'z','j','z','x','j','g','h','d','g'db'h','h','c','x','z','j','g','h','h','0'8db'd','d','g','h','h','z','j','h','g','h'db'h','d','d','d','g','h','h','j','z','g','z'db'x','x','c','c
本文标题:微机原理课程设计 电子琴
链接地址:https://www.777doc.com/doc-70724 .html