求一个单片机随机点亮LED灯的程序
求一个单片机随机点亮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); } }}
其他回答
其它网友回答:
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);
其它网友回答:
其它网友回答:
}
其它网友回答: