c51吧 关注:1,274贴子:2,956
  • 11回复贴,共1

小白求助一个神灯的问题

只看楼主收藏回复

我做了一个流水灯小程序,开发板上下载正常,可现象不是我要的,程序如下:
#include <REGX51.H>
unsigned char yable[]={0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,};
//定义数组,这里是让P0口中一个脚的一个灯亮,本来是做流动灯,间化了一下只为说明问题
void lxmys (void)//定义延时函数
{
unsigned char a,b;
for(a=0;a<200;a++)
for(b=0;b<200;b++);
}
void mian (void)
{
while(1)
{
unsigned char i;
for(i=0;i<8;i++)//随i的递增
{
P0=yable[i];//P0口就分别显示数组中的数
lxmys();
}
}
}


1楼2015-04-19 21:57回复
    这是截图,有编译信息



    2楼2015-04-19 22:07
    回复
      编译信息翻译了一下:没理解,大家看问题出在哪儿?


      3楼2015-04-19 22:19
      回复
        编译信息:


        4楼2015-04-19 22:28
        回复
          基本情况:我用的是uvision4,


          5楼2015-04-19 22:33
          收起回复
            数组有问题 如果是低电平有效的话 一直亮一个灯也就是P0^2, 如果是高电平有效的话 只有P0^2是熄灭 其他全亮 效果是闪烁 你可以把数组重新赋值
            unsigned char yable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};//低电平有效


            IP属地:四川6楼2015-05-28 01:42
            回复
              呵呵 看错楼主的问题了 你把主函数 void main(void) 括号里面的void 取消了 在编译试一下


              IP属地:四川7楼2015-05-28 01:48
              收起回复
                大家别回了,问题已找到,我范了一个初学者最经典的毛病,闪点在主函数自己找,警惕起来别在范


                来自手机贴吧8楼2015-06-17 21:15
                回复