谁能帮看看程序问题处在什么地方

2019-07-15 07:49发布

本人刚开始接触单片机,正在学习中。自己写了一个程序,期望完成的目的是按下k1蜂鸣器响起,按下k2关闭,但一直出不来。希望前辈们给看一看
<div>#include "reg52.h"
  1. #include "reg52.h"

  2. typedef unsigned char u8;
  3. typedef unsigned int u16;

  4. sbit k1 = P3^1;
  5. sbit k2 = P3^0;
  6. sbit beep = P1^5;

  7. u8 a = 1 ;

  8. void delay(u16 i)
  9. {
  10.         while(i--);        
  11. }

  12. void keyprocess()
  13. {
  14.     if(k1 ==0)
  15.         {
  16.           delay(1000);
  17.           if(k1 == 0)
  18.           {
  19.               while(a)
  20.                   {
  21.                  beep = ~beep;
  22.                      delay(100);
  23.                   }
  24.           }
  25.           while(!k1);
  26.         }
  27.          if(k2 ==0)
  28.         {
  29.           delay(1000);
  30.           if(k2 == 0)
  31.           {
  32.             a = 0;
  33.                 led = a;
  34.           }
  35.           while(!k2);
  36.         }

  37. }

  38. void main()
  39. {
  40.     while(1)
  41.         {
  42.           keyprocess();
  43.         }
  44. }  
复制代码



0条回答

一周热门 更多>