- 积分
- 3553
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2014-11-13
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
//6个按键播放声音
#include <reg51.h>
#define uchar unsigned char //byte
#define uint unsigned int //word
sbit bu6=P3^7; //定义一个按键,一端接地,一端接端口
sbit bu5=P3^6; //定义一个按键,一端接地,一端接端口
sbit bu4=P3^5; //定义一个按键,一端接地,一端接端口
sbit bu3=P3^4; //定义一个按键,一端接地,一端接端口
sbit bu2=P3^3; //定义一个按键,一端接地,一端接端口
sbit bu1=P3^2; //定义一个按键,一端接地,一端接端口
sbit led1=P0^0;
sbit led2=P0^1;
sbit buzzer=P2^3; //蜂鸣器
void delay(int);
void pulse_BZ(int,int,int);
void main(void)
{
while(1)
{ int i;
bu6=1; //初始化 按键高电平
bu5=1; //初始化
bu4=1; //初始化
bu3=1; //初始化
bu2=1; //初始化
bu1=1; //初始化
while(1) //当一个按键被按下,为0,跳出循环
{
if(!bu6||!bu5||!bu4||!bu3||!bu2||!bu1)
for(i=0;i<=1000;i++); //防抖动
if(!bu6||!bu5||!bu4||!bu3||!bu2||!bu1) break;
}
if(!bu6) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(10,10,10); }
if(!bu5) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(50,50,50); }
if(!bu4) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(100,10,100); }
if(!bu3) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(100,100,10); }
if(!bu2) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(100,30,70); }
if(!bu1) //蜂鸣器发音。如果有歌谱,可以写歌曲函数
{ pulse_BZ(100,70,30); }
}
}
/******************************************************/
/* Buzzer模块 */
/*声明:sbit buzzer=P2^3; void pulse_BZ(int,int,int);*/
/******************************************************/
void pulse_BZ(int count, int TH,int TL)
{
int i;
for(i=0;i<count;i++)
{ buzzer=1;
delay(TH); //延时TH个0.5ms
buzzer=0;
delay(TL); //延时TL个0.5ms
}
}
/**************************************************/
/* 延时模块 声明:void delay(int); */
/**************************************************/
void delay(int x) //如 delay(1000),延时1s
{
int i,j;
for(i=0;i<x;i++) //延时x个1ms
for(j=1;j<=125;j++); //延时约1ms |
|