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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

新手求助大佬: error C141: syntax error near '=', expected '__asm'

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:974311 發(fā)表于 2021-10-23 23:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. #include<reg2.h>
  2. #define P0
  3. #define E
  4. //*********************************************************************
  5. sbit EN=P1^1;
  6. sbit RS=P2^0;
  7. sbit RW=P2^1;


  8. //******************************************************************
  9. char str[]="Goodbye World!";


  10. //***********************************************************************
  11. void delayms(unsigned int ms)
  12. {
  13.         uchar i;
  14.         while(ms--)
  15.            for(i=0;i<123;i++)
  16. }


  17. //****************************************************************
  18. void lcdwritecom(unsigned char com)
  19. {
  20.         RW=0;
  21.         RS=0;
  22.         E=1;
  23.         P0=com;
  24.         E=0;
  25.         delayms(1);
  26. }


  27. //**********************************************************************
  28. void lcdwritedat(unsigned char dat)
  29. {
  30.         RW=0;
  31.         RS=1;
  32.         E=1;
  33.         P0=dat;
  34.         E=0;
  35.         delayms(1);
  36. }


  37. //******************************************************************
  38. void lcdinit()
  39. {
  40.         lcdwritecom(0x38);
  41.         delayms(10);
  42.         lcdwritecom(0x0c);
  43.         delayms(10);
  44.         lcdwritecom(0x06);
  45.         delayms(10);
  46.         lcdwritecom(0x01);
  47.         delayms(10);
  48.         lcdwritecom(0x38);
  49.         delayms(10);
  50. }


  51. //*******************************************************************
  52. void main()
  53. {
  54.         char i;
  55.         lcdinit();
  56.         lcdwritecm(0xc0);
  57.         for(i=0;i<14;i++)
  58.         {
  59.                 lcdwritedat(str[i]);
  60.         }
  61.         while(1);
  62. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:974311 發(fā)表于 2021-10-23 23:03 | 只看該作者
P0=dat;
        E=0;
就這兩個(gè)地方有什么不對(duì)的嗎?LCD1602顯示屏讀寫部分
回復(fù)

使用道具 舉報(bào)

板凳
ID:94031 發(fā)表于 2021-10-24 07:29 | 只看該作者
2901005274 發(fā)表于 2021-10-23 23:03
P0=dat;
        E=0;
就這兩個(gè)地方有什么不對(duì)的嗎?LCD1602顯示屏讀寫部分

P0已經(jīng)在reg52.h聲明了,#define P0要注釋掉。E沒有聲明根據(jù)分析應(yīng)該是EN,#define E也要注釋掉。
回復(fù)

使用道具 舉報(bào)

地板
ID:837951 發(fā)表于 2021-10-24 09:14 | 只看該作者
把02和03行去掉,后面程序的E改為EN
回復(fù)

使用道具 舉報(bào)

5#
ID:974311 發(fā)表于 2021-10-24 11:30 | 只看該作者
xuyaqi 發(fā)表于 2021-10-24 07:29
P0已經(jīng)在reg52.h聲明了,#define P0要注釋掉。E沒有聲明根據(jù)分析應(yīng)該是EN,#define E也要注釋掉。

去掉之后就錯(cuò)了,所以才改動(dòng)的
1602.c(40): error C202: 'P0': undefined identifier
1602.c(41): error C202: 'EN': undefined identifier
Target not created.
回復(fù)

使用道具 舉報(bào)

6#
ID:974311 發(fā)表于 2021-10-24 11:33 | 只看該作者
xuyaqi 發(fā)表于 2021-10-24 07:29
P0已經(jīng)在reg52.h聲明了,#define P0要注釋掉。E沒有聲明根據(jù)分析應(yīng)該是EN,#define E也要注釋掉。

1602.c(40): error C202: 'P0': undefined identifier
1602.c(41): error C202: 'EN': undefined identifier
Target not created.
回復(fù)

使用道具 舉報(bào)

7#
ID:974311 發(fā)表于 2021-10-24 11:34 | 只看該作者
xuyaqi 發(fā)表于 2021-10-24 07:29
P0已經(jīng)在reg52.h聲明了,#define P0要注釋掉。E沒有聲明根據(jù)分析應(yīng)該是EN,#define E也要注釋掉。

1602.c(40): error C202: 'P0': undefined identifier
1602.c(41): error C202: 'EN': undefined identifier
Target not created.
回復(fù)

使用道具 舉報(bào)

8#
ID:964308 發(fā)表于 2021-10-24 11:35 來自觸屏版 | 只看該作者
你的頭文件怎么是reg2.h,還有P0端口已經(jīng)在頭文件里定義了,不需要再用define定義
回復(fù)

使用道具 舉報(bào)

9#
ID:964308 發(fā)表于 2021-10-24 11:41 | 只看該作者
  1. #include"reg51.h"//51單片機(jī)頭文件
  2. /*相關(guān)引腳的定義*///該部分可以自己去定義,我是學(xué)習(xí)51單片機(jī)時(shí)選擇普中單片機(jī)開發(fā)板。
  3. sbit rs=P2^6;    //命令/數(shù)據(jù)選擇
  4. sbit rw=P2^5;    //讀寫口
  5. sbit  e=P2^7;    //鎖存控制
  6. sbit tou=P2^4;
  7. /*函數(shù)聲明*/

  8. void LCD1602_SetArea(unsigned char X,unsigned char Y);
  9. void LCD1602_ShowChar(unsigned char X,unsigned char Y,unsigned char Char);
  10. void LCD1602_ShowString(unsigned char X,unsigned char Y,unsigned char *String);
  11. //void LCD1602_ShowArray(unsigned char X,unsigned char Y,unsigned char *Array,unsigned char Count);
  12. //void LCD1602_ShowNumber_Integer(unsigned char X,unsigned char Y,int IntegerNumber,unsigned char Count);
  13. void InitLCD();

  14. /*延遲函數(shù)的定義*/
  15. void DELAY_nUS(unsigned int Time)
  16. {
  17.         while(--Time);
  18. }
  19. void DELAY_nMS(unsigned int time)
  20. {
  21.   unsigned int  i,j;            
  22.   for(i=0;i<time;i++)   
  23.      for(j=0;j<939;j++);
  24. }
  25. //向LCD寫一命令
  26. void wcode(unsigned char t)
  27. {
  28.   rs=0;           // 寫的是命令
  29.   rw=0;           // 寫狀態(tài)
  30.   e=1;            //使能
  31.   P0=t;           //寫入命令
  32.   DELAY_nMS(2);      //等待寫入,如果時(shí)間太短,會(huì)導(dǎo)致液晶無法顯示
  33.   e=0;            //數(shù)據(jù)的鎖定
  34. }
  35. //向LCD寫一數(shù)據(jù)
  36. void wdata(unsigned char t)
  37. {
  38.   rs=1;          // 寫的是數(shù)據(jù)
  39.   rw=0;          // 寫狀態(tài)
  40.   e=1;           //使能
  41.   P0=t;          //寫入數(shù)據(jù)
  42.   DELAY_nMS(2);     //等待寫入,如果時(shí)間太短,會(huì)導(dǎo)致液晶無法顯示
  43.   e=0;           //數(shù)據(jù)的鎖定
  44. }
  45. //LCD設(shè)置坐標(biāo)位置
  46. void LCD1602_SetArea(unsigned char X,unsigned char Y)
  47. {
  48.     switch(Y)
  49.     {
  50.         case 0: wcode(0x80 + X); break;
  51.         case 1: wcode(0xC0 + X); break;
  52.         default:break;
  53.     }
  54. }
  55. //LCD顯示字符
  56. void LCD1602_ShowChar(unsigned char X,unsigned char Y,unsigned char Char)
  57. {
  58.     LCD1602_SetArea(X,Y);                           // 設(shè)置顯示坐標(biāo)
  59.     wdata(Char);                        // 顯示指定字符
  60. }
  61. //LCD顯示字符串
  62. void LCD1602_ShowString(unsigned char X,unsigned char Y,unsigned char *String)
  63. {            
  64.     LCD1602_SetArea(X,Y);                           // 設(shè)置顯示坐標(biāo)
  65.     while(*String)
  66.     {
  67.         wdata(*String);
  68.         String++;
  69.     }
  70. }

  71. //LCD初始化
  72. void InitLCD()
  73. {                   
  74.    wcode(0x01);          //清屏
  75.    wcode(0x06);   //輸入方式控制,增量光標(biāo)不移位
  76.    wcode(0x0e);   //顯示開關(guān)控制
  77.    wcode(0x38);   //功能設(shè)定:設(shè)置16x2顯示,5x7顯示,8位數(shù)據(jù)接口            
  78. }

  79. /*******************************************************************************
  80. * 函 數(shù) 名       : main()
  81. * 函數(shù)功能       :主函數(shù)
  82. * 輸    入       : 無
  83. * 輸    出       : 無
  84. *******************************************************************************/
  85. void main()
  86. {
  87.         InitLCD();
  88.         LCD1602_ShowString(0,0,"hello world");
  89.         while(tou);
  90.     wcode(0x01);          //清屏
  91. }
復(fù)制代碼

我這有個(gè)lcd1602的代碼,你可以參考參考,還有你那個(gè)寫入數(shù)據(jù)和使能太快了,可能會(huì)出錯(cuò)
回復(fù)

使用道具 舉報(bào)

10#
ID:964308 發(fā)表于 2021-10-24 11:44 來自觸屏版 | 只看該作者
2901005274 發(fā)表于 2021-10-23 23:03
P0=dat;
        E=0;
就這兩個(gè)地方有什么不對(duì)的嗎?LCD1602顯示屏讀寫部分

有問題,你的使能端定義的是EN,而你用的是E,E不指向任何端口
回復(fù)

使用道具 舉報(bào)

11#
ID:824490 發(fā)表于 2021-10-24 12:10 | 只看該作者
#define P0
#define E
回復(fù)

使用道具 舉報(bào)

12#
ID:624769 發(fā)表于 2021-10-24 14:20 | 只看該作者
#include<reg2.h>               <===   這個(gè)頭文件,真的存在么?
#define P0                         <===    define 是重定義的意思, 你定義  P0  為  ???? 空氣?
#define E                           <===    define 是重定義的意思, 你定義  E  為  ???? 空氣?

只有一種情況下,define 重定義為空氣,一般是條件編譯, 判斷是否有 define 這個(gè) 符號(hào),但是你下面有了賦值操作,那么問題來了, 你給空氣賦值?
回復(fù)

使用道具 舉報(bào)

13#
ID:213173 發(fā)表于 2021-10-24 17:17 | 只看該作者
多處抄寫錯(cuò)漏
#include<reg52.h>

//*********************************************************************
sbit EN=P1^1;
sbit RS=P2^0;
sbit RW=P2^1;


//******************************************************************
char str[]="Goodbye World!";


//***********************************************************************
void delayms(unsigned int ms)
{
        unsigned char i;
        while(ms--)
                for(i=0;i<123;i++);
}


//****************************************************************
void lcdwritecom(unsigned char com)
{
        RW=0;
        RS=0;
        EN=1;
        P0=com;
        EN=0;
        delayms(1);
}


//**********************************************************************
void lcdwritedat(unsigned char dat)
{
        RW=0;
        RS=1;
        EN=1;
        P0=dat;
        EN=0;
        delayms(1);
}


//******************************************************************
void lcdinit()
{
        lcdwritecom(0x38);
        delayms(10);
        lcdwritecom(0x0c);
        delayms(10);
        lcdwritecom(0x06);
        delayms(10);
        lcdwritecom(0x01);
        delayms(10);
        lcdwritecom(0x38);
        delayms(10);
}


//*******************************************************************
void main()
{
        char i;
        lcdinit();
        lcdwritecom(0xc0);
        for(i=0;i<14;i++)
        {
                lcdwritedat(str);
        }
        while(1);
}







回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区不卡 | 日韩欧美手机在线 | 午夜激情小视频 | 亚洲福利在线观看 | 免费黄色av | 欧美在线视频一区二区 | 国产精品波多野结衣 | 超碰在线播 | 99久久影院| 一级日批片 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 中文字幕高清一区 | 成人高清视频在线观看 | 精产国产伦理一二三区 | 久草免费在线视频 | 欧美日韩激情 | 久久国产精品久久国产精品 | 五月香婷婷 | 99色在线视频 | 麻豆91精品91久久久 | 欧美精品在线看 | 精品久久久久久久久久久院品网 | 中文字幕一二三区 | 免费的一级视频 | 久久综合爱 | 国产日韩欧美激情 | 日本视频在线播放 | 中文字幕一区二区三区四区 | 在线看无码的免费网站 | 亚洲香蕉在线视频 | 看特级黄色片 | 人人干人人超 | 精品欧美一区二区在线观看欧美熟 | 日韩在线中文 | 久久狼人天堂 | 日韩视频在线免费观看 | av毛片 | 一区二区三区四区免费视频 | 瑟瑟视频在线看 | 国产电影一区二区 | 久久国产精99精产国高潮 |