项目描述:
用单片机(STC89C52RC)控制两个直流电机,从而实现各种运动形式。
本例中实现功能为:前进 后退 右转 左转。
C语言程序如下:
/*------------------------------------
FileName: main.c
Function: MCU控制两个直流电机组合运动
Description: 向前 向后 右转 左转
Author: Zhang Kaizhou
Date: 2019-6-9 17:28:42
------------------------------------*/
#include "ZKZ.h"
bit dirFlag = 0; // 前进方向标志 0-向前 1-向后
bit turnFlag = 0; // 转向方向标志 0-向右 1-向左
void main(){
while(1){
keyScan();
motorRun();
}
}
/*软件延时xms函数*/
void delay(uchar xms){
uchar i, j;
for(i = xms; i > 0; i--)
for(j = 110; j > 0; j--);
}
/*键盘扫描函数*/
void keyScan(){
if(!goAhead){
delay(5);
if(!goAhead){
while(!goAhead);
dirFlag = 0;
}
}
if(!goBack){
delay(5);
if(!goBack){
while(!goBack);
dirFlag = 1;
}
}
if(!turnRight){
delay(5);
if(!turnRight){
while(!turnRight);
turnFlag = 0;
}
}
if(!turnLeft){
delay(5);
if(!turnLeft){
while(!turnLeft);
turnFlag = 1;
}
}
}
/*直流电机运转函数*/
void motor