哪位大侠帮忙解释一下这个C语言的每个步骤?

[复制链接]
查看11 | 回复0 | 2011-5-1 01:58:52 | 显示全部楼层 |阅读模式
#includeAT89X52.h
#defineucharunsignedchar
#defineuintunsignedint

sbitKey_UP=P3^2;//正转按键
sbitKey_DOWN=P3^3;//反转按键
sbitKey_STOP=P3^4;//停止按键

sbitZZ=P1^0;//控制端,用单片机的P1.0口
sbitFZ=P1^1;//控制端,用单片机的P1.1口

sbitFMQ=P3^6;
ucharKeyV;
ucharTempKeyV;


voiddelaynms(uintaa)
{
ucharbb;
while(aa--)
{
for(bb=0;bb115;bb)//1ms基准延时程序
{
;
}
}

}

voiddelay500us(void)
{
intj;
for(j=0;j57;j)
{
;
}
}

voidbeep(void)
{
uchart;
for(t=0;t100;t)
{
delay500us();
FMQ=!FMQ;//产生脉冲
}
FMQ=1;//关闭蜂鸣器
delaynms(300);
}



voidmain(void)
{
ZZ=1;
FZ=1;//使直流电机停止运转
while(1)
{
if(!Key_UP)
KeyV=1;
if(!Key_DOWN)
KeyV=2;
if(!Key_STOP)
KeyV=3;
if(KeyV!=0)
{
delaynms(10);
if(!Key_UP)
TempKeyV=1;
if(!Key_DOWN)
TempKeyV=2;
if(!Key_STOP)
TempKeyV=3;
if(KeyV==TempKeyV)
{
if(KeyV==1)
{
beep();
ZZ=1;
FZ=0;
}
if(KeyV==2)
{
beep();
ZZ=0;
FZ=1;
}
if(KeyV==3)
{
beep();
ZZ=1;
FZ=1;
}
}
}
KeyV=0;
TempKeyV=0;
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行