基于8086电子琴的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州科技学院
《微机原理与接口技术》课程设计题目_基于8086电子琴的设计与实现
学生姓名
专业班级12级计算机科学与技术一班
学号
院(系)信息工程
指导教师
完成时间 2015 年 1 月 11 日
目录
1 引言 (1)
2 设计方案与论证 (2)
2.1方案一 (2)
2.2 方案二 (3)
.......................................................................................... 错误!未定义书签。
.......................................................................................... 错误!未定义书签。
3 设计原理及功能说明 (7)
3.1硬件 (7)
3.1.1 8253简介 (7)
3.1.2 8255简介 (9)
3.2 软件 (10)
3.2.1 设计实验总流程图 (10)
3.2.2 设计子程序流程图 (11)
4 调试与结果测试 (12)
4.1 硬件调试 (12)
4.2 软件调试 (13)
4.3测试方案和测试结果 (15)
5 总结 (15)
参考文献 (17)
附录1:总体电路原理图 (17)
附录2:元器件清单 (17)
附录3:源代码 (17)
1 引言
随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要作用。多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。本次课程设计是基于微机原理与接口技术的简单应用。微机技术目前运用最广泛的就是单片机。单片机是随着大规模集成电路的出现极其发展,将计算机的CPU、RAM、ROM定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机。它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显着优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显着的成果。单片机控制通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。此外还有音乐盒、附有生日歌的生日卡片等等。所以利用微机制作的简易电子琴在我们的日常生活中随处可见[1]。
微机原理简易电子琴设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。利用定时器可发出不同频率的方波,不同频率的方波经喇叭就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的方波[2],本设计中按键一次,会发出方波,松开后随之延时,但在延时的
期间继续检测按键,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。
本次课程设计的目的是通过D/A转换器产生摸拟信号,使PC机作为简易电子琴。其主要任务有以下几点:基于8086系统;使用计算机的数字键1、2、3、4、5、6、7、8作为电子琴的按键,按下即可发出相应的音阶;音阶通过扬声器发出声音。本次设计通过8255和8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分:主要是由8255和8个常开型开关来完成。发音部分:CUP 通过对定时器8253的通道2进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值,端口61H的最低位控制通道2门控的开断,以产生特殊的音响[3]。本文用到的是8253的方式3——方波发生器。
通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。
2 设计方案与论证
2.1方案一
首先利用了编程程序,编辑8255芯片控制字,?对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后,?输出到8254芯片的A端口中,由此实现对其的初始化。
将8254芯片设置为工作在方式3,即输出对称方波状态。A 端口
为输入,“OUT ”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声[4]。本实验频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。并通过所编程序实现对键盘的重复扫描,从而可以弹奏多个音符的试验目的。
2.2 方案二
8253的CLK0接1MHz 时钟,G ATE0接+5V ,OUT0接8255的PA0,
K8跳线连接喇叭,使用汇编语言设计一个运行于计算机的电子琴程序,程序应实现弹奏功能。其中弹奏:用户每按一琴键弹奏相应音符;软件预想功能为:按数字1~8为弹奏功能,按下即发出相应的音阶。
按键发音,当从键盘上敲击1~8时,音响发出哆、唻、咪、发、嗦、
啦、唏、唗的音节。对比方案一,其实两个方案差不多,但是我对于8254不熟悉,所以最终决定此方案为我选择的最佳方案,并附上本次设计的设计框图如图2-1所示:
图2-1 设计框图
电子琴的设计实际上就是要设计一个程序,能够通过该程序控制PC 机内扬声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC 机内的扬声器是通过并行接口芯片8255和定时芯片8253来控制发音的。在本次课程设计中,分析和确定程序总体设计目标:电