找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2330|回复: 10
收起左侧

单片机16*16点阵程序老是显示error c141:syntax error near“0xFF”等

[复制链接]
ID:970037 发表于 2021-10-5 23:25 | 显示全部楼层 |阅读模式
单片机源程序如下:
#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;                        
        }               
   }               
}        
}         
}                                
回复

使用道具 举报

ID:939710 发表于 2021-10-6 04:35 | 显示全部楼层
兄弟的你的主函数main标识呢。。。
回复

使用道具 举报

ID:939710 发表于 2021-10-6 04:40 | 显示全部楼层
string数组里面第一二行最后都少一个逗号
回复

使用道具 举报

ID:332444 发表于 2021-10-6 08:15 | 显示全部楼层
数据都注释掉还有数据能加载?
回复

使用道具 举报

ID:235200 发表于 2021-10-6 08:29 | 显示全部楼层
在定义的这个 string[]={};数组后面加上分号就可以了
回复

使用道具 举报

ID:827243 发表于 2021-10-6 08:41 | 显示全部楼层
每个汉字的最后一个0xFF后面,少了,
回复

使用道具 举报

ID:462827 发表于 2021-10-6 08:57 | 显示全部楼层
你从哪里抄来的代码,又不好好排版,很多内容应该换行的你又不换行,它们挤在一起就变成了语法错误了。
第1行的包含头文件与后面的#define要换行;
string数组现在不换行后面的内容都跟着变成了注释,而且还缺逗号。最末还缺了分号。
void main()应该换到新行。

不排版的代码就是%%。
回复

使用道具 举报

ID:94031 发表于 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;                        
                                }               
                        }               
          }        
        }         
}                                
回复

使用道具 举报

ID:161164 发表于 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};

回复

使用道具 举报

ID:939018 发表于 2023-4-14 11:25 来自手机 | 显示全部楼层
hantu 发表于 2021-10-6 08:57
你从哪里抄来的代码,又不好好排版,很多内容应该换行的你又不换行,它们挤在一起就变成了语法错误了。
第 ...

这是张毅刚c51的书上的代码艹
回复

使用道具 举报

ID:69038 发表于 2023-4-14 14:04 | 显示全部楼层
考试周破防 发表于 2023-4-14 11:25
这是张毅刚c51的书上的代码艹

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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