📄 music.c
字号:
#include "F2407_c.H" //;the header file
//=======================================================
//PWM初始化程序
//=======================================================
void pwm_mu()
{
SCSR1=SCSR1|0x000C;
MCRA=MCRA|0X2000;
GPTCONB=0x0000;
GPTCONA=0x0044;
T2CON=0x1044;
T4CON=0x1600;
T2CNT=0x0;
T4CNT=0x0;
T4PR=0X0271;
}
void count_music(unsigned int m,float n)
{
long int i;
unsigned int j;
if(n==0) //频率值计算,改变T2时钟预定标系数、周期、比较寄存器。
{
T2CON=T2CON&0x0FFFD;
goto bbb;
}
if(n<80)
{
i=2500000;
T2CON=0X0F8FF&T2CON; //时钟预定标系数
T2CON=0X0400|T2CON;
}
else if(n>=80&n<600)
{
i=5000000;
T2CON=0X0F8FF&T2CON;
T2CON=0X0300|T2CON;
}
else {
i=40000000;
T2CON=0X0F8FF&T2CON;
}
T2PR=i/n; //周期
T2CMPR=i/(n*2); //比较寄存器
T2CON=T2CON|0x0002; //启动比较
bbb: asm(" nop ");
EVBIFRB=0x0ffff; //T4作为定时器,为音乐定时
T4CON=0x0040|T4CON;
ccc:
j=EVBIFRB&0x0001;
if(j==0) goto ccc;
else
{
EVBIFRB=0x0ffff;
m=m-1;
if(m!=0)
goto ccc;
}
T4CON=0x0FFBF&T4CON;
T4CNT=0x0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -