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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 談談單片機C語言編程中不經意間的一個小錯誤!

    談談單片機C語言編程中不經意間的一個小錯誤!

    作者: 時間:2013-03-08 來源:網絡 收藏

    我們知道,51有幾個不同的中斷源。

    對于一個系統的設計,通常在初始化程序里面需要定義各個中斷等

    比如:

    TMOD = 0x21; // T1 mode 2 T0,mode 1 //GATE C/T M1 M0 GATE C/T M1 M0

    TL1 = 0xfd; // 0xfa=4800 bps 0xfd=9600 bps

    TH1 = 0xfd;

    TH0 = -(10000/256);

    TL0 = -(10000%256);

    PCON = 0; //波特率不變等設置

    SCON = 0x50; //串口1方式1,允許接收

    IT0 = 1; //外部中斷0下降沿有效

    IT1 = 1; //外部中斷1下降沿有效

    TR0 = 1; //啟動定時器0

    TR1 = 1; //啟動定時器1

    ET0 = 1; //開放定時器0中斷

    ES = 0; //串行中斷

    EX0 = 0; //外部中斷0

    EX1 = 0; //外部中斷1

    EA = 1;

    可以看到,我們一共有:定時中斷0,定時中斷1,外部中斷0,外部中斷1,串行中斷。

    這五個中斷是最基本的中斷源。對于各位的設計,我相信這一段代碼在不同的程序重通常都不會自己重復敲打進去了。應該是從以前某個代碼中直接復制過來吧。

    此時會有一個小問題存在而被你忽略。

    之前已經完成的代碼中,你很有可能已經使用了全部5個中斷,但是,一個剛開發的系統,也許還只是用到了其中的三個或者兩個中斷,而中斷你全部開啟了。這個意味著什么呢?

    51單片機相關文章:51單片機教程


    c語言相關文章:c語言教程



    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 县级市| 乌什县| 稷山县| 菏泽市| 光泽县| 铁岭县| 洱源县| 健康| 涞源县| 卢湾区| 扎兰屯市| 乐至县| 岗巴县| 始兴县| 大连市| 上饶市| 宜君县| 贺州市| 原平市| 宜川县| 胶南市| 施秉县| 遂昌县| 冕宁县| 吉安市| 双峰县| 南郑县| 瑞丽市| 于田县| 扎兰屯市| 清涧县| 通海县| 黑山县| 德江县| 金阳县| 奉化市| 甘孜县| 定襄县| 抚州市| 双桥区| 云和县|