当前位置:首页 > 单片机 > 单片机
[导读] 本篇文章将介绍使用SPCE061A来做一个电子琴,并且提供源代码。如果您有凌阳大学计划的实验箱,那将很好完成,就是接几根线的问题,要是没有也不用着急啦,拿一块SPCE061A芯片,接个键盘和音频放大电路就

本篇文章将介绍使用SPCE061A来做一个电子琴,并且提供源代码。如果您有凌阳大学计划的实验箱,那将很好完成,就是接几根线的问题,要是没有也不用着急啦,拿一块SPCE061A芯片,接个键盘和音频放大电路就可解决问题,是不是很easy!


图一  整体框图


我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个端口的“高”电平或低电平,则在该端口上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。乐曲中,每一音符对应着确定的频率,这个小制做是采用凌阳SPCE061A的DAC输出来实现,具体做法是,先建立一个有两百个数据的音频数据表,当按不同的按键即以不同的频率往DAC上送数据,从而达到输出不同音符的目的,为了达到电子琴的效果,当然还得在程序方面稍作修饰了,整体框图如图一所示。下面将就具体硬件电路和程序作一一说明。


硬件电路设计


键盘控制电路:
  在这里采用矩阵式排列键盘,如图二所示,这样可以合理应用硬件资源,把16只按键排列成4*4矩阵形式,用一个8位I/O口控制如图所示。把键盘上的行和列分别接在IOA0~IOA3和IOA4~IOA7上。

图二  按键控制电路


先置IOA0~IOA3为带数据缓存器的高电平输出,置IOA4~IOA7为带下拉电阻的输管脚,此时若有键按下,取IOA4~IOA7的数据将得到一个值,把此值保存下来,再置IOA4~IOA7为带数据反相器的高电平输出,置IOA0~IOA3为带下拉电阻的输入管脚,此时若键仍没弹起,取IOA0~IOA3的数据将得到另一个值,把这两个值组合就可得知是哪个键按下了,再通过匹配得到键值,实际上在这个小设计中只用到了8个按键,但考虑到为广大电子爱好者自由发挥预留了八个按键,您可以自己设计加入别的音符或是别的好玩的啊。

音频放大电路:
  凌阳SPCE061A 单片机 自带双通道DAC音频输出, DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出, DAC输出为电流型输出,经LM396音频放大,即可驱动喇叭放音,放大电路如图三(只列出了DAC1,DAC2类似)。在DAC1、DAC2后面接一个简单的音频放大电路和喇叭就能实现语音播报功能,这为单片机的音频设计提供了极大方便,音频的具体功能主要通过程序来实现。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

电子琴设计

关键字: 单片机 电子琴

随着科技的发展,普通性能的单一波形发生器已经越柬越不能满足实际的需求。要实现性能复杂的及波形多样性的发生器,DDS直接数字频率合成技术使用在信号发生器设计中,相较与

关键字: ad9851 spce061a 电源技术解析

电子实训课程实验项目                      --电子琴【前言】       为进一步激发学生对于硬件编程的兴趣而开展的课程“电子实训”课程到目前为止已经要告一段落了。将近四周的时间

关键字: mfc stc 串口通信 电子琴

O 引言对于固定的简单功能的实现,模拟电路具有结构简单,实现方便,成本低廉的优点。在这方面,模拟电路得到广泛的应用。模拟电路中的RC正弦波振荡电路具有一定的选频特性

关键字: 正弦波 电子琴 电源技术解析

目前采用的LED大屏幕显示系统的控制电路大多由单个或多个单片机及复杂的外围电路组成,单片机编程比较复杂,整个电路的调试比较麻烦,可靠性和实时性难以得到保证。 针对这

关键字: LED spce061a 大屏幕 系统 设计教程

将语音控制技术应用于燃气炉灶,这是一个非常有意义的尝试,鉴于目前市场上并没有相同产品出现,应该说也是很有创意的开发,从实验的结论来看,对于提高燃气炉灶的使用安全性,改善操控性都有非常明显的效果。

关键字: spce061a 传感器 嵌入式处理器 语音控制 燃气炉灶语音控制
关闭
关闭