时间延时电器模块采用555定时方案实现功能
延时可以用定时器来实现,也可以自己写延时函数。这是51单片机定时器初始化示例程序,TMOD0x10f;//GATE0//C/T0--定时/计数器1工作于定时方式//M11;M00--选择工作模式1,构成最大定时器//T0:在此程序不使用TL10x13;TH10x2C;//指定定时时间为50ms6553650/(11.0592/12)112832C13hEA1;//开总中断TF10;ET11;//开定时器中断TR11;//开始计时如果用延时函数,要精确计算时间。
网上看到这种便宜的时间延时继电器模块,采用的方案是555定时的方案来做的,确实方便简单。接下来想选用一款单片机作为设计方案,来实现这一模块功能,让延时时间更加准确,也更加容易调节设定的时间。在这里跟大家每天分享软硬件设计、调试到成品的过程!1、51单片机用软件定时来控制舵机,延时函数怎么写?求解2、如何在不同的单片机中写延时函数延时都是以晶振的频率来计算的,如果要在不同的单片机里都能运行成功,那就得再加入晶振频率跟倍率,如此才能在各个不同的单片机里得到相同的延时时间.不过这样做会增加延时程序的困扰,一般都是用普通的延时来做.。如果采用12mhz的晶振,一条语句运行一次约为1us,你这个函数延时应该是zms,delay(10)就是10ms,不是很精确。
3、单片机延时函数第一个函数,比如你输入1000,则a1000,while(a0)这句表示,先判断a是不是等于0,不是就进行循环,是的话就结束循环,判断之后,a进行自减,for()这句实质也就循环一次,什么都不做。一般都是两个for循环延时,这样容易懂点,这里一个while加一个for,for里面是延时1毫米的时间,while里面是延时多少毫秒的时间,由传递参数决定。
这个应该不是精准定时的,因为没有写单片机的工作频率,应该是毫秒级的延时吧,不用记,要用的时候随便写就是,大概是那么多久可以了我一般写的是voiddelay(unsignedinti){unsignedintj;for(;i>0;i){for(j0;j<100;j ){}}}。
除非注明,文章均由 白起网络 整理发布,欢迎转载。