99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何為一個PIC單片機編寫中斷服務(wù)程序

麥辣雞腿堡 ? 來源:Microchip微芯 ? 作者:Microchip微芯 ? 2023-01-22 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問:我應(yīng)該如何為一個PIC單片機編寫中斷服務(wù)程序?

答:僅僅是用一個'interrupt'關(guān)鍵詞聲明一個函數(shù)就好了。編譯器會把它放到合適的位置,并且會注意所有的寄存器保護和恢復(fù)。

這里有一個中檔PIC單片機使用中斷的例子;

#include

/*

  • Interrupt demo for PIC; wait for button press on RB0/INT,
    
  • turn on a relay on another port bit for a period of time.
    
  • For simplicity here, literal constants are used, usually these
    
  • should be calculated with compile-time arithmetic.
    

*/

static bit RELAY @ (unsigned)&PORTB*8+7;// 使用這個位來驅(qū)動一個繼電器

static unsigned int relay_timer; //繼電器驅(qū)動器的定時值

void

main(void)

{

RELAY = 1; // 確保繼電器在使能前是關(guān)閉的

TRISB = 0x3F; // Port B的第7、6位是輸出

T0CS = 0; // 定時器是以指令周期累加

T0IE = 1; // 使能TMR0溢出中斷

INTEDG = 0; // INT中斷是下降沿觸發(fā)

INTE = 1; // 使能INT中斷

GIE = 1; // 全局中斷使能

for(;;)

CLRWDT(); // 閑時喂一下狗

}

static void interrupt

isr(void) // 這里是中斷服務(wù)函數(shù)

// isr是函數(shù)名,并不重要,可任意命名

{

if(T0IF) { //如果是定時器0中斷

TMR0 -= 250; //重載定時器,每250uS中斷一次

T0IF = 0; //清中斷標志位

if(relay_timer != 0) //繼電器定時到了嗎?

relay_timer--; //定時值減一

if(relay_timer == 0) //如果定時時間到了

RELAY = 1; //關(guān)閉繼電器

PORTB ^= 0x40;//翻轉(zhuǎn)一個端口來指示程序還是在正常工作的

}

if(INTF) { //有沒有一個按鍵按下?

RELAY = 0; //打開繼電器

relay_timer = 4000;//啟動定時器-4000個時間片=約1秒鐘

INTF = 0; //清中斷標志位

}

}

(譯者注:建議在if條件中,同時檢查中斷標志位和中斷使能位,如:if(T0IF && T0IE)。)

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

    關(guān)注

    6067

    文章

    44976

    瀏覽量

    650180
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1661

    瀏覽量

    50192
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何與PIC單片機建立PICKit3程序編寫電路?

     在本文中,主要解釋如何與PIC單片機建立PICKit3程序編寫電路,以下圖電路為例,組裝在試驗板上的程序
    的頭像 發(fā)表于 07-10 11:19 ?3987次閱讀
    如何與<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>建立PICKit3<b class='flag-5'>程序</b><b class='flag-5'>編寫</b>電路?

    pic單片機匯編程序實例

    以下是簡單的PIC單片機匯編程序示例,這個程序將實現(xiàn)
    的頭像 發(fā)表于 12-14 11:01 ?2636次閱讀

    小白求助,求PIC單片機中斷服務(wù)程序

    小白求助,求PIC單片機中斷服務(wù)程序
    發(fā)表于 10-19 06:51

    PIC單片機引腳中斷程序的設(shè)計技巧

    PIC單片機引腳中斷程序的設(shè)計技巧   所有的中檔系列PIC單片機,PORTB端口最
    發(fā)表于 10-30 08:07 ?1628次閱讀

    PIC單片機中斷總結(jié)

    PIC單片機中斷總結(jié) 與51或者其他系列的單片機相比,PIC單片機
    發(fā)表于 10-30 08:15 ?2942次閱讀

    PIC單片機程序設(shè)計基礎(chǔ)格式

    PIC單片機程序設(shè)計基礎(chǔ)格式 為了快速掌握PIC單片機程序的基本結(jié)構(gòu),這里給出
    發(fā)表于 05-17 09:07 ?1024次閱讀

    PIC單片機循環(huán)程序實例

    在這里介紹種定時程序,說明循環(huán)程序PIC單片機上的應(yīng)用。筆者仍以PIC16F84
    發(fā)表于 04-26 10:25 ?3292次閱讀

    PIC8位單片機程序編寫方法

    PIC系列單片機的源程序是指PIC的助記符指令編寫程序(匯編語言
    發(fā)表于 06-27 13:43 ?3004次閱讀

    51單片機有幾個中斷單片機中斷號對應(yīng)的中斷類型說明

    51單片機通常有5個中斷,當中斷發(fā)生時,程序會跳到相應(yīng)的中斷服務(wù)
    發(fā)表于 08-06 17:34 ?5次下載
    51<b class='flag-5'>單片機</b>有幾個<b class='flag-5'>中斷</b>?<b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>號對應(yīng)的<b class='flag-5'>中斷</b>類型說明

    PIC單片機定時器的外設(shè)中斷的使用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是PIC單片機定時器的外設(shè)中斷的使用程序免費下載。
    發(fā)表于 07-31 17:35 ?7次下載
    <b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>定時器的外設(shè)<b class='flag-5'>中斷</b>的使用<b class='flag-5'>程序</b>免費下載

    在處理PIC單片機中斷服務(wù)程序時需要注意哪些問題

    PIC與51系列單片機顯著的區(qū)別就是:PIC只有個中斷
    發(fā)表于 10-28 16:45 ?2869次閱讀
    在處理<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b><b class='flag-5'>服務(wù)</b><b class='flag-5'>程序</b>時需要注意哪些問題

    單片機程序如何編寫

    設(shè)計編寫單片機程序漸進的過程不可蹴而就,畢竟單片機
    的頭像 發(fā)表于 02-12 14:38 ?3.8w次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>程序</b>如何<b class='flag-5'>編寫</b>

    pic單片機程序

    pic單片機c語言程序,同時用了串口接收中斷和定時中斷
    發(fā)表于 11-16 11:36 ?4次下載
    <b class='flag-5'>pic</b><b class='flag-5'>單片機</b><b class='flag-5'>程序</b>

    用C語言編寫PIC單片機適用程序

    單片機c語言的程序,最重要的點就是考慮到單片機的運行內(nèi)存和實時性,因為單片機內(nèi)存小,且要求程序
    發(fā)表于 11-16 12:06 ?8次下載
    用C語言<b class='flag-5'>編寫</b><b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>適用<b class='flag-5'>程序</b>

    PIC單片機 按鍵檢測識別

    目錄按鍵和PIC單片機、按鍵二、按鍵的物理連接與檢測三、PIC16F18854單片機按鍵檢測及顯示實驗按鍵排布預(yù)期效果總體流程
    發(fā)表于 11-16 12:36 ?12次下載
    <b class='flag-5'>PIC</b><b class='flag-5'>單片機</b> 按鍵檢測識別