此程序应一个网友要求而作,批初步在硬件上测试通过晶振110592M,50ms常数是4c00,2ms常数是f8cc功能为检测断电延时时间,是否合格
//此程序应一个网友要求而作, 批开端在硬件上测验通过
//晶振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;}
}
}
}
}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/258351.html