微机原理课程设计Word文档格式.docx

上传人:b****6 文档编号:19819015 上传时间:2023-01-10 格式:DOCX 页数:14 大小:66.44KB
下载 相关 举报
微机原理课程设计Word文档格式.docx_第1页
第1页 / 共14页
微机原理课程设计Word文档格式.docx_第2页
第2页 / 共14页
微机原理课程设计Word文档格式.docx_第3页
第3页 / 共14页
微机原理课程设计Word文档格式.docx_第4页
第4页 / 共14页
微机原理课程设计Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理课程设计Word文档格式.docx

《微机原理课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理课程设计Word文档格式.docx

2、课程设计要求

(1)掌握本课程设计所涉及到的基本理论。

(2)理解硬件电路的工作原理。

(3)自行设计软件流程图,编制程序。

(4)调试程序使其能正常运行。

(5)设计完成后,必须写出设计总结。

内容包括:

原理介绍,简单的硬件电路图,较详细的程序流程图及完整的软件源程序清单。

3、主要技术指标

编写程序

1)在程序运行时使PC即成为一架可弹奏的电子琴。

当按下数字键1-8时,依次发出1,2,3,4,5,6,7,I这八个音调。

自行设计按下某一键则退出电子琴状态。

2)在程序运行时通过按键使PC自动演奏乐曲。

二、课程设计课题的分析

扬声器工作原理:

通过8255B口控制扬声器的开关,8253计数器2通过输出不同频率的脉冲波使得扬声器发出不同频率的声音。

通过程序控制PB1高低电平的变化,开启或关闭扬声器。

程序可以设置开启关断的时间。

下图为扬声器接线图:

下面为主程序程序流程图:

三、课程设计的结果

DATASEGMENT

INFOR1DB0AH,0DH,'

WELCOMETOTHEMUSICWORLD!

$'

INFOR2DB0AH,0DH,'

PLEASESELECT!

INFOR3DB0AH,0DH,'

PLEASEINPUTTHESONG!

INFOR4DB0AH,0DH,'

INPUTERROR,PLEASEINPUTAGAIN!

INFOR5DB0AH,0DH,'

PRESS1-8TOPLAYANDRTORETURN$'

INFOR6DB0AH,0DH,'

ITISOVER,PLEASESELECTAGAIN!

$'

INFOR7DB0AH,0DH,'

========================='

DB0AH,0DH,'

Press1SCALEPLAY'

Press2AUTOPLAY'

PressEEXIT'

MUSLISTDB0AH,0DH,'

Press1HuanLeSong'

Press2KaiXin'

Press3XiaoBuWuQu'

Press4Wonderful'

PressRRETURN'

MUS_FRQ1DW330,330,350,393,393,350,330,294

DW262,262,294,330,330,294,294

DW330,330,350,393,393,350,330,294

DW262,262,294,330,294,262,262

DW294,294,330,262,294,330,350,330,262

DW294,330,350,330,262,262,294,393

DW262,262,294,330,294,262,262,-1

MUS_TIM1DW8DUP(100)

DW7DUP(100),200

DW8DUP(100)

DW5DUP(100),50,50,2DUP(100)

DW100,50,50,4DUP(100),200

MUS_FRQ2DW330,294,262,294,3DUP(330)

DW3DUP(294),330,392,392

DW330,294,262,294,4DUP(330)

DW294,294,330,294,262,-1

MUS_TIM2DW6DUP(100),200

DW2DUP(100,100,200)

DW4DUP(100),400

MUS_FRQ3DW392,262,294,330,350,392,262,262

DW440,350,392,440,494,524,262,262

DW350,392,350,330,294,330

DW350,330,294,262,294,330,294,262,247,262,-1

MUS_TIM3DW200,4DUP(100),200,200,200

DW200,4DUP(100),200,200,200

DW200,4DUP(100),200

DW4DUP(100),200,4DUP(100),400

MUS_FRQ4DW330,392,330,294,330,392,330,394,330

DW330,392,330,294,262,294,330,392,294

DW262,262,220,196,196,220,262,294,330,262,-1

MUS_TIM4DW3DUP(200),100,100,200,100,100,400

DW2DUP(200,200,100,100),400

DW3DUP(200,100,100),400

TABLEDW262,294,330,349,392,440,494,525

DATAENDS

STACKSEGMENTPARASTACK'

STACK'

