導航:首頁 > 操作系統 > 單片機中斷定時

單片機中斷定時

發布時間:2025-03-15 10:46:47

單片機里的定時器與定時器中斷是兩個東西。

單片機里的定時器一般叫定時、計數器,既可以用作定時,又可以用作計數。
開啟定時器後,定時器的數會隨著你配置的寄存器的時間來增加,直到增加到溢出時,就會產生一個中斷信號,這時,如果你開定時器中斷了,就會產生定時器中斷。
打個比方,定時器好比你的鬧鍾,而中斷就好比你定的鬧鈴。你的鬧鍾開啟後一直在走,走到你定的鬧鈴時間的時候,就相當於定時器到中斷了,這時候,看你開沒開鬧鈴,也就是開沒開中斷,如果開了,鬧鈴就響了,就相當於進中斷了。

❷ 單片機定時器中斷初值是多少

1、系統晶振頻率是12M,則機器周期=12/12=1us;

2、定時1ms=1*1000=1000us;

3、工作在方式0下:最大計數值是2^13=8192;

4、定時初值=8192-(1*1000)=7192;

5、換算成十六進制數為:定時初值=1C18H。

定時器中斷是由單片機中的定時器溢出而申請的中斷。51單片機中有兩個定時器T0和T1。

定時/計數器T0和T1分別是由兩個8位的專用寄存器組成,即定時/計數器T0由TH0和TL0組成,T1由TH1和TL1組成。

此外,其內部還有2個8位的特殊功能寄存器TMOD和TCON,TMOD負責控制和確定T0和T1的功能和工作模式,TCON用來控制T0和T1啟動或停止計數,同時包含定時/計數器的狀態。

(2)單片機中斷定時擴展閱讀

定時器工作流程介紹:

定時器工作的流程可以按照這個順序(以51為例用定時器0方式一產生50毫秒的定時)

1、確定使用哪個定時器,使用哪種方式,這一步通過TMOD設置,TMOD的低四位是設置定時器0的,高四位是用來設置定時器1的;

其中的M0,M1是用來設置定時器工作在哪種方式,GATE一般用不要設置,C/T是選擇計數模式還是定時模式的,如:TMOD = 0X01,就說明定時器0工作在方式1。

2、接下來就要設置定時的時間,用定時器定時50毫秒,可以用這種方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;

可以這樣理解:因為這是定時器的初值,也就是說計數脈沖就是在這個數的基礎上向上遞增,到達65535後就溢出產生中斷。

3、第三步打開中斷,使用IE寄存器,首先打開總中斷EA = 1,這一步是所有中斷所必須的,然後打開定時器0中斷,ET0 =1。

4、這時准備工作結束,啟動定時器,使用TCON寄存器,TR0 = 1,實現了一個50毫秒的定時。

閱讀全文

與單片機中斷定時相關的資料

熱點內容
追源碼軟體 瀏覽:173
俄羅斯聖誕小姐姐入眠解壓聲音 瀏覽:452
手機分身加密有什麼用 瀏覽:261
程序員怎麼跟男朋友說我愛你 瀏覽:309
單片機頻率變化 瀏覽:428
哪個app可以看賭神 瀏覽:466
rstudiopython 瀏覽:127
團隊如何開發伺服器 瀏覽:440
php選擇資料庫的函數 瀏覽:772
dhcp伺服器新增地址 瀏覽:930
程序員跑三個月外賣 瀏覽:941
linux配置tomcat的jdk路徑 瀏覽:363
液體壓縮公式 瀏覽:777
php開發後台管理系統 瀏覽:360
python二分查找遞歸 瀏覽:447
微信如何發視頻不壓縮 瀏覽:902
河北2021美術高考綜合分演算法 瀏覽:606
如何為電腦文件夾加密 瀏覽:835
電腦自啟動應用命令 瀏覽:691
php判斷一個文件是否存在 瀏覽:829