微机原理课程设计-电子琴

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动化专业课程设计报告

《微型计算机原理课程设计》

班级自动化12-3

姓名金星

学号 1205130323

时间2014.12.18

地点电信实验中心第六实验

指导教师李向军

大连海洋大学信息工程学院

自动化教研室

题目:计算机仿真电子琴

一、课程设计的目的与要求

1、设计目的

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

2、设计要求

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

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

2)Dos的基本调用。

3)进一步理解各种接口电路的应用。(8255并行接口,8254定时器等)。

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

3、主要技术指标

编写程序

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

5,6,7,I这八个音调。按下CTRL+C或者回车则退出电子琴状态。

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

二、课程设计课题的分析

8255/8245的硬件:

电子琴的设计实际上就是要设计一个程序,能够通过该程序控制PC机内扬声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC机内的扬声器是通过并行接口芯片8255和定时芯片8253来控制发音的,其电路连接方式如下图所示。

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

图2.主程序工作流程图

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

图5.扬声器工作流程图

8255的内部结构图如图2所示,它有3个数据端口,分为两组,A组由A口和C口高四位组成,B组由B口和C口低四位组成。其方式控制字如图3所示。

图2 8255内部结构图

PC机内8255的A口,B口,C口和控制口的端口地址分别为:60H,61H,62H,63H。

2.2 8253工作原理

图3 8255方式控制字

方式控制字的

特征位

D0

D7D6D5D4D3D2D1

1

A组工作方式

0 0——方式0

0 1——方式1

1 ⨯——方式2

B组

工作方式

0——方式0

1——方式1

A口

输入/输出

1——输入

0——输出

PC7~PC4

输入/输出

1——输入

0——输出

B口

输入/输出

1——输入

0——输出

PC3~PC0

输入/输出

1——输入

0——输出

8253芯片中有3个计数通道,称为通道0,1,2,它们与外部电路相连的信号线有3根:CLK,GATE,OUT,CLK是脉冲输入端,GATE是门控信号,OUT是输出信号,计数器工作在减1状态。其内部结构图和方式控制字格式如图4,图5所示。

其中当计数器工作在方式3时,输出信号为方波信号。

图4 8253内部结构图

图5 8253控制字格式

PC机内8253的通道0,通道1,通道2,控制口的端口地址分别为:40H,41H,42,43H。因为扬声

器是由通道2来控制的,故应选择通道2,工作方式选为方式3,输出的信号则为方波信号。

三、课程设计的结果

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, 'Press1 HuanLeSong'

DB 0AH, 0DH, 'Press2 KaiXin'

DB 0AH, 0DH, 'Press3 XiaoBuWuQu'

DB 0AH, 0DH, 'Press4 Wonderful'

DB 0AH, 0DH, 'Press5 SCALE PLAY '

DB 0AH, 0DH, 'Press6 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

相关文档
最新文档