[51单片机] AT89C51程序里需要定时三段不同的时间,怎样解决?求助4

[复制链接]
2242|9
 楼主| 单片机学习123 发表于 2013-9-3 15:08 | 显示全部楼层 |阅读模式
用AT89C51,只有两个定时器,C语言程序里现在需要有效定时三段不同的时间段,不知你怎样解决?求助……。如果硬延时会对程序干扰。
dirtwillfly 发表于 2013-9-3 15:32 | 显示全部楼层
找最小公约数,定时这个最小公约数的时间
 楼主| 单片机学习123 发表于 2013-9-3 16:08 | 显示全部楼层
dirtwillfly 发表于 2013-9-3 15:32
找最小公约数,定时这个最小公约数的时间

因为是初学者,能不能详细一点介绍,或者举例说明一下,麻烦了……?
xyz549040622 发表于 2013-9-3 17:18 | 显示全部楼层
比如需要定时1s,2s,3s,定时器为500ms翻转一次,设置三个值啊a,b,c,当a,b,c分别为120.240.360时,即达到定时时间
草民 发表于 2013-9-3 20:26 | 显示全部楼层
3个时间段,一个定时器就够了
streetkid 发表于 2013-9-3 20:37 | 显示全部楼层
你要是想要具体的答案,就把问题写具体了。你这样问的话,别人不太清楚,你究竟是哪卡住了。单从问题上来看,1个定时器完全可以搞定啊,简单来说,可以设置3个计时标志!不同的标志对应不同的计时!
outstanding 发表于 2013-9-4 00:56 | 显示全部楼层
3个时间段,如果成一定的规律,一个定时器 足矣
samsunghellome 发表于 2013-9-4 08:13 | 显示全部楼层
xyz549040622 发表于 2013-9-3 17:18
比如需要定时1s,2s,3s,定时器为500ms翻转一次,设置三个值啊a,b,c,当a,b,c分别为120.240.360时,即达到 ...

比如是3个程序段,1s,2s,3s,如果程序顺序执行,程序中前面打开定时器,开始定时1s,第二个用到定时器的时候,定时器已经被打开,怎么保证定时精准2s??  我现在的理解:一个定时器只能定时一个时间段,用过后在终端服务函数里关闭定时器。
opal11 发表于 2013-9-4 22:07 | 显示全部楼层
多看书,这点小问题,百度就可以搞定的。
blessdxp 发表于 2013-9-4 22:21 | 显示全部楼层
不同时间执行程序,利用SWITCH(x)即可解决,当然也有其他方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

134

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部