今天和大家聊聊單片機(jī)的二兒子(定時(shí)器)和四兒子(中斷)吧。
其實(shí)為什么要把定時(shí)器和中斷放在一起來說呢?其實(shí)很簡單,比如你買了一塊手表,你是不是得自己看著手表才能知道現(xiàn)在幾點(diǎn)(把你想象成單片機(jī))。比如,現(xiàn)在 4.58 分快下班了,你是不是眼睛必須時(shí)刻不停的盯著秒針看,這樣你才能在 5 點(diǎn)準(zhǔn)時(shí)下班,不給公司多賺你 1s 鐘的時(shí)間?有人想問,為啥不設(shè)置一個(gè) 5 點(diǎn)的鬧鐘呢?這樣我就可以做其他事情,等鬧鐘一響我就可以收拾撤退了。對(duì)的,將定時(shí)器和中斷結(jié)合到一起,就可以實(shí)現(xiàn)鬧鐘的功能了。
比如,我們?cè)诙〞r(shí)器上設(shè)置一個(gè)時(shí)間節(jié)點(diǎn)(也就是鬧鐘的意思)。這樣,定時(shí)器在時(shí)間到的時(shí)候就會(huì)讓中斷叫你一下,就好比:你上班上得好好的,鬧鐘(定時(shí)器時(shí)間到了)響了,老板(中斷)跑過來讓你趕緊走。有任何事情,等你明天再來處理。而且這時(shí)候你不想走都不行,于是你把沒完成的任務(wù)全部寫在了一張紙上,等明天過來的時(shí)候再繼續(xù)工作。
其實(shí)說白了,定時(shí)器和中斷組合在一起之后,你就可以解放了,不用時(shí)時(shí)刻刻的盯著手表等時(shí)間到,而是等待手表過來告訴你,時(shí)間已經(jīng)到了。(你品你細(xì)品)第一種:你每時(shí)每刻的盯著手表看,然后看時(shí)間有沒有到?第二種:時(shí)間到了,有人來安排你下一步工作。你覺得那種更好一點(diǎn)?具體流程如下圖對(duì)比。
差異性比較一下:
第一種:如果他想下班,只有可能吧第一步,第二步,第三步全部走完,才可能下班。比如打字的時(shí)候已經(jīng) 5 點(diǎn)了,但是打字又打了 20 分鐘,結(jié)果一看手表 5.20 。白給老板加班 20 分鐘。
第二種:現(xiàn)在不是他想不想下班,而是有個(gè)定時(shí)器在旁邊幫他看著時(shí)間,只要 5 點(diǎn)一到,定時(shí)器就必須要他下班,不下班就揍他。這時(shí)候他可能在1,2,3,步其中的任意一步。
第二種比第一種好的地方在于,它增加了系統(tǒng)本身的實(shí)時(shí)性(說得簡單點(diǎn),就是到什么時(shí)候必須做什么事,不允許有 1s 的偏差)。
==============================
下一節(jié)給大家詳細(xì)講解 51 定時(shí)器的基本使用點(diǎn)。