文档介绍:/*************************************************************************创建人:Fly**创建日期:****实现功能:精确定时**描述:几种方法实现精确定时**();**();Delay_10us();Delay_1s();**(unsignedinti)****适用机型:AT89S52**********************************************************************/#include<>#include<>unsignedcharcount=0x00;longi;/*************************************************************************实现功能:定时10us**描述:_nop_();空操作为1us**********************************************************************/voidDelay_10us(){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}/*************************************************************************实现功能:定时1s**描述:用Delay_10us()来实现;经过计算可得为3E01次**********************************************************************/voidDelay_1s(){for(i=0x00;i<0x3E01;i++)//经过计算可得为3E01次{Delay_10us();}}voidInitTime0(){TMOD=0x01;TH0=0x3C;TL0=0xAF;TR0=0x01;IE=0x82;}voidTime0(void)interrupt1{P1=0xFF;count++;if(count==0x14){P1=0x00;Delay_1s();count=0x00;}TH0=0x3C;TL0=0xAF;}/*************************************************************************实现功能:定时基本时间为50ms1s=50ms*20次**描述:用Delay_10us()来实现;经过计算可得为3E01次**********************************************************************/voiddelay_50ms(unsignedinti){unsignedintj;for(;i>0;i--)for(j=6245;j>0;j--);}voidmain(void){Delay_10us();delay_50ms(20);Delay_1s();InitTime0();while(1){}}voidDela