请教单片机中一个定时器问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:21:03
EA=1;
ET0=1;
如采用定时器0,我发现都加上面两句。查了查,上句是“全部中断允许”,后者是定时器0可以中断。既然加上“全部允许中断”,为什么还有加上ET0呢?

时钟中断是 EA ET0 都有效的时候才有效。

2个东西不一样。

比如在某个时刻,状态为:
ET0 = 1 ET1 = 0 EA=1
这时时钟1有效,时钟2无效。
如果调用 EA=0
那么 ET0 = 1 ET1 = 0 EA=0
这时时钟1 2 无效。

再调用 EA=1
那么ET0 = 1 ET1 = 0 EA=1
这时时钟1有效,时钟2无效。恢复已有的中断允许状态。

这样不是很方便吗。
何况还有 EX0 EX1 ES

比如EX0可能是很重要的外部中断,
它的响应函数可以是:

开始
EA=0
...
...
EA=1
结束

举个简单的例子,中断服务就像去做火车,EA相当于火车站大门,ET0相当于车票,火车站大门打开了,不代表你就能上车,你还得有对应的票,ET0就是票。如果火车站大门都关了,有票也没用了。所以“大门开并且有票”就成了能坐车的必要条件。呵呵就这么简单。