久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3633|回復: 12
打印 上一主題 下一主題
收起左側(cè)

1602自編.C(51): error C129: missing ';' before 'main'求大神拯救

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:639140 發(fā)表于 2020-2-16 00:09 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
程序源碼如下 報錯位置在主函數(shù)main附近 看啦2小時不知錯在哪里 跪求大神指點迷境


#include<reg52.h>
sbit  LCD1602_RS=P2^4;
sbit  LCD1602_RW=P2^5;
sbit  LCD1602_EN=P2^6;
sbit  LCD1602_DB=P0;
unsigned int i;
unsigned char code shuzu1[]="1234567890123456";
unsigned char code shuzu2[]="9876543210987654";
void Read_Busy()           //忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
{
    unsigned char sta;      //
    LCD1602_DB = 0xff;
    LCD1602_RS = 0;
    LCD1602_RW = 1;
    do
    {
        LCD1602_EN = 1;
        sta = LCD1602_DB;
        LCD1602_EN = 0;    //使能,用完就拉低,釋放總線
    }while(sta & 0x80);
}

void Lcd1602_Write_Cmd(unsigned char cmd)     //寫命令
{
    Read_Busy();//忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
    LCD1602_RS = 0;//RS數(shù)據(jù)命令選擇RS=1數(shù)據(jù) RS=0命令
    LCD1602_RW = 0;//讀寫選擇 RW=1讀取 RW=0寫
    LCD1602_DB = cmd;//命令放到P0(假設(shè))上
    LCD1602_EN = 1;//*****************使能信號 =1開始工作
    LCD1602_EN = 0; //*****************使能信號 =1開始工作   
}
void Lcd1602_Write_Data(unsigned char dat)   //寫數(shù)據(jù)
{
      Read_Busy();//忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
      LCD1602_RS = 1;//RS數(shù)據(jù)命令選擇RS=1數(shù)據(jù) RS=0命令
      LCD1602_RW = 0;//讀寫選擇 RW=1讀取 RW=0寫
      LCD1602_DB = dat;//數(shù)據(jù)放到P0(假設(shè))上
      LCD1602_EN = 1;//使能開
      LCD1602_EN = 0;//使能關(guān)
}
void InitLcd1602()              //1602初始化 共5組初始化寄存器
{
    Lcd1602_Write_Cmd(0x38);    //打開,5*8,8位數(shù)據(jù)   00111000
    Lcd1602_Write_Cmd(0x0c);    //00001100后三位表示 開顯示 不顯光標 光標不閃爍
    Lcd1602_Write_Cmd(0x06);    //00000110   //寫一個字符后地址指針加一
    Lcd1602_Write_Cmd(0x01);    //清屏   
}
viod main()
     {
      InitLcd1602();
      for(i = 0; i < 16; i++);
        {
         Lcd1602_Write_Data(shuzu1[i]);
         }
      void Lcd1602_Write_Cmd(0x80+0x40);
      for(i = 0; i < 16; i++);
           {
            Lcd1602_Write_Data(shuzu2[i]);
            }
            while(1);
       }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:639140 發(fā)表于 2020-2-16 01:27 | 只看該作者
不好意思 大半夜獻丑了 字母拼錯了
回復

使用道具 舉報

板凳
ID:235200 發(fā)表于 2020-2-16 01:55 | 只看該作者
main前面的單詞改為void  倒數(shù)第7行的void去掉
回復

使用道具 舉報

地板
ID:77479 發(fā)表于 2020-2-16 02:15 | 只看該作者
程序到這個地方有問題!!!

      viod main()         改成=》 void main()  

    主函數(shù)里面
      void Lcd1602_Write_Cmd(0x80+0x40);         去掉  void  =》Lcd1602_Write_Cmd(0x80+0x40);

   祝你成功!!!!!

回復

使用道具 舉報

