- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于汇编语言与接口技术音乐盒设计
摘要
用计算机来解决实际问题,需要编写程序。程序是由指令组成的,一条条指令规定了计算机究竟要执行什么样的操作,计算机只要按编写的顺序执行完程序中的指令,问题也就解决了。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
目录
摘要 1
2
1 设计思路 3
2 乐理知识 4
2.1 乐理知识简述 4
2.2 音符与频率的关系 4
3 设计原理 5
3.1 8255A的功能 5
3.2 8253 的功能 7
3.3 发声原理 9
3.4 DOS功能调用 12
.4.1 1号功能调用 12
3.4.2 2号功能调用 12
3.4.3 9号功能调用 12
3.4.4 10号功能调用 12
3.4.5 16号功能调用 13
3.5 子程序调用 14
4 程序 15
4.1 程序流程图 15
4.2 程序代码 16
4.3 程序的运行 22
结束语 25
致谢 26
参考文献 27
编写程序的语言有三种:高级语言,汇编语言和机器语言。机器语言是一种面向机器的程序设计语言。指令系统是机器语言的基础,其指令是由0和1构成的二进制代码串,其编写的程序可以被计算机直接识别,直接执行。一般说来,机器言程序的执行速度快,占用的内存空间小。汇编又称为符号语言,实际上是一种符号化的机器语言。汇编语言比机器语言直观,容易记忆和理解,用汇编语言编写的程序也比机器语言程序易读、易检查、易修改。汇编语言程序设计在微机应用中占有重要地位.一般来说,凡是在微机中涉及与硬件电路有关的应用系统,如微机控制系统中的检测和控制部分,仪器仪表中的计算机控制和数据处理部分,家用电器的计算机控制部分等,其应用程序部分都是用汇编语言来编写的。
在计算机系统中除了CPU以及基本硬件之外,还有各种外部设备,比如显示器、键盘、打印机、磁盘驱动器、光盘驱动器等。这些外部设备需要与CPU进行大量的信息交换,根据CPU的要求进行各种操作。进行信息交换时,由于各种原因(比如电平、时序等的不同),这些外部设备不能与CPU直接相连,它们之间的信息交换必须经过一个中间电路,也就是接口电路才能实现。
本设计是基于汇编基础上,利用接口电路中的8253,8255功能使电脑发声而设计的音乐盒。
音乐盒的主要功能是,根据按键不同,而选择播放不同的歌曲,和退出等操作。
1 设计思路
PC的扬声器驱动系统如图1-1所示。
图1-1 PC的扬声驱动系统
扬声器的发声是由输出寄存器(即8255A的PB口)的两位进行控制的。输出寄存器的端口地址为61H。
扬声器发声最简单的方式:直接对端口61H的D1位交替输出0或1(同时61H的D0位清0),使扬声器交替地通与断,推动扬声器发声。
由于扬声器总是随时可用的,因此CPU可用直接I/O方式对其进行操作。
8253定时计数器的计数通道2用于提供系统的扬声器音频信号,但8253计数器通道2输出的方波受8255A PB0输出高电平时才允许计数通道2的方波输出。该方波又与PB1相与后送扬声器的驱动电路,去驱动扬声器发声。一般情况下,可让PB0输出高电平,通过对8253编程设置方波输出频率以控制发声频率。通过控制8255A PB1输出以控制发声时间。
8253计数值的计算方法为:
计数值=时钟频率÷音符频率(时钟频率=1.19318 MHz=1234DCH)
所以利用8255和8253来制作音乐盒,详细步骤见下面设计原理部分.
2乐理知识
2.1 乐理知识简述
1 2 3 4 5 6 7
do re mi fa sol la si
七个音不都一样高,而是从左到右一个比一个高上去的,一这七个音为基础,在它们的上方或下方加圆点来表明更高或更低的音,上方的圆点叫“高音点”下方加的圆点叫“低音点” 。
长短音:音乐中的音不光有高低,还要有长短,一个音可以唱得时间很长,也可以唱得很短促。长短音的标记方法,主要用“增时线”和“减时线” ,加写在音的右边或下边,如在5的右边加写一条横线(5—),就使5延长了一倍,要是在5的下边写一条横线( 5 ),就使5减短了一半,也即减短1/2。附点在音符右方加一个圆点,这个音叫“附点音符” ,附点的作用是把音符的时值延长1/2。
2.2 音符与频率的关系
不包括钢琴键盘的黑键,用简譜表示的C大调音符与频率近似值的对应关系如下:
.
音符 1 2 3 4 5 6 7 1 2 3 4
文档评论(0)