想这样一个问题当你在做饭的时候
当门铃响起来,你的电话也被人拨打,同时这时候你还想上厕所,你该怎么完成这几件事呢
你必须对你做饭这个事情中断,才能去做其他事情
那么对于人来说是大脑控制中断
而对于单片机来说执行这一功能的就是中断系统
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的;当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示CPU中断的请求源称为中断源。
那么打电话,上厕所,去开门这是很多个中断源,我们的大脑可以同时处理,对于单片机来说
单片机的中断系统允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请求。
对于STC15F2K60S2单片机来说
STC15F2K60S2系列单片机提供了14个中断请求源,它们分别是:外部中断0(INT0)、定时器0中断、外部中断1(INT1)、定时器1中断、串口1中断、A/D转换中断、低压检测(LVD)中断、CCP/PWM/PCA中断、串口2中断、SPI中断、外部中断2(INT2)、外部中断3(INT3),定时
器2中断以及外部中断4(INT4)。
那么中断请求源也有优先级
优先级数字越低,证明优先级别越高,低优先级中断不会更新高优先级中断,但是高优先级中断会更新低优先级中断。
那么什么是定时器/计数器呢,
和他名字一样他是用来定时的,计数的
上边我们说到中断,定时器也是一个中断源,
当有一个计数器的脉冲到来时,就会进入一次中断
我们可以通过计数器来统计进入中断的次数
同样,我们把计数器的脉冲设置成和时钟有关的变量,
就变成每隔一段时间进行一次中断,我们就可以统计一段时间内的中断次数
还是以STC15F2K61S2为例
他一共有定时器0/1/2三个定时器,
那么它是如何精准定时的呢
是通过晶振,晶振通过震动固定的频率,从而根据频率来计算时间。
我们通过对定时器的初值进行设置然后让它按照我们规定的时间发出脉冲,就达到了我们定时的目的。