首页 > 电子

单片机延时时间,如何计算单片机的延时

单片机中的delay()的单位时间不是系统提供的,而是用户自己编制的。如果用循环语句实现的循环,没法计算,但是可以通过软件仿真看到具体时间,但是一般精精确延时是没法用循环语句实现的,如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.0592MHz、12MHz或6MHz晶振,第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1μs和2μs,便于精确延时。

网上看到这种便宜的时间延时继电器模块,采用的方案是555定时的方案来做的,确实方便简单。接下来想选用一款单片机作为设计方案,来实现这一模块功能,让延时时间更加准确,也更加容易调节设定的时间。在这里跟大家每天分享软硬件设计、调试到成品的过程!1、如何用单片机的delay实现延时?

最长的延时时间可达21665536μs。若定时器工作在方式2,则可实现极短时间的精确延时;如使用其他定时方式,则要考虑重装定时初值的时间(重装定时器初值占用2个机器周期)。扩展资料单片机C语言程序中延时函数delay的原理是:仅仅执行一些,没有实质性影响的所谓“无意义指令”,比如做比大小啊,做某个int的自加运算啊之类的。

2、哪位单片机高手详细的告诉我一下:单片机中的延时程序的延时时间怎样计算...

比如c51单片机的定时器1是16位定时器那么就是最大是65536如果晶振频率是12MHZ那么最大定时时间是65.536毫秒你定时一秒就可以把定时器装初值是加到65536正好是50毫秒经过20次50毫秒那么就是1s了。要看你用的是什么单片机,如果51单片机用汇编语言编写的话,延时可以算的很精确,如果是C语言的话,也不好算,是通过软件仿真的方式调试出来的。

3、单片机中怎么计算延时的时间

拜托,楼上几位不要拿51单片机的知识来解决AVR单片机的问题,不知道AVR单片机与51有很大的不同吗?如果使用定时器来延时,那16位的定时是不够用的,所以使用分频,而且分频数16,即8M÷16500K,然后使用定时器的CTC中断方式,设定比较值为50000,这样在发生10次中断之后的时间就是1S了,同样要延时5S,那就产生中断50次之后。

4、如何算51单片机延时时间

如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.0592mhz、12mhz或6mhz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1μs和2μs,便于精确延时,本程序中假设使用频率为12mhz的晶振。最长的延时时间可达21665536μs,若定时器工作在方式2,则可实现极短时间的精确延时。

保存到:

相关文章

Top