求一个单片机随机点亮LED灯的程序

原问题:求一个单片机随机点亮LED灯的程序
分类:编程开发 > 最后更新时间:【2017-07-26 21:31:59】
问题补充:

求一个单片机随机点亮LED灯的程序

最佳答案

#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit longtime=P3^2; //增加灯的时间sbit shorttime=P3^3; //减少灯的时间uchar i,a;uint num;void delay(uint z){ uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}void init(){ num=10; P0=0xFE; a=P0;}void keyscan(){ if(longtime==0) { delay(5); if(longtime==0) while(!longtime); num=num+200; } if(shorttime==0) { delay(5); if(shorttime==0) while(!shorttime); if(num>=200) num=num-200; else num--; if(num==0) num++; }}void main(){ init(); while(1) { for(i=0;i<8;i++) { keyscan(); a=_crol_(a,1); P0=a; delay(num); } }}

最佳答案由网友  乐缘仙  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
3

分享到:

其他回答

其它网友回答:
volatile int a;

其它网友回答:
 

其它网友回答:
void setup()

其它网友回答:
{

其它网友回答:
  randomSeed(analogRead(0));

其它网友回答:
  a = random(1, 13);

其它网友回答:
}

其它网友回答:
 

其它网友回答:
void loop()

其它网友回答:
{

其它网友回答:
  pinMode(a, OUTPUT);

其它网友回答:
  digitalWrite(a,HIGH);

其它网友回答:
  delay(1000);

其它网友回答:
  pinMode(a, OUTPUT);

其它网友回答:
  digitalWrite(a,LOW);

其它网友回答:
  delay(1000);

其它网友回答:
  a = random(1, 13);

其它网友回答:
 

其它网友回答:
}

其它网友回答:

    推荐