微控制器中斷 的interrupt 0 using 1中的us

2021-03-27 11:34:18 字數 4067 閱讀 1019

1樓:

看到樓上二位說的有誤,特糾正。

void int0()interrupt 0 using 1

interrupt 0 指明是外部中斷0;

interrupt 1 指明是定時器中斷0;

interrupt 2 指明是外部中斷1;

interrupt 3 指明是定時器中斷1;

interrupt 4 指明是序列口中斷;

using 0 是第0組暫存器;

using 1 是第1組暫存器;

using 2 是第2組暫存器;

using 3 是第3組暫存器;

51微控制器內的暫存器是r0--r7(不是r0-r3)

r0-r7在資料儲存器裡的實際地址是由特殊功能暫存器psw裡的rs1、rs0位決定的。

using 0時設定 rs1=0,rs0 =0,用第0組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(00h)....r7(07h)

using 1時設定 rs1=0,rs0 =1,用第1組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(08h)....r7(0fh)

using 2時設定 rs1=1,rs0 =0,用第2組暫存器,r0--r7的在資料儲存區裡的實際地址是08h-0fh。r0(10h)....r7(17h)

using 3時設定 rs1=1,rs0 =1,用第3組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(18h)....r7(1fh)

2樓:匿名使用者

using 0 是第

0組暫存器。

using 1 是第1組暫存器。

using 2 是第2組暫存器。

using 3 是第3組暫存器。

using 0時設定 rs1=0,rs0 =0,用第0組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(00h)....r7(07h)。

using 1時設定 rs1=0,rs0 =1,用第1組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(08h)....r7(0fh)。

using 2時設定 rs1=1,rs0 =0,用第2組暫存器,r0--r7的在資料儲存區裡的實際地址是08h-0fh。r0(10h)....r7(17h)。

using 3時設定 rs1=1,rs0 =1,用第3組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(18h)....r7(1fh)。

3樓:匿名使用者

using是區分使用哪一組工作暫存器組的,51微控制器有4個工作暫存器組的,每個8位元組,一共32個位元組,

4樓:匿名使用者

一般51微控制器會有4組暫存器從r0到r3

using 1的意思就是0中斷會用到第一組暫存器

微控制器中斷:interrupt 0 using 1後面的using 1是什麼意思

5樓:龍魂胖子

是指這個中斷函式使用微控制器記憶體中四組工作暫存器中的哪一組,c51編譯器在編譯程式時會自動分配工作組,因此using x這句經常不寫。

6樓:匿名使用者

二樓說的對 就是一個工作暫存器,存取資料比較方便,自動分配,好多情況下都不寫

7樓:匿名使用者

中斷向量1的意思吧

你檢視微控制器晶片的 資料手冊 裡面中斷的章節寫著 中斷向量1戴錶的是什麼中斷的

8樓:伏霞經翊君

using是區分使用哪一組工作暫存器組的,51微控制器有4個工作暫存器組的,每個8位元組,一共32個位元組,

寫微控制器中斷中(c語言) interrupt 1 using 0 1 ,0 是什麼用的?求解釋。

9樓:匿名使用者

interrupt 後面的點是中來斷號。重點我源給你解釋下using。

這是c51編譯器擴充套件的bai關鍵du字。用來選擇80c51單片zhi機中不同的暫存器dao組,你也知道r0-r7總共有4組,那麼using 後面的數字也就是0-3範圍裡的一個數了。如果不需要using的話,編譯器會自動選擇一組暫存器作為絕對暫存器訪問的。

using對**是有一定的影響的。

給你說個簡單的例子,你可以想下,

如果定義

void time0() interrupt 1 using 1假設,我們又在中斷裡呼叫了一個delay();這個delay是起延時作用。

那麼,我們就需要確保我們使用的暫存器組是同一組,否則,就會出現混亂。

10樓:匿名使用者

51微控制器來內的暫存器是r0--r7(共有四組即源32個位元組)

r0-r7在資料儲存器裡的實際地址是由特殊功能暫存器psw裡的rs1、rs0位決定的。

using 0時設定 rs1=0,rs0 =0,用第0組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(00h)....r7(07h)

