求助

[复制链接]
 楼主| 发表于 2011-9-18 10:28 | 显示全部楼层 |阅读模式
大吓门帮我看看这个程序;
  #include<AT89X51.H>
#include<intrins.h>
unsigned char  code teble1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};
unsigned char  code teble2[]={0x76,0x79,0x38,0x38,0x3f,0x00};
       unsigned  char i;
    unsigned char a;
    unsigned char b;
unsigned char temp;
void  main(void)
{
   while(1)
   {
     
  
temp=0xfe;
for(i=0;i<6;i++)
{
   if(P1_7==1)
   {         
  P0=teble1;
  P0=teble1;
  P0=teble1;
         
      
   }
     else
   {
  P0=teble2;
  P0=teble2;
  P0=teble2;
   }

    P2=temp;
   temp=_crol_(temp,1);
      for(a=4;a>0;a--)
   for(b=248;b>0;b--);
}
   }
   
}
  
运行结果;
  调式了好久还是这种现象,就是不显示012345;本人现在黔驴技穷了,求各位高手相助。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2011-9-18 10:35 | 显示全部楼层
补充一下图片,[img][/img]
 楼主| 发表于 2011-9-18 10:36 | 显示全部楼层
补充一下图片,[img][/img]
 楼主| 发表于 2011-9-18 10:38 | 显示全部楼层
P0口连接笔画口,P2口的低六位连接位选端```
发表于 2011-9-18 10:41 | 显示全部楼层
我咋看到线没连完呢。
 楼主| 发表于 2011-9-18 12:50 | 显示全部楼层
不是我是用了超连接`
发表于 2011-9-18 13:02 | 显示全部楼层
只送1个位,看段码对不对。
 楼主| 发表于 2011-9-18 20:14 | 显示全部楼层
看了,而且是一步一步运行。结果都是对的``但是还是不能完全找出来错误``本人实在是没辙
发表于 2011-9-18 20:26 | 显示全部楼层
每送一个数据后打断点,看正常不。
发表于 2011-9-18 22:00 | 显示全部楼层
我有次也遇到这种情况,后来我另建了一个工程,从新写代码,居然就好了。

你点亮一位数码管看下
发表于 2011-9-19 07:54 | 显示全部楼层
修改下延时时间。
发表于 2011-9-19 09:12 | 显示全部楼层
你在显示下一位时,前一位没关!
发表于 2011-9-19 10:31 | 显示全部楼层
你这种方式太“飞跃”了
建议以一种比较清晰的思路来写程序,这样你正正理解了数码管的驱动方法之后,再升华你的程序。
选通某位;
送相应段码;
延时;
消隐;
再选通下一位(此时要关上一位);
……
还有table1或2里面你要调用哪一个段码没有明确 table1[?];
发表于 2011-9-19 10:51 | 显示全部楼层
if(P1_7==1)
   {         
  P0=teble1;
  P0=teble1;
  P0=teble1;
         
      
   }
     else
   {
  P0=teble2;
  P0=teble2;
  P0=teble2;
   }
这段代码不对,数组不应这样赋值。应改为
if(P1_7==1)
   {         
  P0=teble1[i];
  P0=teble1[i];
  P0=teble1[i];
         
      
   }
     else
   {
  P0=teble2[i];
  P0=teble2[i];
  P0=teble2[i];
   }
还有就是能否把teble改为table,可更好理解一些。
发表于 2011-9-19 12:44 | 显示全部楼层
你P0口 是不是 没有加 上拉啊?
 楼主| 发表于 2011-9-19 19:30 | 显示全部楼层
谢谢各位大吓了``
发表于 2011-9-19 21:03 | 显示全部楼层
模拟软件貌似对延时数很小的程序感冒。弄点延时应该就可以了吧
发表于 2011-9-20 13:53 | 显示全部楼层
14楼正解,最简单你给P0赋的是数组的地址并不是你想显示的字形,当然显示的是乱码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

34

帖子

1

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