前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发定时器中断寄存器

C51 单片机开发定时器中断寄存器

作者头像
码农UP2U
发布2024-06-07 15:48:21
820
发布2024-06-07 15:48:21
举报
文章被收录于专栏:码农UP2U码农UP2U

闲话:本文的内容介绍了关于定时器0 的中断允许控制寄存器的内容,内容其实也并不多。这些内容转化代码后,代码量也很少,但是这些知识又是不得不去了解的。以前学 CCNA 的时候,看书就体会很深,书上讲某个知识点的时候,理论特别长,然后我觉得这配置起来得多麻烦,结果几条命令就配置完了。还有很多知识也是这样,它有复杂的理论在背后做支撑,又有简单易用用户接口(命令行或 API)。所以,有些枯燥的理论该看还是要看啊!!!

上篇文章介绍了中断的概念,本篇文章继续整理关于定时器中断相关的寄存器。上篇文章中已经知道,这些寄存器需要进行配置,配置完以后才能完成相应的中断。

0x01:中断结构

在编程之前需要了解中断结构,还需要了解需要配置哪些寄存器才可以使用中断。我们先来看一下中断结构,如下图,手册 P156:

在上图中可以看出,有 8 个中断源,定时器 0 在上图左侧靠上的位置。定时器 0 在图中被称为 Timer0/TF0,当需要 Timer0/FT0 进行中断请求的时候,需要配置 “中断允许控制寄存器”,然后要通过 “中断优先级控制寄存器”,最后到达 CPU 来选择对应的中断源来处理不同的中断请求。在上图中,Timer0/TF0 向右侧的 ET0 是断开的,接着还有一个 EA 也是断开的。对于 EA 来说,它对所有的中断都起到 “允许控制” 的作用。所以,我们想使用 Timer0/FT0 的话,需要配置 ET0 和 EA 对应的寄存器。

0x02:中断允许寄存器

在上图中看到,“中断允许控制寄存器” 下方箭头指着 “IE、XICON 寄存器”。它明确的说明 IE 和 XICON 是中断允许寄存器。我们查看手册的 P158,如下图:

上图是 IE 寄存器,该寄存器就包含了 EA 和 ET0 寄存器。在图中的表格上面有一句话,“IE:中断允许寄存器(可位寻址)”,也就是说该寄存器仍然想前面的寄存器可以按位进行操作。我们提到的 ET0 和 EA 寄存器都包含在 IE 寄存器中。EA 寄存器是 CPU 的总中断允许控制位,回顾第一个图,EA 贯穿整个中断允许寄存器。EA 在 IE 寄存器的第 7 位。ET0 是 T0 的溢出中断允许位,在 IE 寄存器的第 1 位。

0x03:定时器0中断的条件

前面说了那么多,这里总结一下。CPU 响应定时器 0 中断的前提是需要配置 IE 寄存器的 EA 和 ET0,也就是第 7 位和第 1 位。

我是一个程序员,了解 C、PHP、Java、ASM、Python,有 信安、CISP 证书,写小白也能看得懂的文章,感谢关注!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01:中断结构
  • 0x02:中断允许寄存器
  • 0x03:定时器0中断的条件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档