我與微控制器的日子 (四)

2021-07-05 10:35:49 字數 711 閱讀 3929

這個隔的時間有點長了,這次接觸的中斷的概念難度確實稍微有點高,單是執行方式就研究了好久。其實最後我也沒有搞定,不過是終於會編寫定時器0的工作方式1而已。然後再總結一下我所學到的。

1.中斷概念

中斷就是在一定條件下,主程序暫停,然後執行interrupt工作組(應該是這麼說吧)。其中有個多執行緒,就是計數器是單獨的執行緒,和主程式一起進行。就我所學到的來看,定時計數器的工作原理是:有乙個儲存空間,每13個時鐘週期,儲存空間的數值加一,加滿之後向乙個特殊的位置進一,那個位置一旦為高電平,馬上cpu中斷。

2.基本電路

定時計數器的電路特別複雜,我真的不能分析出來,鎖以也只能稍微詳細的說一說內部工作情況。首先對於定時暫存器,有中斷控制暫存器,專門給控制定時器的可用與否,ea為高,et0為高。但是光可用還不夠,還有專門確定定時器工作方式的工作方式暫存器tmod,如果是我所說的工作方式,那就給它賦值0x01。給tr0為高電平,則定時器開啟。這個時候th0於tl0開始計數。當然,我們可以人為設定初始數值,這樣可以控制時間。比如我要計時1s,因為大概是0.000001s計數一次(可以計算),則要計數1000000個數,但是th0和tl0最多一次計數65536個數,解決的辦法計時可以分100次計數,每次記錄10000個數,則可以計算賦的初值為(tho=(65536-10000)/256,tl0=(65536-10000)%256).定時器開始工作後,當中斷開始,就進入中斷服務。一般中斷服務有特別的函式,函式後面帶字尾interrupt 1.

我的微控制器學習

學了1年微控制器總覺的只是懂多點外圍器件的應用而已,自己本身的微控制器知識沒什麼進步。今年的廣西區電子設計大賽開始報名了,自己電路題更是沒練過,恐怕大賽入圍的目標要泡湯了。我們組雖然是大一上學期就開始學微控制器的但是學習單片的入門時期用了很長時間,那時c,電路,模電,數電沒學,進度很慢。上學期算是入...

2011 11 3微控制器(四)

動態數碼管顯示 目的 同時顯示多個不同字串 原理 延時時間設為5ms 利用人眼反映時間差 注意事項 1.proteus除錯,需設定系統 設定動畫選項 將原來預設的25 50m 50m 20 設定為50 5m 10u 12m 4 沒單位的預設設定為1s 2.實際應用時段選位選都需加鎖存器,否則容易跳亂...

微控制器(四) 矩陣按鍵

矩陣鍵盤共有16個按鍵,如何通過按乙個按鍵,能夠將對應的引腳電位拉低,下面看一下電路圖 大概就是這樣,掃瞄按鍵的程式如下 unsigned char key scan void 這是縱向掃瞄 keyport 0xfd if 0xfd keyport 第二組四個按鍵 keyport 0xfb if 0...