找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4925|回复: 5
收起左侧

基于stm32蜂鸣器音乐播放源代码

[复制链接]
ID:636702 发表于 2019-11-6 15:00 | 显示全部楼层 |阅读模式
程序源代码如下://需要详细解释看附件
#include "stm32f10x.h"
#include "tim1.h"
#include "delay.h"




#define  proport          10000 //Tclk/(psc+1)=72000000/(7199+1)
#define  L1       ((proport/131)-1)
#define  L2       ((proport/147)-1)
#define  L3       ((proport/165)-1)
#define  L4       ((proport/176)-1)
#define  L5       ((proport/196)-1)
#define  L6       ((proport/220)-1)
#define  L7       ((proport/247)-1)

#define  M1       ((proport/262)-1)
#define  M2       ((proport/296)-1)
#define  M3       ((proport/330)-1)
#define  M4       ((proport/349)-1)
#define  M5       ((proport/392)-1)
#define  M6       ((proport/440)-1)
#define  M7       ((proport/494)-1)

#define  H1       ((proport/523)-1)
#define  H2       ((proport/587)-1)
#define  H3       ((proport/659)-1)
#define  H4       ((proport/699)-1)
#define  H5       ((proport/784)-1)
#define  H6       ((proport/880)-1)
#define  H7       ((proport/988)-1)
/*

#define L1 262
#define L2 294
#define L3 330
#define L4 349
#define L5 392
#define L6 440
#define L7 494


#define M1 523
#define M2 587
#define M3 659
#define M4 698
#define M5 784
#define M6 880
#define M7 988


#define H1 1047
#define H2 1175
#define H3 1319
#define H4 1397
#define H5 1568
#define H6 1760
#define H7 1976
**/


int music[]=  
{  
        M5,50,M5,25,M5,25,
        M6,100,M5,100,H1,100,
        M7,100,M7,100,M5,50,M5,25,M5,25,
        M6,100,M5,100,H2,100,
        H1,100,H1,100,M5,50,M5,25,M5,25,
        H5,100,H3,100,H1,100,
        M7,100,M6,100,H4,50,H4,25,H4,25,
        H3,100,H1,100,H2,100,H1,100,H1,100

        /*
M3,8,M3,8,M4,8,M5,8,
M5,8,M4,8,M3,8,M2,8,
M1,8,M1,8,M2,8,M3,8,
M3,12,M2,4,M2,16,
M3,8,M3,8,M4,8,M5,8,
M5,8,M4,8,M3,8,M2,8,
M1,8,M1,8,M2,8,M3,8,
M2,12,M1,4,M1,16,
M2,8,M2,8,M3,8,M1,8,
M2,8,M3,4,M4,4,M3,8,M1,8,
M2,8,M3,4,M4,4,M3,8,M2,8,
M1,8,M2,8,L5,8,M3,8,
M3,8,M3,8,M4,8,M5,8,
M5,8,M4,8,M3,8,M4,4,M2,4,
M1,8,M1,8,M2,8,M3,8,
M2,12,M1,4,M1,16,
M2,8,M2,8,M3,8,M1,8,
M2,8,M3,4,M4,4,M3,8,M1,8,
M2,8,M3,4,M4,4,M3,8,M2,8,
M1,8,M2,8,L5,8,M3,8,
M3,8,M3,8,M4,8,M5,8,
M5,8,M4,8,M3,8,M4,4,M2,4,
M1,8,M1,8,M2,8,M3,8,
M2,12,M1,4,M1,16
*/
};



int length = sizeof(music)/sizeof(music[0]);

int main()
{

        int i=0;
  while(100)
        {
                for(i=0; i<(length/2); i++)
                {  
                        BASIC_TIM_MODE_Config1(TIM3,music[2*i]);
                        delay_ms(5*music[2*i+1]);
                }       
                if(i>=(length/2))
                {
                   i=0;
                }
               
        }
}


fmq.png
123.gif
回复

使用道具 举报

ID:359272 发表于 2019-11-7 11:04 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:774108 发表于 2020-6-17 20:21 来自手机 | 显示全部楼层
附件呢
回复

使用道具 举报

ID:659356 发表于 2020-6-22 15:55 | 显示全部楼层
有没有源程序和仿真呢
回复

使用道具 举报

ID:737501 发表于 2020-8-27 17:32 | 显示全部楼层
请问怎么实现单独按键的音乐暂停和播放呢
回复

使用道具 举报

ID:825202 发表于 2020-10-2 15:48 | 显示全部楼层
tim1.h和delay.h里面的代码是什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表