久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4554|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

從計(jì)時(shí)器的使用入手理解單片機(jī)中斷的概念與編程

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:266429 發(fā)表于 2023-3-21 12:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前面既然已經(jīng)講了定時(shí)器中計(jì)時(shí)器的使用,剛脆還是把定時(shí)器中斷給講一下。
先打個(gè)比方說(shuō)吧,比如說(shuō),你是個(gè)超級(jí)奶爸,在家招呼讀書(shū)的孩子,將孩子送到學(xué)校去之后,你回家得買(mǎi)菜洗菜煮飯燒菜,你先把上午的菜給備好了,然后計(jì)劃11點(diǎn)鐘煮飯,11點(diǎn)半開(kāi)始燒菜,你怎么做?象前面的計(jì)時(shí)器的使用一樣盯著時(shí)鐘看?也不是不行,但是那你這段時(shí)間別的事算是做不成了,下午的菜備不備?你心愛(ài)單片機(jī)玩不玩?想看的小說(shuō)是不是讓你心癢癢?怎么辦?買(mǎi)個(gè)鬧鐘唄,然后上好鬧鐘唄,然后就去干你想干的別的事。
然后鬧鐘響了,你自然會(huì)起身,去做這個(gè)時(shí)候該做的重要的事件了。等等,該做什么?我怎么忘了?怎么辦?讓我想想,哦想起來(lái)了,煮飯。不行,不能這樣,這次能想起來(lái),下回萬(wàn)一想不起來(lái)怎么辦?好辦,在鬧鐘上貼個(gè)條子,上面寫(xiě)上這個(gè)鬧鐘響后要做的事:你呀的快去煮飯。
嗯不錯(cuò),飯煮上了,接下來(lái)干什么呢?繼續(xù)做之前在做的事是個(gè)不錯(cuò)的主意,哦你個(gè)賣(mài)糕滴,上次做的是什么事?做到哪一步了?我怎么又給忘了?這樣不行,下次在鬧鐘響的時(shí)候,得把手頭正在做的事記一下并放在一個(gè)固定的地方,煮完飯后回到這個(gè)地方找到記錄,真好,我真聰明,雖然我的記性非常感人。
以上事件中,最主要的是你手頭正在做的事,被鬧鐘打斷,因?yàn)槟愕昧⒓慈ヌ幚眙[鐘上寫(xiě)的事。你把這個(gè)鬧鐘上寫(xiě)的事處理完之后,還得回頭繼續(xù)做前面做的事。這些事,反正現(xiàn)有的教材稱(chēng)之為中斷和中斷處理。
引起中斷的事件當(dāng)然不止是鬧鐘,還有可能是另外的事,比如說(shuō),你玩單片機(jī)玩得正高興,突然你那位喊你去買(mǎi)菜,你也不得不放下自己的心愛(ài),乖乖地買(mǎi)菜去先。買(mǎi)完菜之后,你不見(jiàn)得就能去繼續(xù)玩機(jī)器了,說(shuō)不定你那位又給你一個(gè)中斷,讓你去拖地。地還沒(méi)拖完,孩子回來(lái)了找你要錢(qián)買(mǎi)玩具。真是中斷事件一件接一件,怎么處理?
你怎么處理我不管,咱們現(xiàn)在管管單片機(jī)怎么處理中斷,其實(shí)跟上面說(shuō)的差不多,你把中斷后要做的事,寫(xiě)在一段程序中(就如上面說(shuō)的掛在鬧鐘上的那個(gè)小紙條)C語(yǔ)言中叫中斷函數(shù)。這個(gè)函數(shù)的開(kāi)頭記錄現(xiàn)場(chǎng)(將一些數(shù)據(jù)推入指定的單元中如堆棧),末尾則寫(xiě)上程序據(jù)此恢復(fù)現(xiàn)場(chǎng)。
為什么寫(xiě)一段中斷函數(shù)就行了,而不是在主函數(shù)中寫(xiě)一段中斷處理程序,也不用在主程序中寫(xiě)調(diào)用函數(shù)?又是一個(gè)疑問(wèn)點(diǎn)不是?因?yàn)閱纹瑱C(jī)在芯片設(shè)計(jì)上是這樣設(shè)計(jì)的:程序在運(yùn)行中,一旦被中斷,則程序的運(yùn)行是直接跳轉(zhuǎn)到程序存儲(chǔ)器中的一個(gè)固定地址單元中,并把這個(gè)單元中的數(shù)據(jù)當(dāng)作操作碼來(lái)執(zhí)行。一個(gè)單片機(jī)是至少有幾個(gè)中斷的,如每個(gè)定時(shí)器都具備中斷功能。如何區(qū)分不同的中斷?靠的就是每個(gè)中斷分配有不同的跳轉(zhuǎn)固定地址,這個(gè)在教材中稱(chēng)之為中斷的入口地址,具體地址分配表稱(chēng)之為中斷向量表。定時(shí)器0的中斷入口地址為000BH,也就是說(shuō)定時(shí)器0在發(fā)生溢出后,如果你打開(kāi)了其中斷功能,則程序立即跳轉(zhuǎn)到程序存儲(chǔ)器中地址編號(hào)為000BH的單元處開(kāi)始運(yùn)行程序,用不著你專(zhuān)門(mén)寫(xiě)調(diào)用指令。在51單片機(jī)的設(shè)計(jì)中,緊隨其后的一個(gè)中斷入口地址為0013H,所以,0013H這個(gè)單元中,你不能寫(xiě)入其它程序,否則編譯會(huì)亂套,而在000BH0012H之間你也只能寫(xiě)入定時(shí)器0的溢出中斷后要執(zhí)行的程序,除非這個(gè)中斷在你的程序中永遠(yuǎn)用不到。這個(gè)空間太少了,一般是不夠用的,所以,編程中都是只寫(xiě)個(gè)跳轉(zhuǎn)命令,讓其跳轉(zhuǎn)到后面,這個(gè)跳轉(zhuǎn)幅度,一般要完全避開(kāi)所有的中斷入口地址,以免影響中斷功能的使用。

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
salam20 + 5 很給力!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂4 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:301191 發(fā)表于 2023-3-27 23:25 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:301191 發(fā)表于 2023-4-18 04:25 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

