课程设计(论文)-基于单片机的电子琴设计2.doc
《课程设计(论文)-基于单片机的电子琴设计2.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)-基于单片机的电子琴设计2.doc(27页珍藏版)》请在三一文库上搜索。
1、 基于单片机的电子琴设计 - 1 - 1 绪论 1.1 设计背景及目的 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具 有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定 导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工 程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音 乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶 入现代人们的生活中,成为不可替代的一部分。单片机电子琴设计的目的是为了使我 们更加深入的了解单片机的发声原理,利用定时器可发出不同频
2、率的脉冲,不同频率 的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时 参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时 参数不同,就发出不同频率的脉冲。也使我们进一步熟悉定时器的编程方法和定时初 值的计算,进一步熟悉键盘扫描电路的工作原理和编程方法,了解单片机芯片的接口 技术。 1.2 设计意义 电子琴以其音色丰富,节奏多样,表现力强,演奏方法较易掌握等特点,受到人 们的喜欢。当今,学习电了琴已经成为培养少年儿童音乐素养,普及音乐知识,开发 智力的一种手段。一些有音乐天赋的孩子通过学习电子琴,可能踏进音乐圣殿的大门, 从此走上艺术之路,成为有
3、成就的音乐家。而大多数孩子学习电子琴的意义,在于提 高他们对音乐的兴趣,从而活跃他们的思维,丰富他们的想象力,培养他们的审美能 力,促进他们的智力发展。我们知道,人的大脑可分为左半脑和有右半脑,人们的抽 象思维加对事物的推理、分析,主要是通过左半脑的活动来进行的;而右半脑的主要 活动内容是形象思维,如人们的艺术活动能力及想象为传统的课堂教学主要调动的是 人的左半脑的思维活动,大脑得不到均衡活动容易造成疲劳,这是影响智力发展的一 个因素,通过音乐活动,调动右半脑的思维,使大脑左右交替、同时均衡地活动,对 基于单片机的电子琴设计 - 2 - 促进大脑思维,开发智力有着积极的作用。让少年儿童学习音乐
4、,演奏乐器,能够培 养孩子们手、眼、嘴、脚的协调能力,调动、促进大脑,特别是右半脑的思维,训练 孩子们反应的敏捷性,这对促进孩子们的智力发展是非常有益的。此次我们的设计 简易电子琴只是为了演示电子琴的实现过程,所以我们的简易电子琴以能够弹奏动 听曲目为预期效果。但是简易电子琴的设计是实现多功能电子琴并满足市场要求的必 经过程。 基于单片机的电子琴设计 - 3 - 2 整体设计及方案比较 2.1 系统设计内容及要求 熟悉键盘扫描电路工作原理及编程方法,了解计算机发声原理。利用定时器,可以 发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音 调。利用实验仪上提供的键盘,使
5、数字键 1、2、3、4、5、6、7 作为电子琴按键,按 下即发出相应的音调。 2.2 初步设计的两种整体方案 2.2.1 整体方案 1 该方案采用 8031 单片机(fosc=12MHZ)的接口实现输入、输出功能;P1 口用来实 现键盘输入功能,其中键盘采用的是独立式键盘,每个按键独立,均需占用 CPU 的一 条 I/O 输入数据线;P3.0 用作输出口,通过放大电路和喇叭连接;此系统的时钟电路 设计采用了内部方式,即利用芯片内部的振荡电路;与此同时此电路系统采用的是上 电与按钮复位电路。 整体方案 1 如图 1 所示: 琴键 电路 8031 P1.0 | P1.7 放大 电路 P3.0 复位
6、电路 时钟电路 基于单片机的电子琴设计 - 4 - 图 1 2.2.2 整体方案2 该方案通过片选端将 8255A 与 8031 单片机相连,扩张了 8031 单片机的 I/O 并行 口。采用 8031 单片机(fosc=12MHZ)的接口实现输入功能,将一个 4*6 的矩阵键盘通 过片选端与 8031 单片机相连,减少了 I/O 口的占用; 8255A 的 PA0 口作为输出口,通 过放大电路和喇叭连接;此系统的时钟电路设计采用了内部方式,即利用芯片内部的 振荡电路;与此同时此电路系统采用的是上电与按钮复位电路。 整体方案 2 如图 2 所示: CS1 CS0 8031 PA0 CS 825
7、5A 时钟电路复位电路 放大 电路 图 2 2.3 方案比较 以上提出的两种方案,主要是在键盘的选择和I/O口的使用上有所区别,为了选出 一个相对较优的方案,首先,我将对独立键盘和矩阵键盘加以比较: (一)独立式按键 独立式按键就是各按键相互独立,每个按键单独占用一根 I/O 口线,每根 I/O 口线 的按键工作状态不会影响其他 I/O 口线上的工作状态。 优点:电路配置灵活,软件结构简单。 缺点:每个按键需占用一根 I/O 口线,在按键数量较多时,I/O 口浪费大,电路结构 琴 键 电 路 基于单片机的电子琴设计 - 5 - 显得复杂。 因此,此键盘是用于按键较少或操作速度较高的场合。 (二
8、)矩阵式键盘接口设计 阵式键盘,由行线和列线组成,按键位于行列的交叉点上。 优点:节省 I/O 口的 缺点:结构较独立式键盘复杂 因此,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 虽然本次设计中只要使用 7 个键,但是从实际意义考虑,电子琴的琴键远远不只 7 个,由此可见,电子琴的设计中采用矩阵键盘是比较合理的方案。 其次,我将比较两个方案在 I/O 口使用方式上的利弊,方案一采用 8031 接口实 现输入与输出,虽然从整体上看简化了电路,但是不利于电子琴功能的扩展,而方案 二利用 8255A 扩展 8031 的 I/O 口,弥补了方案一的这个缺陷。 综上所述,选用方案二位最终方案。
9、基于单片机的电子琴设计 - 6 - 3 硬件设计 3.1 8031 单片机引脚功能简介 图 3 8031 单片机引脚图 (1)8031 主电源引脚 Vss 和 Vcc Vss 接地 Vcc 正常操作时为+5 伏电源 (2)外接晶振引脚 XTAL1 和 XTAL2 XTAL1 内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振 荡器时,此引脚接地。 XTAL2 内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡 器时,此引脚接外部振荡源。 (3)控制或与其它电源复用引脚 RST/VPD,ALE/ , 和 /Vpp RST/VPD 当振荡器运行时,在此引脚上出现两个
10、机器周期的高电平(由低到高跳 变) ,将使单片机复位在 Vcc 掉电期间,此引脚可接上备用电源,由 VPD 向内部提供 备用电源,以保持内部 RAM 中的数据。 基于单片机的电子琴设计 - 7 - ALE/ 正常操作时为 ALE 功能(允许地址锁存)提供把地址的低字节锁存到外部锁 存器,ALE 引脚以不变的频率(振荡器频率的 )周期性地发出正脉冲信号。因此, 它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时, 将跳过一个 ALE 脉冲,ALE 端可以驱动(吸收或输出电流)八个 LSTTL 电路。 对于 EPROM 型单片机,在 EPROM 编程期间,此引脚接收编程脉冲
11、( 功能) 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间, 在每个机器周期内两次有效。 同样可以驱动八 LSTTL 输入。 /Vpp 、 /Vpp 为内部程序存储器和外部程序存储器选择端。当 /Vpp 为高电平时, 访问内部程序存储器,当 /Vpp 为低电平时,则访问外部程序存储器。 对于 EPROM 型单片机,在 EPROM 编程期间,此引脚上加 21 伏 EPROM 编程电源(Vpp) 。 3.2 8255A 芯片引脚功能简介 图 4 8255A 引脚图 图 5 8255A 内部结构图 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)
12、 均被清除,所有 I/O 口均被置成输入方式。 PA0PA7:端口 A 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数 据输入锁存器。 PB0PB7:端口 B 输入输出线,一个 8 位的 I/O 锁存器, 一个 8 位的输入输出缓冲器。 基于单片机的电子琴设计 - 8 - PC0PC7:端口 C 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位的数 据输入缓冲器。端口 C 可以通过工作方式设定而分成 2 个 4 位的端口, 每个 4 位的端口包含一个 4 位的锁存器,分别与端口 A 和端口 B 配合使用,可作为控 制信号输出或状态信号输入端口。 CS:片选
13、信号线,当这个输入引脚为低电平时,表示芯片被选中,允许 8255 与 CPU 进 行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许 8255 通过数据总线向 CPU 发送数据 或状态信息,即 CPU 从 8255 读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许 CPU 将数据或控制字写 8255。 D0D7:三态双向数据总线,8255 与 CPU 数据传送的通道,当 CPU 执行输入输出指令 时,通过它实现 8 位数据的读/写操作,控制字和状态信息也通过数据总线传送。 3.3 键盘模块 3.3.1 键盘电路 本设计采用结构原理简图如图 6 所示: 图 6 4*6 的矩
14、阵键盘结构原理简图 实验仪提供了一个 64 的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然 后从行码地址(0X001H)读回。如果有键按下,则相应行的值应为低,如果无键按下,由 于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是 什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。地址中的 X 是由 KEY/LED CS 决定。 3.3.2 键盘抖动的消除 基于单片机的电子琴设计 - 9 - 当用手按下一个键时,如图 7 所示也回会出现类似的情况。这就是抖动。抖动的 持续时间随键盘材料和操作员而异,不过通常总是不大于 10ms。很容易想到,抖动问 题不解
15、决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是 通过延迟 10ms 来等待抖动消失,这之后,在读入键盘码。 图 7 3.4 音频放大电路 此部分的放大电路简单容易实现。可以采用一个小功率 PNP 型硅管 9012,利用 “分压偏置式工作点稳定直流通路” ,达到了对静态工作点的稳定。分压电阻分别选择 1K 和 5.5K。蜂鸣器一端接+5V 电压,一端接晶体管的发射极。由 8255A 的 PA0 口输出 预定的方波,加到晶体管进行放大,再输出到蜂鸣器,很好的实现了频率、声音的转 换。 音频放大电路原理图如图 9 所示: 图 8 音频放大电路 3.5 时钟电路 此系统的时钟电路
16、设计是采用的内部方式,即利用芯片内部的振荡电路。 MCS-51 内部有一个用于构成振荡器的高增益反相放大器。引脚 XTAL1 和 XTAL2 分 别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起 键按下 前沿抖动后沿抖动 闭合 稳定 PA0 8255A 基于单片机的电子琴设计 - 10 - 构成一个自激振荡器。外接晶体谐振器以及电容 CX1 和 CX2 构成并联谐振电路,接在 放大器的反馈回路中。图 9 为时钟电路的原理图: 图 9 时钟电路 3.6 复位电路 MS-51 的复位是由外部的复位电路来实现的。片内复位电路是复位引脚 RST 通过一 个斯密特触发器与复位电
17、路相连,斯密特触发器用来抑制噪声,它的输出在每个机器 周期的 S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种 方式,此电路系统采用的是上电与按钮复位电路,如图 6 所示。当时钟频率选用 6MHz 时,C 取 22F,Rs 约为 200,Rk 约为 1K。 复位电路原理图如图 10 所示: 图 10 复位电路 图 9 时钟电路原理图 基于单片机的电子琴设计 - 11 - 4 软件设计 4.1音乐发声原理及程序流程图 4.1.14.1.1音乐发声原理 用电子琴可以演奏出各种美妙的音乐,而音乐是由音符组成。不同的音符是由相 应频率的振动产生。由8031单片机模拟产生音符,只
18、需算出音频周期T=1/f,利用音频 的变化产生不同电平驱动发声模块,来达到产生音乐的目的。 利用 8031的内部定时器使其工作计数器模式(方式1)下,改变计数值TH0及TL0 以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期 T1/5231912s,因此只要令计数器计时956s/1s956,每计数956 次时将I/O 反 相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是: Nfi2fr 式中,N 是计数值;fi 是机器频率(晶体振荡器为12MHz 时,其频率为1MHz);fr 是想要产生的频率。 其计数初值T 的求法如下: T65536N65536fi2fr 例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 单片机 电子琴 设计
链接地址:https://www.31doc.com/p-3292760.html