资源简介
功能描述:通过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个文件信息
- 上一篇:武汉大学Rost虚拟学习团队提供的语料库
- 下一篇:图片放大镜插件
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- NRF24L01实现51与STM32双向通讯
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- nRF24L01无线模块在单片机与FPGA上的应
- STM32F103C8T6+NRF24l01无线通信
- EESkill NRF24L01 无线模块用户手册
- 基于nRF24L01的射频收发电路原理图
评论
共有 条评论