5#
ID:294296 發(fā)表于 2020-2-16 02:46 | 只看該作者
我覺得主函數(shù)那里發(fā)數(shù)據(jù)有誤,樓主可以參考一下我用過的驅(qū)動程序!
  1. #include <reg52.h>
  2. #include  <string.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define LCD1602_data P0
  6. sbit LCD1602_RS=P2^6;
  7. sbit LCD1602_RW=P2^5;
  8. sbit LCD1602_EN= P2^7;
  9. void LCD1602_Init();
  10. void LCD1602_Write_cmd(uchar cmd);
  11. void LCD1602_Write_data(uchar dat);
  12. void LCD1602_display();
  13. uchar code table0[]="STC";
  14. uchar code table1[]="ARM";

  15. void delay(uint a)
  16. {
  17.     uint i,j;
  18.                 for (i=a;i>0;i--)
  19.     for (j=110;j>0;j--);
  20. }

  21. void LCD1602_Write_cmd(uchar cmd)//寫指令函數(shù)
  22. {
  23.           LCD1602_RS=0;//寫指令
  24.                 LCD1602_RW=0;//寫操作
  25.     LCD1602_data=cmd;
  26.           delay(5);
  27.           LCD1602_EN=1;
  28.            LCD1602_EN=0;
  29. }

  30. void LCD1602_Write_data(uchar dat)//寫數(shù)據(jù)函數(shù)
  31. {
  32.          LCD1602_RS=1;//寫數(shù)據(jù)
  33.          LCD1602_RW=0;//寫操作
  34.    LCD1602_data=dat;
  35.    delay(5);
  36.          LCD1602_EN=1;
  37.    LCD1602_EN=0;
  38. }

  39. void LCD1602_Init()
  40. {
  41.   LCD1602_Write_cmd(0x38);//8位數(shù)據(jù),雙列,5X7字形
  42.   LCD1602_Write_cmd(0x0c);//開啟顯示屏,關(guān)光標,光標不閃爍
  43.   LCD1602_Write_cmd(0x06);//顯示地址遞增,即寫一個數(shù)據(jù)后,顯示位置右移一位
  44.   LCD1602_Write_cmd(0x01);//清屏
  45. }

  46. void LCD1602_display(void)//顯示函數(shù)
  47. {
  48.   uchar a,b;
  49.         LCD1602_Init();
  50.         LCD1602_Write_cmd(0x80);
  51.         for(a=0;a<3;a++)
  52.         {
  53.                 LCD1602_Write_data(table0[a]);
  54.                 delay(200);
  55.         }
  56.         LCD1602_Write_cmd(0x80+0x40);
  57.         for(b=0;b<3;b++)
  58.         {
  59.                 LCD1602_Write_data(table1[b]);
  60.                 delay(200);
  61.         }
  62. }

  63. void main()
  64. {
  65.         LCD1602_Init();
  66.   LCD1602_display();
  67.         while(1);
  68. }
復制代碼


回復

使用道具 舉報

6#
ID:213173 發(fā)表于 2020-2-16 05:44 | 只看該作者
樓主錯得不是一兩處,抄的不認真,你對比一下就明白。


  1. #include<reg52.h>
  2. sbit  LCD1602_RS=P2^4;
  3. sbit  LCD1602_RW=P2^5;
  4. sbit  LCD1602_EN=P2^6;
  5. //sbit  LCD1602_DB=P0;
  6. <font color="#ff0000">#define LCD1602_DB P0</font>
  7. unsigned int i;
  8. unsigned char code shuzu1[]="1234567890123456";
  9. unsigned char code shuzu2[]="9876543210987654";

  10. void Read_Busy()           //忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
  11. {
  12.         unsigned char sta;      //
  13.         LCD1602_DB = 0xff;
  14.         LCD1602_RS = 0;
  15.         LCD1602_RW = 1;
  16.         do
  17.         {
  18.                 LCD1602_EN = 1;
  19.                 sta = LCD1602_DB;
  20.                 LCD1602_EN = 0;    //使能,用完就拉低,釋放總線
  21.         }while(sta & 0x80);
  22. }

  23. void Lcd1602_Write_Cmd(unsigned char cmd)     //寫命令
  24. {
  25.         Read_Busy();//忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
  26.         LCD1602_RS = 0;//RS數(shù)據(jù)命令選擇RS=1數(shù)據(jù) RS=0命令
  27.         LCD1602_RW = 0;//讀寫選擇 RW=1讀取 RW=0寫
  28.         LCD1602_DB = cmd;//命令放到P0(假設(shè))上
  29.         LCD1602_EN = 1;//*****************使能信號 =1開始工作
  30.         LCD1602_EN = 0; //*****************使能信號 =1開始工作   
  31. }
  32. void Lcd1602_Write_Data(unsigned char dat)   //寫數(shù)據(jù)
  33. {
  34.         Read_Busy();//忙檢測函數(shù),判斷bit7是0,允許執(zhí)行;1禁止
  35.         LCD1602_RS = 1;//RS數(shù)據(jù)命令選擇RS=1數(shù)據(jù) RS=0命令
  36.         LCD1602_RW = 0;//讀寫選擇 RW=1讀取 RW=0寫
  37.         LCD1602_DB = dat;//數(shù)據(jù)放到P0(假設(shè))上
  38.         LCD1602_EN = 1;//使能開
  39.         LCD1602_EN = 0;//使能關(guān)
  40. }
  41. void InitLcd1602()              //1602初始化 共5組初始化寄存器
  42. {
  43.         Lcd1602_Write_Cmd(0x38);    //打開,5*8,8位數(shù)據(jù)   00111000
  44.         Lcd1602_Write_Cmd(0x0c);    //00001100后三位表示 開顯示 不顯光標 光標不閃爍
  45.         Lcd1602_Write_Cmd(0x06);    //00000110   //寫一個字符后地址指針加一
  46.         Lcd1602_Write_Cmd(0x01);    //清屏   
  47. }
  48. //viod main()
  49. <font color="#ff0000">void main()</font>
  50. {
  51.         InitLcd1602();
  52. <font color="#ff0000">        Lcd1602_Write_Cmd(0x80);</font>
  53. //        for(i = 0; i < 16; i++);
  54. <font color="#ff0000">        for(i = 0; i < 16; i++)</font>
  55.         {
  56.                 Lcd1602_Write_Data(shuzu1[i]);
  57.         }
  58. //        void Lcd1602_Write_Cmd(0x80+0x40);
  59. <font color="#ff0000">        Lcd1602_Write_Cmd(0x80+0x40);</font>
  60. //        for(i = 0; i < 16; i++);
  61. <font color="#ff0000">        for(i = 0; i < 16; i++)</font>
  62.         {
  63.                 Lcd1602_Write_Data(shuzu2[i]);
  64.         }
  65.         while(1);
  66. }
