📄 音乐按键实验.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -