资源简介
C51蜂鸣器播放两只老虎和小星星代码,怎么根据谱子打表呢。。。自己摸索吧
代码片段和文件信息
#include
sbit BUZZ = P1^5; //蜂鸣器控制引脚
unsigned int code NoteFrequ[] = { //中音 1-7 和高音 1-7 对应频率列表
523 587 659 698 784 880 988 //中音 1-7
1047 1175 1319 1397 1568 1760 1976 //高音 1-7
};
unsigned int code NoteReload[] = { //中音 1-7 和高音 1-7 对应的定时器重载值
65536 - (11059200/12) / (523*2) //中音 1
65536 - (11059200/12) / (587*2) //2
65536 - (11059200/12) / (659*2) //3
65536 - (11059200/12) / (698*2) //4
65536 - (11059200/12) / (784*2) //5
65536 - (11059200/12) / (880*2) //6
65536 - (11059200/12) / (988*2) //7
65536 - (11059200/12) / (1047*2) //高音 1
65536 - (11059200/12) / (1175*2) //2
65536 - (11059200/12) / (1319*2) //3
65536 - (11059200/12) / (1397*2) //4
65536 - (11059200/12) / (1568*2) //5
65536 - (11059200/12) / (1760*2) //6
65536 - (11059200/12) / (1976*2) //7
};
bit enable = 1; //蜂鸣器发声使能标志
bit tmrflag = 0; //定时器中断完成标志
unsigned char T0RH = 0xFF; //T0 重载值的高字节
unsigned char T0RL = 0x00; //T0 重载值的低字节
void PlayTwoTiger();
void main()
{
unsigned int i;
EA = 1; //使能全局中断
TMOD = 0x01; //配置 T0 工作在模式 1
TH0 = T0RH;
TL0 = T0RL;
ET0 = 1; //使能 T0 中断
TR0 = 1; //启动 T0
while (1)
{
PlayTwoTiger(); //播放乐曲--两支老虎
for (i=0; i<40000; i++); //停止一段时间
}
}
/*两支老虎乐曲播放函数*/
void PlayTwoTiger()
{
unsigned char beat; //当前节拍索引
unsigned char note; //当前节拍对应的音符
unsigned int time = 0; //当前节拍计时
unsigned int beatTime = 0; //当前节拍总时间
unsigned int soundTime = 0; //当前节拍需发声时间
/* //两只老虎音符表
unsigned char code TwoTigerNote[] = {
1 2 3 1 1 2 3 1 3 4 5 3 4 5
56 54 3
- 上一篇:vjoy手柄模拟器gr(1)
- 下一篇:labview串口调试助手
相关资源
- STC8951系列单片机中方指南
- proteus仿真 AT89C51输出各种波形
- 基于AT89C51的数据采集系统设计新方法
- C51单片机汇编指令查询、学习工具集
- 基于89c51的数字钟
- 基于单片机交通灯设计
- 基于89C51计算机锁定加密键盘设计
- 基于51单片机的计算器(C51编写,有
- STM32+TMC5160代码电路图.rar
- AT89C51+ADC0808 PROTEUS仿真
- 单片机原理及接口技术C51编程张毅刚
- 基于AT89C51的十字路口交通灯设计pro
- 单片机原理及接口技术C51编程
- at89c51单片机外文翻译
- 单片机原理及接口技术C51编程高清P
- 基于C51的电子琴设计
- keilc51源代码
- 在C51中变量的空间分配几个方法
- 初学C51的一些误区
- 单片机初学者学习C51时的一些误区和
- Philips 80C51MX
- 12bit流水线ADC电路整体电路原理图-c
- 0.96OLED_C51系列_IIC应答_例程
- 0-999计数器的C51程序
- [单片机原理与应用设计C51编程+Prote
- ESP8266AP模式控制51单片机亮灯.docx
- C51代码生成器(代码快速生成工具)
- 基于AT89C51单片机信号发生器设计.pd
- 89C51单片机最小系统PCB
- 基于AT89C51单片机的多功能函数信号发
评论
共有 条评论