地板
ID:155507 發(fā)表于 2023-4-18 07:54 | 只看該作者
單片機(jī)中斷是指在單片機(jī)執(zhí)行主程序的過(guò)程中,由于某個(gè)事件的發(fā)生,導(dǎo)致單片機(jī)跳轉(zhuǎn)到固定的地址單元中執(zhí)行中斷程序。中斷是一種異步事件,它可以打破程序的順序執(zhí)行,使得單片機(jī)可以在主程序運(yùn)行的同時(shí),處理一些緊急或時(shí)間敏感的事件。

在單片機(jī)中,中斷通常是由外部設(shè)備觸發(fā)的,比如定時(shí)器、串口、IO口等。當(dāng)這些設(shè)備產(chǎn)生信號(hào)時(shí),單片機(jī)就會(huì)暫停正在執(zhí)行的主程序,跳轉(zhuǎn)到中斷程序中執(zhí)行相應(yīng)的處理,處理完后再返回主程序繼續(xù)執(zhí)行。

在編程中,首先需要設(shè)置中斷的優(yōu)先級(jí)和中斷向量。中斷向量是指單片機(jī)內(nèi)部預(yù)留的一段地址空間,用來(lái)存放中斷服務(wù)程序的入口地址。當(dāng)中斷發(fā)生時(shí),單片機(jī)會(huì)跳轉(zhuǎn)到相應(yīng)的中斷向量地址,執(zhí)行中斷服務(wù)程序。中斷優(yōu)先級(jí)則用于決定多個(gè)中斷同時(shí)發(fā)生時(shí),處理的先后順序。

接著,需要編寫(xiě)中斷服務(wù)程序。中斷服務(wù)程序通常是一個(gè)短小精悍的程序,主要用于處理中斷事件,保存相關(guān)的寄存器狀態(tài),執(zhí)行相應(yīng)的操作,并恢復(fù)現(xiàn)場(chǎng)。在程序開(kāi)頭需要將一些寄存器狀態(tài)保存到堆棧中,以便在中斷服務(wù)程序執(zhí)行完畢后,恢復(fù)這些寄存器的狀態(tài),然后使用 RETI(Return from Interrupt)指令返回主程序。

