誰可以通俗講講51微控制器暫存器,中斷都是些啥玩意?

時間 2021-06-07 21:49:02

1樓:Li尋文

首先呢,我們先認識暫存器。

那麼,比如:定時器控制暫存器,中斷控制暫存器,序列口控制暫存器,電源控制暫存器,中斷允許暫存器.......

首先我們要明白暫存器「存」的概念。

這裡定時器控制暫存器也叫TMOD

有乙個位址為89H,說明它在微控制器記憶體裡有乙個固定的位址。而每乙個暫存器有8個位(B7~B0)

每乙個位有乙個名字,如果可以直接呼叫他的名字,如:

GATE=1;

像這樣可以直接操控位的稱為:可位定址

那麼不可位定址只能間接的控制位,如:

TMOD=0x08;

那麼像上面,TMOD暫存器屬於不可位定址,所以GATE=1;是非法的,不能正常使用的。

那麼我們已經知道,暫存器有一種「存」的作用。

現在要了解它的「功能」,設定它的功能的過程稱為:

配置暫存器,如TMOD=0x08;或者位定址,都是配置暫存器,也就是給暫存器賦值。我們來看看配置暫存器的作用:

GATE :定時操作開關控制位,當GATE=1時,INT0或INT1引腳為高電平,同時TCON中的TR0或TR1控制位為1時,計時/計數器0或1才開始工作。若GATE=0,則只要將TR0或TR1控制位設為1,計時/計數器0或1就開始工作。

C/T :定時器或計數器功能的選擇位。C/T=1為計數器,通過外部引腳T0或T1輸入計數脈衝。C/T=0時為定時器,由內部系統時鐘提供計時工作脈衝。

可以看到,暫存器每一位的可以都可以設定它。就比如:

課程表就可以比作暫存器,我們一天的日程可以按照它執行。

而課程表的每一節課

------再拖一下下

新手初學51微控制器,是不是很難擠進微控制器開發這個行業?

salmon shall 建議不要再從51開始學了,純新手的話,先Arduino,再stm32,再樹莓派 這樣不同開發環境,不同複雜度都能夠漸漸接觸到,也更容易理解。 哭泣的刀手 天下事有難易乎看你怎樣看待萬事開頭難最主要的就是你開始學習入門的時候比較難已入手,我總結了幾點你可以看看也許對你有用,第...

51微控制器如何實現定時的問題?

天涯 include reg51.h define uchar unsigned char define uint unsigned int初始化程式 void initiation 定時器7a64e4b893e5b19e313333303266360中斷服務程式 void init timer0 ...

51微控制器中如果乙個數 暫存器B中的值怎麼表述?

Jienpeng lin pragma SRC typedef signedchar int8 t typedef signed short int int16 t typedef signedint int32 t typedef unsignedchar uint8 t typedef unsi...