• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機中斷模塊-中斷程序運用

    單片機中斷模塊-中斷程序運用

    作者: 時間:2012-08-24 來源:網絡 收藏

    #includereg52.h> //的頭文件

    本文引用地址:http://www.czjhyjcfj.com/article/170994.htm

    #define uint unsigned int //宏定義無符號整型

    #define uchar unsigned char//宏定義無符號字符型

    #includereg52.h> //的頭文件

    #define uint unsigned int //宏定義無符號整型

    #define uchar unsigned char//宏定義無符號字符型

    char code b[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,

    0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,

    0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//用十六進制定義P2口八盞燈得工作狀態

    uchar code temp[]={0x80,0xe3,0x44,0x41,0x23,0x11,0x10,0xc3,0x00,0x01};//用十六經

    //用十六進制定義數碼管0~9的數字顯示

    uchar i;//全局定義

    void delay(uint time) //延時函數

    {

    int k,l;

    for(k=0;k=time;k++)

    for(l=0;l50;l++);

    }

    void main() //主函數

    {

    uchar a=0xf0;

    EA=1;//CPU總位,為0時,禁止所有;為1時,允許

    IT0=1;// 外部中斷1觸發式選擇位,“IT1為外部1觸發式選擇位”

    EX0=1;//外部中斷允許中斷位,0時禁止中斷,1時,允許中斷

    while(1)//死循環:執行中斷前的命令

    {

    for(i=0;i16;i++)

    {

    P2=b[i]; //把定義的前16位的十六進制的燈狀態賦給單片機的P2口

    delay(400);//調用延時函數

    }

    }

    }

    void ext0() interrupt 0 using 0 //0觸發中斷請求

    {

    uchar j=1;

    while(1) //中斷執行:執行中斷后命令

    {

    for(i=17;i38;i++)

    {

    P2=b[i];

    P1=temp[j];

    delay(400);

    j++;

    if(j==8)j=0;

    }

    }

    }

    編后感:(本僅供參考),中斷就像一個函數的調用!



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 治多县| 惠州市| 临夏市| 莱阳市| 扬州市| 高雄县| 仁化县| 吉安市| 大埔区| 高平市| 赞皇县| 万荣县| 邻水| 海口市| 天等县| 洛宁县| 凌源市| 台南市| 定远县| 华亭县| 杭州市| 郧西县| 积石山| 敖汉旗| 喀什市| 民县| 淮南市| 顺昌县| 惠来县| 那坡县| 阜南县| 台湾省| 墨江| 郑州市| 岳西县| 上思县| 敦化市| 关岭| 延长县| 桦川县| 泗阳县|