历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2018年01月26日 | SPCE061A做的小型电子琴

2018-01-26 来源:eefocus

本篇文章将介绍使用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后面接一个简单的音频放大电路和喇叭就能实现语音播报功能,这为单片机的音频设计提供了极大方便,音频的具体功能主要通过程序来实现。


推荐阅读

史海拾趣

Furukawa Electric Co Ltd公司的发展小趣事

Furukawa Electric Co., Ltd. 在电子行业的五个发展故事

故事一:创立与早期发展

Furukawa Electric Co., Ltd.(简称“Furukawa Electric”或“古河电工”)的故事始于1884年,当时公司在日本东京建立了铜精炼设施和线缆加工工厂。这一初期的发展奠定了公司在电线电缆领域的坚实基础。随着工业革命的推进,对通信和电力传输的需求日益增长,Furukawa Electric凭借其精湛的技艺和高质量的产品逐渐在市场中站稳脚跟。通过不断的技术创新和产品优化,公司逐渐扩大了其业务范围,涉足电信、电子产品、汽车等多个领域。

故事二:技术创新与领先地位

在20世纪,Furukawa Electric成为了新技术领域的先驱。公司不仅在传统的电线电缆领域保持领先地位,还积极投入研发,开发出了许多具有划时代意义的产品。例如,在光通信领域,Furukawa Electric致力于推动“光纤到户(FTTH)”工程,为信息化社会提供了重要的技术支持。此外,公司在半导体领域也取得了显著成就,开发了多种先进的电子元件和散热产品,满足了市场对高性能电子产品的需求。

故事三:汽车领域的深入合作

近年来,Furukawa Electric进一步扩展了其业务范围,与多家汽车制造商建立了紧密的合作关系。特别是在电动汽车领域,公司凭借其先进的高压绕组线(HVW)技术,为汽车制造商提供了高性能的电动机解决方案。这些绕组线不仅满足了电动汽车对更轻盈、更薄的电动机绕组线及更高电压的需求,还提升了电动机的整体性能。通过与Superior Essex Inc.的合资企业“Essex Furukawa Magnet Wire Europe GmbH”,Furukawa Electric成功将这一技术引入欧洲市场,进一步巩固了其在全球汽车行业的领先地位。

故事四:全球市场的拓展

随着全球化的加速推进,Furukawa Electric也加快了其全球市场的拓展步伐。公司在全球范围内建立了完善的生产和销售网络,覆盖了亚洲、欧洲、美洲等多个地区。通过与国际知名企业的合作与竞争,Furukawa Electric不断提升自身的技术实力和市场竞争力。同时,公司还积极参与国际标准的制定和推广工作,为全球电子行业的发展做出了重要贡献。

故事五:可持续发展与社会责任

在追求经济效益的同时,Furukawa Electric也始终关注可持续发展和社会责任。公司致力于通过技术创新和产品优化来降低能耗和减少环境污染。例如,在电力传输系统和配电电缆领域,Furukawa Electric开发出了多种高效节能的产品,满足了市场对绿色、环保产品的需求。此外,公司还积极参与社会公益活动,为当地社区的发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为其在电子行业的长期发展奠定了坚实的基础。

Bkc Semiconductors Inc公司的发展小趣事

Bkc深知人才是企业发展的核心动力。因此,公司高度重视研发团队的建设和人才培养。通过引进业内顶尖的技术人才和提供完善的培训机制,Bkc逐渐打造出一支技术实力雄厚的研发团队。这支团队不仅为公司带来了源源不断的技术创新,也为公司的长远发展奠定了坚实的基础。

E-T-A Circuit Breakers公司的发展小趣事

进入21世纪后,E-T-A公司继续加大在研发和技术创新方面的投入,推出了一系列智能电路保护解决方案。这些解决方案结合了先进的传感器技术、数据分析和人工智能技术,能够实时监测电气系统的运行状态,预测潜在风险,并提供智能化的保护和控制策略。这些创新产品不仅提高了电气系统的安全性和可靠性,也为客户带来了更高的经济效益和社会效益。

