資源簡介
這個是在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
評論
共有 條評論