標(biāo)題: 用按鍵和定時(shí)器中斷來(lái)控制,單片機(jī)程序編譯錯(cuò)誤,幫我看一看 [打印本頁(yè)]

作者: 開(kāi)心了    時(shí)間: 2018-10-19 20:28
標(biāo)題: 用按鍵和定時(shí)器中斷來(lái)控制,單片機(jī)程序編譯錯(cuò)誤,幫我看一看
程序如下:
  1. #include<at89x52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned uint
  4. sbit k1=P3^2;
  5. uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

  6. void delay10ms(uchar a)
  7. {
  8.     uchar b,c;
  9.     for(c=1;c>0;c--)
  10.         for(b=38;b>0;b--)
  11.             for(a=130;a>0;a--);
  12. }

  13. void keyscan()
  14. {
  15. uint flag=0;
  16. if(k2==0X00)
  17. {
  18.   delay10ms(1);
  19.   if(k2==0X00)
  20.    {
  21.      P2=0xFF;
  22.      flag=!flag;
  23.    }
  24. }
  25. }
  26. void main()
  27. {
  28.   TMOD=0x02;
  29.   TH0=0xf6;
  30.   TL0=0xf6;
  31.   ET0=1;EA=1;
  32.   TR0=1;
  33.   while(1);
  34. }
  35. void time() interrupt 1 using 0
  36. {
  37.   uint flag=0;
  38.   uchar temp;
  39.   uchar i;
  40.   if(flag==1)
  41.   {
  42.     temp=0x80;
  43.     for(i=0;i<4;i++)
  44.     {
  45.      P0=tab[i+1];
  46.      P2=~temp;
  47.      temp=temp>>1;
  48.      P2=0xff;
  49.     }
  50.   }

  51. }
復(fù)制代碼


11111.jpg (80.02 KB, 下載次數(shù): 34)

編譯結(jié)果

編譯結(jié)果

作者: DKC_LIN_123    時(shí)間: 2018-10-19 20:44
第十八行中的K2 定義了嗎?
作者: 小貓貓愛(ài)吃魚(yú)    時(shí)間: 2018-10-19 21:10
#define uchar unsigned char
#define uint unsigned uint  紅字這里錯(cuò)了,去掉 u
作者: 開(kāi)心了    時(shí)間: 2018-10-19 21:16
謝謝我大意了,第三行#define uint unsigned int寫成#define uint unsiigned uint,還有上面k1寫成下面k2了。
作者: wxxl    時(shí)間: 2018-10-19 21:16
flag 應(yīng)該定義為全局變量,K2的定義好象也有問(wèn)題不細(xì)看了,
作者: 小浪浪    時(shí)間: 2018-10-19 21:43
第三行#define uint  unsigned uint 寫錯(cuò)了,這個(gè)應(yīng)該是#define uint  unsigned int
第四行sbit K1=P3^2; 按鍵函數(shù)里面你卻用了K2,不出意外你應(yīng)該是個(gè)初學(xué)者。





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