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

QQ登錄

只需一步,快速開始

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

keil單片機(jī)程序編譯錯(cuò)誤,求助!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


菜鳥一枚     程序錯(cuò)了   不知道咋搞
  1. #include<reg51.h>
  2. #define uchar unsinged char
  3. #define uint unsigned int
  4. #define key_io P1
  5. uchar key_can;
  6. sbit beep=P2^3;
  7. sbit red=P2^2;
  8. sbit green=P2^1;
  9. sbit yellow=P2^0;
  10. sbit hw =P1^3;
  11. bit flag_300ms=0;
  12. void key()
  13. {
  14. static uchar key_new = 0,key_old=0,key_value= 0;
  15. if(key_new== 0)
  16.   {
  17.   if((key_io&0x07)==0x07)
  18.   key_value ++;
  19.   else
  20.   key_value=0;
  21.   if(key_value>=5)
  22.    {
  23.     key_value=0;
  24.     key_new=1;
  25.    }
  26.   }
  27.   else
  28.   {
  29.   if((key_io&0x07)!=0x07)
  30.   key_value ++;
  31.   else
  32.   key_value =0;
  33.   if(key_value >=5)
  34.   {
  35.   key_value=0;
  36.   key_new=0;
  37.   }
  38.   }
  39.   key_can = 20;
  40.   if((key_new==0)&&(key_old==1))
  41.   {
  42.   switch(key_io&0x07)
  43.   {
  44.   case 0x06:key_can=1;break;
  45.   case 0x05:key_can=2;break;
  46.   case 0x03:key_can=3;break;
  47.   }
  48.   }
  49.   key_old=key_new;
  50.   }
  51.   void time_init()
  52.   {
  53.   EA =1;
  54.   TMOD =0X01;
  55.   ET0 =1;
  56.   TR0 =1;
  57.   }
  58.   uchar flag_alarm;
  59.   uchar flag_bufang;
  60.   uchar flag_bufang_en;
  61.   uint flag_value;
  62.   void hongwai_dis()
  63.   {
  64.   if(flag_alarm ==1)
  65.   {
  66.   red=~red;
  67.   beep=~beep;
  68.   }
  69.   if(flag_bufang_en==1)
  70.   {
  71.   green=~green;
  72.   }
  73.   if(flag_bufang ==1)
  74.   {
  75.   green=0;
  76.   if(hw ==1)
  77.   {
  78.   flag_alarm =1;
  79.   }
  80.   }
  81.   }
  82.   void key_with()
  83.   {
  84.   if(key_can==1)
  85.   {
  86.   flag_alarm=1;
  87.   }
  88.   if(key_can==2)
  89.   {
  90.   flag_bufang_en=1;
  91.   }
  92.   if(key_can==3)
  93.   {
  94.   flag_alarm=0;
  95.   flag_bufang=0;
  96.   flag_bufang_en=0;
  97.   flag_value=0;
  98.   P2=0xff;
  99.   }
  100.   }
  101.   void main()
  102.   {
  103.   time_init();
  104.   while(1)
  105.   {
  106.   key();
  107.   yellow=~hw;
  108.   if(key_can<10)
  109.   {
  110.   key_with();
  111.   }
  112.   if(flag_300ms==1)
  113.   {
  114.   flag_300ms = 0;
  115.   hongwai_dis();
  116.   }
  117.   }
  118.   }
  119.   void time0_int() interrupt 1
  120.   {
  121.   static uint value;
  122.   TH0=0x3c;
  123.   TL0=0xb0;
  124.   value++;
  125.   if(value%6==0)
  126.   {
  127.   flag_300ms=1
  128.   }
  129.   if(flag_bufang_en==1)
  130.   {
  131.   flag_value++;
  132.   if(flag_value>=600)
  133.   {
  134.   flag_bufang=1;
  135.   flag_bufang_en=0;
  136.   flag_value=0;
  137.   }
  138.   }
  139.   }
復(fù)制代碼


新建 Microsoft Word 文檔.docx

11.74 KB, 下載次數(shù): 2

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:351278 發(fā)表于 2018-6-13 17:56 | 只看該作者
是不是那個(gè)地方少分號(hào)了,謝謝。
回復(fù)

使用道具 舉報(bào)

板凳
ID:329253 發(fā)表于 2018-6-13 18:11 來自手機(jī) | 只看該作者
程序的第129行,char至少,丟了一個(gè)分號(hào)

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:350754 發(fā)表于 2018-6-13 18:20 | 只看該作者
這個(gè)程序應(yīng)該是中英文輸入法錯(cuò)了,重新輸入一遍看一下,用英文輸入法

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:261288 發(fā)表于 2018-6-13 21:40 | 只看該作者
第5行可能輸入了全角符,從新用半角符輸入試一下。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:351485 發(fā)表于 2018-6-13 22:55 | 只看該作者
都可以的
回復(fù)

使用道具 舉報(bào)

7#
ID:348263 發(fā)表于 2018-6-13 23:09 | 只看該作者
少了分號(hào),親。!
回復(fù)

使用道具 舉報(bào)

8#
ID:273982 發(fā)表于 2018-6-13 23:10 | 只看該作者
huida1999 發(fā)表于 2018-6-13 18:20
這個(gè)程序應(yīng)該是中英文輸入法錯(cuò)了,重新輸入一遍看一下,用英文輸入法

還是不行誒
回復(fù)

使用道具 舉報(bào)

9#
ID:273982 發(fā)表于 2018-6-13 23:11 | 只看該作者
wangzhi6888 發(fā)表于 2018-6-13 17:56
是不是那個(gè)地方少分號(hào)了,謝謝。

加上的話  錯(cuò)誤更多呀
回復(fù)

使用道具 舉報(bào)

10#
ID:351506 發(fā)表于 2018-6-13 23:34 | 只看該作者
第二行改為 #define uchar unsinged uchar 在char前面少了u
回復(fù)

使用道具 舉報(bào)

11#
ID:351506 發(fā)表于 2018-6-13 23:37 | 只看該作者
第二行是char 所以第五行的uchar是未定義的,將第二行char改為uchar就對(duì)了

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

12#
ID:342822 發(fā)表于 2018-6-14 00:05 | 只看該作者
把第5行及以下的uchar改成char。127行flag_300ms=1加;號(hào)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表