微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于51单片机的电源延时检测器的设计

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

时间:11-26 来源:互联网 点击:
//此程序应一个网友要求而作, 批初步在硬件上测试通过
//晶振11.0592M,50ms常数是4c00,2ms常数是f8cc
//功能为检测断电延时时间,是否合格(是否在2ms到50ms之间。)
//2007/12/24
#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;}
}
}
}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top