原创 基于51单片机的电源延时检测器的设计

2008-4-18 20:20 1754 9 9 分类: MCU/ 嵌入式

//此程序应一个网友要求而作, 批初步在硬件上测试通过
     //晶振11.0592M,50ms常数是4c00,2ms常数是f8cc
     //功能为检测断电延时时间,是否合格(是否在2ms到50ms之间。)
     //2007/12/24


单片机学习视频教程


http://www.studydz.com/html/60/category-catid-60.html


电路分析的视频教程


http://www.studydz.com/html/62/category-catid-62.html
     #include
       sbit led0=P1^0;   //显示错误
       sbit led1=P1^1;   //显示错误
       //led0与led1同时亮,则测试通过,只亮一个,则错误,两个全不亮,则异常
       sbit starttest="P1"^2;   //检测开始信号,被测电源关闭时,同时产生的信号
       sbit test="P1"^3;        //高电平等待
     
      void main(void)
         {
         unsigned int testtime="0";
         TMOD="0x01";
         EA="1";
         TH0=0;//初值为0,这样可以定时到最大的值,所测时长不能超过此值(此程序中约71ms)
         TL0=0;
         while(1)
              {
              starttest="1";//初始化检测点
              test="1";     //初始化检测点
                  if(starttest)
                     {
                     led0=1;
                     led1=0;
                     }
                  else
                     {  
                         if(!test)
                            {
                            led0=0;//如果有了测试信号,但test为0,则异常
                            led1=0;
                            }
                        else
                           {
                             TH0=0;
                             TL0=0;
                              TR0=1; //开始对内部时钟计数(开始测试)
                              while(test);//等待延时完成
                              TR0=0;
                              testtime="TH0"*256+TL0;
                               if(0x4c00                                  {led0=1;led1=0;}
                                 else
                                    {led0=0;led1=1;}
                             }
                     }
            }
        
         }

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条