APP下载

单片机电子琴设计

2014-10-16马巍

新校园·中旬刊 2014年7期
关键词:音阶电子琴单片机

马巍

摘 要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文设计的单片机电子琴,利用单片机强大的控制和灵活的编程功能,产生不同频率,获得所需要的音阶,可演奏出美妙的音乐。

关键词:单片机;电子琴;音阶

本文设计的产品为简易电子琴,基本要求为能够发出中音Do、Re、Mi、Fa、So、La、Si和高音Do八个音阶皆可。

一、硬件电路

本设计要用的元器件有芯片AT89C51、音频集成功放LM386、蜂鸣器(喇叭)和按键。如图所示:

单片机P2口为接口,接有一组共8个按键。这8个按键是S1∽S8,通过排阻,分别按顺序与单片机的P2口P2.0∽P2.7相接,按键另一端接地,若按下S1,则发中音Do,若按下S2,则发中音Re,以此类推。

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,被广泛应用于录音机和收音机之中。电路中由P1.0口控制一个LM386功率放大器,经功率放大器控制发声器件蜂鸣器(喇叭)。当P1.0口输出为低电平时,功率放大器导通,蜂鸣器(喇叭)通电;当P1.0口输出为高电平时,功率放大器截止,蜂鸣器(喇叭)断电。通过连续不断周期性地改变P1.0口的高、低电平,就会产生一定频率的矩形波,蜂鸣器(喇叭)就能发出一定频率的声音。

单片机内部由大量的时序电路构成,没有时钟脉冲即“脉搏”的跳动,单片机的各个部分将无法工作。所以在单片机的内部集成有振荡电路,只需将晶振和电容接到单片机的18(XTAL2)、19(XTAL2)脚,一个完整的振荡器即“心脏”就构成了,只要接通电源,这个心脏的脉搏就会按固定频率开始跳动。晶振的频率决定了单片机的快慢,本次设计中晶振的频率是12MHz。

