找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5103|回复: 2
打印 上一主题 下一主题
收起左侧

这个程序 为什么点不亮led

[复制链接]
跳转到指定楼层
楼主
ID:26532 发表于 2010-10-24 18:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

把这个程序生成hex文件后  烧入51hei-5开发板 无法点亮led 是什么原因啊?

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

[此贴子已经被作者于2010-10-24 18:08:43编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2010-10-24 18:11 | 只看该作者

因为主程序尾部 缺少死循环 while(1){ ;} 

 

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

原因:

 这个死循环应放在主程序的末尾,表示程序处理完后一直等待下去。直到有任何中断产生,程序会跳到中断程序执行。其他时间都在等待中断的触发。单片机是顺序执行指令的,它的所有操作都要靠指令来完成。正常状态是要等待中断的产生,然后转到中断中执行。在等待的时候单片机是不能停止的,所以要执行一个空的循环语句。如果去掉,程序运行完就停了,而在真正的应用中是不希望发生这样的情况的。

回复

使用道具 举报

板凳
ID:36076 发表于 2012-3-28 23:11 | 只看该作者
当然也可以放在前面,不一定要放在尾部
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表