加入收藏 设为首页 帮助中心
 
论坛首页
用户登录 | 用户注册 | 最新悬赏 | 最新贴子 | 会员中心 | 贴子搜索 | 网站地图 | 帮助中心 | 联系我们
站内搜索:
现在位置 > 维库电子开发网论坛 > 单片机 > 51系列 > 谁能帮忙找出错误吗?
帖子主题: 谁能帮忙找出错误吗?
你还没有登录,无法发表回复,请首先 登录.. [注 册]
积分:27 lostwon
发表于:2008-10-10 14:27:00 楼主
级别:一星
积分:27分
注册:2008年10月10日
#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
void delay(uint z);
void init();
void display();
uchar code table[]={0x28,0x7e,0xa2,0x62,0x74,
0x61,0x21,0x7a,0x20,0x60};
uchar tt,bai,shi,ge;i
void main()
{
        init();
        while(1)
        {
                bai=i/100;
            shi=i%100/10;
            ge=i%10;                
                if(tt==2)
                 {
                   tt=0;
                   i++;
                   if(i==1000)
                    i=0;
                  };
         display();
         }

}

void delay(uint z)
{
        uint x,y;
        for(x=z;x<0;x--)
         for(y=110;y<0;y--);

}

void timer0() interrupt 1 using 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        tt++;
        
}

void init()
{
        P0=0xff;
        P2=0xff;
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;

}

void display()
{
        
        P2=0xbf;
        P0=table[ge];
        delay(1);
        P0=0xff;

        P2=0xdf;
        P0=table[shi];
        delay(1);
        P0=0xff;

        P2=0xef;
        P0=table[bai];        
           delay(1);
        P0=0xff;

}
 
积分:27 leemm1214
发表于:2008-10-10 14:28:00 1 楼
级别:一星
积分:27分
注册:2008年09月28日

line9=>  uchar tt,bai,shi,ge;i
         笔误??
         uchar tt,bai,shi,ge;
         uint i;

line35=> for(x=z;x<0;x--)
line36=>     for(y=110;y<0;y--);

         是否改为:
         for(x=z;x>0;x--)
             for(y=110;y>0;y--);




此帖被leemm1214于2008-10-10 14:28:34编缉过
 
积分:18 ztc1982
发表于:2008-10-10 14:30:00 2 楼
级别:一星
积分:18分
注册:2008年09月28日
shi=i%100/10; ? 我对运算的优先级从来都不自信,还是加上括号吧。记得有个汽车C编写规范,这样写就是能用也不允许!!!  
积分:26 sjhv
发表于:2008-10-10 14:33:00 3 楼
级别:一星
积分:26分
注册:2008年10月10日
#include&lt;reg52.h&gt; 
#define uchar unsigned char
#define uint  unsigned int
void delay(uint z); 
void init(); 
void display(); 
uchar code table[]={0x28,0x7e,0xa2,0x62,0x74, 
0x61,0x21,0x7a,0x20,0x60}; 
uchar tt,bai,shi,ge;i 
void main() 

        init(); 
        while(1) 
        { 
                bai=i/100; //i的处理不好,有可能TT==2是调用了中断,程序跑飞了

            shi=i%100/10; 
            ge=i%10;                 
                if(tt==2) //有可能TT==2是调用了中断,程序跑飞了
                 { 
                   tt=0; 
                   i++; 
                   if(i==1000)     //这里i是uchar不是int不会=1000
                    i=0; 
                  }; 
         display();        
         } 



void delay(uint z) 

        uint x,y; 
        for(x=z;x&lt;0;x--) //x不会&lt;0
         for(y=110;y&lt;0;y--); //y不会&lt;0




void timer0() interrupt 1 using 1 

        TH0=(65536-50000)/256; 
        TL0=(65536-50000)%256; 
        tt++;   
         


void init() 

        P0=0xff; 
        P2=0xff; 
        TMOD=0x01; 
        TH0=(65536-50000)/256; 
        TL0=(65536-50000)%256; 
        EA=1; 
        ET0=1; 
        TR0=1; 



void display() 

         
        P2=0xbf; 
        P0=table[ge]; 
        delay(1); 
        P0=0xff; 

        P2=0xdf; 
        P0=table[shi]; 
        delay(1); 
        P0=0xff; 

        P2=0xef; 
        P0=table[bai];         
           delay(1); 
        P0=0xff; 


我是新来的,多多指教。
 
积分:109 liyiyi
发表于:2008-10-10 14:34:00 4 楼
级别:二星
积分:109分
注册:2008年09月28日
关键的变量没有初始化  
积分:1683 天行地过
发表于:2008-12-5 20:31:00 5 楼
级别:二钻
版主
积分:1683分
注册:2008年08月06日

要实现什么的?


努力去做一件事不一定会成功,但是不努力决不会成功

 
快速回复:
用户名: 密码:  验证码,看不清楚?请点击刷新验证码 注册新帐号?
上传图片格式(jpg/gif/png)和文件格式(rar/pdf)
 
 
网站简介s广告服务网站地图帮助信息联系方式问题报告
Copyright 2007 - 2008 bbs.weeqoo.com
Powered By weeqoo Version 8.0.0XML