51单片机C语言控制按键蜂鸣器
用单片机的按键控制蜂鸣器。按一下蜂鸣器响一下。长按也就响一下。该怎么写程序?总共有6个按键#include<reg52.h>sbitkey1=P3^7;sbitkey2=...
用单片机的按键控制蜂鸣器。
按一下蜂鸣器响一下。
长按也就响一下。
该怎么写程序?
总共有6个按键
#include <reg52.h>
sbit key1 = P3^7;
sbit key2 = P3^6;
sbit key3 = P3^5;
sbit key4 = P3^4;
sbit key5 = P3^3;
sbit key6 = P3^2;
sbit SPK= P1^5; 展开
按一下蜂鸣器响一下。
长按也就响一下。
该怎么写程序?
总共有6个按键
#include <reg52.h>
sbit key1 = P3^7;
sbit key2 = P3^6;
sbit key3 = P3^5;
sbit key4 = P3^4;
sbit key5 = P3^3;
sbit key6 = P3^2;
sbit SPK= P1^5; 展开
1个回答
展开全部
unsigned char flag=1; //定义上升沿ready标志
while(1)
{
if(key1&&flag) // 默认key1下拉至GND,若产生上升沿,则响一次,同时清零标志
{
SPK=1;
delay();
SPK=0;
flag=0;
}
if(!key1) { flag=1;} //检测key1是否归零 准备第二次上升沿,是,则标志位置1
......
}
仅供参考
while(1)
{
if(key1&&flag) // 默认key1下拉至GND,若产生上升沿,则响一次,同时清零标志
{
SPK=1;
delay();
SPK=0;
flag=0;
}
if(!key1) { flag=1;} //检测key1是否归零 准备第二次上升沿,是,则标志位置1
......
}
仅供参考
追问
我是初学者,,能不能编的简单点的,你这我看不懂啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询