《微机原理及接口技术》课程设计

《微机原理及接口技术》课程设计

ID:11864166

大小:177.01 KB

页数:12页

时间:2018-07-14

《微机原理及接口技术》课程设计_第1页
《微机原理及接口技术》课程设计_第2页
《微机原理及接口技术》课程设计_第3页
《微机原理及接口技术》课程设计_第4页
《微机原理及接口技术》课程设计_第5页
资源描述:

《《微机原理及接口技术》课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计说明书课程名称:《微机原理及接口技术》课程设计设计题目:定时与计数:利用8253控制扬声器发声,播放一段音乐班级:姓名:开始时间:_2018_____年_01___月_15___日完成时间:_2018_____年_01___月_19___日成绩评定平时考勤(20%)实验室调试(30%)创新(10%)答辩(20%)说明书(20%)总评指导教师签名:___年__月__日目录摘要随着科技的高速发展,计算机已经经过了好几代的更新,然而计算机的运行的基本原理依然没有改变的。而今,我们通过一个学期的学习,已经初步了解了计算

2、机的基本结构和原理,并且已经学会了用汇编语言进行基本的程序编写。一、概述汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。借助于汇编程序,计算机本身可以自动地把 汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。而本次课程设计的主要目的就是巩固所学过的知识,用汇编语言熟练地运用三大结构,进一步掌握一些指令的功能、掌握子程序的定义及调用和INT21H、INT10H中断的使用,同时熟练运用通用寄存器和堆栈来进行编写一个完整的具有某种特定功

3、能的程序。二、方案设计1.功能分析在此次设计中,第一个重点就是音乐播放的控制,要想能按照正常的频率和节拍播放出音乐,就需要合理的设计出给蜂鸣器的频率值和播放的时间。这样就能比较准确的把音乐按一定的节奏播放出来。如果我们要想加快播放速度,我们可以改变每一节拍的播放时间,如果我们改变了播放的频率值,那么歌曲也就相应的改变了。我们根据上面的功能分析,同时通过查阅相关资料,了解了计算机的内部结构的同时还清楚的理解了DOS中的21H和10H中断的调用,因此我们设计出如下方案:(1)音乐的代码化我们首先收集了一首简单的歌曲《两只老

4、虎》,同时还带有相应的音谱,通过查阅相关的音乐资料,了解了节拍的概念和各音符所对应的频率,而后我们把每一首歌曲都转化成两个数据段,一个是把各个音符翻译成相应的频率值,第二是把相应的节拍转化成对应的时间值,来控制播放每一个音符所对应的时间。这样我们在播放歌曲时,同时调用频率值和时间值就可以把相应的歌曲播放出来了。(2)音乐演奏的硬件配合我们了解到在计算机的主板上有8253、8255和蜂鸣器,同时了解到蜂鸣器的驱动是通过8255和8253共同控制的,我们通过对8253的通道2进行写数据来控制蜂鸣器的声音频率,再通过8255

5、来控制播放时间的长短,就通过这样的巧妙配合来达到播放完整音乐的效果。(3)音乐演奏的软件设计软件设计是本设计的重点,在软件设计中,我们要给8253和8255写数据,执行相应的代码来控制音乐的播放。三、软件设计在介绍音乐的播放之前,先来说说PC机的小喇叭是怎样与机器相连的呢?下面的“发声原理图”表示了喇叭与机器简单的相连情况。喇叭的一端连接在电源正极,另一端与机器的61H端口的bit位相连。可以想象,若能连续改变61H端口的bit位0,1状态,就可以使喇叭线圈内的电流时有时无,从而使喇叭发声。我们编制的汇编程序的工作,就

6、是连续改变61H端口的bit位状态。   我们使用PC机有一个专门用于定时的电路,型号为8253。它有三个通道,第一个通道用于控制始终正常运转;第二个通道用于存储器刷新;这两个通道与我们现在要讨论的问题无关。第三个就是一组电路域喇叭相连。    如下图所示就是PC机中完整的发声电路,定时器通道3的G端与61H端口的bit0位相连,如果把61H端口的bit0位置为1,那么定时器通道3就会被启动,此时将有一组信号从OUT输出,信号的频率可以用程序控制;若61H的端口bit0位为0,则定时器被关闭,out端就恒为1. 发声原

7、理图:发声程序设计原理:    PC机发声系统以8253的2号计数器为核心。系统初始化时,2号计数器I作在“方波发生器”方式,初值为二进制数,,写入顺序为先低后高,CLK2为1.193182MHz,当计数初值为533H时,OUT2输出的方波大约为900Hz,经过简单的滤波之后,送至扬声器。改变1、4号计数器的计数初值就可以使扬声器发出不同频率的音响。   ROM BIOS 中有个BEEP子程序,这能根据BL中组出的时间计数值控制8253定时器,产生持续时间为1个或几个0.5秒,频率为896HZ的声音,我们可以利用并修改

8、BEEP,使其产生任一频率的声音。为此我们需要做两点修改,首先,BEEP程序只能产生896HZ的声音,我们的通用发声程序应能产生任一频率的声音。其次,BEEP产生声音的持续时间(音长)只能是0.5秒的倍数,我们希望声音的持续时间更易于调整,例如可以是10ms的倍数。我们知道BEEP能将计数值533H送给定时器2产生896HZ的声音

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。