标题: 谁能帮我解决这个问题 [打印本页]

作者: zszwnm    时间: 2011-3-2 20:52
标题: 谁能帮我解决这个问题

在51hei-5这个型号的单片机学习开发系统上,我想让LED其中的三个依次亮,搞了很久还没有搞定,谁能帮我指出下面的 程序问题在哪里,不胜感激。

include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
uchar  temp[]={0xfe,0xfd,0xfc};/*LED显示*/
sbit a=P2^6;/*74H573锁存使能控制位,0时锁存*/
sbit b=P1^4;/*LED允许位,低电平有效*/
void delaytime();
void main()
{a=1;
 P0=0xff;
 a=0;
 b=0; 
 while(1)
   { for(num=0;num<3;num++)
      { a=1;
       P0=temp[num];
       a=0;
       delaytime();
       }
    }
}
void delaytime()
{int x,y;
  for(x=0;x<200;x++)
    for(y=0;y<200;y++); 
}

 

作者: wangfayang    时间: 2011-3-3 12:54

P0口作为输入输出口使用时需要外加上拉电阻。

 

不知道你的3个led是不是分别对应P0.0~P0.2

如果是的话你应该将uchar  temp[]={0xfe,0xfd,0xfc};/*LED显示*/
修改为uchar  temp[]={0xfe,0xfd,0xfb};/*LED显示*/

不知道我的回答对你是否有些帮助?

 

 

 

 

 

 

 

 

 

 

 

 


作者: zszwnm    时间: 2011-3-13 13:33

谢谢,你的帮助 ,这是我的 QQ348440333,多交流,加我时,注上:"51单片机"






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1