STADB200DUP('

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

DISPLAYMACROINFORMATION

PUSHDX

MOVDX,OFFSETINFORMATION

MOVAH,09H

INT21H

POPDX

ENDM

DISPLAYINFOR1

DISPLAYINFOR2

INPUT:

DISPLAYINFOR7

MOVAH,01H

INT21H

SCALE:

CMPAL,31H

JNZAUTO

JMPSCALEPLAY

JMPINPUT

AUTO:

CMPAL,32H

JNZQUIT1

DISPLAYMUSLIST

JMPAUTOPLAY

QUIT1:

CMPAL,45H

JNZER

JMPFARPTRQUIT

ER:

DISPLAYINFOR4

JMPINPUT

MUSIC1PROC

MOVAH,01H

INT16H

JZAUTOPLAY

LEASI,MUS_FRQ1

LEABP,DS:

MUS_TIM1

FREQ1:

MOVDI,[SI]

CMPDI,-1

JEEND_MUS1

MOVBX,DS:

[BP]

CALLGENSOUND

ADDSI,2

ADDBP,2

JMPFREQ1

END_MUS1:

RET

MUSIC1ENDP

MUSIC2PROC

JZAUTOPLAY

LEASI,MUS_FRQ2

MUS_TIM2

FREQ2:

JEEND_MUS2

JMPFREQ2

END_MUS2:

MUSIC2ENDP

MUSIC3PROC

LEASI,MUS_FRQ3

MUS_TIM3

FREQ3:

JEEND_MUS3

JMPFREQ3

END_MUS3:

MUSIC3ENDP

MUSIC4PROC

LEASI,MUS_FRQ4

MUS_TIM4

FREQ4:

JEEND_MUS4

JMPFREQ4

END_MUS4:

MUSIC4ENDP

SCALEPLAYPROCNEAR

PUSHAX

PUSHBX

PUSHCX

DISPLAYINFOR5

JMPINPUT1

INSTR:

DISPLAYINFOR4

INPUT1:

MOVAH,01H

INT21H

CMPAL,52H

JNZNEXT

JMPFARPTRINPUT

NEXT:

CMPAL,31H

JBINSTR

CMPAL,38H

JAINSTR

ANDAX,0FH

SHLAX,1

SUBAX,2

MOVSI,AX

MOVBX,OFFSETTABLE

MOVDI,[BX][SI]

MOVBX,100

CALLGENSOUND

JMPINPUT1

POPCX

POPBX

POPAX

RET

SCALEPLAYENDP

INSTRUCTION:

DISPLAYINFOR6

JMPB0

AUTOPLAY:

DISPLAYINFOR3

B0:

JNZB1

B1:

CMPAL,31H

JNZB2

CALLMUSIC1

JMPINSTRUCTION

B2:

JNZB3

CALLMUSIC2

JMPINSTRUCTION

B3:

CMPAL,33H

JNZB4

CALLMUSIC3

B4:

CMPAL,34H

JNZB5

CALLMUSIC4

B5:

GENSOUNDPROC

PUSHAX

PUSHBX

PUSHDX

PUSHDI

MOVAL,0B6H

OUT43H,AL

MOVDX,12H

MOVAX,533H*896

DIVDI

OUT42H,AL

MOVAL,AH

INAL,61H

MOVAH,AL

ORAL,3

OUT61H,AL

WAIT1:

MOVCX,1200

DELA1:

INAL,61H

ANDAL,10H

CMPAL,AH

JEDELA1

MOVAH,AL

LOOPDELA1

DECBX

JNZWAIT1

MOVAL,AH

OUT61H,AL

POPDI

POPBX

GENSOUNDENDP

QUIT:

MOVAX,4C00H

CODEENDS

ENDSTART

实验结果:

运行程序后,界面显示WELCOMETOTHEMUSICWORLD!

PLEASESELECT!

=========================

Press1SCALEPLAY

Press2AUTOPLAY

PressEEXIT

按下E后程序结束,按下1,界面显示

=========================

Press1HuanLeSong

Press2KaiXin

Press3XiaoBuWuQu

Press4Wonderful

PressRRETURN

=========================

PLEASEINPUTTHESONG!

按下相应的键会播放相应歌曲,按下R返回到上级菜单,按下其他键会显示错误提示,当播放歌曲时,按下任意键会停止当前播放歌曲,进入到歌曲选择界面。

歌曲播放完成后显示ITISOVER,PLEASESELECTAGAIN!

然后返回到歌曲选择界面。

按下R返回到上级菜单后,按下2键,界面显示:

PRESS1-8TOPLAYANDRTORETURN

按下1-8会发出不同的音调,按下R返回,按下其他键会显示出错信息。

按下R返回到最上级菜单,按下E退出程序。

四、程序设计的心得与体会

一周的课程设计即将结束,在这一周中,感觉收获了许多。

首先,对微机原理这门课程有了更深入的了解,从最原始的对纯理论知识的理解到慢慢有了实践的想法,到现在能够用汇编语言在PC上编写简单的小程序,每一次提升,不仅是对自己的一种肯定,更是对自己的一种丰富,这时最大的收获。

其次,在这一周的课程设计中,不仅仅是对本门课程的提升,同时也是对其他课程的一种广泛意义上的提升。

作为自动化专业的一员,拥有较为扎实的编程能力是将来就业找工作不可或缺的。

这一周的课程设计让我对模块化编程有了更深入的了解,对于解决实际问题,能够从整体上,从更高的层面考虑,这是一种认识上的提升。

而且,通过学习汇编语言程序设计,让我对其他一些高级编程语言有了一些更为本质上的认识,为将来的学习能够奠定一些基础。

最后,在对一些问题的解决过程中,我的耐心得到了极大的锻炼,能够坚持,自己研究,设法找到问题的突破点,这也是作为一个新时代大学生必须具备的素质之一。

对于本次课程设计中的程序,我认为最大的优点就是程序的稳定性比较好,不会出现由于程序设计的问题而出现的意外结果和死机等情况,而且程序多处考虑优化的问题,增加了许多提示信息,程序流程和显示信息更加符合用户的要求。

而且在执行自动播放歌曲的部分中,支持随时按任意键停止当前播放并返回到歌曲选择界面的功能。

五、参考文献

《微型计算机原理(第二版)》王忠民西安电子科技大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1