发布于 2007-12-01 00:39:05
0楼
用多定时器不合理,有两个问题:
1.同时放进去的产品数多于定时器的个数怎么办?
2.定时器不支持间接寻址,不停的循环管理空闲和在用的定时器编程上很繁琐(要写很多仅定时器号不同的重复的代码)
可以用以下方法:
1.制作一个软件定时器(可用sm0.5、SMW22、或者BITIM指令)
2.建一个先进先出的表
输入入理:每按一次启动,将定时器当前值追加到表中
输出处理:软件定时器当前值减表头,到达设定时间,蜂鸣提示,同时删除表中第一个值
这样可以突破系统定时器数目的限制
但表的长度是有限制的,如果还要同时放更多的产品,可指定一段内存,自建循环表,用两个指针分别指示表头和表尾,这样表的长度就只受V内存大小的限制了
生命存在的方式只有两种:腐烂或燃烧