某微型电子琴设计方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# 2 RE#
622
中 3M
659
中 4 FA
698
64331 64400 64463 64524 64580 64633 64684 64732 64777 64820
高 2 RE # 2 RE# 高 3M 高 4 FA # 4 FA# 高 5 SO # 5 SO# 高 6 LA #6 高 7 SI
4 设计原理
[6]
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率
,这样我
们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机
来产生不同的频率非常方便,我们可以利用单片机的定时 / 计数器 T0 来产生这
样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。若要
250ms
调 2/4
125ms
对于不同的曲调我们也可以用单片机的另外一个定时 / 计数器来完成。琴键处 理程序, 根据检测得到按键值, 查询音律表, 给计时器赋值, 发出相应频率的声音。 对音调的控制:根据不同的按键,对定时器 T1 送入不同的初值,调节 T1 的溢出时 间,这样就可以输出不同音调频率的方波。不同音调下各个音阶的定时器。在这个 程序中用到了两个定时 / 计数器来完成的。 其中 T0 用来产生音符频率, T1 用来产生
方案一:用可控硅制作电子琴。将 220V 交流电经变压器降压 , 再经过整流、滤
波, 获得 +13.5V 直流电压。将单向可控硅 SCR和电阻、电容组成驰张振荡器电路。
但该设计方案制作成本高且复杂。
方案二: 采用 AT89C51单片机进行控制 , 由于 AT89C51不具备 ISP 功能,因此
Atmel 公司已经停产在市面上已经不常见, 况且其 ROM只有 4K 在系统将来升级方面
[4]
定时计数的关系 。
在本实验中,单片机工作于 12MHZ时钟频率,使用其定时 / 计数器 T0,工作模 式为 1,改变计数值 TH0和 TL0 可以产生不同频率的脉冲信号,在此情况下,根据 以上公式, C 调的各音符频率与计数值 T 的对照如下 [8]
表 4-1 音符频率对照表
音符
频率( HZ) 简谱码( T 值) 音符
电子琴的 proteus 总体仿真图见图 6-1 。按下播放键,发光二极管亮一下, 系统自动播放预存在内存中的曲子,再按一次播放下一首歌曲,按下复位键,系统 复位,停止播放。按下矩阵键盘中的任意键,扬声器发出相应的音符。
图 6-1 微型电子琴的 Proteus 总体设计电路图
6.2 单片机主机系统电路 6.2.1 AT89C52 单片机简介
[9]
音拍 。
5 微型电子琴的系统总体原理框图
如图 5-1 所示,设计出微型电子琴的系统总体原理框图 。
晶振电路
数码管显示电路
供电及复位电 路
4×4 矩阵
AT89C52
歌曲播放电路 发音电路
图 5-1 微型电子琴系统原理框图
6 系统主要硬件电路设计 6.1 微型电子琴的 Proteus 总体设计电路图
[10]
AT89C52是美国 Atmel 公司生产的低电压、高性能 CMOS 8位单片机 ,片内 含 8KB的可反复檫写的程序存储器和 12B的随机存取数据存储器( RAM),器件采用 Atmel 公司的高密度、非易失性存储技术生产, 兼容标准 MCS-51指令系统,片内配 置通用 8 位中央处理器( CPU)和 Flash 存储单元,功能强大的 AT89C52单片机可 灵活应用于各种控制领域。 AT89C52单片机属于 AT89C51单片机的增强型, 与 Intel
没有潜力。
方案三:采用 AT89C52单片机进行控制,由于其性价比高,完全满足了本作品
智能化的要求, 它的内部程序存储空间达到 8K,使软件设计有足够的内部使用空间
[5]
并且方便日后系统升级,使用方便,抗干扰性能提高
。
鉴于上述对比与分析,本设计采用方案三 3.2 按键选择方案
传统电子琴可以用键盘上的“ 1”到“ A”键演奏从低 SO到高 DO等 11 音。该 设计有 16 个按钮矩阵,设计成 16 个音,可以实现音阶在中音和高音之间的变换。 比传统音阶范围大,弹奏效果好。在单片机应用中键盘用得最多的形式是独立键盘 及矩阵键盘,它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计 上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有 很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要 烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。本设计选 择 4*4 矩阵键盘。
某微型电子琴设计方案
2 设计要求
[3]
本设计的主要内容是用 AT89C52单片机 为核心控制元件,设计一个微型电子 琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,实现以 下功能:
[4]
(1) 设计一个( 4× 4)的键盘 ,并将 16 个键设计成两个八度的音阶对应的 16 个琴键,可以进行弹奏表演;
DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 音乐的音拍,一个节拍为单位( C 调)(如表 4-2 所示)
表 4-2 曲调值表
曲调值
DELAY
曲调值
DELAY
调 4/4
125ms
调 4/4
62ms
调 3/4
187ms
调 3/4
94ms
调 2/4
低音 DO的 T= 65536-500000/262 =63628 低音 RE的 T= 65536-500000/294 =63835 中音 DO的 T= 65536-500000/523 =64580 中音 RE的 T= 65536-500000/587 =64684 高音 DO的 T= 65536-500000/1046= 65058 高音 RE的 T= 65536-500000/1175= 65110 了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对 于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时 / 计数器来产生 这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机
低 4 FA
349
64103
中 7 SI
988
65030
# 4 FA#
370
64185
高 1 DO
1046
65058
低 5 SO
392
64260
# 1 DO#
1109
65085
# 5 SO#
415
低 6 LA
440
#6
466
低 7 SI
494
中 1 DO
523
# 1 DO#
554
中 2 RE
587
=1/523 =1912μs,因此只要令计数器计时 956μs/1 μs= 956,每计数 956 次时将 I/O 反相,就可得到中音 DO( 523Hz)。
计数脉冲值与频率的关系式是: N=fi/2/fr
式中, N 是计数值; fi 是机器频率(晶体振荡器为 12MHz时,其频率为 1MHz);fr 是想要产生的频率。 其计数初值 T 的求法如下:
端,外接定时反馈元件组成振荡器(内部时钟方式) ,产生时钟送至单片机内部各
元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振
荡器)和电容就可组成振荡器,如图 6-2 所示。加电以后延时一段时间(约 10ms)
振荡器产生时钟,不受软件控制,图中 X1 为晶振,震荡产生的时钟频率主要由 Y1
6.2.2 时钟频率
[12]
单片机必须在时钟的驱动下工作。 在单片机内部有一个时钟振荡电路 ,只需
要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片 机的工作速度。外部振荡源电路一般选用石英晶体振荡器,此电路在加电大约延迟
10mS后振荡器起振,在 XTAL2引脚产生幅度为 3V 左右的正弦波时钟信号,其振荡
产生音频脉冲,只要算出某一音频的周期( 1/ 频率),再将此周期除以 2,即为半周
期的时间。利用定时器计时半周期时间,每当计时终止后就将输出
P3.0 反相,然
后重复计时再反相。就可在 P3.0 脚上得到此频率的脉冲。
利用 AT89C52的内部定时器使其工作计数器模式( MODE)1 下,改变计数值
TH0及 TL0 以产生不同频率的方法产生不同音阶 [7] ,例如,频率为 523Hz,其周期 T
T=K-N=K-fi/2/fr
16
式中 K 是单片机的 16 位定时器最大计数值, K=2 =65536;fi 是机器频率, fi = 1MHz,例如低音 DO(262Hz)、低音 RE(294Hz)、中音 DO( 523Hz)、中音 RE(587Hz)、 高音 DO(1046Hz)、高音 RE(1175Hz)的计数值如下: T= 65536-N=65536-fi/2/fr = 65536-1000000/2/fr = 65536-500000/fr
[11]
公司的 80C52在引脚排列 、硬件组成、工作特点和指令系统等方面兼容。 AT89C52 引脚图见图 6-2.
图 6-2AT89C52 引脚图
P3 口也可作为 AT89C52的一些特殊功能口,如下表所示:
P3 口引脚
特殊功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断 0)
1175 1245 1318 1397 1480 1568 1661 1760 1865 1967
65110 65134 65157 65178 65198 65217 65235 65252 65268 65283
为音符建立一个数据表,单片机通过查表的方式来获得相应的数据 。
低音 0-19 之间,中音在 20-39 之间,高音在 40- 59 之间 TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777
(2) 演奏的同时数码管会以数字显示当前按键对应的音符; (3) 有音乐存储功能,能自动演奏歌曲。演奏时可选择键盘输入乐曲,自己存入 的乐曲或随机存储的乐曲。按播放键能播放 5 首歌曲,第一首歌曲播放结束,再按 播放键播放下一首歌曲。 (4) 发光二极管会指示当前按键是否按下。
3 方案论证
3.1 控制模块选择方案
频率( HZ) 简谱码( T 值)
低 1 DO
262
63628
# 4 FA#
740
64860
#1 DO#
277
63731
中 5 SO
784
64898
低 2 RE
294
63835
# 5 SO#
831
64934
#2 RE#
311
63928
中 6 LA
880
64968
低 3M
330
64021
wk.baidu.com
#6
932
64994
确定。
电容 C1, C2 的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作
用,典型值为 30pF。
如时钟频率为 12MH,z 即 f osc=12MH,z 则时钟周期为 1/12 μs。
6.2.3 晶振电路
AT89C52单片机的定时控制功能是用时钟电路和振荡器完成的, 而根据硬件电路
的不同,连接方式分为内部时钟方式和外部时钟方式。 本设计中采用内部时钟方式。
单片机内部有一个反相放大器 XTAL1、XTAL2分别为反相放大器的输入端和输出
P3.3
(外部中断 1)
P3.4
T0(定时器 0 外部输入)
P3.5
T1(定时器 1 外部输入)
P3.6
WR(外部数据存储器写选通 )
P3.7
RD(外部数据存储器读先通)
P3 口同时为闪烁编程和编程校验接收一些控制信号。 其主要功能特性: · 兼容 MCS51指令系统 · 8k 可反复擦写 (>1000 次) Flash ROM · 32 个双向 I/O 口 · 256x8bit 内部 RAM · 3 个 16 位可编程定时 / 计数器中断 · 时钟频率 0-24MHz · 2 个串行中断 · 可编程 UART串行通道 · 2 个外部中断源 · 共 6 个中断源 · 2 个读写中断口线 · 3 级加密位 · 低功耗空闲和掉电模式 · 软件设置睡眠和唤醒功能
频率主要由石英晶振的频率确定。电路中两个电容 C1,C2,作用有两个:一是帮助
振荡器起振;二是对振荡器的频率进行微调。 C1,C2 的典型值为 30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元
的时钟信号的周期称为时钟周期。起大小是时钟信号频率的倒数,常用
f osc 表示。