微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 在51中,用p1口加16位控制和用sbit命令控制的区别

在51中,用p1口加16位控制和用sbit命令控制的区别

时间:10-02 整理:3721RD 点击:
我刚接触单片机,在写呼吸灯的程序时遇到了问题。当我用
sbit led1=P1^0;
uint i,j;
void main()
{
  while(1)
  {
  led1=0;
   for(i=500;i>0;i--)
    for(j=110;j>0;j--);
  led1=1;
   for (i=500;i>0;i--)
    for(j=110;j>0;j--);
  }
的时候就可以正确控制单片机,但当我用P1=0xfe;
   for(i=500;i>0;i--)
    for(j=110;j>0;j--);
  P1=0xfe;
   for (i=500;i>0;i--)
    for(j=110;j>0;j--);
的时候的得到的却是一个常亮的灯,这是为什么呢?

led1=0;对应P1=0xfe;,led1=1;对应P1=0xff;,而不是P1=0xfe;,你的程序里用P1口是数值没变化。

嗯嗯,谢谢大佬

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top