求微控制器中圍繞中斷的程式題目?急求

2021-07-30 21:18:49 字數 3648 閱讀 5326

1樓:嘻哈海棠

找了幾個定時/計數器的題目,外部中斷應該很簡單。

1、利用定時/計數器t0從p1.0輸出週期為1s的方波,讓發光二極體以1hz閃爍,設晶振頻率為12mhz。。

2、利用定時/計數器t1產生定時時鐘,由p1口控制8個發光二極體,使8個指示燈依次一個一個閃動,閃動頻率為10次/秒(8個燈依次亮一遍為一個週期),迴圈。

3、同時用兩個定時器控制蜂鳴器發聲,定時器0控制頻率,定時器1控制同個頻率持續的時間,間隔300ms依次輸出1,10,50,100,200,400,800,

1k(hz)的方波。

4、用定時器以間隔500ms在6位數碼管上依次顯示0、1、2、3….c、d、e、f,重複。

微控制器的外部中斷問題!!!現在急求答案!!**等!

2樓:匿名使用者

52微控制器不帶pwm功能,只能用定時器模擬,還要配合i/o。例如 週期 = 50ms ,當一個變數 小於 30ms時 p1.0等於1 否則等於0, 那麼p1.

0 在一個週期(50ms)裡前30ms 為1 後20ms為0.

可以選用stc12系列微控制器,自帶pwm。

定時器中斷不會影響外中斷0,外部中斷0的優先順序是出復位外最高的。(看下優先順序)

!中斷會打亂時序器件,例如:如果程式中還掛有iic驅動,那麼在執行iic時就應該遮蔽中斷,iic結束完後再開中斷。

3樓:匿名使用者

50us明顯太短,因為中斷程式本身消耗的時間也是在這50us中的,如果中斷寫的不夠簡練,那等於微控制器始終在中斷中跑了,主程式幾乎跑不動

4樓:最近的天涯海角

你確定pwm程式執行了?也許是你的示波器設定不對

5樓:匿名使用者

參考一下這個**例項,**試試

求微控制器題目的答案。。懂的人幫忙看看。謝謝

6樓:六月風

單選:b a c b d b c d

多選:ab,abcde,bce,abe

判斷:對 對 錯 錯 對 錯

這麼多題耗時間啊,給點分吧

急求!微控制器定時中斷和主程式

7樓:泥巴

放在while(1)中如果沒有加延時會一直在獲取ad值,而ad獲取過程如果有中斷打斷的話,ad值會有非常大的差距,一般建議ad轉換放中斷。如果必須放主函式的話可以考慮在中斷加一個標誌位,每過1ms或者1s置1,主函式判斷標誌位,為1,則清0標誌位並進行ad轉換。只要ad轉換的時間不超過中斷一次的時間就不會出現數值不對的情況了

急求微控制器外部中斷程式

8樓:匿名使用者

這相不用中斷程式,就是一個按鍵掃描就行了

9樓:百學需先勵志

bit sign=0;

void main()}}

void ww() interrupt 0我只是簡寫一下,大概就是這個意思:第一次按下數碼管顯示,再按一下數碼管不顯示

希望對你有所幫助!

51微控制器外部中斷使用問題,急求!馬上給分!

10樓:遙不可及

結束while(1)語句最好的方法就是使用break來跳出死迴圈,關鍵就是選擇合適的flag(標誌位),如果說中斷標誌位是硬體自動清零的話,那麼樓主不妨在中斷服務子程式中自己加入一個標誌位:如果用組合語言的話,psw中的f0位就可以很好的使用;如果用c的話,就可以隨便定義一個位變數,如bit a=0;。也就是說,樓主需要在程式中定義一個位變數a,在中斷服務子程式中將a置1,退出中斷後查詢a是否為1,例如:

if(a) 這樣就跳出了while語句了。

比方說,如果樓主想寫一個等待按鍵按下中斷的程式,就可以用while(!a);而不用while(1)語句了。

11樓:

while裡邊用break是可以的,在中斷程式中設一個標誌位,決定break是否起作用就可以了

求微控制器串列埠中斷接收程式,急求!~~~

12樓:

快下班了,給你一個思維吧

宣告一個陣列來快取資料,宣告一個變數來順序接收,在宣告一個定時器中斷變數來判斷一幀資料是否接收完成.

unsigned char ucuartrecv_arr[256];

unsigned char ucuartrecv_cnt = 0; //順序接收資料

unsigned char uctimer0_cnt = 0; //定時器1ms計數

unsigned char ucuartrecv_flag = 0; //接收完成標誌

void 定時器 1ms中斷()}}

void 接收中斷函式()

求c51程式,微控制器中斷有關。

13樓:匿名使用者

#include

#define uchar unsigned charuchar led=0xff;

sbit ku=p1^0;

sbit kd=p1^1;

main()}}

14樓:

p0.0口接的發光二極體,以1s/次的頻率閃爍,請問一箇中斷閃爍多少次呢?這個告訴一下,不然就觸發方式改為電平方式,這樣那能做啊。

微控制器:中斷程式的入口地址有什麼用

15樓:牽著你的手

在程式執行到任何地方時,發生中斷,則中斷當前的程式執行,去響應中斷,那麼cpu自動取得中斷入口地址並轉入執行中斷程式,同時儲存當前的程式地址,當中斷程式執行完後,將返回被儲存的程式地址處,繼續執行被中斷了的程式。

16樓:ct知道

中斷響應的主要過程是首先由硬體自動生成一條長呼叫指令lcall addr16。

這裡的addr16就是程式儲存區中的相應的中斷入口地址。

例如,對於外部中斷1的響應,產生的長呼叫指令為:

lcall 0013h

生成lcall指令後,緊接著就由cpu執行該指令。首先是將程式計數器pc的內容壓入堆疊以保護斷點,再將中斷入口地址裝入pc,使程式轉向響應中斷請求的中斷入口地址。

各中斷源服務程式的入口地址是固定的,如下所示:

外部中斷0 0003h

定時/計數器t0 000bh

外部中斷1 0013h

定時/計數器1 001bh

序列口中斷 0023h

17樓:韶希彤壬然

000bh

如:org

0000h

ajmp

start

org000bh

;t0中斷地址入口

ajmp

int_t0

;轉到真正的處理程式處

org30h

51微控制器的各自中斷入口:

int0

0003h

int1

0013h

t0000bh

t1001bh

s0023h

急求微控制器簡單程式,急求微控制器簡單程式

org 000h mov r1,50h mov r2,30h xunhuan mov a,r1 cjne a,0aah,loop mov 51h,01h loop dec r1 djnz r2,xunhuan mov 51,00hend 先弄一塊微控制器小實驗板做實驗然後慢慢入門 最好能夠找老師,幫...

c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的

interrupt x是指用的第幾個中斷。1 2 3是由中斷向量表決定的。也就是由微控制器的中斷入口地址的順序決定的。這個是硬體決定的軟體不能改變。例如外部中斷0就是interrupt 0 定時器0 是interrupt 1 外部中斷1是interrupt 2 定時器2是interrupt 3 串列...

51微控制器中斷子程式中呼叫其它子程式怎樣呼叫

在主程式裡面呼叫過的函式最好不要在中斷裡面呼叫,因為這關係到函式的遞迴呼叫了。所謂遞迴函式就是在函式裡面呼叫了函式本身。一般在pc機裡面用。這樣處理很麻煩的,在微控制器資源有限的情況下這種情況很容易出現死迴圈,你設想一下,例如你在主函式裡面呼叫了函式a。在中斷裡面也呼叫了函式a。當主程式執行到函式a...