资料计算机仿真电子琴课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
计算机仿真电子琴
一、课程设计的目的与要求
1、设计目的
本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语
言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握
汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。
2、设计要求
从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:
1) 掌握汇编语言程序设计的基本方法。
2) 进一步理解各种接口电路的应用。例如8255并行接口,8253定时器等。
3) 掌握利用PC机扬声器发出不同频率声音的方法。
3、主要技术指标
编写程序
1) 在程序运行时使PC即成为一架可弹奏的电子琴。当按下数字键1-8时,依次发出1,2,3,4,
5,6,7,I这八个音调。按下回车则退出电子琴状态。
2) 在程序运行时使PC自动按要求提示演奏乐曲。
二、课程设计课题的
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
图1.扬声器工作原理图示
图2.主程序工作流程图
图3.乐曲演奏子程序工作流程图 图4.电子琴子程序工作流程图
图5.扬声器工作流程图
三、课程设计的结果
1、实验代码
DATA SEGMENT
INFO1 DB 0AH, 0DH, 'WELCOME YOU TO COME HERE!$'
DB 0AH, 0DH, 'THIS IS A MUSIC PROGRAM!$'
DB 0AH, 0DH, 'PLEASE SELECLT!$'
INFO2 DB 0AH, 0DH, 'INPUT ERROR!$'
INFO3 DB 0AH, 0DH, 'PLEASE INPUT AGAIN!$'
MUSLIST DB 0AH, 0DH, '========================='
DB 0AH, 0DH, 'Press1 HuanLeSong'
DB 0AH, 0DH, 'Press2 SCALE PLAY '
DB 0AH, 0DH, 'Press3 or ctrl+C EXIT'
DB 0AH, 0DH, '========================='
DB 0AH, 0DH, '$'
MUS_FRQ1 DW 330, 330, 350, 393, 393, 350, 330, 294
DW 262, 262, 294, 330, 330, 294, 294
DW 330, 330, 350, 393, 393, 350, 330, 294
DW 262, 262, 294, 330, 294, 262, 262
DW 294, 294, 330, 262, 294, 330, 350, 330, 262
DW 294, 330, 350, 330, 262, 262, 294, 393
DW 330, 330, 350, 393, 393, 350, 330, 294
DW 262, 262, 294, 330, 294, 262, 262, -1
MUS_TIM1 DW 8 DUP(100)
DW 7 DUP(100),200
DW 8 DUP(100)
DW 7 DUP(100),200
DW 5 DUP(100),50,50,2 DUP(100)
DW 100,50,50,4 DUP(100),200
DW 8 DUP(100)
DW 7 DUP(100),200
TABLE DW 262, 294, 330, 349, 392, 440, 494, 525
NUMB DB 0AH, 0DH, 'Keyboard number 1~8 keys play notes of the scale'
DB 0AH, 0DH, 'Enter to exit'
DB 0AH, 0DH, '$'
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
STA DB 200 DUP('STACK')
STACK ENDS
CODE SEGMENT
ASSUME DS: DATA, SS: STACK, CS: CODE, ES: DATA START: MOV AX, DATA
MOV DS, AX
MOV ES, AX
MOV AX, STACK
MOV SS, AX
SHOW MACRO B
MOV DX, OFFSET B
MOV AH, 09H
INT 21H
ENDM
SHOW INFO1 LOP: SHOW MUSLIST
MOV AH, 01H
INT 21H
CMP AL, 33H
JZ RETU
CMP AL, 31H
JNZ B0
CALL MUSIC1
JMP EXIT1
B0: CMP AL, 32H
JNZ EXIT
SHOW NUMB
CALL MUSIC2
EXIT1: SHOW INFO3
JMP LOP
EXIT: SHOW INFO2
SHOW INFO3
JMP LOP
RETU: MOV AX, 4C00H
INT 21H
MUSIC1 PROC
LEA SI, MUS_FRQ1
LEA BP,DS: MUS_TIM1
FREQ1: MOV DI, [SI]
CMP DI,-1
JE END_MUS1
MOV BX, DS: [BP]
CALL GENSOUND
ADD SI,2
ADD BP,2
JMP FREQ1
END_MUS1:RET
MUSIC1 ENDP
MUSIC2 PROC NEAR
PUSH AX
PUSH BX
PUSH CX
LOP1: MOV AH, 01H
INT 21H
CMP AL, 0DH
JE EXIT2
CMP AL, 31H
JB LOP1
CMP AL, 38H
JA LOP1
AND AX, 0FH
SHL AX, 1
SUB AX, 2
MOV SI, AX
MOV BX, OFFSET TABLE
MOV DI, [BX][SI]
MOV BX, 100
CALL GENSOUND
JMP LOP1
EXIT2: POP CX
POP BX
POP AX
RET
MUSIC2 ENDP
GENSOUND PROC
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DI
MOV AL, 0B6H
OUT 43H, AL
MOV DX, 12H
MOV AX, 533H*896
DIV DI
OUT 42H, AL
MOV AL, AH
OUT 42H, AL
IN AL, 61H
MOV AH, AL
OR AL, 3
OUT 61H, AL
PUSH AX
WAIT1: MOV CX, 1200
DELA1: IN AL, 61H
AND AL, 10H
CMP AL, AH
JE DELA1
MOV AH,AL
LOOP DELA1
DEC BX
JNZ WAIT1
POP AX
MOV AL, AH
OUT 61H, AL
POP DI
POP DX
POP CX
POP BX
POP AX
RET
GENSOUND ENDP
CODE ENDS
END START
2、实验现象
1. 进入DOS后在DOS界面(图6)进行汇编链接并生成可执行文件.exe
2.双击可执行文件KS.exe(这里我把程序取名为KS)进入操作界面如图7所示
图7.操作界面初始界面
图8.按数字键2后进入电子琴界面
图9.按回车后退出电子琴界面
3(在进行操作的时候只要在键盘上按1这数字键就可以听取歌曲1,按数字键2时进入电子琴界面,这时候1-8分别
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示音乐CDEFGABC这几个音符。按回车后退出电子琴操作界面,这时候按3退出程序。
四、课程设计的心得与体会
这次课程设计给我的感觉是:与其说这次课设是一个任务,不如说是期末对微机原理的一次系统的复
习。通过课设,我弄清楚了课本上一些比较晦涩但是又非常重要的章节的内容,例如:键盘和显示器DOS功能调用,数据定义伪指令的使用,子程序的嵌套,8253芯片的初始化等等。
刚拿到课设题目时可以说是毫无思绪,但是通过查阅资料,模仿别人的程序,不断理解,拼凑,改进,终于按照课设要求完成任务。刚开始上机运行程序出现的问题不可谓不多,但是通过汇编的错误提示,我很容易的发现了问题并改正了它,如果不是上机运行,而是一味的盯着程序检查,那样的话真可谓无从下手,事倍功半。这个告诉我有时候动动手实践,远比啃
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
学习知识的效率要高得多。
五、参考文献
[1] 王忠民.微型计算机原理(第二版).西安:西安电子科技大学出版社,2007年