独闷闷网

标题: 如何编写测试1秒钟需要多少个定时中断次数的程序?已解答。 [打印本页]

作者: jianhong_wu    时间: 2014-10-28 09:54
标题: 如何编写测试1秒钟需要多少个定时中断次数的程序?已解答。
本帖最后由 jianhong_wu 于 2014-10-28 09:56 编辑

曹健-江苏:
* 如何知道1秒钟需要多少个定时中断?
* 这个需要编写一段小程序测试,得到测试的结果后再按比例修正。
* 步骤:
* 第一步:在程序代码上先写入1秒钟大概需要200个定时中断。
* 第二步:把程序烧录进单片机后,上电开始测试,手上同步打开手机里的秒表。
*         如果单片机倒计时跑完了99秒,而手机上的秒表才走了45秒。
* 第三步:那么最终得出1秒钟需要的定时中断次数是:const_1s=(200*99)/45=440

鸿哥  这个测试1秒钟需要多少中断次数的程序,谁可以教我一下?我不知道怎么编写?

鸿哥--深圳:
这是我连载技术贴《从业将近十年...程序框架》中的第几节?

曹健-江苏:
32节。数码管倒计时程序。

鸿哥--深圳:
你就用这个程序来计算就可以了。

曹健-江苏:
这个  公式  与中断的初始值设置有关 吗?

鸿哥--深圳:
无关。

曹健-江苏:
直接套用这个公式就行了?

鸿哥--深圳:
对。
曹健-江苏:
那鸿哥 ,只要是  51  我都用这个公式 ,可以吗?

鸿哥--深圳:
所有的单片机都可以。

曹健-江苏:
const_1s=(200*99)/45=440 与晶振的频率有关吗?

鸿哥--深圳:
与晶振也无关。
比如:
#define const_1s  440   //大概一秒钟所需要的定时中断次数

你可以把上面的440改成160试试,你会发现变慢了,你可能本来倒计时99秒的,实际手机上可能跑了300秒,然后把这些数据导入到那个公式,就可以得到一秒钟所需要的定时中断次数 。我上面教你的是修正时间的方法。晶振,初始化都是固定的,不要变,然后我们在这个基础上测试实际上一秒钟所需要的定时中断次数。

曹健-江苏:
其实就是 这个修正时间的代码我不会写。


鸿哥--深圳:
不用专门编写修正时间的代码,比如你搞一个1秒钟闪烁一次的led灯,刚开始的时候你先写入一个大概的中断次数,然后你就看它闪烁100次,手机跑了多少秒,再把所测试到的数据套入公式就可以得到1秒钟所产生的中断次数。

曹健-江苏:
我试一试。









欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2