用使用定时器T0的中断控制播放音乐《一闪一闪亮晶晶》
1.
C=f
us us
f
460830085.12106
T0工作方式0.最大计数为8192,在已知定是常数为C 的条件下,13位计算器的
高8位和低5的初值可由以下公式设定 TH0=(8192-C)/32; TL0=(8192-C)%32; 3.简单乐谱
|1 1 5 5| 6 6 5 -| 4 4 3 3| 2 2 1 -| 5 5 4 4 | 3 3 2 -| 5 5 4 4 |3 3 2 -| 1 1 5 5 | 6 6 5 -| 4 4 3 3|2 2 1 -| 4..节拍控制
本例简谱的节拍为每分钟72拍,则每个节拍需时间 (1000*60ms )/72=833ms ★ “1 “为1拍,需延时833ms ★ “2”为1/2拍,需延时833/2ms ★ “3“为1/4,需延时833/4ms 5.程序
/*----------------------------------------------
使用定时器T0的中断控制播放音乐《一闪一闪亮晶晶》,T0工作方式0, 图表列出了C 音调与频率的对应关系。* ---------------------------------------------------- */
#include
sbit sound=P3^7; //定义声音为引脚P3.7 unsigned int C; //存储定时器的定时常熟 //以下是C 调中音的音频定义
#define dao 523 //讲“dao ”宏定义为中音“1”的频率523HZ #define re 587 #define mi 659 #define fa 698 #define sao 784