新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 從定時器開始說中斷

從定時器開始說中斷

作者: 時間:2013-04-10 來源:網(wǎng)絡(luò) 收藏

13 006BH

14 0073H

15 007BH

16 0083H

17 008BH

18 0093H

19 009BH

20 00A3H

21 00ABH

22 00B3H

23 00BBH

24 00C3H

25 00CBH

26 00D3H

27 00DBH

28 00E3H

29 00EBH

30 00F3H

31 00FBH

看到了吧,中斷號就是對應(yīng)中斷進入地址的,至于什么是中斷進入地址?那就是發(fā)生某個中斷的時候單片機自動跳進的一個地址段了.

對于0來說,就是000BH,所以對應(yīng)中斷號1。其他中斷地址看看書就知道了。由上面的表可以看出,KEILC支持32個中斷,不過到現(xiàn)在為止,我還沒看到過有51單片機有32個中斷的:)

好了,進入調(diào)試實踐中了,把上面的代碼敲進去吧,又或者直接下載我這個編譯好的工程:

timer0

進入工程后,你需要設(shè)置點東西:

Debug Information是調(diào)試信息,你選擇這個東西,才可以在C語言上進行仿真(不管是軟還是硬仿真),否則你的仿真環(huán)境是匯編的!

軟仿真設(shè)置:

Go till main()就是在仿真的時候直接跳到MAIN函數(shù)上。如果沒有選,那就由0地址開始運行。這里說個概念,在C51中,mian()函數(shù)并不代表0地址的,要知道,keilc在一開始的時候是需要經(jīng)過比較多的初始化,例如清空RAM內(nèi)容,設(shè)置堆棧等東西,這些都是不需要你做的,你的用戶程序也不包括這些,做完這些初始化后,KEIL才自動跳到你的mian進行處理.

軟件仿真是可以選晶振的,我們選的12M。下面的這些東西你就按圖中的來選吧,具體內(nèi)容以后再說。

如果編譯成功的話,那么我們就開始第一次的軟件仿真咯:

上面的是已經(jīng)進入仿真狀態(tài)的了,因為我們選擇了Debug Information所以可以在C下面調(diào)試,也因為選擇了Go till main()我們可以看到一開始就有個箭頭指著main()的第一句話。而程序旁深色的東東,也就是我圈著的東西,就是有效代碼段,程序只會在那里跑,也就是那個黃色箭頭只會在那個區(qū)域跑?,F(xiàn)在你已經(jīng)可以仿真的了,可以選單步,全速來運行了。關(guān)于KEIL的具體仿真,將在下一章為大家解說。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