求助求助求助,我这个模块是按键模块,四个按键对应四个功能,为什么编出来之后四个函数都调用不了?求解答
#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;
}
}
}
相关推荐
单片机独立按键模块(含短按,长按,连发功能)
*独立按键扫描程序,定时器0 *本程序采用晶振频率12.000MHz *长,短,连发按键 *外部函数 extern uint8 keyScan4(); //返回值:十位指示按键位,个位指示短长按
按键调参函数配合按键模块使用
按键调参函数配合按键模块使用: 按键调参函数配合按键模块使用: 按键调参函数配合按键模块使用: 按键调参函数配合按键模块使用:
易语言按键模块
易语言按键模块源码,按键模块,开始输入热键,键盘钩子回调,停止输入热键,取键码,取键名
易语言源码winio模拟按键模块.rar
易语言源码winio模拟按键模块.rar
电子功用-按键模块与具有按键模块的电子装置
行业资料-电子功用-按键模块与具有按键模块的电子装置


单片机/工控
