控制工程师论坛

自动化软件

编程求教 ????????

belle
belle

2011-08-11

用单片机做“眨眼的LED”实验时,程序运行,每次只令灯亮或灭都没问题,但是一开延时不能出现期盼的灯亮灯灭的现象,这是怎么回事?  
实验的硬件条件是:STC89C52,编译环境:keil 3。

下面是我写的程序,请教高手!!!


#include <reg51.h>   // 文件包含处理

#define uchar unsigned char   //宏定义,方便以后程序的书写
#define uint unsigned int

sbit P1_0 = P1 ^ 0;    //位变量定义


void Delay(uint t)
{
   uchar i;
   while(--t)
   {
      for(i = 0; i < 125; i++)  //延时1MS,在这里我们用的晶振是是12M,根据机器周期的计算,我们
     {;}                        //可算得本次循环延时约1MS
}
}

void main(void)


{

while(1)
    {
    P1_0 = 0;      //点亮LED灯
    Delay(1000);   //应单片执行程序的时间很快,所以必须延时,要不看不到实验现象
    P1_0 = 1;      //熄灭LED灯
    }


回帖

评论1

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China