资源简介
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串口调试助手
相关资源
- 单片机 89c51 八个数码管显示0到f c程
- C51步进电机正反转及调速控制
- keil中c51编程中常用的头文件
- 1602 基于89C51单片机的DS18B20恒温控制系
- 基于C51单片机的交通灯开发
- DS18B20 STC1T系列单片机驱动程序
- 51单片机彩灯控制器的设计(仿真图、
- intel hex 校验和计算工具
- keilc51 startup.a51中文注释
- WS2811_C51程序
- 血压计单片机程序C51
- RS485多机通信,带C51源程序,带仿真!
- GSM-C51短信收发系统
- MD5_加密算法程序_C51验证可以用
- 基于C51的交通灯控制系统
- 89c51单片机电子琴设计
- 中石油加油机的控制程序C51
- 单片机c51设计简易计算器数码管显示
- c51单片机的经典密码锁keil c
- 坦克大战—单片机+proteus仿真
- 基于AT89C51单片机的电子计时牌设计
- 基于89c51的等精度频率计lcd1602显示
- 基于C51智能小车设计
- 基于C51单片机的简单控制灯光的程序
- C51的数字时钟.rar
- 基于AT89C51数字时钟设计过程与仿真
- 基于AT89C51的串口通信
- 基于AT89C51单片机的温度控制系统
- 51单片机读电池电量
- C51的单片机底层串口程序
评论
共有 条评论