新聞中心

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

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

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

        #includereg52.h> //的頭文件

        本文引用地址:http://www.104case.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;

        }

        }

        }

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀集县| 西林县| 山阴县| 烟台市| 遂昌县| 从江县| 铅山县| 文昌市| 左云县| 得荣县| 景泰县| 商丘市| 巫山县| 阿瓦提县| 永和县| 清水河县| 陵川县| 洞头县| 阿鲁科尔沁旗| 砚山县| 景宁| 弥渡县| 陆丰市| 晋宁县| 顺昌县| 凤阳县| 灵寿县| 临洮县| 浮梁县| 紫阳县| 武冈市| 化德县| 衡山县| 嘉黎县| 大丰市| 闽清县| 宜阳县| 资阳市| 延长县| 通辽市| 迁西县|