汇编课程设计高杰

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

汇编课程设计高杰

————————————————————————————————作者: ————————————————————————————————日期:

[键入文档标题]

姓名:高杰

学号:110104010133

班级:计算机应用3班

指导教师:张忠平何海涛

日期:2014年7月10日

目录

1.1课程设计目的 (3)

1.2课程设计的意义 (3)

二、设计题目 (3)

2.1乐曲程序 (3)

2.1.1设计要求 (3)

2.1.2设计原理 (3)

2.1.3 电路连接图 (6)

2.2 光标轨迹程序draw (7)

2.2.1 设计要求 (7)

2.2.2 设计原理 (7)

2.2.3程序流程图 (8)

三、程序代码 (9)

3.1 题目一代码 (9)

3.2 题目二代码 (12)

四、程序运行结果 (17)

4.1题目一运行结果 (17)

4.2 题目二运行结果 (17)

五、心得体会 (19)

ﻬ一、课程设计的目的和意义

1.1课程设计目的

1.进一步了解汇编语言指令的功能和用法。

2.进一步了解汇编接口的功能和用法。

3.了解用汇编语言实现声音的编程。

1.2课程设计的意义

ﻩ本次课程设计,给同学们一个把理论知识转化为实际动手能力的

机会,使同学们能够更深入的理解汇编语言,掌握汇编语言指令的用法,掌握8255、8253接口的功能和控制方法。本次课程设计的题目难度适中,既可以培养同学们的自信心又可以锻炼同学们解决困难的能力。

二、设计题目

2.1乐曲程序

2.1.1设计要求

利用定时器产生声音的方法编写程序,使PC机奏出《两只老虎》的乐曲。

2.1.2设计原理

1.乐谱中的每个音符有音高和音长两种属性,按照乐谱把每个音符的频率和节拍定义成两个数据表,程序从频率表中取出一个音符的频率值,以产生一定音高的声音,同时取出相应的节拍计数值控制这一频率的声音延长的时间。

图1 两只老虎乐谱

音阶1234567

对应频率26229433

94

图2 音阶

2.每个音符的频率值Freq经过转化后送入定时器的42H 端口,以产生相应频率的脉冲。转换的公式为:533H*896/Fre q=123280H/freq

MUS_FREG1 DW 2 dup(262,294,330,262) ;频率表

DW 2 dup(330,349,392)

DW 2 dup(392,440,392,349,330,262)

DW 2 dup(294,196,262),-1

3.节拍时间表中存放的计数值是音长的1/10,如2拍的音长定为0.5秒,对应的计数值应为50;一拍的音长是0.25秒,对应的计数值应为25.然后控制100p指令反复执行2801*n 次来取得音符的延长时间(n为音长所对应的计数值)

10ms延迟时间指令:

D1:MOV CX,2801

D0:LOOP D0

TIME DW 8dup(100);时间表

DW 2dup(100,100,200)

DW 2 dup(50,50,50,50,100,100)

DW 2dup(100,100,200)

4.8254是可编程间隔定时器。为8253的改进型,比8253具有更优良的性能。8254具有一些基本功能:

1.有三个独立的16位计数器;

2.二进制可按二进制或十进制计数;

3.工作于6种不同的工作方式;

4.有读回命令,除了可以读出当前计数单元的内容外,

还可以读出状态寄存器的内容;

5.计数脉冲可以是有规律的时钟信号,也可以是随

机信号。计数初值如下:其中f clki是输入脉冲的频

率f outi,n=f clki/fouti

8254的工作方式如下:

•方式0:计数到0结束输出正跃变信号方式。

•方式1:硬件可重触发单稳方式。

•方式2:频率发生器方式。

•方式3:方波发生器。

•方式4:软件触发选通方式。

•方式5:硬件触发选通方式。

本实验采用计数器0产生基本时钟,选择方式3(方波发生器),初值为0,也就是最大的65536,则其方波的输出频率1.193MH Z/65536=18.2

8254的方式控制字格式

D7D6D5D4D3D2D1D0

计数器选择读写格式选择工作方式选择计数码制选

•计数器0•计数器1 10-计数器2 11-读出控制字

标志00-锁存计数值

01-读/写低

八位

10-读/写高八

11-先读/写低八

位、再读/写高

八位

000-方式0

001-方式1

010-方式2

011-方式3

100-方式4

101-方式5

0-二进制数

1-十进制

8254读出控制字格式

D7D6D5D4D3D2D1D0

110-锁存计数

值0-锁存状态

信息

计数器选择(同方式控制

字)

2.1.3电路连接图

相关文档
最新文档