肉嘟嘟的程序媛
认证:普通会员
所在专题目录 查看专题
暴揍单片机知识点 2 -- 三头六臂
暴揍单片机知识点 3 -- 51初窥
暴揍单片机知识点 4 -- 51的手表和闹钟 (1)
暴揍单片机知识点 5 -- 51的手表实操(2)
暴揍单片机知识点 6 -- 51的闹钟 + 闹铃
暴揍单片机知识点 7 -- 打电话
作者动态 更多
git 情景 4 —— 永世不灭
2021-12-16 22:14
git 情景 3 —— 多重分身
2021-08-06 17:28
git 情景 2 —— 时空穿梭
2021-06-08 01:20
git 情景 1 —— 封存历史,探索代码的前世今生
2021-05-13 21:11
git 版本管理 —— 使用场景以及入门
2021-05-11 13:12

暴揍单片机知识点 6 -- 51的闹钟 + 闹铃

前面第5部分,我们讲解了 51 定时器的使用。那么现在你手头上也就有了一块带数字显示的手表,它能不停的循环跑起来(从 初始值 -> 最大值 -> 0 -> 最大值).
其实呀,每次 51 定时器在从最大值跳转到 0 的时候会有一个检测。就好像闹钟一样(比如你设置了 8 点的闹钟,但是闹铃你没有开。虽然8点钟到了,闹钟会启动,但是不会吵醒你。所以你就迟到了。)这里一样,51单片机在从最大值跳转到0的时候也会启动一个事情,但是,这个事情到底会不会去叫单片机还需要设置一个开关。而这个开关我们就叫它(定时器溢出中断 ET0)也就是说,如果我们只需要在昨天的代码上增加两行如下代码:

这样,只要定时器从最大值跳转到 0 的时候,它就会发生中断(也就是闹醒正在干其他事的单片机过来)。
那么单片机到底被叫去哪里了呢?只要定时器的闹钟一发生,它就会告诉单片机时间到了。而这时单片机就会去寻找如下形式的函数。(为什么单片机知道它呢?就是因为函数屁股后面跟了一个 interrupt 0 ,主要函数配备了这个东西,闹钟一响就会跑过来执行它。不过尽量只有1个函数绑定它,否则单片机也会懵的,我到底选择哪一个?)

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 7
收藏 7
关注 54
成为作者 赚取收益
全部留言
0/200
  • 来自星球的我 2020-12-12 16:19
    围观学习
    回复