基于红外遥控的电机控制系统设计与实现(9)

2019-08-30 17:11

//

/***************************************************************/ void keyscan() { if(IRCOM[6]== '0' && IRCOM[5]== '6' ) //当K1按

下时

正转

{

delay_ms(50); //延时消抖

if(IRCOM[6]== '0' && IRCOM[5]== '6' ) 按下了

{ IN1 = 1; //正转 IN2 = 0; on = 1;

ENA = 1; //使能电机运转

}

}

if(IRCOM[6]== '0' && IRCOM[5]== '0' )

时 电机停止

{

delay_ms(50); //延时消抖

if(IRCOM[6]== '0' && IRCOM[5]== '0' )

第 41 页 共 50 页

//K1真的

//当 K2按下

{ ENA = 0 ;

//停止

on=0;

}

}

if(IRCOM[6]== '0' && IRCOM[5]== 'A' ) //当 K3按下时 {

delay_ms(50); //延时消抖

if(IRCOM[6]== '0' && IRCOM[5]== 'A' )

{

IN1 = 0; //反转 IN2 = 1;

on=1 ; //使能电机运转

ENA = 1;

}

}

if(IRCOM[6]== '0' && IRCOM[5]== 'E' && kz==0) //当 K4按下时 电机加速

第 42 页 共 50 页

电机反转

{

delay_ms(250); //延时消抖

if(IRCOM[6]== '0' && IRCOM[5]== 'E' )

{

tt++; //脉宽加

kz=1;

if(tt>=20) //加到最大时

{

tt = 20;

}

PWM = 20-tt;

} }

else if(IRCOM[6]== '0' && IRCOM[5]== 'D' && kz==0)

//当K3按下时 电机减速 {

//延时消抖

delay_ms(250); if(IRCOM[6]== '0' && IRCOM[5]== 'D' ) //真的按下时

{ tt--; //脉宽减

kz=1;

第 43 页 共 50 页

当K5

if(tt<=0) {

tt = 0; }

PWM = 20-tt; } }

else if((IRCOM[6]!= '0' && IRCOM[5]!= 'D' && kz==1) ||( IRCOM[6]!=

//当K3按下时

'0' && IRCOM[5]!= 'E' && kz==1)) 电机减速

}

kz=0;

/***************************************************************/ //

// 函数名称:delay_ms(uchar n) //

//功能描述: 延时函数 n值为ms //

//入口参数: uchar n //

//出口参数: 无

第 44 页 共 50 页

//

/******************************************************************/

void delay_ms(uchar n) {

uchar i,j; for(i=n;i>0;i--) for(j=110;j>0;j--); }

/******************************************************************/

//

// 函数名称: 定时器0中断函数

/******************************************************************/

void timer0 () interrupt 1 using 2 {

TH0=0xfe; //0.5ms

第 45 页 共 50 页


基于红外遥控的电机控制系统设计与实现(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新-关于中考冲刺的演讲稿 2019中考励志演讲稿范文 精品

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: