把这个程序生成hex文件后 烧入51hei-5开发板 无法点亮led 是什么原因啊?
#include<reg51.h>
sbit b=P1^4;
sbit D1=P0^1;
void main()
{
b=0;
D1=0;
}
因为主程序尾部 缺少死循环 while(1){ ;}
你把这句加到D1=0; 的后面就可以了,
原因:
这个死循环应放在主程序的末尾,表示程序处理完后一直等待下去。直到有任何中断产生,程序会跳到中断程序执行。其他时间都在等待中断的触发。单片机是顺序执行指令的,它的所有操作都要靠指令来完成。正常状态是要等待中断的产生,然后转到中断中执行。在等待的时候单片机是不能停止的,所以要执行一个空的循环语句。如果去掉,程序运行完就停了,而在真正的应用中是不希望发生这样的情况的。
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |