找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1725|回复: 6
打印 上一主题 下一主题
收起左侧

单片机小白问一下音符频率对应的延时表是怎么算出来的?逛了一圈还是迷迷糊糊的

[复制链接]
跳转到指定楼层
楼主
ID:1045855 发表于 2022-9-25 21:48 来自触屏版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//标准音符频率对应的延时表
uchar code HI_LIST[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248};
uchar code LO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2022-9-25 23:36 | 只看该作者
没有完整版代码就这两行完全无法分析,除非原作者也来逛这个论坛。
回复

使用道具 举报

板凳
ID:123289 发表于 2022-9-26 10:22 | 只看该作者
思路不对!
你想想,标准音符是不是对应一个标准的频率正弦波。
这个频率是不是有一个周期。
这个周期是不是可以用中断周期来实现(注意,有个1/2的关系)
如果你是用方波代替正弦波,则每个中断翻转一下,就OK了。
那么:每个音符就有一个中断周期与之对应,这些数字可能是中断时间常数。
如果必须用正弦波,而你的单片机只能出方波,就要进行一个方波变正弦波的转换(需要你结合硬件,看看转换的方式),而这些数据必然是方波转正弦波的参数。
你卡在:不知道如何用方波实现正弦波上了。去补一下课。
回复

使用道具 举报

地板
ID:1034262 发表于 2022-9-26 11:18 | 只看该作者
这个说法不对,应该是音阶频率对应的定时器重装值。
回复

使用道具 举报

5#
ID:57657 发表于 2022-9-26 11:33 | 只看该作者
需要提供完成的程序才知道是什么,每个人写的算法都不一样。
回复

使用道具 举报

6#
ID:213173 发表于 2022-9-26 18:27 | 只看该作者
音乐频率计算表.rar (8.57 KB, 下载次数: 8)
简易电子琴1602显示.rar (184.77 KB, 下载次数: 14)

回复

使用道具 举报

7#
ID:1034262 发表于 2022-9-27 11:13 | 只看该作者
以前玩过一个比较流行的八音盒程序,原版是国外的AVR程序,6通道,我用M0或STC的做成8通道或16通道的,再多谱几首曲子不错,用的是波表。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表