標(biāo)題: keil單片機程序編譯錯誤,求助啊! [打印本頁]

作者: ppp123    時間: 2018-6-13 17:16
標(biāo)題: keil單片機程序編譯錯誤,求助。


菜鳥一枚     程序錯了   不知道咋搞
  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


作者: wangzhi6888    時間: 2018-6-13 17:56
是不是那個地方少分號了,謝謝。
作者: 134849694164151    時間: 2018-6-13 18:11
程序的第129行,char至少,丟了一個分號
作者: huida1999    時間: 2018-6-13 18:20
這個程序應(yīng)該是中英文輸入法錯了,重新輸入一遍看一下,用英文輸入法
作者: 冰純    時間: 2018-6-13 21:40
第5行可能輸入了全角符,從新用半角符輸入試一下。
作者: 季元浩    時間: 2018-6-13 22:55
都可以的
作者: xf215843313    時間: 2018-6-13 23:09
少了分號,親。!
作者: ppp123    時間: 2018-6-13 23:10
huida1999 發(fā)表于 2018-6-13 18:20
這個程序應(yīng)該是中英文輸入法錯了,重新輸入一遍看一下,用英文輸入法

還是不行誒
作者: ppp123    時間: 2018-6-13 23:11
wangzhi6888 發(fā)表于 2018-6-13 17:56
是不是那個地方少分號了,謝謝。

加上的話  錯誤更多呀
作者: 123cxz    時間: 2018-6-13 23:34
第二行改為 #define uchar unsinged uchar 在char前面少了u
作者: 123cxz    時間: 2018-6-13 23:37
第二行是char 所以第五行的uchar是未定義的,將第二行char改為uchar就對了
作者: taotie    時間: 2018-6-14 00:05
把第5行及以下的uchar改成char。127行flag_300ms=1加;號。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1