微机原理与接口技术课程设计_第1页
微机原理与接口技术课程设计_第2页
微机原理与接口技术课程设计_第3页
微机原理与接口技术课程设计_第4页
微机原理与接口技术课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学

现代科技学院

微机原理与接口技术

课程设计

姓名:

班级:自动

学号

目录

题目1

设计目的

设计要求1

主要技术指标

课程设计课题的分析

实验代码3

实验现象9

课程设计的心得与体会11

题目:计算机仿真电子琴

一、设计目的

本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的-

次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理

基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基

本方法。

二、设计要求

从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:

1)掌握汇编语言程序设计的基本方法。

2)进一步理解各种接口电路的应用。例如8255并行接口,8253定时器等。

3)掌握利用PC机扬声器发出不同频率声音的方法。

三、主要技术指标

编写程序

1)在程序运行时使PC即成为一架可弹奏的电子琴。当按下数字键1-8时,依次发

出1,2,3,4,5,6,7,1这八个音调。按下CTRL+C或者回车则退出电子琴

状态。

2)在程序运行时使PC自动按要求提示演奏乐曲。

四、课程设计课题的分析

4扬声器

图I.扬声器工作原理图示

图2.主程序工作流程图

(2竦)

图3.乐曲演奏子程序工作流程图

结束

图4.电子琴子程序工作流程图

图5.扬声器工作流程图

五、实验代码

DATASEGMENT

INFO1DBOAH,ODH,'WELCOMEYOUTOCOMEHERE$

DBOAH,ODH,THISISAMUSICPROGRAM!$'

DBOAH,ODH,'PLEASESELECLT!$'

INFO4DB0AH,ODH,'INPUTERROR$

INF05DBOAH,ODH,'PLEASEINPUTAGAIN!$,

MUSL1STDBOAH,ODH,

DBOAH,ODH,'Press1HuanLeSong'

DBOAH,ODH,'Press2KaiXin

DBOAH,ODH,'Press3XiaoBuWuQu'

DBOAH,ODH,'Press4Wonderful'

DBOAH,()DH,'Press5SCALEPLAY1

DBOAH,ODH,'Press6EXIT'

DBOAH,ODH,1——_____一一一一一一一一,

DBOAH,ODH,

MUS.FRQlDW330,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

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

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

MUS.TIM1DW8DUP(IOO)

DW7DUP(100),200

DW8DUP(IOO)

DW7DUP(100),200

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

DW100.50,50.4DUP(100),200

DW8DUP(IOO)

DW7DUP(100),200

MUS.FRQ2DW330,294,262,294,3DUP(33O)

DW3DUP(294)330,392,392

DW330,294,262,294,4DUP(33O)

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

MUS.TIM2DW6DUP(100),200

DW2DUP(100J00,200)

DW8DUP(IOO)

DW4DUP(100).400

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

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

DW350,392,350,33(),294,330

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

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

DW200,4DUP(i00),200,200,200

DW200,4DUP(100),200

DW4DUP(100),200,4DUP(IOO),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,2(X)J00,100),400

DW3DUP(200J00J00),400

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

NUMBDB0AH,0DH,'Keyboardnumber1-8keysplaynotesofthescale'

DB0AH,0DH,'EnterorCtrl+Ctoexif

DB0AH,0DH,$

DATAENDS

STACKSEGMENTPARASTACK,STACK'

STADB200DUP('STACK')

STACKENDS

CODESEGMENT

ASSUMEDS:DATA,SS:STACK,CS:CODE,ES:DATA

START:MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAX,STACK

MOVSS,AX

SHOWMACROB

MOVDX,OFFSETB

MOVAH,09H

INT21H

ENDM

SHOWINFO1

LOP:SHOWMU5LIST

MOVAH,01H

INT2IH

CMPAL,36H

JZRETU

CMPAL,31H

JNZB0

CALLMUSIC1

JMPEXIT1

BO:CMPAL,32H

JNZCO

CALLMUSIC2

JMPEXIT1

