电子琴课程设计报告电子版微机 DOC.docx
- 文档编号:8348106
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:18
- 大小:257.82KB
电子琴课程设计报告电子版微机 DOC.docx
《电子琴课程设计报告电子版微机 DOC.docx》由会员分享,可在线阅读,更多相关《电子琴课程设计报告电子版微机 DOC.docx(18页珍藏版)》请在冰豆网上搜索。
电子琴课程设计报告电子版微机DOC
自动化专业课程设计报告
《微机原理及应用课程设计》
题目:
计算机仿真电子琴
班级
姓名
学号
时间2011/12/19~2011/12/23
地点电信实验中心第六实验室
指导教师
大连水产学院信息工程学院
自动化教研室
题目:
计算机仿真电子琴.
一、课程设计的目的与要求
1、教学目的
本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。
本课程设计的其目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
2、教学要求
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
1)掌握汇编语言程序设计的基本方法。
2)进一步理解各种接口电路的应用。
例如8255并行接口,8253定时器等。
3)掌握利用PC机扬声器发出不同频率声音的方法。
二、课程设计课题的分析
1、主要技术指标
编写程序
(1)在程序运行时使PC即成为一架可弹奏的电子琴。
当按下数字健1---8时,依次发出1,2,3,4,5,6,7,I这8个音调。
自行设计按下某一键则退出电子琴状态。
(2)在程序运行时使PC自动演奏一首乐曲。
2、设计思路
通过编程,建立一个DOS界面,建立简单的菜单选项,可是实现电子琴的基本弹奏功能。
可以通过按键“1、3、4、5、6、7”实现音调的低音输入,按键“Q、W、E、R、T、Y、U”实现对音调的中音输入,按键“A、S、D、F、G、H、J”实现音调的高音输入,可以按“ESC”或“ENTER”键退出、“P”进入播放音乐模式,有两个音乐可以选择,1是水手,2是新年好。
3、硬件参数及硬件接线电路图
(1)地址和初值
8255口地址:
PA口=60HPB口=61HPC口=62H控制口=63H
8253口地址:
计数器0=40H计数器1=41H计数器2=42H控制寄存器=43H
8253初值:
600Hz声音,1.19MHz/600=1983
(2)接线电路图
PC机扬声器电路以及相关接口电路:
(如图1)
图1接线电路图
4、作原理
PC中的定时电路有三个通道,通道3用于发声,通道1用于控制系统内部的时钟。
通道1的工作方式和通道3一样,但是系统启动时设定其发出一个频率固定为18.2Hz的信号,这个信号直接送到系统中的"中断控制器"。
每一个"Hz"都产生一个硬件中断,一般称这个硬中断为"IRQ0",对应的中断号是08H。
在定时器的控制下每隔55毫秒就要执行一个08H号中断,这个中断的主要工作就是连续地计数。
由于PC计算机的时钟晶振为1.1931816MHz,根据频率的公式:
f=1/T
则频率周期为
T=1/f
定时器的计数器为16位计数器,则最大的计数值为65536,那么其定时时间为:
t=65536*T=65536/f=0.0549254(秒)
即:
PC定时器每秒可中断18.2065次。
5、程序流程图(见图2)
图2程序流程图
三、课程设计的结果
程序开始,显示提示信息,对缓存区初始化。
按键扫描,接着调用发音子程序在把AL送缓存区,发出与按键相对应频率的声音,从而实现计算机仿真电子琴的功能。
并不停地对Esc键、Enter键、P键扫描,当Esc键或Enter键按下时,就退出程序。
当按下P时,显示播放音乐目录。
当按下数字选择键时,播放程序中预设的曲目,中途可以通过Enter键,终止音乐播放。
当检测到Q时,退出到计算机仿真电子琴演奏状态。
1、程序代码:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ASSUMEDS:
DATA
STR_1DB0DH,0AH,'<<-----WELCOMEYOUTOUSING----->>$'
STR_2DB0DH,0AH,'Author:
SunFhDate:
2011/12/20$'
STR_3DB0DH,0AH,'Thisisanelectricpiano!
$'
STR_4DB0DH,0AH,'LOW:
1-2-3-4-5-6-7$'
STR_5DB0DH,0AH,'MID:
Q-W-E-R-T-Y-U$'
STR_6DB0DH,0AH,'HIG:
A-S-D-F-G-H-J$'
STR_7DB0DH,0AH,'Youcanpressplayitthatlikesapiano.'
DB0DH,0AH,'Andyoucanpress''ESC''or''ENTER''toEXIT.$'
STR_8DB0DH,0AH,'What''smore,'
DB0DH,0AH,'youcanpress''P''toplaysomemusics!
$'
STR_9DB0DH,0AH,'PleaseselectTthemusic(Press''Q''toexitthisMENU):
$'
STR_10DB0DH,0AH,'1.ShuiShou$'
STR_11DB0DH,0AH,'2.XinNianHao'
DB0DH,0AH,'Youcanpress"ENTER"tostopplay.$'
STR_12DB0DH,0AH,'INPUTERROR!
$'
STR_13DB0DH,0AH,'Pleaseinputagain!
$'
STR_21DB0DH,0AH,'$'
NOTE_TDW262,294,330,349,392,440,494
DW523,587,659,698,784,880,988
DW1046,1175,1318,1397,1568,1760,1975
DW0
KEY_TDB'1','2','3','4','5','6','7'
DB'q','w','e','r','t','y','u'
DB'a','s','d','f','g','h','j'
DB'0'
MUSIC_N1DB'6','e','w','e','w','e','r','t','r','w','e','0','r'
DB'r','r','r','w','q','w','e','w','w','e','q','7','6','q','7'
DB'6','e','w','e','w','e','r','r','r','e','w','e'
DB'r','e','w','q','w','q','w','e','7','7','6','5','6','6'
DB'w','w','w','w','r','r','e','w','w','w','e','w','q','w','q','6',0
MUSIC_D1DB8,4,4,8,4,4,6,2,4,4,4,6,2
DB4,2,2,4,4,4,2,2,4,4,4,4,4,4,16
DB8,4,4,8,4,4,4,2,2,4,4,16
DB6,2,4,4,6,2,4,4,4,4,4,2,2,16
DB6,2,4,4,4,2,2,4,2,2,4,4,4,2,2,16
MUSIC_N2DB'1','1','1','t','3','3','3','1','1','3','5','5','4','3','2','2','3'
DB'4','4','3','2','3','1','1','3','2','t','u','2','1',0
MUSIC_D2DB4,4,8,8,4,4,8,8,4,4,8,8,4,4,16,4,4
DB8,8,4,4,8,8,4,4,8,8,4,4,32
JIEPAIDB?
SPEEDDB2
JIANGEDB1
DATAENDS
CODESEGMENT
ASSUMECS:
CODE
SHOWMACROSTR
LEADX,STR
MOVAH,09H
INT21H
ENDM
MAINPROCFAR
MOVAX,DATA
MOVDS,AX
SHOWSTR_21
SHOWSTR_1
SHOWSTR_2
SHOWSTR_3
SHOWSTR_4
SHOWSTR_5
SHOWSTR_6
SHOWSTR_7
SHOWSTR_8
SHOWSTR_21
MOVBX,0
KEY_SCAN:
MOVAL,6
MOVJIEPAI,AL
MOVBX,0000H
MOVAH,00H
INT16H
CMPAL,0DH
JZEXIT
CMPAL,1BH
JZEXIT
CMPAL,'p'
JZPLAY
LOOKUP:
CMPKEY_T[BX],AL
JENEXT
INCBX
JMPLOOKUP
NEXT:
SHLBX,1
MOVCX,NOTE_T[BX]
CALLBEEP
JMPKEY_SCAN
EXIT:
MOVAH,4CH
INT21H
ERROR:
SHOWSTR_12
SHOWSTR_13
JMPPLAY
PLAY:
SHOWSTR_21
SHOWSTR_9
SHOWSTR_10
SHOWSTR_11
INPUT:
MOVAH,00H
INT16H
CMPAL,'q'
JZSTART
CMPAL,0DH
JZEXIT
CMPAL,1BH
JZEXIT
CMPAL,'1'
JZNEXT6
CMPAL,'2'
JZNEXT7
CALLERROR
JMPINPUT
NEXT6:
CALLPLAY_M1
NEXT7:
CALLPLAY_M2
START:
CALLMAIN
STOP:
PUSHAX
MOVAH,00H
INT16H
CMPAL,0DH
JZPLAY
RET
PLAY_M1PROCNEAR
NEXT5:
MOVBX,0
NEXT3:
MOVAL,MUSIC_N1[BX]
PUSHAX
MOVAL,MUSIC_D1[BX]
MOVJIEPAI,AL
POPAX
PUSHAX
MOVAH,11
INT21H
CMPAL,0FFH
JZSTOP
POPAX
CMPAL,0
JEINPUT
PUSHBX
MOVBX,0
LOOK1:
CMPKEY_T[BX],AL
JENEXT1
INCBX
ANDBX,0FFH
JMPLOOK1
NEXT1:
SHLBX,1
MOVCX,NOTE_T[BX]
CMPCX,0
JENEXT4
CALLBEEP
CALLPAUSE
POPBX
INCBX
JMPNEXT3
NEXT4:
CALLNOBEEP
CALLPAUSE
POPBX
INCBX
JMPNEXT3
PLAY_M1ENDP
IN:
JMPINPUT
PLAY_M2PROCNEAR
NEX5:
MOVBX,0
NEX3:
MOVAL,MUSIC_N2[BX]
PUSHAX
MOVAL,MUSIC_D2[BX]
MOVJIEPAI,AL
POPAX
PUSHAX
MOVAH,11
INT21H
CMPAL,0FFH
JZSTOP
POPAX
CMPAL,0
JEIN
PUSHBX
MOVBX,0
LOO1:
CMPKEY_T[BX],AL
JENEX1
INCBX
ANDBX,0FFH
JMPLOO1
NEX1:
SHLBX,1
MOVCX,NOTE_T[BX]
CMPCX,0
JENEX4
CALLBEEP
CALLPAUSE
POPBX
INCBX
JMPNEX3
NEX4:
CALLNOBEEP
CALLPAUSE
POPBX
INCBX
JMPNEX3
PLAY_M2ENDP
MAINENDP
BEEPPROCNEAR
MOVDX,0012H
MOVAX,34DCH
DIVCX
OUT42H,AL
MOVAL,AH
OUT42H,AL
CALLSPK_ON
MOVAH,00H
INT1AH
MOVAL,JIEPAI
ADDAL,SPEED
CBW
ADDAX,DX
MOVBX,AX
DELAY1:
MOVAH,00H
INT1AH
CMPBX,DX
JNZDELAY1
CALLSPK_OFF
RET
BEEPENDP
NOBEEPPROCNEAR
CALLSPK_OFF
MOVAH,00H
INT1AH
MOVAL,JIEPAI
ADDAL,SPEED
CBW
ADDAX,DX
MOVBX,AX
DELAY2:
MOVAH,00H
INT1AH
CMPBX,DX
JNZDELAY2
RET
NOBEEPENDP
PAUSEPROCNEAR
CALLSPK_OFF
MOVAH,00H
INT1AH
MOVAL,JIANGE
CBW
ADDAX,DX
MOVBX,AX
DELAY3:
MOVAH,00H
INT1AH
CMPBX,DX
JNZDELAY3
RET
PAUSEENDP
SPK_ONPROCNEAR
PUSHAX
INAL,61H
ORAL,03H
OUT61H,AL
POPAX
RET
SPK_ONENDP
SPK_OFFPROCNEAR
PUSHAX
INAL,61H
ANDAL,0FCH
OUT61H,AL
POPAX
RET
SPK_OFFENDP
CODEENDS
ENDMAIN
2、实验现象
(1)程序正常运行,如图3
图3程序正常运行
(2)音乐播放菜单(按P键),如图4
图4音乐播放菜单
(3)输入错误按键,显示错误,键盘重新输入,如图5
图5输入错误按键
(4)音乐播放终止,可以重新选择播放音乐或者返回,如图6
图6音乐终止画面
(5)返回主菜单界面(按Q键),如图7
图7返回主菜单界面
四、课程设计的心得与体会
一个星期的课程设计,让我尝试了失败的打击,和成功的喜悦。
虽然自己查阅了很多资料,但是发信自己对知识的掌握还是不够扎实,不过自己在课程设计过程中,也学到了不少扩展的知识。
在程序汇编时候,会遇到很多问题,自己的英文不是很好,有些错误都看不明白,但是跟同学讨论学习之后,修改程序,改正错误。
让我意识到,合作是很有必要的,每个人理解的擅长的地方都不同,通过交流也会取长补短。
五、参考文献
[1]王忠民,微型计算机原理,西安:
西安电子科技大学出版社,2007年
[2]赵燕,何南,微机原理与应用实验指导书,大连海洋大学,2008年
[3]仇玉章,冯一兵,微计算机技术——实验与辅导,北京:
清华大学出版社,2006年
[4]朱定华,微机原理、汇编与接口技术实验教程,北京:
清华大学出版社,2007年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴课程设计报告电子版微机 DOC 电子琴 课程设计 报告 电子版 微机