using 1時設定 rs1=0,rs0 =1,用第1組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(08h)....r7(0fh)

using 2時設定 rs1=1,rs0 =0,用第2組暫存器,r0--r7的在資料儲存區裡的實際地址是08h-0fh。r0(10h)....r7(17h)

using 3時設定 rs1=1,rs0 =1,用第3組暫存器,r0--r7的在資料儲存區裡的實際地址是00h-07h。r0(18h)....r7(1fh)

51微控制器中斷interrupt……using……的用法

11樓:五棟五零二

c51微控制器編譯器在編譯程式時會自動分配工作組,通常省略不寫,沒有預設使用哪組,如果你要知道使用哪組,你可以用using自己分配一個啊。

12樓:匿名使用者

不加using的話, 預設是第一組暫存器 r0 ~ r7 , 跟主程式中使用同一組暫存器

這樣的話, 進中斷後要儲存的暫存器就多了8個了, 哦, 這個是c語言自己處理的, 速度上就要慢了一點, 在一些需要實時中斷的地方, 有可以會出現問題

13樓:匿名使用者

在使用using的時候,中斷中呼叫的函式要和中斷用到的暫存器組儲存一致,這樣資料才不容易出錯。或者不註明暫存器,將函式中的變數變成全域性變數或者用volatile宣告區域性變數。中斷中還是要注意變數的個數不能太多。

14樓:匿名使用者

這個具體不是很清楚,我好像都是不用using的

微控制器中斷系統函式的interrupt後面的using幾是什麼回事啊?

15樓:胃火神

有四組工作暫存器,using只是說明用哪組暫存器,以免衝突!

16樓:匿名使用者

51微控制器中有好幾組暫存器,在這裡用using指定中斷中使用哪一組暫存器。

17樓:昝蝶欒歌

不加using的話,

預設是第一組暫存器r0~

r7,跟主程式中使用同一組暫存器

這樣的話,

進中斷後要儲存的暫存器就多了8個了,

哦,這個是c語言自己處理的,

速度上就要慢了一點,

在一些需要實時中斷的地方,

有可以會出現問題

微控制器c語言中斷中後using 0--3寫的話有什麼作用

18樓:

using x用來修飾函式,但一般只用來修飾終端函式

如果你的終端服務程式使用了暫存器r0-r7,那麼通常做法是把這些暫存器入棧

然後你用他們,中斷返回的時候再出棧復原,但是這麼做會花很多時間在棧操作上

對響應時間要求嚴格的程式,可以用using指定一個沒人用過的暫存器bank

這樣就不用保護暫存器資訊了,可以縮短終端處理時間

使用using一定要保證沒有其他優先順序的中斷和使用者程式使用同樣的暫存器組,

也沒有任何程式使用這個暫存器組所在地址,否則回出問題

微控制器中斷問題,51微控制器外部中斷問題

不太明白你問的問題。t0還有空間呢?如果想在t0中斷內增加程式,也是可以的,長度和t0沒有關係,只要微控制器的儲存空間夠就可以了。儘量不要在中斷中執行程式,會影響整個流程的合理性。所以一般只在中斷中設定標誌。微控制器的中斷入口都是排列在地址的最低端的,分別為0003,000b,0013,001b,0...

微控制器中斷實驗,微控制器定時器中斷實驗 程式(組合語言)不要c語言的

include 包含52微控制器暫存器定義的標頭檔案 函式功能 主函式 void main void 函式功能 外中斷t0的中斷服務程式 void int0 void interrupt 0 外中斷0的中斷編號為0 這是一個外中斷led實驗,你看看吧 中斷實驗有幾種,譬如外部中斷0,1,定時器中斷 ...

51微控制器中的中斷服務程式後面的using使用的暫存器有什麼作用

你好,tmod結構 用於設定定時 計數器工作方式,高4位控 制位t1,低4位控制t0,不可位定址 直接tmod 0x11 就是把t1和t0都設定成16位定時器,細節可看這裡,http wenku.baidu.微控制器中斷 的interrupt 0 using 1中的using有什麼作用 看到樓上二位...