51单片机 通过串口发送控制LED灯 闪烁频率 c代码 跪求!!

2020-09-21 社会 144阅读
下面的程序我已经调试过了,你可以直接使用,但是一秒闪烁次数t的最大为2000,如果要大于这个数,你必须改小dalay1ms ()内的j值,就可以改大t
#include
sbit LED0=P1^0;
unsigned int t=0,k;
void dalay1ms (unsigned int i) //晶振选用11.0592
{
unsigned int j;
for(i;i>0;i--)
for(j=922;j>0;j--);
}

void main ()
{
EA=1;
ES=1;
TMOD=0x20; //定时器T1方式为2
TH1=0xfa; //波特率设定为9600
TL1=0xfa;
while(1)
{
if(t!=0)
{
k=2000/t;
dalay1ms (k) ;
LED0=!LED0;
}
if(t==0)
LED0=0;
}
}
void counter4(void) interrupt 4
{
while(RI==0);
RI = 0;
t= SBUF;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com