打印
[嵌入式linux]

这个程序错在那里?

[复制链接]
1366|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiangpx007|  楼主 | 2008-8-12 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include 
unsigned char DisBuf[8];
void DisBrush(void)
{    
    code unsigned char cathode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
    code unsigned char Seg7Code[16]=       {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
    static unsigned char i=0;
    P2 = 0xff;
    P1 = Seg7Code[ DisBuf] ];
    P2 = cathode[ i ];
     if( ++i >= 8 ) i=0;
}

void Timer0IntRoute( void )

   TL0 = -1000; 
   TH0 = (-1000)>>8;
   DisplayBrush();
}

void Timer0Init( void )

    TMOD=(TMOD & 0xf0) | 0x01;
    TL0 = -1000;
    TH0 = (-1000)>>8;
    TR0 = 1;
    ET0 = 1;  
}

void Display( unsigned char index, unsigned char dataValue )

    DisBuf[ index ] = dataValue; 
}

void main( void )
{  
   unsigned char i;
   for( i=0; i<8; i++ ){ Display(i, 8-i); } //DisBuf[0]为右DisBuf[7]为左  
   Timer0Init();  // Timer0Init() redefinition    
   EA = 10;   // EA redefinition   
   while(1);  // systax error near while ,syntax error near 1

编译时: 在上边的语句行出现右边蓝色的错误提示:想破脑袋啊 ,请朋友们指点指点

相关帖子

沙发
db10| | 2008-8-13 10:57 | 只看该作者

。。。

  while(1);  这个句书写时是否出现中文英文键盘切换?
  while(1); 下面没有东东了把?
 
  EA = 10;是否书写正确,

 呵呵,可以告诉你点方法:可以将程序一行行屏蔽,编译之来定位错误在哪一行。这样慢慢解决问题所在。。。

使用特权

评论回复
板凳
donkevin| | 2008-8-17 21:03 | 只看该作者

语法错误...

使用特权

评论回复
地板
jxb163| | 2008-8-20 18:12 | 只看该作者

#include

靠,没有头文件,小样,你怎么搞的
应该是#include<reg51.h>

code unsigned char cathode
我没见过这样写的,改成:
 unsigned char code cathode

使用特权

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

本版积分规则

18

主题

20

帖子

0

粉丝