单片机怎么嵌套定时(12MHz晶振)

2019-07-15 08:36发布

单片机怎么嵌套定时(12MHz晶振)。假设我想定时50 999 999us,我怎么利用T0和T1定时器嵌套定时?例如:我想用T1定时9999us,再用T0定时5099ms(也就是50 990 000us),这能实现?能要怎样弄?不能可以用什么其他代替?要求:如果有按键按下,定时才开始(到时间后就让静态数码管显示一个0好了)要不单片机什么都不做。求思路或者具体的单片机C语言代码(最好带有注释)。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
blust
2019-07-15 21:28
首先,你的单位转换有问题,你跟谁学的5099ms是50990000us? 999us再加1us就是1ms了。。。
关于定时器嵌套问题,其实用一个定时器就可以完成,你可以配置一个1us的定时器,然后另外定义ms数与us数的变量,进一次定时器中断us数加一,us数加到1000后清零,同时ms数加一,可以灵活计时任意数值。
如果你非要用两个定时器的话,你可以在T0定时5099ms(先按照你说的数举例吧),在T0进中断后初始化并启动T1,然后在T1进中断时就是你需要的时间了。

一周热门 更多>