标题: 单片机16*16点阵程序老是显示error c141:syntax error near“0xFF”等 [打印本页]

作者: winterben    时间: 2021-10-5 23:25
标题: 单片机16*16点阵程序老是显示error c141:syntax error near“0xFF”等
单片机源程序如下:
#include<reg51.h>#define uchar unsigned char
#define uint unsigned int
#define out0 P0
#define out2 P2
#define out1 P1
void delay(uint j)                                //延时函数
{   
uchar i=250;   
for(;j>0;j--)        
{         
   while(--i);               
i=100;        
  }}
uchar  code string[]=
{//汉字“”的16*16点阵的列码0xFF,0xFF,0xFF,0xFF,0x80,0x07,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xFF,0xFA,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF
//汉字“”的16*16点阵的列码0xFF,0xFF,0xFB,0xFF,0xF7,0xFF,0xE0,0x80,0xDB,0xF7,0xFB,0xF7,0xE0,0xF7,0xFB,0xF7,0xFB,0xC1,0xE0,0xF7,0xFB,0xF5,0xFA,0xF6,0xF9,0xF7,0xFB,0x80,0xFF,0xFF,0xFF,0xFF
//汉字“”的16*16点阵的列码0xFF,0xFF,0xB8,0x60,0xDB,0x77,0xE8,0x60,0xFB,0x6E,0xF8,0x6E,0xBD,0xEA,0xDE,0xEA,0xE8,0x2A,0xFC,0x6A,0xFD,0x6A,0xEC,0x7B,0xDA,0xBB,0xB4,0xD5,0x7E,0xEE,0xFF,0xFF} void main()
{     
uchar i,j,n;         
while(1)         
{         
        for(j=0;j<3;j++)         
   {               
  for(n=0;n<40;n++)                  
  {                        
   for(i=0;i<16;i++)                        
        {                                 
                  out1=i%16;                                
          out0=string[i*2+j*32];                        
                  out2=string[i*2+1+j*32];        
                          delay(4);                                
          out0=0xff;                                
          out2=0xff;                        
        }               
   }               
}        
}         
}                                
作者: lishengaha    时间: 2021-10-6 04:35
兄弟的你的主函数main标识呢。。。
作者: lishengaha    时间: 2021-10-6 04:40
string数组里面第一二行最后都少一个逗号
作者: xianfajushi    时间: 2021-10-6 08:15
数据都注释掉还有数据能加载?
作者: csmyldl    时间: 2021-10-6 08:29
在定义的这个 string[]={};数组后面加上分号就可以了
作者: daemondong    时间: 2021-10-6 08:41
每个汉字的最后一个0xFF后面,少了,
作者: hantu    时间: 2021-10-6 08:57
你从哪里抄来的代码,又不好好排版,很多内容应该换行的你又不换行,它们挤在一起就变成了语法错误了。
第1行的包含头文件与后面的#define要换行;
string数组现在不换行后面的内容都跟着变成了注释,而且还缺逗号。最末还缺了分号。
void main()应该换到新行。

不排版的代码就是%%。

作者: xuyaqi    时间: 2021-10-6 09:12
这样改一下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define out0 P0
#define out2 P2
#define out1 P1
void delay(uint j) //延时函数
{   
        uchar i=250;   
        for(;j>0;j--)        
        {         
                 while(--i);               
           i=100;        
  }
}
uchar  code string[]=
{
        //汉字“”的16*16点阵的列码
        0xFF,0xFF,0xFF,0xFF,0x80,0x07,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
        0xFF,0xFF,0xFF,0xFF,0xF6,0xFF,0xFA,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,
  //汉字“”的16*16点阵的列码
        0xFF,0xFF,0xFB,0xFF,0xF7,0xFF,0xE0,0x80,0xDB,0xF7,0xFB,0xF7,0xE0,0xF7,0xFB,0xF7,
        0xFB,0xC1,0xE0,0xF7,0xFB,0xF5,0xFA,0xF6,0xF9,0xF7,0xFB,0x80,0xFF,0xFF,0xFF,0xFF,
  //汉字“”的16*16点阵的列码
        0xFF,0xFF,0xB8,0x60,0xDB,0x77,0xE8,0x60,0xFB,0x6E,0xF8,0x6E,0xBD,0xEA,0xDE,0xEA,
        0xE8,0x2A,0xFC,0x6A,0xFD,0x6A,0xEC,0x7B,0xDA,0xBB,0xB4,0xD5,0x7E,0xEE,0xFF,0xFF
};
void main()
{     
        uchar i,j,n;         
        while(1)         
        {         
                for(j=0;j<3;j++)         
                {               
                        for(n=0;n<40;n++)                  
                        {                        
                          for(i=0;i<16;i++)                        
                                {                                 
                                        out1=i%16;                                
                                        out0=string[i*2+j*32];                        
                                        out2=string[i*2+1+j*32];        
                                        delay(4);                                
                                        out0=0xff;                                
                                        out2=0xff;                        
                                }               
                        }               
          }        
        }         
}                                
作者: lkc8210    时间: 2021-10-6 09:16
少了一些逗号和分号

uchar  code string[]=
{//汉字“”的16*16点阵的列码
        0xFF,0xFF,0xFF,0xFF,0x80,0x07,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xFF,0xFA,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,
//汉字“”的16*16点阵的列码
        0xFF,0xFF,0xFB,0xFF,0xF7,0xFF,0xE0,0x80,0xDB,0xF7,0xFB,0xF7,0xE0,0xF7,0xFB,0xF7,0xFB,0xC1,0xE0,0xF7,0xFB,0xF5,0xFA,0xF6,0xF9,0xF7,0xFB,0x80,0xFF,0xFF,0xFF,0xFF,
//汉字“”的16*16点阵的列码
        0xFF,0xFF,0xB8,0x60,0xDB,0x77,0xE8,0x60,0xFB,0x6E,0xF8,0x6E,0xBD,0xEA,0xDE,0xEA,0xE8,0x2A,0xFC,0x6A,0xFD,0x6A,0xEC,0x7B,0xDA,0xBB,0xB4,0xD5,0x7E,0xEE,0xFF,0xFF};


作者: 考试周破防    时间: 2023-4-14 11:25
hantu 发表于 2021-10-6 08:57
你从哪里抄来的代码,又不好好排版,很多内容应该换行的你又不换行,它们挤在一起就变成了语法错误了。
第 ...

这是张毅刚c51的书上的代码艹
作者: zhuls    时间: 2023-4-14 14:04
考试周破防 发表于 2023-4-14 11:25
这是张毅刚c51的书上的代码艹

老孟早就说了:尽信书不如无书!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1