0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談51內(nèi)核單片機中斷源

GReq_mcu168 ? 作者:工程師飛燕 ? 2018-10-21 10:15 ? 次閱讀

51內(nèi)核的最基礎(chǔ)的中斷源請求有外部中斷、定時器中斷和串口中斷,這也是學習和開發(fā)者最長用的。當然還有其他的中斷源,比如ADC、SPI、PWM等。以外部中斷0為例,在編程中常使用的方式為:

void INT0()interrupt 0 using 1

{

……

}

在這里特別做上筆記:其中前面的void INT0() 只是代表一個普通沒有形參的函數(shù)而已,函數(shù)名寫成什么都是可以的,這個到不重要。那么后面的就一個一個詞的扣把:(2-1-i-c-中國-電子網(wǎng),防抓?。?/p>

其中 interrupt n 組成一組,n用來指明中斷號,在函數(shù)后使用了interrupt關(guān)鍵字后,就會自動的生成中斷向量,51內(nèi)核中斷號如下圖,這是我今天查的正在使用的MCU

淺談51內(nèi)核單片機中斷源

例如:

12

interrupt 1 指明是定時器中斷0;

interrupt 2 指明是外部中斷1;

interrupt 3 指明是定時器中斷1

。。。

對于51內(nèi)核的MCU,不同廠家及不同型號的內(nèi)部資源會有所不同,上圖是我正在開發(fā)的一款中穎SH88F516單片機,由上圖可見內(nèi)部資源還算可以,能夠滿足一般的產(chǎn)品。后面的using n 指的是使用第n組寄存器。這個之前我在使用的過程中往往忽略了這個,也沒有出現(xiàn)什么問題。但是今天注意到這個問題,查完資料后用上發(fā)現(xiàn)效果還不如不用,很有肯能是沒有把這個知識用好的原因把。對比之后給我的感覺是在使用C語言寫程序時,能不用就不用吧。查資料解釋說假如在中斷函數(shù)中使用了using n,中斷不再保存R0-R7的值,這也就意味著假如一個高優(yōu)先級的中斷及一個低優(yōu)先級的中斷同時使用了using n,而這個n恰恰相等,那就等著哭把,因為這個BUG還真不是那么好找出來的(今天我就遇到了這個問題)。

其次就是中斷優(yōu)先級的問題了,如圖上面的中斷表,在右側(cè)第二欄標的很清楚,除了復位之外,就數(shù)外部中斷0優(yōu)先級最高了,依次往下排列,那么問題來了,今天剛好就碰到了需要串口0的優(yōu)先級比定時器0的優(yōu)先級高。沒辦法,只好接著啃數(shù)據(jù)手冊,還好這寄存器不多,一會就查到了下表和相關(guān)的描述:

淺談51內(nèi)核單片機中斷源

所以按照描述修改下優(yōu)先級就可以達到目的了。

總結(jié):用到回過頭來用到51的中斷,發(fā)現(xiàn)有些東西在之前學習的時候并沒有太在意,導致現(xiàn)在在開發(fā)產(chǎn)品上使用的時候不清楚用途。因為工作跟學習性質(zhì)是不一樣的,作為開發(fā)者的角度來說,質(zhì)量往往是第一要求。同時會接觸到很多新鮮的事物和技術(shù),但是話又說回來了,最基本的知識還是需要打牢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 51單片機
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123633
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114832
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    13900

原文標題:51單片機內(nèi)核的中斷及中斷向基礎(chǔ)知識

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MCS-51單片機中斷軟件編程

    MCS-51單片機中斷軟件編程 MCS-51單片機有多個中斷
    發(fā)表于 03-06 10:08 ?1324次閱讀
    MCS-<b class='flag-5'>51</b><b class='flag-5'>單片機</b>外<b class='flag-5'>中斷</b>軟件編程

    51單片機定時器中斷_51單片機中斷系統(tǒng)_51單片機擴展中斷的四種方法

    中斷是為使單片機具有對外部或內(nèi)部隨機發(fā)生的事件進行處理而設(shè)置的。51單片機有5種中斷,即有5種
    發(fā)表于 12-08 10:15 ?1.1w次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>定時器<b class='flag-5'>中斷</b>_<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>系統(tǒng)_<b class='flag-5'>51</b><b class='flag-5'>單片機</b>擴展<b class='flag-5'>中斷</b>的四種方法

    淺談51單片機中斷控制

    51系列單片機有5個中斷,2個優(yōu)先級,可以實現(xiàn)二級中斷服務(wù)嵌套結(jié)構(gòu)。
    發(fā)表于 05-29 14:07 ?3973次閱讀
    <b class='flag-5'>淺談</b><b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>控制

    51單片機教程之51單片機中斷系統(tǒng)的詳細資料概述

    本文檔的主要內(nèi)容詳細介紹的是51單片機教程之51單片機中斷系統(tǒng)的詳細資料概述主要內(nèi)容介紹的是中斷
    發(fā)表于 11-19 09:56 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>教程之<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>系統(tǒng)的詳細資料概述

    51單片機外部中斷的C51編程程序和相關(guān)知識免費下載

    1、51單片機的5大中斷:串行口中斷、定時中斷1、外部中斷
    發(fā)表于 08-27 17:30 ?6次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b>的C<b class='flag-5'>51</b>編程程序和相關(guān)知識免費下載

    51單片機有幾個中斷?單片機中斷號對應的中斷類型說明

    51單片機通常有5個中斷,當中斷發(fā)生時,程序會跳到相應的中斷服務(wù)程序去執(zhí)行。為了區(qū)別不同的中斷,
    發(fā)表于 08-06 17:34 ?5次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>有幾個<b class='flag-5'>中斷</b>?<b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>號對應的<b class='flag-5'>中斷</b>類型說明

    51單片機外部中斷0實例詳解

    今天就以51單片機的外部中斷0為例,來簡單講解一下單片機中斷的用法。1 51
    發(fā)表于 11-11 12:51 ?19次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b>0實例詳解

    51單片機中斷

    51單片機中斷51單片機中斷原理中斷的概念:
    發(fā)表于 11-11 14:36 ?52次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>中斷</b>篇

    單片機(AT89C51中斷系統(tǒng)詳解和中斷系統(tǒng)應用實驗

    工作效率 ⑵ 具有實時處理功能 ⑶ 具有故障處理功能 ⑷ 實現(xiàn)分時操作中斷中斷是指能發(fā)出中斷請求,引起
    發(fā)表于 11-17 11:06 ?14次下載
    <b class='flag-5'>單片機</b>(AT89C<b class='flag-5'>51</b>)<b class='flag-5'>中斷</b>系統(tǒng)詳解和<b class='flag-5'>中斷</b>系統(tǒng)應用實驗

    51單片機中斷

    中斷中斷時為使單片機具有對外部或內(nèi)部隨機發(fā)生的事件實時處理而設(shè)置的,51單片機內(nèi)部一共有5個中斷
    發(fā)表于 11-19 09:06 ?18次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>—<b class='flag-5'>中斷</b>

    51單片機中斷

    51單片機中斷(interrupt)
    發(fā)表于 11-20 16:51 ?13次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>之<b class='flag-5'>中斷</b>

    51單片機中斷

    51單片機中斷總序51中斷分為兩種類型,一類是外部中斷
    發(fā)表于 11-22 12:21 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>

    51單片機中斷系統(tǒng)

    文章目錄1 51單片機中斷系統(tǒng)1.1 中斷的固有優(yōu)先級和搶占優(yōu)先級1 51單片機
    發(fā)表于 11-22 13:36 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>系統(tǒng)

    51單片機學習筆記———10.中斷機制

    中斷單片機中斷系統(tǒng)是最基礎(chǔ)也是最重要的部分,博主在學習這個的時候踩到了很多的坑,于是寫下這篇筆記來整理一下自己的思路。中斷涉及的內(nèi)容:中斷
    發(fā)表于 11-22 13:51 ?11次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>學習筆記———10.<b class='flag-5'>中斷</b>機制

    51單片機中斷程序示例

    51單片機中斷程序示例
    發(fā)表于 05-17 18:03 ?0次下載