把這個(gè)程序生成hex文件后 燒入51hei-5開發(fā)板 無法點(diǎn)亮led 是什么原因啊?
#include<reg51.h>
sbit b=P1^4;
sbit D1=P0^1;
void main()
{
b=0;
D1=0;
}
因?yàn)橹鞒绦蛭膊?缺少死循環(huán) while(1){ ;}
你把這句加到D1=0; 的后面就可以了,
原因:
這個(gè)死循環(huán)應(yīng)放在主程序的末尾,表示程序處理完后一直等待下去。直到有任何中斷產(chǎn)生,程序會(huì)跳到中斷程序執(zhí)行。其他時(shí)間都在等待中斷的觸發(fā)。單片機(jī)是順序執(zhí)行指令的,它的所有操作都要靠指令來完成。正常狀態(tài)是要等待中斷的產(chǎn)生,然后轉(zhuǎn)到中斷中執(zhí)行。在等待的時(shí)候單片機(jī)是不能停止的,所以要執(zhí)行一個(gè)空的循環(huán)語句。如果去掉,程序運(yùn)行完就停了,而在真正的應(yīng)用中是不希望發(fā)生這樣的情況的。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |