找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1484|回复: 6
收起左侧

error c129:missing';'before'++'这个问题是出在哪?找了很久怎么改都不行

[复制链接]
ID:1005923 发表于 2022-3-12 21:13 | 显示全部楼层 |阅读模式
1.png
error c129:missing';'before'++'
回复

使用道具 举报

ID:908826 发表于 2022-3-13 09:39 | 显示全部楼层
把你整个工程文件发出来看看吧。
回复

使用道具 举报

ID:776619 发表于 2022-3-13 10:26 | 显示全部楼层
前一句大括号}后面应加分号。
回复

使用道具 举报

ID:1005923 发表于 2022-3-13 14:03 | 显示全部楼层
#include<reg51.h>
/*******宏定义***********/
#define uint unsigned int
#define uchar unsigned char
/******位定义************/
sbit SH_CP=P3^1;           /*移位寄存器时钟输入*/
sbit ST_CP=P3^3;           /*存储寄存器时钟输入*/
sbit DS=P3^2;                /****串行数据输入****/
/******变量和数组*******/
uint key;
uint timecount;
uchar cnta;
uchar cntb;
uchar code key_num[8][8]={
                                                                                                                                                                0,1,2,3,4,5,6,7,
                                                                                                                                                                8,9,10,11,12,13,14,15,
                                                                                                                                                                16,17,18,19,20,21,22,23,
                                                                                                                                                                24,25,26,27,28,29,30,31,
                                                                                                                                                                32,33,34,35,36,37,38,39,
                                                                                                                                                                40,41,42,43,44,45,46,47,
                                                                                                                                                                48,49,50,51,52,53,54,55,
                                                                                                                                                                56,57,58,59,60,61,62,63,
};
uchar code table[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code digit_tab[10][8]={                                    /***字模 阳码 逐列式 逆向 ***/
                                                                                                                                                {0xFF,0xC7,0xBB,0xBB,0xBB,0xBB,0xC7,0xFF},  /*"0",0*/
                                                                                                                                                {0xFF,0xB7,0xB7,0x83,0xBF,0xBF,0xFF,0xFF},    /*"1",1*/
                                                                                                                                                {0xFF,0xB7,0x9B,0x9B,0x9B,0xAB,0x93,0xFF},   /*"2",2*/
                                                                                                                                                {0xFF,0xD7,0xBB,0xB3,0xB3,0xAB,0xCB,0xFF}, /*"3",3*/
                                                                                                                                                {0xFF,0xEF,0xD7,0xDB,0x9B,0x81,0xFF,0xFF},   /*"4",4*/
                                                                                                                                                {0xFF,0xC3,0xAB,0xAB,0xAB,0xAB,0xDB,0xFF},/*"5",5*/
                                                                                                                                                {0xFF,0xC7,0xAB,0xAB,0xAB,0xAB,0xDF,0xFF},/*"6",6*/
                                                                                                                                                {0xFF,0xF3,0xFB,0x8B,0xEB,0xF3,0xFB,0xFF},   /*"7",7*/
                                                                                                                                                {0xFF,0xD3,0xAB,0xAB,0xAB,0xAB,0xD3,0xFF},/*"8",8*/
                                                                                                                                                {0xFF,0xF7,0xAB,0xAB,0xAB,0x8B,0xC7,0xFF}, /*"9",9*/
//                                                                                                                                {0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00},/*"0",0*/
//                                                                                                                                {0x00,0x48,0x48,0x7C,0x40,0x40,0x00,0x00},/*"1",1*/
//                                                                                                                                {0x00,0x48,0x64,0x64,0x64,0x54,0x6C,0x00},/*"2",2*/
//                                                                                                                                {0x00,0x28,0x44,0x4C,0x4C,0x54,0x34,0x00},/*"3",3*/
//                                                                                                                                {0x00,0x10,0x28,0x24,0x64,0x7E,0x00,0x00},/*"4",4*/
//                                                                                                                                {0x00,0x3C,0x54,0x54,0x54,0x54,0x24,0x00},/*"5",5*/
//                                                                                                                                {0x00,0x38,0x54,0x54,0x54,0x54,0x20,0x00},/*"6",6*/
//                                                                                                                                {0x00,0x0C,0x04,0x74,0x14,0x0C,0x04,0x00},/*"7",7*/
//                                                                                                                                {0x00,0x2C,0x54,0x54,0x54,0x54,0x2C,0x00},/*"8",8*/
//                                                                                                                                {0x00,0x08,0x54,0x54,0x54,0x74,0x38,0x00},/*"9",9*/         
};
/**************函数定义***********************/
/*********************************************/
/*******函数名称:Ser_IN**********************/
/*******函数描述:串行数据输入****************/
/*******输入参数:Data************************/
/*******返回值    : 无**************************/
/*********************************************/
void Ser_IN(uchar Data)
{
        uchar i;
        for(i=0;i<8;i++)
        {
                SH_CP=0;
                DS=Data&0x08;
                Data<<=1;
                SH_CP=1;
        }
}
/*********************************************/
/*******函数名称:Par_OUT********************/
/*******函数描述:并行数据输出****************/
/*******输入参数:无**************************/
/*******返回值    :  无**************************/
/*********************************************/
void Par_OUT()
{
        ST_CP=1;
        ST_CP=0;
}
/*********************************************/
/*******函数名称:Timer0**********************/
/*******函数描述:T0中断函数******************/
/*******输入参数:无**************************/
/*******返回值    :  无**************************/
/*********************************************/
void Timer0(void)  interrupt 1using 0
{
        TH0=(65536-3000)/256;
        TL0=(65536-3000)%256;
        Ser_IN(table[cntb]);                   //列扫描//
        Ser_IN(digit_tab[cntb][cnta]);      //串行数据输入//
        Par_OUT();                             //并行数据输出
        cnta++;
        if(cnta==8)
        {
                cnta=0;
        }
        timecount++;
        if(timecount==1000)
        {
                timecount=0;
                cntb ++;
                if(cntb==10)
                {
                        cntb=0;
                }
        }
        key=key_scan();
        if(key!=-1)
        {
                switch(key)
                        case 0:cntb=0;break;
                        case 1:cntb=1;break;
            case 2:cntb=2;break;
                  case 3:cntb=3;break;
                        case 4:cntb=4;break;
            case 5:cntb=5;break;
                  case 6:cntb=6;break;
                        case 7:cntb=7;break;
            case 8:cntb=8;break;
                  case 9:cntb=9;break;
                        case 10:cntb=10;break;
        }
}       
/*********************************************/
/*******函数名称:key_scan*********************/
/*******函数描述:键盘扫描********************/
/*******输入参数:无**************************/
/*******返回值    :  键值************************/
/*********************************************/
int key_scan()
{
         uint i,j;
         for(i=0;i<8;i++)
        {
                P0=table[i];
                if(P2!=0xff)
                {
                        delayms(2);
                        if(P2!=0xff)
                        {
                                 for(j=0;j<8;j++)
                                {
                                        if(P2==table[j])
                                                return key_num[i][j];
                                }
                        }
                }
                else
                        return -1;
        }
}
/*********************************************/
/*******函数名称:delayms**********************/
/*******函数描述:延时函数********************/
/*******输入参数:uint m***********************/
/*******返回值    :无***************************/
/*********************************************/
void delayms(uint m);
{
        uint i,j;
        for(i=0;i<m;i++)
                for(j=0;j<125;j++);
}
/*********************************************/
/*******函数名称:main************************/
/*******函数描述:主函数**********************/
/*******输入参数:无**************************/
/*******返回值    :无***************************/
/*********************************************/
void main()
{
        TMOD=0x01;
        TH0=(65536-3000)/256;
        TL0=(65536-3000)%256;
        TR0=1;
        ET0=1;
        EA=1;
        while(1)
        {
                ;
        }               
}
回复

使用道具 举报

ID:1005923 发表于 2022-3-13 14:18 | 显示全部楼层
13205495918 发表于 2022-3-13 09:39
把你整个工程文件发出来看看吧。

整个工程文件都在压缩包里了

keil.rar

6.48 KB, 下载次数: 3

回复

使用道具 举报

ID:155507 发表于 2022-3-14 10:28 | 显示全部楼层
给你改了,对比一下就知道哪里错了。

  1. #include <reg51.h>
  2. #include <intrins.h>
  3. /*******宏定义***********/
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. /******位定义************/
  7. sbit SH_CP=P3^1;           /*移位寄存器时钟输入*/
  8. sbit ST_CP=P3^3;           /*存储寄存器时钟输入*/
  9. sbit DS=P3^2;                /****串行数据输入****/
  10. /******变量和数组*******/
  11. uint key;
  12. uint timecount;
  13. uchar cnta;
  14. uchar cntb;
  15. int key_scan(void);
  16. void delayms(uint m);

  17. uchar code key_num[8][8]={
  18.         0,1,2,3,4,5,6,7,
  19.         8,9,10,11,12,13,14,15,
  20.         16,17,18,19,20,21,22,23,
  21.         24,25,26,27,28,29,30,31,
  22.         32,33,34,35,36,37,38,39,
  23.         40,41,42,43,44,45,46,47,
  24.         48,49,50,51,52,53,54,55,
  25.         56,57,58,59,60,61,62,63,
  26. };//;// <--------------中文符号
  27. uchar code table[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  28. uchar code digit_tab[10][8]={                                    /***字模 阳码 逐列式 逆向 ***/
  29.         {0xFF,0xC7,0xBB,0xBB,0xBB,0xBB,0xC7,0xFF},  /*"0",0*/
  30.         {0xFF,0xB7,0xB7,0x83,0xBF,0xBF,0xFF,0xFF},    /*"1",1*/
  31.         {0xFF,0xB7,0x9B,0x9B,0x9B,0xAB,0x93,0xFF},   /*"2",2*/
  32.         {0xFF,0xD7,0xBB,0xB3,0xB3,0xAB,0xCB,0xFF}, /*"3",3*/
  33.         {0xFF,0xEF,0xD7,0xDB,0x9B,0x81,0xFF,0xFF},   /*"4",4*/
  34.         {0xFF,0xC3,0xAB,0xAB,0xAB,0xAB,0xDB,0xFF},/*"5",5*/
  35.         {0xFF,0xC7,0xAB,0xAB,0xAB,0xAB,0xDF,0xFF},/*"6",6*/
  36.         {0xFF,0xF3,0xFB,0x8B,0xEB,0xF3,0xFB,0xFF},   /*"7",7*/
  37.         {0xFF,0xD3,0xAB,0xAB,0xAB,0xAB,0xD3,0xFF},/*"8",8*/
  38.         {0xFF,0xF7,0xAB,0xAB,0xAB,0x8B,0xC7,0xFF}, /*"9",9*/
  39.         //                                                                                                                                {0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00},/*"0",0*/
  40.         //                                                                                                                                {0x00,0x48,0x48,0x7C,0x40,0x40,0x00,0x00},/*"1",1*/
  41.         //                                                                                                                                {0x00,0x48,0x64,0x64,0x64,0x54,0x6C,0x00},/*"2",2*/
  42.         //                                                                                                                                {0x00,0x28,0x44,0x4C,0x4C,0x54,0x34,0x00},/*"3",3*/
  43.         //                                                                                                                                {0x00,0x10,0x28,0x24,0x64,0x7E,0x00,0x00},/*"4",4*/
  44.         //                                                                                                                                {0x00,0x3C,0x54,0x54,0x54,0x54,0x24,0x00},/*"5",5*/
  45.         //                                                                                                                                {0x00,0x38,0x54,0x54,0x54,0x54,0x20,0x00},/*"6",6*/
  46.         //                                                                                                                                {0x00,0x0C,0x04,0x74,0x14,0x0C,0x04,0x00},/*"7",7*/
  47.         //                                                                                                                                {0x00,0x2C,0x54,0x54,0x54,0x54,0x2C,0x00},/*"8",8*/
  48.         //                                                                                                                                {0x00,0x08,0x54,0x54,0x54,0x74,0x38,0x00},/*"9",9*/         
  49. };
  50. /**************函数定义***********************/
  51. /*********************************************/
  52. /*******函数名称:Ser_IN**********************/
  53. /*******函数描述:串行数据输入****************/
  54. /*******输入参数:Data************************/
  55. /*******返回值    : 无**************************/
  56. /*********************************************/
  57. void Ser_IN(uchar Data)
  58. {
  59.         uchar i;
  60.         for(i=0;i<8;i++)
  61.         {
  62.                 SH_CP=0;//;//<-----------------中文符号
  63.                 DS=Data&0x08;
  64.                 Data<<=1;
  65.                 SH_CP=1;
  66.                 _nop_();
  67.         }
  68. }
  69. /*********************************************/
  70. /*******函数名称:Par_OUT********************/
  71. /*******函数描述:并行数据输出****************/
  72. /*******输入参数:无**************************/
  73. /*******返回值    :  无**************************/
  74. /*********************************************/
  75. void Par_OUT()
  76. {
  77.         ST_CP=1;
  78.         _nop_( );
  79.         _nop_( );
  80.         ST_CP=0;
  81. }
  82. /*********************************************/
  83. /*******函数名称:Timer0**********************/
  84. /*******函数描述:T0中断函数******************/
  85. /*******输入参数:无**************************/
  86. /*******返回值    :  无**************************/
  87. /*********************************************/
  88. void Timer0(void)  interrupt 1 using 0 //<--------这里不对
  89. {
  90.         TH0=(65536-1000)/256;              //12MHZ晶振定时时间为1ms
  91.         TL0=(65536-1000)%256;
  92.         Ser_IN(table[cntb]);                   //列扫描//
  93.         Ser_IN(digit_tab[cntb][cnta]);      //串行数据输入//
  94.         Par_OUT();                             //并行数据输出
  95.         cnta++;
  96.         if(cnta==8)
  97.         {
  98.                 cnta=0;
  99.         } ;
  100.        
  101.         timecount++;
  102.         if(timecount==1000)
  103.         {
  104.                 timecount=0;
  105.                 cntb ++;
  106.                 if(cntb==10)
  107.                 {
  108.                         cntb=0;
  109.                 }
  110.         }
  111.         key=key_scan();
  112.         if(key!=-1)
  113.         {
  114.                 switch(key)
  115.                 { //<-------这里少了
  116.                 case 0:cntb=0;break;
  117.                 case 1:cntb=1;break;
  118.                 case 2:cntb=2;break;
  119.                 case 3:cntb=3;break;
  120.                 case 4:cntb=4;break;
  121.                 case 5:cntb=5;break;
  122.                 case 6:cntb=6;break;
  123.                 case 7:cntb=7;break;
  124.                 case 8:cntb=8;break;
  125.                 case 9:cntb=9;break;
  126.                 case 10:cntb=10;break;
  127.                 }
  128.         }   
  129. }        //<--------这里少了
  130. /*********************************************/
  131. /*******函数名称:key_scan*********************/
  132. /*******函数描述:键盘扫描********************/
  133. /*******输入参数:无**************************/
  134. /*******返回值    :  键值************************/
  135. /*********************************************/
  136. int key_scan()
  137. {
  138.         uint i,j;
  139.         for(i=0;i<8;i++)
  140.         {
  141.                 P0=table[i];
  142.                 if(P2!=0xff)
  143.                 {
  144.                         delayms(2);
  145.                         if(P2!=0xff)
  146.                         {
  147.                                 for(j=0;j<8;j++)
  148.                                 {
  149.                                         if(P2==table[j])
  150.                                         return key_num[i][j];
  151.                                 }
  152.                         }
  153.                 }
  154.                 else
  155.                 return -1;
  156.         }
  157.         return -1; //<---------要加这个
  158. }
  159. /*********************************************/
  160. /*******函数名称:delayms**********************/
  161. /*******函数描述:延时函数********************/
  162. /*******输入参数:uint m***********************/
  163. /*******返回值    :无***************************/
  164. /*********************************************/
  165. void delayms(uint m) //; <------------不用加
  166. {
  167.         uint i,j;
  168.         for(i=0;i<m;i++)
  169.             for(j=0;j<125;j++);
  170. }
  171. /*********************************************/
  172. /*******函数名称:main************************/
  173. /*******函数描述:主函数**********************/
  174. /*******输入参数:无**************************/
  175. /*******返回值    :无***************************/
  176. /*********************************************/
  177. void main()
  178. {
  179.         TMOD=0x01;
  180.         TH0=(65536-1000)/256;
  181.         TL0=(65536-1000)%256;
  182.         TR0=1;
  183.         ET0=1;
  184.         EA=1;
  185.         while(1)
  186.         {
  187.                 ;
  188.         }               
  189. }




复制代码
回复

使用道具 举报

ID:978751 发表于 2022-3-20 13:00 | 显示全部楼层
IF和IF之间不能有其它语句隔开,你把COUNT++;移到底下就行了.
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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