资源简介
这个是在stm32f103单片机上使用蜂鸣器播放音乐的程序,曲调c调,主要做了低中高三个音区共36个音调(每个音区分别有1,1#,2,2#,3,4,4#,5,5#,6,6#,7十二个音调)。资源内有上位机用于产生音乐代码(对照曲目输入音符和节拍即可),另外我还放了几个示例音乐代码用于调试。单片机端程序主要有两部分,一部分是用于解码音乐代码的音乐程序(music),另外一部分是用于配置定时器和PWM频率的硬件配置文件(timer)。配置上使用的是TIM1用于产生PWM信号,PB8输出PWM信号(接蜂鸣器)。资源里面有一个简单的使用说明,
资源列表
1.单片机程序:music.c music.h timer.h timer.c
2.音乐代码上位机:51music.exe
3.示例音乐
4.使用说明
代码片段和文件信息
#include “music.h“
#include “usart.h“
#include “delay.h“
#include “timer.h“
#include “drive.h“
#include “FreeRTOS.h“
#include “task.h“
#include “queue.h“
#include “list.h“
#include “semphr.h“
unsigned char musicflag=0;
const short T[49]={0 //const表示存放在rom中
262277294311330349370392415440466494 //低音区 11222334455566677 共12个音调
523554578622659698740784831880932988 //中音区
104611091175124513181397148015681661176018651976 //高音区
};
const unsigned char music[][2]={{04}
{04}{244}{244}{214}{194}{214}{148}{194}{214}{244}{214}{1916}{04}{244}{244}{214}{194}{214}{128}{194}{214}{244}{194}{1716}{04}{174}{194}{214}
{244}{264}{244}{224}{244}{214}{214}{194}{1916}{04}
{174}{194}{174}{174}{194}{174}{194}{194}{218}{244}{214}{2112}{04}{244}{244}{214}{194}{214}{148}{194}{214}{244}{214}{1916}{04}{244}{244}{214}
{194}{214}{128}{194}{214}{244}{194}{1716}{04}{174}{194}{214}{244}{264}{244}{224}{244}{214}{214}{194}{1912}{124}{218}{194}{198}{1716}
{0xFF0xFF}};
//音乐播放器进程
void Music_Task(void *pvParameters)
{
static unsigned char lasttune=0;
static unsigned char m=0n=0;
while (1)
{
if(musicflag!=0)
{
if(n<=0)
{
TIM1_PWM_setFrequency(0);
if(music[m][1]==0xff)
{
musicflag=0;
}
else
{
n=music[m][1];
if(music[m][0]==lasttune) //如果此次音调和上次相同,则延迟半个小节
{
delay_ms(1000/24);
}
lasttune=music[m][0];
TIM1_PWM_setFrequency(T[music[m][0]]);
m++;
}
}
n--;
}
delay_ms(1000/12);
}
}
void music_run(unsigned char flag)
{
if(flag==1)
{
musicflag=1;
}
else
{
musicflag=0;
TIM1_PWM_setFrequency(0);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 299008 2011-04-24 17:57 音乐播放器\51Music.exe
文件 2058 2019-04-28 17:00 音乐播放器\music.c
文件 197 2019-04-27 17:04 音乐播放器\music.h
文件 1920 2019-04-28 16:58 音乐播放器\timer.c
文件 159 2019-04-28 16:58 音乐播放器\timer.h
文件 349 2019-04-28 17:06 音乐播放器\使用说明.txt
文件 4209 2019-04-28 16:57 音乐播放器\示例音乐.txt
目录 0 2019-04-28 17:01 音乐播放器
----------- --------- ---------- ----- ----
307900 8
相关资源
- 基于STM32的SPWM波产生程序
- stm32实现USB_存储_HID复合设备
- stm32与cc1100的无线收发点灯程序
- qtcreator + Keil MDK armcc +openocd 编译 调试
- STM32F407学习板 开发板 全部例程原理图
- STM32F407VG用软件触发的DAC转换例程
- Keil4 建立STM32工程详解
- 气压传感器BMP180驱动stm32f103
- 从STM32F401411系列移植到STM32L4系列微控
- STM32单片机简易计算器
- IAR环境下stm32上ucos的移植代码
- USB Blaster 64位驱动 不蓝屏
- STM32F4 DMA双缓冲的正确打开方式
- STM32 TFT3.2彩屏R61509V测试程序
- 基于stm32的FSMC的ad7606 的的程序
- 7个基于STM32单片机的精彩设计,等相
- stm32_ads1191.7z
- F407VET6核心板
- STM32小系统
- 带温度测量的CCD驱动程序
- tcd1304_stm32f4驱动
- 基于STM32的振动磨超前控制系统的设计
- STM32网络远程升级固件的IAP程序
- ARM处理器的嵌入式新浪微博客户端设
- GD-10变频器方案基于stm32f103位单片机
- STM32F429IGT6驱动RGB屏测试程序
- STM32F427---STM32F429中文数据手册
- STM32F103C8T6 PWM控制SG90舵机
- 基于STM32设计的can原理图
- 基于ZigBee和STM32的室内智能照明系统的
评论
共有 条评论