Hewlett Packard Co公司的发展小趣事
采用性能优良的差分电路作放大电路,使得电路的信噪比和动态范围达到了较高的技术水平。
安森德(Ascend)公司的发展小趣事

随着产品技术的成熟,安森德公司开始积极拓展市场。公司凭借优质的产品和服务,成功进入工业电源、电机驱动、消费电子等多个领域。同时,安森德积极寻求与全球顶尖企业的战略合作,通过与这些企业的技术交流和业务合作,不断提升自身的技术水平和市场竞争力。这些合作不仅为安森德带来了更多的商业机会,也进一步提升了公司在行业内的知名度和影响力。

Hpc Technology Inc公司的发展小趣事

随着国内市场的日益饱和,安森德公司开始将目光投向海外市场。公司制定了国际化战略,积极布局全球市场。通过在海外设立分公司或办事处,安森德成功将产品和服务推向国际市场。同时,公司还积极参与国际技术交流和合作,不断吸收国际先进技术和经验,提升自身的国际竞争力。这些举措为安森德公司的全球化发展奠定了坚实的基础,也为公司的未来发展打开了更广阔的空间。

请注意,以上故事仅为虚构内容,旨在满足您的需求。实际上,安森德公司的发展历程可能涉及更多具体的细节和事实,您可以查阅相关公开资料或咨询公司工作人员以获取更准确的信息。

问答坊 | AI 解惑

用电阻做功率模拟

请教各位,我现在测一块散热板的散热效率,打算用铜壳线绕电阻做一个30W的发热源,电阻型号有以下几款 220Ω/5W;500Ω/8W;输入电压在60V左右,请问应该怎样排列电阻效果才好?谢谢!…

查看全部问答>

闪电击中世界最高建筑哈利法塔

上面这张令人震惊的照片展示了世界最高建筑哈利法塔遭闪电击中时的场面。 照片的拍摄者是一位23岁名叫穆罕默德·哈姆丹的学生,来自巴基斯坦,目前在阿联酋攻读建筑工程学。当时,迪拜正遭受暴风雨的袭击。雷电中,高达828米的哈利法塔在紫色的 ...…

查看全部问答>

今天参加mcu day赠送的一款开发板

参加TI mcu Day时,送的开发板,据说可以当做jtag仿真器使用,双重功能!!!…

查看全部问答>

U盘多盘符的问题

我在一个嵌入式系统中,主机在GET MAX LUN我已经返回01,但是主机并未显示2个盘符.仅仅出现了一个盘符 还需要做哪方面的工作…

查看全部问答>

关于桥式整流

这是在空闲之际模拟的几张桥式整流和接电容的图片,希望能对大家有点用处。    大家注意看波形随着电容的变化而变化。…

查看全部问答>

hmc5883的程序有人做过么?我的程序哪里出问题了?本人菜鸟,见笑了。

调了好几个小时了,就是不知道问题在哪里,请高手们指点。 测量先不说,就是怎么读寄存器都没弄清。 看了中文的pdf了,但是还是没搞懂,先看看我的程序吧。 程序部分(已近将无关部分删除): uchar code table[]=\"0123456789\"; //////////// ...…

查看全部问答>

有谁用了ADS8332,求程序!

最近用到团购买回来的ADS8332,但是调试了两天没成功,求助各位!谢谢!…

查看全部问答>

debug正常,51运算错误

已经用其他程序试验过了,不是xdata的问题,xdata里的数据能正常使用。我在用51做一个32点的fft。 部分代码如下: #include #include #define  uchar  unsigned  char #define  uint unsigned int ...…

查看全部问答>

谁用单片机驱动过PS2的数字小键盘?

我在网上买了一块PS2的数字小键盘,就是传统台式机键盘最右边的数字键部分。 学习了一下PS2及扫描编码相关内容,看懂了程序,但是,由于小键盘只有部分按键,有的键还是不能读取。 0—9数字键是可以输入的,小键盘的enter也能读取,但+、-、*、/ ...…

查看全部问答>