DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 874|回复: 1
打印 上一主题 下一主题

让单片机唱歌(1)

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:47:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    [table]



一.基本知识
       1.要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的i/o反相,然后重复计时此半周期时间再对i/o反相,就可在i/o脚上得到此频率的脉冲.
[/td][/tr]
[/tr]
[/tr]

          2. 利用8051的内部定时器使用其工作在计数器模式mode1下,改变计数值tho及tlo以产生不同频率的方法.
[/td][/tr]

          3. 例如频率为523hz,其周期t=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将i/o反相,就可得到中音do (523hz).   [/td][/tr]

               计数脉冲值与频率的关系公式如下:[/td][/tr]

               n=fi÷2÷fr       n: 计算值;   [/td][/tr]

                                          fi:  内部计时一次为1us, 故其频率为1mhz;
[/td][/tr]

           4.  其计数值的求法如下:[/td][/tr]

               t=65536-n=65536-fi÷2÷fr [/td][/tr]

              例如: 设k=65536, f=1000000=fi=1mhz, 求低音do(261hz).中音do (523hz). 高音的do (1046hz)的计算值.[/td][/tr]

               t=65536-n=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr [/td][/tr]

              低音do的  t=65536-500000/262=63627[/td][/tr]

              中音do的  t=65536-500000/523=64580[/td][/tr]

              高音do的  t=65536-500000/1047=65059
[/td][/tr]

           5.  c调各音符频率与计数值t的对照表如表1所示.
[/td][/tr]

[/td]
                     表1   c 调各音符频率与计数值t的对照表[/td]
[/td]
[/td][/tr]

音符[/td]
频率(hz)[/td]
简谱码(t值)[/td]
音符[/td]
频率(hz)[/td]
简谱码(t值)[/td][/tr]

低 1 do[/td]
262[/td]
63628[/td]
# 4 fa#[/td]
740[/td]
64860[/td][/tr]

# 1 do#[/td]
277[/td]
63731[/td]
中 5 so[/td]
784[/td]
64898[/td][/tr]

低 2 re[/td]
294[/td]
63853[/td]
# 5 so#[/td]
831[/td]
64934[/td][/tr]

# 2 re#[/td]
311[/td]
63928[/td]
中 6 la[/td]
880[/td]
64968[/td][/tr]

低 3 m[/td]
330[/td]
64021[/td]
# 6[/td]
932[/td]
64994[/td][/tr]

低 4 fa[/td]
349[/td]
64103[/td]
中 7 si[/td]
988[/td]
65030[/td][/tr]

# 4 fa#[/td]
370[/td]
64185[/td]
高 1 do[/td]
1046[/td]
65058[/td][/tr]

低 5 so[/td]
392[/td]
64260[/td]
# 1 do#[/td]
1109[/td]
65085[/td][/tr]

# 5 so#[/td]
415[/td]
64331[/td]
高 2 re[/td]
1175[/td]
65110[/td][/tr]

低 6 la[/td]
440[/td]
64400[/td]
# 2 re#[/td]
1245[/td]
65134[/td][/tr]

# 6[/td]
466[/td]
64463[/td]
高 3 m[/td]
1318[/td]
65157[/td][/tr]

低 7 si[/td]
494[/td]
64524[/td]
高 4 fa[/td]
1397[/td]
65178[/td][/tr]

中1 do[/td]
523[/td]
64580[/td]
# 4 fa#[/td]
1480[/td]
65198[/td][/tr]

# 1 do#[/td]
554[/td]
64633[/td]
高 5 so[/td]
1568[/td]
65217[/td][/tr]

中 2 re[/td]
587[/td]
64684[/td]
# 5 so#[/td]
1661[/td]
65235[/td][/tr]

# 2 re#[/td]
622[/td]
64732[/td]
高 6 la[/td]
1760[/td]
65252[/td][/tr]

中 3 m[/td]
659[/td]
64777[/td]
# 6[/td]
1865[/td]
65268[/td][/tr]

中 4 fa[/td]
698[/td]
64820[/td]
高 7 si[/td]
1967[/td]
65283[/td][/tr]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
沙发
发表于 2014-8-1 16:49:41 | 只看该作者
支持一下吧!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-25 06:29 , 耗时 0.090573 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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