打印
[51单片机]

如何让单片机定时器计数暂停 (不关定时器)

[复制链接]
3465|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
asbnasbn|  楼主 | 2013-7-23 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
启动和暂停,当暂停时候,暂停工作,但是如何让正在计的数也暂停?定时器又不能关,因为关了会影响其他扫描程序。
举个例子:
void main()
{
timer_init();
while(1)
{     scan();//定时器动态扫描     
    work();//
  }
}
比如work()函数里有 led 亮 10s 后再灭 这个功能。如果当led一亮的时候,我按暂停键,等过了5s在按启动,这样led只会亮5s再灭。因为虽然按了暂停键,负载能根据指令暂停,但是那个定时器计数一直再计时呢,num++呢。关闭定时器的话,又会影响按键扫描。谢谢各位大虾!

相关帖子

沙发
ayb_ice| | 2013-7-23 17:09 | 只看该作者
读出来保存

使用特权

评论回复
板凳
soso| | 2013-7-23 18:46 | 只看该作者
看看51单片机C语言创新教程网上有PDf版本下载内部有实例

使用特权

评论回复
地板
popeye021| | 2013-7-23 19:25 | 只看该作者
按下暂停时,停止变量计数不就行了,亮灯的计数和按键扫描计数变量使用两个不同的变量

使用特权

评论回复
5
NE5532| | 2013-7-23 20:55 | 只看该作者
楼主的“不关”应该是“不清除”的意思吧?

使用特权

评论回复
6
ZG11211| | 2013-7-23 21:53 | 只看该作者
很简单的问题,做个计数标志位,要他计数就计数,要他暂停就暂停,定时器它走它的,和你的计数器不影响。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

15

帖子

0

粉丝