打印

求助

[复制链接]
1522|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大吓门帮我看看这个程序;
  #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;本人现在黔驴技穷了,求各位高手相助。

相关帖子

沙发
思电lq|  楼主 | 2011-9-18 10:35 | 只看该作者
补充一下图片,[img][/img]

使用特权

评论回复
板凳
思电lq|  楼主 | 2011-9-18 10:36 | 只看该作者
补充一下图片,[img][/img]

使用特权

评论回复
地板
思电lq|  楼主 | 2011-9-18 10:38 | 只看该作者
P0口连接笔画口,P2口的低六位连接位选端```

使用特权

评论回复
5
NE5532| | 2011-9-18 10:41 | 只看该作者
我咋看到线没连完呢。

使用特权

评论回复
6
思电lq|  楼主 | 2011-9-18 12:50 | 只看该作者
不是我是用了超连接`

使用特权

评论回复
7
NE5532| | 2011-9-18 13:02 | 只看该作者
只送1个位,看段码对不对。

使用特权

评论回复
8
思电lq|  楼主 | 2011-9-18 20:14 | 只看该作者
看了,而且是一步一步运行。结果都是对的``但是还是不能完全找出来错误``本人实在是没辙

使用特权

评论回复
9
NE5532| | 2011-9-18 20:26 | 只看该作者
每送一个数据后打断点,看正常不。

使用特权

评论回复
10
相信哥咯| | 2011-9-18 22:00 | 只看该作者
我有次也遇到这种情况,后来我另建了一个工程,从新写代码,居然就好了。

你点亮一位数码管看下

使用特权

评论回复
11
chen3bing| | 2011-9-19 07:54 | 只看该作者
修改下延时时间。

使用特权

评论回复
12
hjs1618| | 2011-9-19 09:12 | 只看该作者
你在显示下一位时,前一位没关!

使用特权

评论回复
13
jiayutech| | 2011-9-19 10:31 | 只看该作者
你这种方式太“飞跃”了
建议以一种比较清晰的思路来写程序,这样你正正理解了数码管的驱动方法之后,再升华你的程序。
选通某位;
送相应段码;
延时;
消隐;
再选通下一位(此时要关上一位);
……
还有table1或2里面你要调用哪一个段码没有明确 table1[?];

使用特权

评论回复
14
klchang| | 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,可更好理解一些。

使用特权

评论回复
15
liang7143| | 2011-9-19 12:44 | 只看该作者
你P0口 是不是 没有加 上拉啊?

使用特权

评论回复
16
思电lq|  楼主 | 2011-9-19 19:30 | 只看该作者
谢谢各位大吓了``

使用特权

评论回复
17
lixing5709| | 2011-9-19 21:03 | 只看该作者
模拟软件貌似对延时数很小的程序感冒。弄点延时应该就可以了吧

使用特权

评论回复
18
joyme| | 2011-9-20 13:53 | 只看该作者
14楼正解,最简单你给P0赋的是数组的地址并不是你想显示的字形,当然显示的是乱码

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

34

帖子

1

粉丝