实验4 电机控制

实验目的及要求:

1、熟悉并掌握S3C2440的Timer部件功能,了解直流电机的控制;
2、熟悉并掌握Timer部件的相关寄存器格式;
3、熟悉并掌握Timer部件寄存器的初始化编程;
4、熟悉并掌握Timer部件用于控制直流电机的驱动程序编写;
实验情况及实验结果
1、 利用timer部件实现电机控制
实验代码:

rTCMPB0= MOTOR_MID - MOTOR_CONT/32;
delay(10000,10000);
 rTCMPB0= MOTOR_MID - 0;     
delay(100,100);
 rTCMPB0= MOTOR_MID + MOTOR_CONT/32;

这部分代码通过对TCMPB寄存器的改变来改变脉宽从而控制电机的转动,当增加TCMPB0的值时,电机转动速度增加。
实验结果:实验4 电机控制_第1张图片

2、 利用中断控制电机转动
实验代码:

static void RTC_TICK_ISR(int vector, void* data)
{  
     i++; 
     j=i%10;
     if((j>=5)&&(j<=10))
     {
       rTCMPB0= MOTOR_MID - MOTOR_CONT/2;  
     }
     else
     {
      rTCMPB0= MOTOR_MID -0;
     }
}

设置计时器i,RTC每1秒产生一次中断,执行一次中断程序RTC_TICK_ISR,当执行五次之后,通过判断语句控制电机转动语句的执行。利用求余实现5秒启动5秒转动循环。
实验4 电机控制_第2张图片

通过本次实验熟悉了Timer部件的功能,寄存器初始化以及脉宽控制,对如何控制直流电机有了一定的了解,学会了如何使用中断来控制电机转动。

你可能感兴趣的:(嵌入式)