1樓:匿名使用者
org 0000h
ajmp main
org 0003h;外部0中斷入口地址
ajmp zd0
org 000bh;定時器t0中斷入口地址ajmp zd1
org 0013h;外部1中斷入口地址
ajmp zd2
org 0030h;主程式入口地址
main: mov p1,#00h
mov ie,#87h;cpu開中斷、t0開中斷、外部0、1開中斷mov tmod,#01h;t0定時模式1mov th0,#3ch;定時50ms,晶振頻率設為12mhzmov tl0,#0b0h
setb tr0;開啟t0
sjmp $;等待中斷
;外部0中斷子程式
zd0: cpl p1.0 ;翻轉reti
;定時器t0中斷子程式
zd1: cpl p1.1;翻轉
mov th0,#3ch;重灌初值
mov tl0,#0b0h
reti
;外部1中斷子程式
zd2: cpl p1.2 ;翻轉reti
endp1.0、p1.1和p1.
2外接三個led,p1.0和p1.2用於外部0、1中斷。
當p3.2(外部0中斷,可接一開關)和p3.3(外部1中斷,可接一開關)出現低電平時,p1.
0和p1.2所接的led被點亮或者熄滅,同時每隔50ms定時器t0溢位中斷一次,p1.1所接的led被點亮或者熄滅一次。
請樓主參考~~~
2樓:匿名使用者
org 0000h
ljmp main ;主程式入口地址
org 000bh ;t0的中斷入口地址
ljmp dvt0 ;轉向中斷服務程式
org 0100h
main: mov tmod,#001h ;置t0於工作方式1mov th0,#03ch ;裝入計數初值mov tl0,#0b0h ;設晶振12mhz,5000次就是50毫秒
setb et0 ;t0開中斷
setb ea ;cpu開中斷
setb tr0 ;啟動t0
sjmp $;等待中斷
dvt0:cpl p3.5
mov th0,#03ch ;重新裝入計數值mov tl0,#0b0h
reti ;中斷返回
end外部中斷必須禁止硬體中斷
微控制器中斷退出問題 20
3樓:綰潯漓醬
只要定時中斷裡沒有死迴圈這樣的程式,在完全執行好中斷程式後就可以使用reti退出(如果是c語言,這條語句也省掉了)。
但不能退回到主程式開始時,而是退回到你中斷前瞬間在執行的程式附近。
如果你要進行初始化什麼的,就把初始化資訊加在中斷服務程式中。在中斷時候,把定時初值之類的資訊直接重灌了。
4樓:
正常情況下由硬體完成,退回到中斷前的地址。
可以用匯編或c通過修改堆疊裡相應地址內的值,強行更改返回地址。不建議這樣做,容易導致暫存器混亂,程式出錯。你必須很清楚堆疊裡的資料,同時合理處理使用的暫存器。
5樓:
程式在執行過程中,當執行某條指令時,產生了中斷,中斷結束後,返回到產生中斷的地方,繼續執行下面的程式。如此往復。。不能強制使其跳轉到自己想要的地址。。
6樓:匿名使用者
可以啊,中斷完後你加一條返回主函式的指令不就可以了?
微控制器中斷問題
7樓:匿名使用者
你這樣理解是不對的,如果真這樣做了的話,那麼還不如用查詢方式來做了。但你前面的描述是對的,服務程式執行的過程中,定時器又開始重新計數了,這是「並行」的,所以為了使微控制器正常工作,定時器的中斷服務函式執行時間必須要小於定時器溢位時間,否則就幾乎在不斷中斷的死迴圈中了。
8樓:知無不道
如果你對定時間隔沒有什麼特別要求,另外,程式執行時只有一箇中斷,關掉ea是可以的。
關於微控制器中斷的一個問題?
9樓:夢迴__昨天
中斷髮生後,執行中斷的程式,閃爍次數結束後再執行主函式程式
51微控制器外部中斷問題
10樓:匿名使用者
外部中斷引腳是p3.2和p3.3,你確定你的按鍵連線到這兩個引腳了嗎?
還有這個是什麼玩意兒?學過c嗎?
if(mode=1) mode=0;
11樓:本無酩
中斷裡面也要做一個消抖處理,否則會出現連續中斷。
微控制器的中斷問題
12樓:
你好!1、中斷標誌是在進入中斷程式時清零的。
2、會置位的,等上一個中斷處理完,會馬上再次進入中斷(如果沒有高優先順序的中斷來)。
你可以使用開發軟體的debug功能試驗一下。
對於第2個不太肯定,你可以自己在實物上做一下試驗。
我做了實驗了,證明第2個的結論也是正確的。
13樓:ts毛毛雨
微控制器的中斷標誌位不都是自動清零的,比如外部中斷就必須自己清零,一般是剛進入就清零吧,至於你說的再次中斷問題我覺得不用考慮。因為如果是外部中斷或者是串列埠中斷的話,你清零後只要不再操作這些埠就不會再次中斷,如果是定時器中斷的話就更沒事兒了,一般的定時器都得是ms級的,而一箇中斷一般都可以在us級內解決掉,所以不會影響到你
微控制器的中斷問題,關於微控制器中斷的問題
那個中斷函式和主函式直接是什麼關係?為什麼寫在主函式後邊但是主函式又沒引用?中斷函式無需被顯式呼叫。當有相應的中斷產生時,程式會自動中止當前的執行 記錄位置,然後跳轉到相應的中斷入口處。而在中斷入口會進行二次跳轉,到程式中對應的中斷處理函式內並執行。中斷處理函式執行完畢返回後,跳回到剛才中止執行的位...
急求微控制器外部中斷程式,51微控制器外部中斷程式
這相不用中斷程式,就是一個按鍵掃描就行了。bit sign 0 void main void ww interrupt 0我只是簡寫一下,大概就是這個意思 第一次按下數碼管顯示,再按一下數碼管不顯示。希望對你有所幫助!51微控制器外部中斷程式 去抖動抗干擾,程式,或 加個104 電容。急求c程式!5...
51微控制器外部中斷到底什麼意思,51微控制器中的外部中斷服務程式入口0和1有什麼不同
51微控制器有兩個外部中斷申請輸入端 int0 和 int1 這兩個引腳對應兩個中斷入口,只有這兩個引腳上的電平變化,才會觸發相應的中斷 51微控制器中的外部中斷服務程式入口0和1有什麼不同 你是哪個型別的51微控制器 一般是指 兩個中斷的區分 51微控制器有幾個中斷源,分別是什麼?一共5種中斷 優...