单片机 c语言 一个按键控制LED灯切换, 按一下按键花样一, 按下按键花样二。 无限循环,

单片机 c语言

一个按键控制LED灯切换,
按一下按键花样一,
按下按键花样二。
无限循环,
时间1s。

你试试我这个程序,我这发光二极管是给0亮的,按键按下会得到一个低电平的共阳接法

/***********共阳接法*******************************/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define dat P0
sbit key1=P3^0;
sbit key2=P3^1;
uchar led,temp,num;
void key_pd();
void delay(uint aa)
{
    uchar bb;
    for(;aa>0;aa--)
        for(bb-110;bb>0;bb--);
}
void xianshi1()
{
    led=0xaa;
if(temp==1)
{
num=2;
while(num--)
{
    dat=led;
            delay(1000);
            delay(1000);
            led=_crol_(led, 1);
            delay(1000);
            delay(1000);
}
}
}

void xianshi2()
{
    led=0xfe;
if(temp==2)
{
num=8;
while(num--)
{
    dat=led; 
            delay(1000);
            delay(1000);
            led=_cror_(led, 1);
            delay(1000);
            delay(1000);
}
}
}
void key_pd()
{
    if(key1==0)
    {
        delay(10);
        if(key1==0)
        {
while(!key1);
temp=1;
        }
    }
 
    if(key2==0)
    {
        delay(10);
        if(key2==0)
        {
while(!key2);
temp=2;
        }
    }
}

void main()
{
led=0xff;
dat=led;
while(1)
{
key_pd();
xianshi1();
xianshi2();
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-03
单片机 控制 设置,,我都工作单片机5年了,有问题共同学习
相似回答