新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 談?wù)剢纹瑱C(jī)C語言編程中不經(jīng)意間的一個(gè)小錯(cuò)誤!

談?wù)剢纹瑱C(jī)C語言編程中不經(jīng)意間的一個(gè)小錯(cuò)誤!

作者: 時(shí)間:2013-03-08 來源:網(wǎng)絡(luò) 收藏

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

對于一個(gè)系統(tǒng)的設(shè)計(jì),通常在初始化程序里面需要定義各個(gè)中斷等

比如:

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; //波特率不變等設(shè)置

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

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

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

TR0 = 1; //啟動(dòng)定時(shí)器0

TR1 = 1; //啟動(dòng)定時(shí)器1

ET0 = 1; //開放定時(shí)器0中斷

ES = 0; //串行中斷

EX0 = 0; //外部中斷0

EX1 = 0; //外部中斷1

EA = 1;

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

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

此時(shí)會有一個(gè)小問題存在而被你忽略。

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

51單片機(jī)相關(guān)文章:51單片機(jī)教程


c語言相關(guān)文章:c語言教程



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