独立按键控制8个led灯移位亮灭程序(使用独立按键控制led灯亮灭)
编程:利用单片机STC89C52RC设计4个独立按键控制8个LED的亮灭?
unsigned char num; sbit led1 = P1^0; sbit led2 = P1^1; sbit led3 = P1^2; sbit led4 = P1^3; sbit led5 = P1^4; sbit led6 = P1^5; sbit led7 = P1^6; sbit led8 = P1^7; sbit key = P3^7;
if(key ==0) {num++; } if(num==0){led1 =0;//亮,发光二极管负极接IO} //num是切换哪几个LED亮的或者哪几个LED灭的,
完整的就不写了,1是太多,浪费时间,2是对你自己比较好。
在51单片机中用c语言写程序实现用一个按键控制8个灯的亮和灭(按下按键灯亮,按下按键灯灭)
比如你的8个灯连在 P0口,如果是阴极的
你只要先定义
sbit P0^0=LED0;
.....一定定义下去
然后再定义一个按钮
比如P1.1
sbit P1^1=key;
代码里写
while(true)
{
if(key==1)
{
LED0=0;
LED1=0;
..//把你要亮的灯置0就行了。阳极的话置1
}
}
51c中只用一个开关控制8个LED轮流亮灭,按一下第一个亮,再按一下第二个亮第一个灭,怎么写程序?
#includereg51.h
#includeintrins.h
#define uint unsigned int
#define uchar unsigned char
sbit key=P1^0;
void Delay_ms(uint xms) //延时程序,xms是形式参数
{
uint i, j;
for(i=xms;i0;i--)
for(j=115;j0;j--);
}
void main(){
uchar led_data=0xfe;
while(1)
{
P2=led_data;//默认第一位亮
if(key==0)
Delay_ms(10);
if(key==0)
{
while(!key);
Delay_ms(500); //延时0.5s
led_data=_crol_(led_data,1);//移位函数,使led_date向左循环移动1位
}
}
}
向左转|向右转
已通过仿真,符合你的要求!
独立按键控制8个led灯移位亮灭程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于使用独立按键控制led灯亮灭、独立按键控制8个led灯移位亮灭程序的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~