帮忙看看 谢谢

2019-03-24 17:49发布

#include<reg51.h>sbit LED=P1^5 ;sbit LED1=P1^4 ; main(){   while(1)  {      LED=0; LED1=0;  } }现象为:第5位,第6位  灯熄灭 其余全亮。改为LED=1; LED1=1; 就全亮了
我的问题是  其余没赋值的 为什么要亮?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
qwqwqw2088
1楼-- · 2019-03-24 21:31
学点亮数码管要分清是共阳共阴,,,,
gcxzhz
2楼-- · 2019-03-24 22:50
还要考虑芯片上电后管脚的初始状态
dong2213dong
3楼-- · 2019-03-24 23:45
 精彩回答 2  元偷偷看……
huaiqiao
4楼-- · 2019-03-25 02:17
给你个思路,以后记住了,不管什么器件接在单片机上,main函数刚开始的时候一定要给它初始化,这才是严谨的。
你的问题其实出在,没有考虑到51单片机上电后,IO的电平。所以刚开始的时候会点亮。因此,在main函数的一开始就可以初始化。
sunshie007
5楼-- · 2019-03-25 07:49
huaiqiao 发表于 2015-11-26 09:19
给你个思路,以后记住了,不管什么器件接在单片机上,main函数刚开始的时候一定要给它初始化,这才是严谨的 ...

#include<reg51.h>
sbit LED1=P1^0 ;
sbit LED2=P1^1 ;
init_mcu()
{
  P1=0x00  ;
          ;
}  
void main()
{
init_mcu();
LED1=0;
LED2=0;
                   } LED随便设置什么 都是最后两个灯亮
sunshie007
6楼-- · 2019-03-25 11:14
 精彩回答 2  元偷偷看……

一周热门 更多>