music.c
来自「51单片机的键盘扫描程序,当有键盘输入是,将在LED上显示,且蜂鸣器将发出相应的」· C语言 代码 · 共 50 行
C
50 行
//music.c
#include"general.h"
#include"sys12M.h"
#include"music.h"
sbit vol = P3^5;
WORD smicor;
//**********************************
WORD code music_code[3][8] = {
{0,1500,1500,1500,1500,1500,1500,1500},
{0,1137,1013,902,852,759,676,602},
{0,500,500,500,500,500,500,500}
};
//***********************************
void music_init(void)
{
TMOD = TMOD & 0x0F;
TMOD = TMOD | 0x10;
EA = 1;
ET1 = 1;
}
//**************************
void micor_play(MIC micor)
{
BYTE i,j;
WORD delayor;
i = micor.step;
j = micor.actor;
smicor = music_code[i][j];
if(smicor) set_timer(smicor,1);
else vol = 1;
i = micor.tmic;
delayor = (WORD)(i*PAT);
delay(delayor);
TR1 = 0;
}
//***********************************
void on_timer1(void) interrupt 3
{
TR1 = 0;
vol = !vol;
set_timer(smicor,1);
}
//***********************************
void music_play(MIC *pmic,BYTE nmic)
{
BYTE i;
for(i=0;i<nmic;i++) micor_play(pmic[i]);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?