CO:CMPAL,33H

JNZDO

CALLMUSIC3

JMPEXIT1

DO:CMPAL,34H

JNZEO

CALLMUSIC4

JMPEXIT1

EO:CMPAL,35H

JNZEXIT

SHOWNUMB

CALLMUSIC5

EXIT):SHOWINFO5

JMPLOP

EXIT:SHOWINFO4

SHOWINFO5

JMPLOP

RETU:MOVAX,4C00H

INT21H

MUSIC!PROC

LEASI.MUS_FRQ1

LEABP,DS:MUS_TIM1

PREQI:MOVDI,[SI]

CMPDI,-1

JEEND_MUS1

MOVBX,DS:(BP]

CALLGENSOUND

ADDSI,2

ADDBP,2

JMPFREQI

END_MUS1:RET

MUSIC1ENDP

MUSIC2PROC

LEASI,MUS_FRQ2

LEABP.DS:MUS_TIM2

FREQ2:MOVDI,[SI]

CMPDI,-1

JEEND.MUS2

MOVBX,DS:[BP]

CALLGENSOUND

ADDSI,2

ADDBP.2

JMPFREQ2

END_MUS2:RET

MUS1C2ENDP

MUSIC3PROC

LEASI,MUS_FRQ3

LEABEDS:MUS_TIM3

FREQ3:MOVDI,[SI]

CMPDI,-1

JEEND_MUS3

MOVBX,DS:[BP]

CALLGENSOUND

ADDSI,2

ADDBP,2

JMPFREQ3

END__MUS3:RET

MUSIC3ENDP

MUSIC4PROC

LEASLMUS_FRQ4

LEABEDS:MUS.TIM4

FREQ4:MOVDI,[SI]

CMPDI,-1

JEEND_MUS4

MOVBX,DS:[BP]

CALLGENSOUND

ADDSI,2

ADDBR2

JMPFREQ4

END_MUS4:RET

MUSIC4ENDP

MUSIC5PROCNEAR

PUSHAX

PUSHBX

PUSHCX

LOP5:MOVAH,01

INT21H

CMPAL,ODH

JEEXIT5

CMPAL,3IH

JBL0P5

CMPAL,38H

JALOP5

ANDAX.OFH

SHLAX,1

SUBAX,2

MOVSI,AX

MOVBX,OFFSETTABLE

MOVDI,[BX][SI]

MOVBX,100

CALLGENSOUND

JMPLOP5

EXIT5:POPCX

POPBX

POPAX

RET

MUSIC5ENDP

GENSOUNDPROC

PUSHAX

PUSHBX

PUSHCX

PUSHDX

PUSHDI

MOVAL,0B6H

OUT43H,AL

MOVDX,12H

MOVAX,533H*896

DIVDI

OUT42H,AL

MOVAL,AH

OUT4211,AL

INAL,61H

MOVAH,AL

ORAL,3

OUT61H,AL

PUSHAX

WAIT1:MOVCX,1200

DELA1:INAL,61H

ANDAL,10H

CMPAL,AH

JEDELA1

MOVAH,AL

LOOPDELA1

DECBX

JNZWAIT1

POPAX

MOVAL,AH

OUT61H,AL

POPDI

POPDX

POPCX

POPBX

POPAX

RET

GENSOUNDENDP

CODEENDS

ENDSTART

六、实验现象

1.进入DOS后在DOS界面(图6)进行汇编链接并生成可执行文件.exc

图6.DOS调试界面

2.双击可执行文件KS.exe(这里我把程序取名为KS)进入操作界面如图7所示

图7.操作界面初始界面

图8.按数字键5后进入电子琴界面

WELCOMEVOUTOCOMEHERE?

PresslHuanLeSong

Press2KaiXin

Press3XiaoBuWuQu

Press。Wonderful

Press5SCALEPLfiV

Press6EXIT

[Keyboardnumber18keysplaynotesofthescale

EnterorCtrl+Ctoexit

12345678

PLEASEINPUTAGAIN?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论