微控制器89s52外中斷INT0觸發串列埠傳送資料,不加延時程式為什麼資料出錯? 10

2025-03-29 12:30:06 字數 2771 閱讀 5445

微控制器89s52外中斷int0觸發串列埠傳送資料,不加延時程式為什麼資料出錯?

1樓:網友

我發個正確的給你,那你郵箱多少。

at89s52微控制器中斷源有幾個?

2樓:網友

有六個中斷源,多乙個t2

3樓:錦繡江山千萬年

標準51有5箇中斷向量(不算復位),分別是外部中斷0,定時器0,外部中斷1,定時器1,序列口;總共有6箇中斷標誌,序列口的傳送和接受共享一箇中斷向量。

各個終端標誌產生情況如下:

外部中斷可以設定邊沿觸發或者電平觸發,邊沿觸發進入中斷程式後硬體自動清中斷標誌,電平觸發需要軟體清標誌位;

定時器t0,t1計數溢位產生中斷,進入中斷程式硬體自動清標誌位;

序列口傳送完成或者接收到資料就觸發中斷,由於是兩個中斷標誌共享一箇中斷向量,所以需要在中斷程式裡由軟體判斷是傳送中斷還是接受中斷,並且只能由軟體清標誌位;

以上是標準51的中斷系統,52由於多了乙個t2定時器(t2定時器跟t0,t1功能相差很大,t2要強大很多),因此多了一箇中斷向量2箇中斷標誌(溢位中斷和t2外部中斷),t2中斷標誌必須由軟體清除標誌位。

中斷使能位於ie暫存器。

各中斷標誌位於相應的模組控制暫存器裡面。

模組 位地位 位名稱 說明。

t1 tf1 t1溢位標誌。

t0 tf0 t0溢位標誌。

t2 tf2 t2溢位中斷標誌。

exf2 t2外部中斷標誌。

外部中斷1 ie1 外部中斷1標誌。

外部中斷0 ie0 外部中斷0標誌。

序列口 ti 傳送中斷標誌。

ri 接受中斷標誌。

某at89s52微控制器序列口,傳送資料的幀格式由

4樓:栗闌改凌青

用微控制器at89s52的序列口方式0讀取8位資料,不是擴充套件io口。

必須要有其它晶元送來8位數,微控制器at89s52才能讀得到。

其它晶元,如果不是擴充套件io口,那麼又是什麼呢?

at89s52微控制器接收北斗模組發出的資料(9600的波特率串列埠輸出)的問題接收不了??程式如下:

5樓:萬惡小

沒仔細看,只看到了table0[4]==「g」,你確定不是應該==「a」麼?

對於at89s52微控制器外部中斷零允許中斷的c語言語句是?

6樓:沙裡波特

對於at89s52微控制器,允許外部中斷0 中斷,c語言語句是?

ex0 = 1;

別忘了採納。

微控制器at89s52利用定時器0和外部中斷0編寫乙個用來計算外部方波的頻率,c語言程式怎麼寫

7樓:大雨落幽燕白

中斷函式。計數器方式。

8樓:網友

中斷的時候 計數,在定時時間到的時候 計算頻率,應該算得出來。

為什麼不能進入at89s52微控制器的定時器2中斷服務程式?程式在keil編譯沒有問題,請高手指點。程式如下:

9樓:網友

你的程式能進入中斷服務,但是每次進入中斷,你沒有讓變數j遞增,所以j的值永遠是0,就永遠不會讓led閃爍了。

你把程式改成這樣:

if(j>=66)

else j++;

另外,儘量不要在中斷中進行延時,雖然你這裡是沒有什麼影響,但這種寫法應該儘量避免。

我用at89s52微控制器與pc串列埠通訊但是接收和傳送資料不正常請高手幫我看下

10樓:網友

我以前做實驗的時候發現,用微控制器串列埠工作方式一給計算機發資料並不能準確的發過去,經常是發乙個0x00,計算機收到的可能是0xfe。我老師分析說可能是出現丟碼現象,後來我的解決方法是設定用微控制器的串列埠工作方式三傳送資料,也就是多發一位資料,但計算機是忽略多發的那一位的。這多發的一位只是為了保證不會丟碼。

你的vb程式我看不懂,但我建議是這樣:

1:先去下乙個通用的串列埠除錯軟體代替你的vb程式,用你原來微控制器的程式給計算機發資料,這樣如果串列埠除錯軟體接收到的資料是正確,說明你的vb程式問題。

2:如果上述方法接收的還是錯誤資料,則建議把微控制器串列埠工作方式改成方式三,波特率和其他的不用變。再然串列埠除錯軟體接收資料看看。

另外:「pcon=0x00; //開總中斷,開串列埠中斷」

pcon不是中斷控制器,下面那句才是。 開中斷。

11樓:網友

有可能是波特率的問題,你可以嘗試變化一下波特率的大小。

微控制器89s52有3個定時器,那麼89s52的中斷優先順序預設的是怎麼樣的

12樓:隱遠翠綢

51微控制器的預設(此時的ip暫存器不做設定)中斷優先順序為:

外部中斷0定時/計數器0

外部中斷1定時/計數器1

定時/計數器2

序列中斷;

13樓:類丹阮娟

89s52的中斷的自然優先順序別是:(由高到低)1、外部中斷0

2、定時器0

3、外部中斷1

4、定時器1

5、序列中斷。

6、定時器2

如果你想把定時器2的優先順序置為最高,在ip暫存器中只把pt2位置為1即可。

at89c51和stc89c52微控制器的區別

1 生產的公司不同 at89c51是atmel公司生產 stc89c52是巨集晶公司生產。2 ram和rom不同 at89c51是128byte ram,4k rom stc89c52是256byte,8k rom。3 定時器數量不同 at89c51有t0 t1兩個16位定時器 stc89c52有t...

at89c52微控制器的允許輸入電流為多少

對於這個問題你可以不去管它是否會超過,關於允許的電流最大值,仔細閱讀資料手冊就知道了,別人說的也不一定對的,倒不如自己去核實一下。搞清楚兩個概念就行啦 灌電流和拉電流 對應上拉和下拉的概念看一下 切忌 知其然知其所以然!不懂的在hi我 電流輸入 at89c52是乙個低電壓,高效能cmos 8位微控制...

用89c52微控制器做乙個延時1個小時的延時子程式

初學者則正仿,自己試著清陸寫了個。寫的很亂,你看可以不。假設採用的晶振是mhz的。include include static int b static int c int delay hour void intrins init 定時器賦初值。th xe tl x int delay void m...