/*******************************************************************************************************
首先,源代码很简单,只有两重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;
}
}
}
}