求助求助求助,我这个模块是按键模块,四个按键对应四个功能,为什么编出来之后四个函数都调用不了?求解答

weiweiwei_414 weiweiwei_414 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1 = P1^1;  //启停
sbit K2 = P1^2;  //清零
sbit K3 = P1^3;     //加
sbit K4 = P1^4;     //减
sbit IN1 = P2^0;
sbit IN2 = P2^1;
sbit ENA = P1^5;
sbit IN3 = P2^2;
sbit IN4 = P2^3;
sbit ENB = P1^6;  //定义单片机的变量

uchar keyval;
uint group;     //当前组包装产品个数
uint day;    //组当前包装个数,天组数
uint number; // 每包装一组的数量

void delay_ms(uint z)
{
 uint i,j;
  for(i=z;i>0;i--)
   for(j=110;j>0;j--);  //延时1ms的函数
}
void key_scan()
{
  if((P1&0xff)!=0xff)
  {
    delay_ms(10);
    if(K1==0)
    keyval = 1;
    if(K2==0)
    keyval = 2;
    if(K3==0);
    keyval = 3;
    if(K4==0)
    keyval = 4;
  }
}
void start_stop()  //启动/停止
{
  IN2 = !IN2;
  IN4 = !IN4;
}
void add()           //加1
{
  number = number+1;
  delay_ms(1);
}
void subtract()       //减1
{
  number = number-1;
  delay_ms(1);
}
void zero()           //清0
{
  group = 0;
  delay_ms(1);
  day = 0;
} 


void main()  //主函数
{ 
  keyval = 0;
  while(1)
  {
      key_scan(); 
      switch(keyval)
      {
        case 1:start_stop();
          break;
        case 2:add();
          break;
        case 3:subtract();
          break;
        case 4:zero();
          break;
      }
  }
}

...全文
评论 2
收藏 已收藏
分享
返回顶部
weiweiwei_414
单片机/工控 27,522 成员 28,796 内容