单片机9脚RST端口接入一个复位电路,当此引脚连接高电平超过2个机器周期(1个机器周期包含12个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1/12μs,2个机器周期为2μs,因此,我们可在第9脚上连接一个可让该引脚上产生一个2μs以上的高电平脉冲,即可产生复位的动作。

本次设计中我们可以预留一个口作为扩展功能,如播放一段音乐。

二、音阶的产生

音阶就是人们通常唱出的Do、Re、Mi、Fa、So、La、Si,它是7个频率之间满足某种数学关系由低到高排列的自然音,一旦确定某一个音比如Do的频率,其他音的频率也就确定了。音调是指声音的高低,由声音的频率来决定,确定某一个音Do的频率,就确定了音调。通过改变单片机输出脉冲高低电平的保持时间和频率,就可以得到音阶和调节不同的音调。本次设计中单片机的晶振为12MHz,则机器周期T为1μs,选择工作方式1,利用公式(216-X)T=定时时间(X为TH0,TL0的定时初值)。例如:频率为523Hz,其周期T=1/523=1912μs,因此只要令定数器定时1912μs/2=956μs,每到定时956μs时就将I/O反相,就可得到中音DO(523Hz)。那么,可以根据不同的频率计算出应该赋给定时器的计算初值。如下表:

电子琴音符与单片机频率的关系

三、软件设计思路

在主程序中,首先定时器T0初始化,然后关闭定时器T0,通过扫描键盘进行按键的识别。读P2口的状态,若有按键按下,则延时10ms去抖动,再读P2口的状态判断是几号按键按下,并跳转到相应的程序,查表得相应按键的定时初值,启动定时器T0将不同按键所对应的频率信号发送到集成运放中放大,最后送给喇叭发出对应的音阶的声音。程序随后继续扫描按键,若按键保持按下状态,则定时器T0继续保持工作状态,直到按键松开,定时器T0停止工作,返回初始状态,等待下一次的扫描按键结果。当程序中断时,程序保存现场,并重装TH0、TL0的初值,然后将P1.0口取反,重新送入P1.0,最后中断返回。按照此方法将设计的电子琴做成实物,能够实现弹奏音乐的功能。

摘 要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文设计的单片机电子琴,利用单片机强大的控制和灵活的编程功能,产生不同频率,获得所需要的音阶,可演奏出美妙的音乐。

关键词:单片机;电子琴;音阶

本文设计的产品为简易电子琴,基本要求为能够发出中音Do、Re、Mi、Fa、So、La、Si和高音Do八个音阶皆可。

一、硬件电路

本设计要用的元器件有芯片AT89C51、音频集成功放LM386、蜂鸣器(喇叭)和按键。如图所示:

单片机P2口为接口,接有一组共8个按键。这8个按键是S1∽S8,通过排阻,分别按顺序与单片机的P2口P2.0∽P2.7相接,按键另一端接地,若按下S1,则发中音Do,若按下S2,则发中音Re,以此类推。

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,被广泛应用于录音机和收音机之中。电路中由P1.0口控制一个LM386功率放大器,经功率放大器控制发声器件蜂鸣器(喇叭)。当P1.0口输出为低电平时,功率放大器导通,蜂鸣器(喇叭)通电;当P1.0口输出为高电平时,功率放大器截止,蜂鸣器(喇叭)断电。通过连续不断周期性地改变P1.0口的高、低电平,就会产生一定频率的矩形波,蜂鸣器(喇叭)就能发出一定频率的声音。

单片机内部由大量的时序电路构成,没有时钟脉冲即“脉搏”的跳动,单片机的各个部分将无法工作。所以在单片机的内部集成有振荡电路,只需将晶振和电容接到单片机的18(XTAL2)、19(XTAL2)脚,一个完整的振荡器即“心脏”就构成了,只要接通电源,这个心脏的脉搏就会按固定频率开始跳动。晶振的频率决定了单片机的快慢,本次设计中晶振的频率是12MHz。

单片机9脚RST端口接入一个复位电路,当此引脚连接高电平超过2个机器周期(1个机器周期包含12个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1/12μs,2个机器周期为2μs,因此,我们可在第9脚上连接一个可让该引脚上产生一个2μs以上的高电平脉冲,即可产生复位的动作。

本次设计中我们可以预留一个口作为扩展功能,如播放一段音乐。

二、音阶的产生

音阶就是人们通常唱出的Do、Re、Mi、Fa、So、La、Si,它是7个频率之间满足某种数学关系由低到高排列的自然音,一旦确定某一个音比如Do的频率,其他音的频率也就确定了。音调是指声音的高低,由声音的频率来决定,确定某一个音Do的频率,就确定了音调。通过改变单片机输出脉冲高低电平的保持时间和频率,就可以得到音阶和调节不同的音调。本次设计中单片机的晶振为12MHz,则机器周期T为1μs,选择工作方式1,利用公式(216-X)T=定时时间(X为TH0,TL0的定时初值)。例如:频率为523Hz,其周期T=1/523=1912μs,因此只要令定数器定时1912μs/2=956μs,每到定时956μs时就将I/O反相,就可得到中音DO(523Hz)。那么,可以根据不同的频率计算出应该赋给定时器的计算初值。如下表:

电子琴音符与单片机频率的关系

三、软件设计思路

在主程序中,首先定时器T0初始化,然后关闭定时器T0,通过扫描键盘进行按键的识别。读P2口的状态,若有按键按下,则延时10ms去抖动,再读P2口的状态判断是几号按键按下,并跳转到相应的程序,查表得相应按键的定时初值,启动定时器T0将不同按键所对应的频率信号发送到集成运放中放大,最后送给喇叭发出对应的音阶的声音。程序随后继续扫描按键,若按键保持按下状态,则定时器T0继续保持工作状态,直到按键松开,定时器T0停止工作,返回初始状态,等待下一次的扫描按键结果。当程序中断时,程序保存现场,并重装TH0、TL0的初值,然后将P1.0口取反,重新送入P1.0,最后中断返回。按照此方法将设计的电子琴做成实物,能够实现弹奏音乐的功能。

摘 要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文设计的单片机电子琴,利用单片机强大的控制和灵活的编程功能,产生不同频率,获得所需要的音阶,可演奏出美妙的音乐。

关键词:单片机;电子琴;音阶

本文设计的产品为简易电子琴,基本要求为能够发出中音Do、Re、Mi、Fa、So、La、Si和高音Do八个音阶皆可。

一、硬件电路

本设计要用的元器件有芯片AT89C51、音频集成功放LM386、蜂鸣器(喇叭)和按键。如图所示:

单片机P2口为接口,接有一组共8个按键。这8个按键是S1∽S8,通过排阻,分别按顺序与单片机的P2口P2.0∽P2.7相接,按键另一端接地,若按下S1,则发中音Do,若按下S2,则发中音Re,以此类推。

LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,被广泛应用于录音机和收音机之中。电路中由P1.0口控制一个LM386功率放大器,经功率放大器控制发声器件蜂鸣器(喇叭)。当P1.0口输出为低电平时,功率放大器导通,蜂鸣器(喇叭)通电;当P1.0口输出为高电平时,功率放大器截止,蜂鸣器(喇叭)断电。通过连续不断周期性地改变P1.0口的高、低电平,就会产生一定频率的矩形波,蜂鸣器(喇叭)就能发出一定频率的声音。

单片机内部由大量的时序电路构成,没有时钟脉冲即“脉搏”的跳动,单片机的各个部分将无法工作。所以在单片机的内部集成有振荡电路,只需将晶振和电容接到单片机的18(XTAL2)、19(XTAL2)脚,一个完整的振荡器即“心脏”就构成了,只要接通电源,这个心脏的脉搏就会按固定频率开始跳动。晶振的频率决定了单片机的快慢,本次设计中晶振的频率是12MHz。

单片机9脚RST端口接入一个复位电路,当此引脚连接高电平超过2个机器周期(1个机器周期包含12个时钟脉冲),即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1/12μs,2个机器周期为2μs,因此,我们可在第9脚上连接一个可让该引脚上产生一个2μs以上的高电平脉冲,即可产生复位的动作。

本次设计中我们可以预留一个口作为扩展功能,如播放一段音乐。

二、音阶的产生

音阶就是人们通常唱出的Do、Re、Mi、Fa、So、La、Si,它是7个频率之间满足某种数学关系由低到高排列的自然音,一旦确定某一个音比如Do的频率,其他音的频率也就确定了。音调是指声音的高低,由声音的频率来决定,确定某一个音Do的频率,就确定了音调。通过改变单片机输出脉冲高低电平的保持时间和频率,就可以得到音阶和调节不同的音调。本次设计中单片机的晶振为12MHz,则机器周期T为1μs,选择工作方式1,利用公式(216-X)T=定时时间(X为TH0,TL0的定时初值)。例如:频率为523Hz,其周期T=1/523=1912μs,因此只要令定数器定时1912μs/2=956μs,每到定时956μs时就将I/O反相,就可得到中音DO(523Hz)。那么,可以根据不同的频率计算出应该赋给定时器的计算初值。如下表:

电子琴音符与单片机频率的关系

三、软件设计思路

在主程序中,首先定时器T0初始化,然后关闭定时器T0,通过扫描键盘进行按键的识别。读P2口的状态,若有按键按下,则延时10ms去抖动,再读P2口的状态判断是几号按键按下,并跳转到相应的程序,查表得相应按键的定时初值,启动定时器T0将不同按键所对应的频率信号发送到集成运放中放大,最后送给喇叭发出对应的音阶的声音。程序随后继续扫描按键,若按键保持按下状态,则定时器T0继续保持工作状态,直到按键松开,定时器T0停止工作,返回初始状态,等待下一次的扫描按键结果。当程序中断时,程序保存现场,并重装TH0、TL0的初值,然后将P1.0口取反,重新送入P1.0,最后中断返回。按照此方法将设计的电子琴做成实物,能够实现弹奏音乐的功能。

猜你喜欢

音阶电子琴单片机
大小调五声音阶,来了解一下
和声小调音阶
对称音阶(Symmetrical Scale)解析
电子琴
编钟、音阶、和声与数学之美
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器