标题:
单片机一个独立按键控制4个led
[打印本页]
作者:
白露横江
时间:
2018-8-25 20:26
标题:
单片机一个独立按键控制4个led
普中2.0的板子 使用独立按键通过ID的大小来控制led
#include <reg52.h>
#define u16 unsigned int //数据类型的定义
#define u8 unsigned char
u16 ID=0; //通过ID的大小来控制某个led的闪烁
sbit led=P2^0; //led的管教定义
sbit led1=P2^1;
sbit led2=P2^2;
sbit led3=P2^3;
sbit k1=P3^1; //独立按键的定义
sbit k2=P3^0; //复位按键
void delay(u16 i); //延时函数
void key(); //按键函数
void main()
{
while(1)
{
key();
switch(ID)
{
case 1: led=~led; led3=1; delay(5000); break; //led的闪烁实现
case 2: led1=~led1; led=1; delay(5000); break;
case 3: led2=~led2; led1=1; delay(5000); break;
case 4: led3=~led3; led2=1; delay(5000); break;
}
}
}
void delay(u16 i) //延时函数
{
while(i--);
}
void key() //按键函数
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
ID++;
}
if(ID>4)
{
ID=0; //当按了4次后第五次按下所有的led不在闪烁
led3=1; //是led4 停止闪烁
}
while(!k1);
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
ID=0;
led=1;
led1=1;
led2=1;
led3=1;
}
while(!k2);
}
}
作者:
cyy~qmr
时间:
2019-8-2 11:31
case 1: led=~led; led3=1; delay(5000); break;
为什么 受面试 led3=1? 楼主方便说一下吗 ?
作者:
cyy~qmr
时间:
2019-8-2 13:08
还有就是 如果用左移右移函数来移动led 是什么样的程序 楼主大大方便告知一下嘛
作者:
ccgfcch
时间:
2019-8-2 16:47
对于我这个新手来说,一头雾水
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1