音乐按键实验.c
来自「用按键来产生不同的频率」· C语言 代码 · 共 56 行
C
56 行
#include<reg52.h>
#include"delay.h"
#include"key.h"
#define uchar unsigned char
#define uint unsigned int
uchar count=0;
sbit bell=P3^7;
sbit led=P1^7;
void Time1_init()
{
IE=0x88;
TMOD=0x10;
TH1=0xb1; //初值20ms
TL1=0xdf;
}
void Time1_int() interrupt 3
{
TH1=0xb1;
TL1=0xdf;
count++;
}
void music(uchar frequence,uchar time)
{
TR1=1;
while(1)
{
bell=!bell; //蜂鸣器在"frequence"ms内一开一关各一段时间,因"frequence"
led=!led; //因"frequence"不同,故产生的频率不同,因此声音就不同
Delay_xMs(frequence);
if(time==count) //"time*20ms"只决定总的响声时间
{
count=0;
break;
}
}
TR1=0;
bell=1;
led=1;
}
void main()
{
uchar k;
Time1_init();
while(1)
{
k=getch();
if(k!=255)
music(k,10);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?