表1 音阶与频率关系表
音 阶 频 率(Hz) 定时器初值 音 阶 频 率(Hz) 定时器初值 音 阶 频 率(Hz) 定时器初值
1 131 0F85EH 1 262 0FC2FH 1 523 0FE17H
2 147 0F933H 2 294 0FC99H 2 587 0FE4CH
3 165 0F9F0H 3 330 0FCF8H 3 659 0FE7CH
4 175 0FA49H 4 349 0FD22H 4 698 0FE91H
5 196 0FAE6H 5 392 0FD73H 5 784 0FEB9H
6 220 0FB74H 6 440 0FDBAH 6 880 0FEDDH
7 247 0FBF4H 7 494 0FDFAH 7 988 0FEFDH
0 0 0100H 0 0 0100H 0 0 0100H
低八度音 中音 高八度音
注:0表示简谱中的空拍
用节拍数可以表示音调的长短,不同节拍数的不同音符组合形成乐谱。音的节拍在程序中可由延时子程序来实现。如果延时子程序设定为1/4拍,由此设定的节拍值只能是它的整数倍。
利用单片机的内部的定时器令其工作在计数器模式下,通过改变计数值TH0、TL0可以产生不同频率。
例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。
计数脉冲值与频率的关系公式如下:
N=Fi/2/Fr (2)
(N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率)
计数值的求法如下:
T=65536-N=65536-Fi/2/Fr
计算举例:
设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr
低音DO的T=65536-500000/262=63627
中音DO的T=65536-500000/523=64580
高音DO的T=65536-500000/1047=65059
C调单个音符频率与计数值T的对照表如表2所示。
表2 C调各音符频率与计数值T的对照表
音 符 频率(Hz) 简谱码(T值) 音 符 频率(Hz) 简谱码(T值)
低1DO 262 63628 #4FA# 740 64860
#1DO# 277 63731 中5SO 784 64898
低2RE 294 63835 #5SO# 831 64923
#2RE# 311 63928 中6LA 880 64968
低3M 330 64103 #6LA# 932 64994
- 上一篇:基于LQR球杆系统的控制方法研究与设计仿真
- 下一篇:VHDL基于FPGA的数字时钟设计+电路图
-
-
-
-
-
-
-
乳业同业并购式全产业链...
中考体育项目与体育教学合理结合的研究
java+mysql车辆管理系统的设计+源代码
十二层带中心支撑钢结构...
酸性水汽提装置总汽提塔设计+CAD图纸
电站锅炉暖风器设计任务书
杂拟谷盗体内共生菌沃尔...
当代大学生慈善意识研究+文献综述
河岸冲刷和泥沙淤积的监测国内外研究现状
大众媒体对公共政策制定的影响