復制代碼



回復

使用道具 舉報

7#
ID:155507 發(fā)表于 2020-2-16 07:39 | 只看該作者
這里錯了
viod main()
改成這樣 void main()

回復

使用道具 舉報

8#
ID:587810 發(fā)表于 2020-2-16 07:40 來自手機 | 只看該作者
把for循環(huán) 小括號 后面的 ; 去掉試試,兩個都要去掉
回復

使用道具 舉報

9#
ID:677076 發(fā)表于 2020-2-16 08:29 | 只看該作者
viod main()
     {
      InitLcd1602();
      for(i = 0; i < 16;   void寫反了
回復

使用道具 舉報

10#
ID:168996 發(fā)表于 2020-2-16 09:57 | 只看該作者
不像自編的。。。
回復

使用道具 舉報

11#
ID:619787 發(fā)表于 2020-2-16 13:37 | 只看該作者
void main
回復

使用道具 舉報

12#
ID:159575 發(fā)表于 2020-2-16 18:11 來自手機 | 只看該作者
void拼錯了
回復

使用道具 舉報

13#
ID:687423 發(fā)表于 2020-2-16 18:42 | 只看該作者
本帖最后由 。。jj 于 2020-2-16 19:14 編輯

樓主的程序除了主函數(shù)的void main錯誤之外,應(yīng)該把倒數(shù)第7行的void刪掉,在程序中使用函數(shù)是只需要寫函數(shù)名就可以了,不需要加void,在寫1602的寫命令和寫數(shù)據(jù)的程序時建議加一個延時程序,不要直接寫,樓主這樣寫可能會出錯,建議加個延時。
void dealy(unsigned int c)
{
      unsigned int a,b;
      for(;c>0;c--)
      {
               for(b=199;b>0;b--);
                      for(a=1;a>0;a--);
      }
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人一区二区三区 | av先锋资源| 久草免费在线视频 | 亚洲欧美国产精品久久 | 欧美性一区二区三区 | 亚洲福利在线观看 | 午夜一区二区三区在线观看 | 中文字幕在线一区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 久久国产精品视频 | 99热精品6 | 色综合久 | 国产精品精品久久久 | 麻豆精品久久 | 97色在线视频 | 日韩在线观看网站 | 欧美成人在线免费 | 国产激情三区 | 亚洲人成人一区二区在线观看 | 99国内精品久久久久久久 | 久久久国产精品 | 午夜在线小视频 | 永久av| 亚洲高清视频在线观看 | 亚洲成人激情在线观看 | 国产精品亚洲第一区在线暖暖韩国 | 成人午夜激情 | 久久久999国产精品 中文字幕在线精品 | 精品网| 波波电影院一区二区三区 | 欧美午夜精品 | 日韩在线观看一区 | 日本人爽p大片免费看 | 欧美猛交| 天天操网 | 国内精品视频在线观看 | 国产在线二区 | 亚洲国产成人在线 | 欧美一区二区三区,视频 | 日日干夜夜操 | 欧美精品一区二区三区四区 在线 |