新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 师宗县| 温泉县| 盐山县| 永春县| 抚顺县| 巫溪县| 榆社县| 兴业县| 临沧市| 泽州县| 乐清市| 高安市| 南郑县| 前郭尔| 景东| 鄂托克旗| 阿鲁科尔沁旗| 辛集市| 竹北市| 平利县| 耒阳市| 蒙山县| 正蓝旗| 任丘市| 西充县| 会昌县| 镇坪县| 滨州市| 山阳县| 杭锦旗| 文昌市| 彭阳县| 临海市| 阳西县| 桓仁| 靖安县| 祁东县| 黄平县| 普安县| 宝兴县| 北流市|