27,377
社区成员
#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;
}
}
}