资源简介

功能描述:通过nrf24l01无线控制小车,包括加速,减速,刹车,转向。 优点:模块化好,易于裁剪

资源截图

代码片段和文件信息

#include “CarControl.h“

unsigned int leftCount = 15;
unsigned int rightCount = 15;
unsigned int times = 0;
unsigned char direct = 0;
unsigned char startOrstop = 0;

//EN1、EN2
sbit leftpwm = P1^0;
sbit rightpwm = P1^1;
//IN1、IN2
sbit leftZ = P1^2;
sbit leftF = P1^3;
//IN1、IN2
sbit rightZ = P1^4;
sbit rightF = P1^5;

//左轮加速
void addleftSpeed()
{
if (leftCount < 20)
leftCount ++;
}

//左轮减速
void cutleftSpeed()
{
if (leftCount > 0)
leftCount --;
else 
leftCount = 0;
}

//右轮加速
void addrightSpeed()
{
if (rightCount < 20)
rightCount ++;
}
//右轮减速
void cutrightSpeed()
{
if (rightCount > 0)
rightCount --;
else 
rightCount = 0;
}
//小车模式
void carMode(unsigned int mode)
{
switch(mode)
{
case 0: //前进
leftZ = 0;leftF = 1;
rightZ = 0;rightF = 1;break;
case 1: //后退
leftZ = 1;leftF = 0;
rightZ = 1;rightF = 0;break;
case 2: //制动
leftZ = 0;leftF = 0;
rightZ = 0;rightF = 0;break;
default :break;
}
}

//更改小车方向(前进、后退)
void changeDirect()
{
if (startOrstop)
{
direct ++;
direct %= 2;

carMode(direct);
}
}

//设置启动停止(停止、启动)
void changeStartOrstop()
{
startOrstop ++;
startOrstop %=2;
if (startOrstop)
carMode(direct);
else
carMode(2);
}

//PWM,定时器波初始化
void timeirqInit()
{
TMOD |= 0x01;
// TMOD &= 0xF0; //设置定时器模式
TH0= (65536-1000)/256;
TL0= (65536-1000)%256;
TR0= 1;
ET0= 1;
EA=  1;
}
//定时器中断,实现小车速度控制
void timer0() interrupt 1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
times ++;

if (times > leftCount)
leftpwm = 0;
else 
leftpwm = 1;

if (times > rightCount)
rightpwm = 0;
else 
rightpwm = 1;

if (times >= 20)
times = 0;
}

//小车模式速度初始化
void carInit()
{
timeirqInit();
carMode(2);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         613  2017-05-07 20:41  carc.uvmpw
     目录           0  2017-05-22 21:36  小车\
     文件       36608  2017-05-22 21:28  小车\car
     文件         788  2017-05-22 21:36  小车\car.build_log.htm
     文件        8321  2017-05-22 21:28  小车\car.hex
     文件         120  2017-05-22 21:28  小车\car.lnp
     文件       39373  2017-05-22 21:28  小车\car.M51
     文件       71334  2017-05-22 21:36  小车\car.uvgui.wen
     文件       71336  2017-05-21 15:52  小车\car.uvgui_wen.bak
     文件        7494  2017-05-22 21:36  小车\car.uvopt
     文件       14475  2017-05-07 20:41  小车\car.uvproj
     文件        1894  2017-05-21 15:52  小车\CarControl.c
     文件         272  2017-05-07 17:14  小车\CarControl.h
     文件        5334  2017-05-22 21:28  小车\CarControl.LST
     文件        6407  2017-05-22 21:28  小车\CarControl.OBJ
     文件          40  2017-05-22 21:28  小车\CarControl.__i
     文件        1596  2017-05-18 13:13  小车\main.c
     文件        4838  2017-05-21 15:51  小车\main.LST
     文件        9466  2017-05-21 15:51  小车\main.OBJ
     文件          34  2017-05-21 15:51  小车\main.__i
     文件        4402  2017-05-07 14:23  小车\nrf.c
     文件        3970  2017-05-07 16:43  小车\nrf.h
     文件        9478  2017-05-21 15:51  小车\nrf.lst
     文件       15305  2017-05-21 15:51  小车\nrf.obj
     文件          78  2017-05-21 15:51  小车\nrf.__i
     文件        6376  2012-12-10 10:20  小车\STARTUP.A51
     文件       14049  2017-05-06 12:53  小车\STARTUP.LST
     文件         749  2017-05-06 12:53  小车\STARTUP.OBJ
     文件         639  2017-05-22 21:36  小车\stepMotor.c
     文件         148  2017-05-06 18:26  小车\stepMotor.h
     文件        2451  2017-05-22 21:28  小车\stepMotor.LST
............此处省略36个文件信息

评论

共有 条评论