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

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)智能計(jì)算機(jī)程序編譯錯(cuò)誤c101: '''invalid character constant

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
有六處錯(cuò)誤 怎么改


單片機(jī)源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #include <ctype.h>                        /*   isdigit()函數(shù)   */
  4. #include <stdlib.h>                        /*    atoi()函數(shù)     */

  5. #define uchar unsigned char
  6. #define uint unsigned int

  7. uchar operand1[9], operand2[9];  /*   操作數(shù)   */
  8. uchar operator;                                         /*   操作符   */

  9. void delay(uint);
  10. uchar keyscan();
  11. void disp(void);
  12. void buf(uint value);
  13. uint compute(uint va1,uint va2,uchar optor);

  14. uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,
  15.                                 0x92,0x82,0xf8,0x80,0x90,0xff};     /*   字符碼表   */

  16. uchar dbuf[8] = {10,10,10,10,10,10,10,10};                    /*   顯示緩存   */

  17. /*   延時(shí)函數(shù)   */               
  18. void delay(uint z)
  19. {
  20. uint x,y;
  21. for(x=z;x>0;x--)
  22.         for(y=110;y>0;y--);
  23. }

  24. /*******************************************
  25.               鍵盤掃描程序
  26.        將按鍵轉(zhuǎn)化為字符并作為輸出
  27.     '

  28. ,'#'分別表示清零鍵和沒有鍵按下
  29. *******************************************/
  30. uchar keyscan()
  31. {
  32.         uchar skey;                     /*   按鍵值標(biāo)記變量    */

  33. /***********************
  34.      掃描鍵盤第1行   
  35. ************************/
  36.         P1 = 0xfe;
  37.         while((P1 & 0xf0) != 0xf0)            /*      有按鍵按下     */
  38.         {
  39.                 delay(3);                            /*      去抖動(dòng)延時(shí)     */

  40.                 while((P1 & 0xf0) != 0xf0)        /*      仍有鍵按下     */
  41.                 {
  42.                         switch(P1)                                /*    識(shí)別按鍵并賦值   */
  43.                         {
  44.                                 case 0xee: skey = '7'; break;
  45.                                 case 0xde: skey = '8'; break;
  46.                                 case 0xbe: skey = '9'; break;
  47.                                 case 0x7e: skey = '/'; break;

  48.                                 default:   skey = '#';
  49.                         }

  50.                         while((P1 & 0xf0) != 0xf0) /*   等待按鍵松開   */
  51.                                 ;
  52.                 }
  53.         }

  54. /***********************
  55.      掃描鍵盤第2行   
  56. ************************/
  57.         P1 = 0xfd;        
  58.         while((P1 & 0xf0) != 0xf0)
  59.         {
  60.                 delay(3);

  61.                 while((P1 & 0xf0) != 0xf0)
  62.                 {
  63.                         switch(P1)
  64.                         {
  65.                                 case 0xed: skey = '4'; break;
  66.                                 case 0xdd: skey = '5'; break;
  67.                                 case 0xbd: skey = '6'; break;
  68.                                 case 0x7d: skey = '*'; break;

  69.                                 default:   skey = '#';
  70.                         }

  71.                         while((P1 & 0xf0) != 0xf0)
  72.                                 ;
  73.                 }
  74.         }


  75. /***********************
  76.      掃描鍵盤第3行   
  77. ************************/
  78.         P1 = 0xfb;
  79.         while((P1 & 0xf0) != 0xf0)
  80.         {
  81.                 delay(3);

  82.                 while((P1 & 0xf0) != 0xf0)
  83.                 {
  84.                         switch(P1)
  85.                         {
  86.                                 case 0xeb: skey = '1'; break;
  87.                                 case 0xdb: skey = '2'; break;
  88.                                 case 0xbb: skey = '3'; break;
  89.                                 case 0x7b: skey = '-'; break;

  90.                                 default: skey = '#';
  91.                         }

  92.                         while((P1 & 0xf0) != 0xf0)
  93.                                 ;
  94.                 }
  95.         }


  96. /***********************
  97.      掃描鍵盤第4行   
  98. ************************/
  99.         P1 = 0xf7;
  100.         while((P1 & 0xf0) != 0xf0)
  101.         {
  102.                 delay(3);

  103.                 while((P1 & 0xf0) != 0xf0)
  104.                 {
  105.                         switch(P1)
  106.                         {
  107.                                 case 0xe7: skey = '; break;
  108.                                 case 0xd7: skey = '0'; break;
  109.                                 case 0xb7: skey = '='; break;
  110.                                 case 0x77: skey = '+'; break;

  111.                                 default:   skey = '#';
  112.                         }

  113.                         while((P1 & 0xf0) != 0xf0)
  114.                                 ;
  115.                 }
  116.         }

  117.         return skey;
  118. }

  119. void main()
  120. {        
  121.         uint value1, value2, value;                   /*    數(shù)值1,數(shù)值2,結(jié)果    */
  122.         uchar ckey, cut1 = 0, cut2 = 0;    /*    ckey鍵盤輸入字符    */
  123.         uchar operator;                               /*         運(yùn)算符         */
  124.         uchar i, bool = 0;

  125. init:                                                                   /*    goto語(yǔ)句定位標(biāo)簽    */

  126.         buf(0);                            /*         初始化         */
  127.         disp();
  128.         value = 0;
  129.         cut1 = cut2 = 0;
  130.         bool = 0;
  131.         for(i = 0;i < 9;i++)
  132.         {
  133.                 operand1[i] = '\0';
  134.                 operand2[i] = '\0';
  135.         }                                  /*         初始化         */

  136.         while(1)
  137.         {
  138.                 ckey = keyscan();             /*         讀取鍵盤        */
  139.                 if(ckey != '#')
  140.                 { /*  isdigit函數(shù),字符是阿拉伯?dāng)?shù)字返回非0值,否則返回0  */
  141.                         if(isdigit(ckey))         
  142.                         {
  143.                                 switch(bool)        
  144.                                 {
  145.                                         case 0:
  146.                                                         operand1[cut1] = ckey;
  147.                                                         operand1[cut1+1] = '\0';
  148.                                                         value1 = atoi(operand1);  /*  atoi函數(shù),將字符串轉(zhuǎn)化為,int整數(shù)  */
  149.                                                         cut1++;
  150.                                                         buf(value1);
  151.                                                         disp();
  152.                                                         break;
  153.                                         case 1:
  154.                                                         operand2[cut2] = ckey;
  155.                                                         operand2[cut2+1] = '\0';
  156.                                                         value2 = atoi(operand2);
  157.                                                         cut2++;
  158.                                                         buf(value2);
  159.                                                         disp();
  160.                                                         break;

  161.                                         default: break;
  162.                                 }
  163.                         }
  164.                         else if(ckey=='+'||ckey=='-'||ckey=='*'||ckey=='/')
  165.                         {
  166.                                 bool = 1;        
  167.                                 operator = ckey;
  168.                                 buf(0);
  169.                                 dbuf[7] = 10;
  170.                                 disp();
  171.                         }
  172.                         else if(ckey == '=')
  173.                         {
  174.                                 value = compute(value1,value2,operator);
  175.                                 buf(value);
  176.                                 disp();
  177.                                 while(1)                     /*   計(jì)算結(jié)束等待清零鍵按下   */
  178.                                 {
  179.                                         ckey = keyscan();
  180.                                         if(ckey == '

  181. )          /* 如果有清零鍵按下跳轉(zhuǎn)到開始 */
  182.                                                 goto init;
  183.                                         else
  184.                                                 {
  185.                                                         buf(value);
  186.                                                         disp();
  187.                                                 }
  188.                                 }
  189.                         }
  190.                         else if(ckey == '

  191. )
  192.                         {        goto init;}
  193.                 }
  194.                 disp();
  195.         }

  196. }

  197. /******************************************
  198.                  運(yùn)算函數(shù)

  199. 輸入:操作數(shù)和操作符
  200. 輸出:計(jì)算結(jié)果
  201. *******************************************/
  202. uint compute(uint va1,uint va2,uchar optor)
  203. {
  204.         uint value;

  205.         switch(optor)
  206.         {
  207.                 case '+' : value = va1+va2;        break;
  208.                 case '-' : value = va1-va2;        break;
  209.                 case '*' : value = va1*va2;        break;
  210.                 case '/' : value = va1/va2;        break;

  211.                 default :  break;
  212.         }
  213.         return value;
  214. }

  215. /*******************************************
  216.               更新顯示緩存

  217. 輸入:無(wú)符號(hào)整數(shù)
  218. 輸出:將輸入送入顯示緩存
  219. *******************************************/
  220. void buf(uint val)
  221. {
  222.         uchar i;
  223.         if(val == 0)
  224.         {
  225.                 dbuf[7] = 0;
  226.                 i = 6;
  227.         }

  228.         else
  229.                 for(i = 7; val > 0; i--)
  230.                 {
  231.                         dbuf[i] = val % 10;
  232.                         val /= 10;
  233.                 }

  234.         for( ; i > 0; i--)
  235.                 dbuf[i] = 10;
  236. }

  237. /*******************************************
  238.                顯示函數(shù)      
  239. *******************************************/
  240. void disp(void)
  241. {
  242.         uchar bsel, n;

  243.         bsel=0x01;
  244.     for(n=0;n<8;n++)
  245.     {
  246.                 P2=bsel;
  247.                 P0=table[dbuf[n]];
  248.                 bsel=_crol_(bsel,1);
  249.                 delay(3);
  250.                 P0=0xff;
  251.     }
  252. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:161164 發(fā)表于 2022-3-16 00:08 | 只看該作者
就是131行代碼不完整
回復(fù)

使用道具 舉報(bào)

板凳
ID:1010607 發(fā)表于 2022-3-16 08:27 | 只看該作者
lkc8210 發(fā)表于 2022-3-16 00:08
就是131行代碼不完整

六個(gè)錯(cuò) 那個(gè)缺少的是啥
回復(fù)

使用道具 舉報(bào)

地板
ID:161164 發(fā)表于 2022-3-16 09:02 | 只看該作者
cnjcnsj 發(fā)表于 2022-3-16 08:27
六個(gè)錯(cuò) 那個(gè)缺少的是啥

要學(xué)懂看錯(cuò)誤信息
TEXT.c(錯(cuò)誤行數(shù))

而且雙擊錯(cuò)誤信息就可以跳到錯(cuò)誤那行

缺了什么你不知道誰(shuí)知道?
代碼不是你寫的嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:139866 發(fā)表于 2022-3-16 16:09 | 只看該作者
131,212,223,這三行有錯(cuò),這錯(cuò)誤難道不是很明顯嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美阿v | 欧美一区二区三区在线观看 | 天堂在线www | 成人免费视频网站在线看 | 影音先锋中文字幕在线观看 | 欧美电影大全 | 国产玖玖 | 久久青| 久久久久9999亚洲精品 | 玖玖操| 亚洲精品中文字幕在线观看 | 欧美一区二区三区视频在线观看 | 亚洲国产欧美91 | 涩色视频在线观看 | 国产精品一区久久久 | 亚洲免费在线观看 | 午夜一区二区三区在线观看 | 免费毛片网站在线观看 | 久久亚洲欧美日韩精品专区 | 久久精品一区二区 | 中文字幕av网站 | 亚洲视频一区二区三区四区 | 欧美一级特黄aaa大片在线观看 | 亚洲精品9999 | 国产999在线观看 | 欧美精品乱码久久久久久按摩 | 国产视频观看 | 成人激情视频免费在线观看 | 四虎影院欧美 | 国产成人区 | 呦呦在线视频 | 免费成年网站 | 二区中文字幕 | 亚洲高清视频在线观看 | 一级毛片免费视频观看 | 一区二区三区av夏目彩春 | 国产精品99视频 | 日韩精品一区二区三区高清免费 | 国产精品久久久久久久久久久久午夜片 | 欧美1区2区| 国产欧美精品区一区二区三区 |