怎么让LED灯延时1秒

来源:互联网 发布:mac mini a1176 t5550 编辑:程序博客网 时间:2024/04/30 19:40

/*******************************************************************************************************

首先,源代码很简单,只有两重for循环;学习LED的固定闪烁时长就是学习keil下调试程序(debug)


先在keil界面,打开工程设置对话框,在Target标签下的Xtal(MHZ)后面填入自己的单片机的晶振频

率值;keil在编译时,要计算真实时间,就和这个晶振频率有关(关于单片机的四个周期,上篇已经描

述,此文就不再赘述);点击调试按钮,界面左侧会出现一些寄存器的相对应的值,此时我们红点关

注sec的变化,即时间。我们在第一个for语句和第二个for语句前分别设置断点(在行号处双击);然

后点击全速运行按钮,当程序遇到断点就会停下,记录下此时的时间;继续全速运行,当再次断开的

时候记录下此时的时间,如果时间差接近1S,即愿望达成,成功定时,


根据前辈经验,当第二重for循环语句为110时,外面那一重的for循环次数约等于程序运行的毫秒数。

*********************************************************************************************************/

#include <reg52.h>

sbit LED1 = P1^0;//将LED1指向P1口的最低位

#define uint    unsigned int;

uint i,j;

 

void main()

{

    while(1){

        for(i = 1000;i > 0;i--){

            for(j = 110;j > 0;j--){

                LED1 = 0;

            }

        }

        for(i = 1000;i > 0;i--){

            for(j = 110;j > 0;j--){

                LED1 = 1;

            }

        }

    }

}