在使用中斷時(shí),還需要注意一些細(xì)節(jié)問(wèn)題,比如中斷的開(kāi)關(guān)、中斷的嵌套、中斷服務(wù)程序的執(zhí)行時(shí)間等等。在編寫(xiě)中斷程序時(shí),需要考慮這些問(wèn)題,以確保程序的正確性和可靠性。

總之,中斷是單片機(jī)編程中非常重要的一個(gè)概念,它可以使單片機(jī)具有更高的實(shí)時(shí)性和響應(yīng)性,提高程序的靈活性和可靠性。掌握中斷的原理和編程方法,對(duì)于單片機(jī)編程人員來(lái)說(shuō)是非常必要的。
回復(fù)

使用道具 舉報(bào)

5#
ID:291668 發(fā)表于 2023-4-18 08:49 | 只看該作者
講得很清楚了,感謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:689425 發(fā)表于 2023-5-4 09:30 | 只看該作者
不錯(cuò)不錯(cuò),受益匪淺
回復(fù)

使用道具 舉報(bào)

7#
ID:641483 發(fā)表于 2023-5-11 10:51 | 只看該作者
樓主這樣介紹通俗易懂,像我這類(lèi)小白就容易理解很多了,希望樓主出更多的好文章。
回復(fù)

使用道具 舉報(bào)

8#
ID:284491 發(fā)表于 2023-5-12 22:18 | 只看該作者
不錯(cuò)不錯(cuò) 理解生動(dòng)
回復(fù)

使用道具 舉報(bào)

9#
ID:1057928 發(fā)表于 2023-11-2 15:20 | 只看該作者
很形象
回復(fù)

使用道具 舉報(bào)

10#
ID:1111542 發(fā)表于 2024-3-2 09:26 | 只看該作者
非常好的帖子,新人學(xué)習(xí)了,謝謝樓主!
回復(fù)

使用道具 舉報(bào)

11#
ID:1119741 發(fā)表于 2024-6-3 17:03 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

12#
ID:406282 發(fā)表于 2024-7-17 10:37 | 只看該作者

頂一下三樓
回復(fù)

使用道具 舉報(bào)

13#
ID:1110944 發(fā)表于 2025-4-6 22:37 | 只看該作者

樓主這樣介紹通俗易懂,像我這類(lèi)小白就容易理解很多了,希望樓主出更多的好文章。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级欧美一级日韩片免费观看 | 在线伊人| 国产一区二区在线视频 | 国产成人精品一区二区三区网站观看 | 亚洲视频在线免费 | 欧美韩一区二区三区 | 丁香六月伊人 | 欧美黑人狂野猛交老妇 | 最新一级毛片 | 99久久精品国产麻豆演员表 | 欧美日韩国产不卡 | 妖精视频一区二区三区 | 在线观看国产wwwa级羞羞视频 | 99精品国产一区二区三区 | 欧美日日| 夜夜爽99久久国产综合精品女不卡 | 日韩一二区 | 国产精品国产精品国产专区不片 | 亚洲情侣视频 | 亚洲最大成人综合 | 亚洲视频在线一区 | 黄色片视频免费 | 红桃视频一区二区三区免费 | 国产在线观看一区二区 | 久久久久久国产一区二区三区 | 在线观看亚洲欧美 | 国产亚洲人成a在线v网站 | 毛片免费看 | 国产乱码久久久久久 | 国产一区二区三区在线 | 狠狠狠色丁香婷婷综合久久五月 | 有码一区 | 欧美日韩一区在线观看 | 久久久精品视频一区二区三区 | 亚洲中午字幕 | 亚洲午夜精品久久久久久app | 亚洲国产精品一区二区久久 | 国产欧美精品区一区二区三区 | 亚洲精品大片 | 日韩精品在线一区二区 | 国产精品女人久久久 |