讲解
简介
定时器/计数器
定时器实际上也是计数器,只是计数的是固定周期的脉冲
定时和计数只是触发来源不同(时钟信号和外部脉冲)其他方面是一样的。
定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔“一秒”,计数单元的数值就增加一,当计数单元数值增加到“设定的闹钟提醒时间”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使程序跳转到中断服务函数中执行。
中断
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来看电视,这个例子当中看电视这个动作就是常规的计算机运行过程,门铃响就相当于一个中断信号(中断请求),用户这时停止看电视(中断当前程序)起来开门(中断响应),关上门后(中断处理结束)继续看电视(继续执行当前程序)。这一整个过程就是中断发生时,CPU的处理方式。
还是上面的例子,现在假设门铃响的时候水烧开了,此时用户可以选择先开门后关水,也可以选择先关水后开门,这个先后关系就是中断优先级,假设门铃的中断优先级比烧水的优先级高,那就会先开门,后关水,反之,则会先关水,后开门,这就是针对两个及两个以上中断同时发生的时候CPU根据中断优先级执行中断的过程。
51单片机
定时器/计数器
16位寄存器T0、T1分别由TH0、TL0和TH1、TL1四个8位计数器组成
定时器的区别
T0可分为2个独立的8位定时器,而定时器1不能;
T1可作为串口的波特率发生器,而定时器0不能。
工作原理
用途:定时器和计数器
核心:加1计数器
原理:每来一个脉冲则加1计数器加1,当加到寄存器要溢出时再来一个脉冲使加1计数器归零(溢出)同时使TCON寄存器中的TF0(或TF1)置1,向CPU发出中断请求。
脉冲来源
定时器:由系统的时钟晶振输出脉冲源提供
计数器:脉冲来源是由T0或T1引脚输入的外部脉冲源提供
注意: T0或T1都不能同时既做定时器也做计数器
TCON控制寄存器
启动和停止定时/计数器的计数,并控制定时器的工作状态,支持按位寻址。单片机复位后清0。
注意:TCON寄存器中的低四位和定时计数器无关,和外部中断相关
位序 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
名称 | TF1 | TR1 | TF0 |