求51单片机c程序:用三个按键,kye1启动led1,key2启动led2 led1停止 在按key1不起作用 按key3,led2停止

求51单片机c程序:用三个按键,kye1启动led1,key2启动led2 led1停止 在按key1不起作用 按key3,led2停止,第1张

#include<reg51h>

sbit key1=P1^0;

sbit key2=P1^1;

sbit key3=P1^2;

sbit led1=P1^4;

sbit led2=P1^5;

bit flag=0;

main()

{

while(1)

    {

    if(flag==0 && key1==0)

        {

        led1=0;

        while(key1==0);

        }

    if(key2==0)

        {

        led1=1;

        led2=0;

        while(key2==0);

        flag=1;

        }

    if(key3==0)

        {

        led2=1;

        flag=0;

        while(key3==0);

        }

    }

}

keyflag应该是判断某个按键按了几次,不安的时候为0

if(KeyFlag == 0)

{

}

按一次时执行

else if(KeyFlag == 1)

{

if(BUTTON_add == 0 && KeyLock ==0)

{

}

if(BUTTON_reduce == 0 && KeyLock ==0)

{

}

按二次时执行

else if(KeyFlag == 2){

if(BUTTON_add == 0 && KeyLock ==0)

{

}

if(BUTTON_reduce == 0 && KeyLock ==0)

{

}

一楼正解,主要按键扩展标志是用来节省资源的,用最少的按键实现最多的功能!

#include<reg51h>

#define uchar unsigned char

uchar sec,min,num;

sbit led1=P1^0;

sbit led2=P1^1;

sbit key=P3^2;

bit flag;

void delay(uchar x)

{

uchar i,j;

for(i=0;i<x;i++)

for(j=0;j<120;j++);

}

void t0isr() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

num++;

if(num>=20)

{

num=0;

sec++;

if(sec>59)

{

sec=0;

min++;

switch(min)

{

case 0:led1=0;break;

case 1:if(flag){led1=0;min=0;flag=0;}

break;

case 4:led1=1;led2=0;break;

case 8:led2=1;break;

default:break;

}

if(min>=20)min=0;

}

}

}

void ext0() interrupt 0

{

delay(30);

if(key==0)

{

while(!key);

flag=1;

sec=0;

min=0;

num=0;

led1=1;

led2=1;

}

}

main()

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

EA=1;

EX0=1;

IT0=1;

TR0=1;

led1=0;

led2=1;

flag=0;

while(1);

}

以上就是关于求51单片机c程序:用三个按键,kye1启动led1,key2启动led2 led1停止 在按key1不起作用 按key3,led2停止全部的内容,包括:求51单片机c程序:用三个按键,kye1启动led1,key2启动led2 led1停止 在按key1不起作用 按key3,led2停止、关于单片机温度控制系统C语言程序中的按键设置程序,请求详细的介绍下按键的输入过程。while(1) { if(KeyFl、求单片机C语言编程p1.0,p1.1分别控制led1,led2. p3.2控制按键开关,求详细C程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/10116719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存