人人范文网 范文大全

微机原理课设

发布时间:2020-03-03 05:57:50 来源:范文大全 收藏本文 下载本文 手机版

目录

一.课程设计的实验目的与要求……………………………2 1.教学目的……………………………2 2.教学要求……………………………2 3.主要技术指标……………………………2 二.课程设计课题的分析……………………………2 三.课程设计的结果……………………………4 1.实验代码……………………………4 2.实验现象……………………………10 四.心得体会 ……………………………12 五.参考文献 ……………………………12

1

一、课程设计的目的与要求 1.教学目的

本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的其目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。 2.教学要求

从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: 1) 掌握汇编语言程序设计的基本方法。

2) 进一步理解各种接口电路的应用。例如8255并行接口,8253定时器等。 3) 掌握利用PC机扬声器发出不同频率声音的方法。 3.主要技术指标

1)在程序运行时使PC即成为一架可弹奏的电子琴。当按下数字键1-8时,依次发出1,2,3,4,5,6,7,I这八个音调。 2)在程序运行时使PC自动按要求提示演奏乐曲。

二、课程设计课题的分析

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

2

图2.主程序工作流程图

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

3

图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!$\' INFO4

DB 0AH, 0DH, \'INPUT ERROR!$\' INFO5

DB 0AH, 0DH, \'PLEASE INPUT AGAIN!$\' MUSLIST

DB 0AH, 0DH, \'=========================\'

DB 0AH, 0DH, \'Pre1

HuanLeSong\' DB 0AH, 0DH, \'Pre2

KaiXin\' DB 0AH, 0DH, \'Pre3

XiaoBuWuQu\' DB 0AH, 0DH, \'Pre4

Wonderful\' DB 0AH, 0DH, \'Pre5

SCALE PLAY \' DB 0AH, 0DH, \'Pre6

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

4

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 MUS_FRQ2

DW 330, 294, 262, 294, 3 DUP(330) DW 3 DUP(294), 330, 392, 392 DW 330, 294, 262, 294, 4 DUP(330) DW 294, 294, 330, 294, 262, -1 MUS_TIM2

DW 6 DUP(100),200 DW 2 DUP(100,100,200) DW 8 DUP(100) DW 4 DUP(100),400 MUS_FRQ3

DW 392, 262, 294, 330, 350, 392, 262, 262 DW 440, 350, 392, 440, 494, 524, 262, 262 DW 350, 392, 350, 330, 294, 330

DW 350, 330, 294, 262, 294, 330, 294, 262, 247, 262,-1 MUS_TIM3

DW 200, 4 DUP(100), 200, 200, 200 DW 200, 4 DUP(100), 200, 200, 200 DW 200, 4 DUP(100), 200 DW 4 DUP(100), 200, 4 DUP(100), 400 MUS_FRQ4

DW 330, 392, 330, 294, 330, 392, 330, 394, 330 DW 330, 392, 330, 294, 262, 294, 330, 392, 294

DW 262, 262, 220, 196, 196, 220, 262, 294, 330, 262,-1 MUS_TIM4

DW 3 DUP(200), 100, 100, 200, 100, 100, 400 DW 2 DUP(200,200,100,100), 400 DW 3 DUP(200,100,100), 400 TABLE

DW 262, 294, 330, 349, 392, 440, 494, 525

NUMB

DB 0AH, 0DH, \'Keyboard number 1~8 keys play notes of the scale\'

5

DB 0AH, 0DH, \'Enter or Ctrl+C 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, 36H

JZ

RETU

CMP AL, 31H

JNZ

B0 CALL MUSIC1

JMP

EXIT1 B0:

CMP

AL, 32H

JNZ

C0 CALL MUSIC2

JMP

EXIT1 C0:

CMP

AL, 33H

JNZ

D0 CALL MUSIC3

JMP

EXIT1 D0:

CMP

AL, 34H

JNZ

E0 CALL MUSIC4

JMP

EXIT1 E0:

CMP

AL, 35H

JNZ

EXIT SHOW NUMB CALL MUSIC5 EXIT1:

SHOW INFO5

JMP

LOP EXIT:

SHOW INFO4 SHOW INFO5

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

LEA

SI, MUS_FRQ2

LEA

BP,DS: MUS_TIM2 FREQ2:

MOV DI, [SI] CMP DI,-1

JE

END_MUS2 MOV BX, DS: [BP] CALL GENSOUND

ADD

SI,2

ADD

BP,2

7

JMP FREQ2

END_MUS2:RET MUSIC2

ENDP MUSIC3

PROC

LEA

SI, MUS_FRQ3

LEA

BP,DS: MUS_TIM3 FREQ3:

MOV DI, [SI] CMP DI,-1

JE

END_MUS3 MOV BX, DS: [BP] CALL GENSOUND

ADD

SI,2

ADD

BP,2 JMP FREQ3

END_MUS3:RET MUSIC3

ENDP MUSIC4

PROC

LEA

SI, MUS_FRQ4

LEA

BP,DS: MUS_TIM4 FREQ4:

MOV DI, [SI] CMP DI,-1

JE

END_MUS4 MOV BX, DS: [BP] CALL GENSOUND

ADD

SI,2

ADD

BP,2 JMP FREQ4

END_MUS4:RET MUSIC4

ENDP MUSIC5

PROC NEAR PUSH AX PUSH BX PUSH CX LOP5:

MOV AH, 01H

INT

21H

CMP AL, 0DH

JE

EXIT5

8

CMP AL, 31H

JB

LOP5

CMP AL, 38H

JA

LOP5

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 LOP5 EXIT5:

POP CX POP BX POP AX

RET MUSIC5

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

9

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界面进行汇编链接并生成可执行文件.exe 2.双击可执行文件DZQ.exe进入操作界面如图所示

10

操作界面初始界面

3.在进行操作的时候只要在键盘上按1-4这数字键就可以听取歌曲1-4,按数字键5时进入电子琴界面,这时候1-8分别表示音乐CDEFGABC这几个音符。按回车后退出电子琴操作界面,这时候按6退出程序。

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

11

四、心得体会

这次课程设计给我的感觉是:与其说这次课设是一个任务,不如说是期末对微机原理的一次系统的复习。通过课设,我弄清楚了课本上一些比较晦涩但是又非常重要的章节的内容,例如:键盘和显示器DOS功能调用,数据定义伪指令的使用,子程序的嵌套,8253芯片的初始化等等。

刚拿到课设题目时可以说是毫无思绪,但是通过查阅资料,模仿别人的程序,不断理解,拼凑,改进,终于按照课设要求完成任务。刚开始上机运行程序出现的问题不可谓不多,但是通过汇编的错误提示,我很容易的发现了问题并改正了它,如果不是上机运行,而是一味的盯着程序检查,那样的话真可谓无从下手,事倍功半。这个告诉我有时候动动手实践,远比啃书学习知识的效率要高得多。

五、参考文献

[1] 王忠民.微型计算机原理(第二版).西安:西安电子科技大学出版社,2007年

[2] 马春燕.微机原理与接口技术实验与学习辅导.北京:电子工业出版社.2007年

12

微机原理课设

通信原理课设

通信原理课设

微机硬件课设(红绿灯)(推荐)

化工原理课设结束语

通信原理课设题目

通信原理课设概况

微机原理课程设计

微机原理课程设计

微机原理课程设计

微机原理课设
《微机原理课设.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档