|
50家元
做的是一个LED亮和灭循环的程序,如何让程序自动随机延时5-30秒亮点LED灯呢?比如LED亮延时2秒关闭,在随机延时7秒开启LED后2秒关闭,在随机延时12秒在开启LED呢、请问如何修改呢?
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1 ^ 7; //定义闪烁LED
/*********************************************************************************************
函数名:毫秒级CPU延时函数
调 用:DELAY_MS (?);
参 数:1~65535(参数不可为0)
返回值:无
结 果:占用CPU方式延时与参数数值相同的毫秒时间
备 注:应用于1T单片机时i<600,应用于12T单片机时i<125
/*********************************************************************************************/
void DELAY_MS (unsigned int a){
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}
/*********************************************************************************************/
/*********************************************************************************************/
void main (void){ //主程序
while(1){
unsigned char a;
LED=0;
DELAY_MS(300);
LED=1;
DELAY_MS(3000);
LED=0;
DELAY_MS(300);
LED=1;
for(a=1;a<25;a++)
{
}
}
}
|
|