void mdelay(unsigned int delaytime) //延时程序
{
unsigned int j=0; //无符号整数j
for(;delaytime>0;delaytime--) //for循环
{
for(j=0;j<100;j++) //125delaytime为所延迟的时间
{;}
}
这是延时程序,你要闪几下就进入下一条,程序如下
int i=0;
sbit LED=P3^3; //P33接LED
LED=0; //关闭LED
for (i=0;i<5;i++) //5次
{
LED=1; //开灯
mdelay(30); //延时30ms
LED=0; //关灯
mdelay(30); //再延时
}
用AT89C2051单片机(可以换成任意的51单片机)仿真,控制一个LED灯闪烁,LED灯接在P17脚上。程序如下
LED1 BIT P17
MAIN:CPL LED1
ACALL DELAY
SJMP MAIN
DELAY:MOV R7,#0;延时子程序
MOV R6,#0
LOP:DJNZ R6,$
DJNZ R7,LOP
RET
END
仿真图如下
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。
2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。
3、接着创建延迟函数,如下图所示,输入以下代码。
4、然后创建C语言主函数,如下图所示,输入以下代码。
5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。
# P1上接LED等。
#include "reg51h"
void delayms(unsigned int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=0;j<120;j++);
}
void main(void)
{
char i;
for(i=0;i<6;i++)
{
P1 = ~P1;
delayms(1000);
}
while(1);
}
以上就是关于利用C语言写单片机程序,怎么利用for或者while使LED灯闪几下然后进入下一条程序全部的内容,包括:利用C语言写单片机程序,怎么利用for或者while使LED灯闪几下然后进入下一条程序、如何用汇编语言控制led灯闪烁、单片机 8个LED灯随机闪烁怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)