標題: 這個程序 為什么點不亮led [打印本頁]

作者: kinin    時間: 2010-10-24 18:07
標題: 這個程序 為什么點不亮led

把這個程序生成hex文件后  燒入51hei-5開發(fā)板 無法點亮led 是什么原因�。�

#include<reg51.h>
sbit b=P1^4;
sbit D1=P0^1;
void main()
{
   b=0;
   D1=0;   
}

[此貼子已經(jīng)被作者于2010-10-24 18:08:43編輯過]

作者: admin    時間: 2010-10-24 18:11

因為主程序尾部 缺少死循環(huán) while(1){ ;} 

 

你把這句加到D1=0;   的后面就可以了,

原因:

 這個死循環(huán)應放在主程序的末尾,表示程序處理完后一直等待下去。直到有任何中斷產(chǎn)生,程序會跳到中斷程序執(zhí)行。其他時間都在等待中斷的觸發(fā)。單片機是順序執(zhí)行指令的,它的所有操作都要靠指令來完成。正常狀態(tài)是要等待中斷的產(chǎn)生,然后轉到中斷中執(zhí)行。在等待的時候單片機是不能停止的,所以要執(zhí)行一個空的循環(huán)語句。如果去掉,程序運行完就停了,而在真正的應用中是不希望發(fā)生這樣的情況的。


作者: windwithgone    時間: 2012-3-28 23:11
當然也可以放在前面,不一定要放在尾部




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1