,单片机如何算延时
广告
拜托,楼上几位不要拿51单片机的知识来解决AVR单片机的问题,不知道AVR单片机与51有很大的不同吗?如果使用定时器来延时,那16位的定时是不够用的,所以使用分频,而且分频数16,即8M÷16500K,然后使用定时器的CTC中断方式,设定比较值为50000,这样在发生10次中断之后的时间就是1S了,同样要延时5S,那就产生中断50次之后。
网上看到这种便宜的时间延时继电器模块,采用的方案是555定时的方案来做的,确实方便简单。接下来想选用一款单片机作为设计方案,来实现这一模块功能,让延时时间更加准确,也更加容易调节设定的时间。在这里跟大家每天分享软硬件设计、调试到成品的过程!1、单片机中怎么计算延时的时间如果想精确延时,一般需要用到定时器,延时时间与晶振有关系,单片机系统一般常选用11.0592mhz、12mhz或6mhz晶振。第一种更容易产生各种标准的波特率,后两种的一个机器周期分别为1μs和2μs,便于精确延时。本程序中假设使用频率为12mhz的晶振。最长的延时时间可达21665536μs。若定时器工作在方式2,则可实现极短时间的精确延时;
2、单片机延时程序的计算keilC51环境下调试一下观察运行时间就行了sec就是运行的时间。本程序的耗时计算如下:1+[1+(1+1+2)*249+2]*5+2=4998T如果再算上主程序中的调用指令的2T,总共延时5000T。如果时钟频率是6MHz,那么正好延时10ms。你提的问题很不清楚,因为不同的单片机,时钟频率不一样,那么,延时时间也不一样,而且按照理论的计算公式来计算,也有近似的误差,所以最好的是在仿真上查看,然后得出结果。
3、“单片机如何确定延时时间”?单片机延时有软件延时和片内定时计数器延时,延时时间的确定是通过编程来实现的,可以根据单片机型号百度查询相关知识点。单片机执行程序时,所花费的,不是时间,而是“指令周期”,一个“指令周期”,包含一个或几个“机器周期”。一段程序,用了多少“机器周期”?你应该能统计出来,每个“机器周期”所对应的时间,要用“晶振频率”来求解。
上一篇: 电动自复位开关如何控制负载通断
下一篇: 22n2电容多大,电容22nj多少