表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的数字时钟设计+电路图
-
-
-
-
-
-
-
NFC协议物理层的软件实现+文献综述
C++最短路径算法研究和程序设计
高警觉工作人群的元情绪...
浅析中国古代宗法制度
现代简约美式风格在室内家装中的运用
上市公司股权结构对经营绩效的影响研究
g-C3N4光催化剂的制备和光催化性能研究
巴金《激流三部曲》高觉新的悲剧命运
中国传统元素在游戏角色...
江苏省某高中学生体质现状的调查研究