资源简介
遥控小车的源代码,供学习和实践使用,有少许代码注释
代码片段和文件信息
#include“reg52.h“
#include //???????????????????
#include
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define b 1
#define w 0
#define pwm_full 100
/**** 电机控制引脚 ****/
sbit ma1=P2^0;
sbit ma2=P2^1;
sbit mb1=P2^2;
sbit mb2=P2^3;
sbit mc1=P2^4;
sbit mc2=P2^5;
sbit md1=P2^6;
sbit md2=P2^7;
/*** 电机PWM调速引脚****/
sbit ENRU=P1^4;
sbit ENRB=P1^5;
sbit ENLU=P1^6;
sbit ENLB=P1^7;
/************** AT指令集字符串 ****************/
u8 *at_str1=“AT+CWMODE=2\r\n“;
u8 *at_str2=“AT+RST\r\n“;
u8 *at_str3=“AT+CWSAP=\“Graduate2018\“\“12345678\“114\r\n“;
u8 *at_str4=“AT+CIPMUX=1\r\n“;
u8 *at_str5=“AT+CIPSERVER=16060\r\n“;
u8 recvuart[40]={0};
u8 i=0j=0;
u8 pwm_lkpwm_rk;
static u8 l=0;
void delay(u16 i);
void delay1s();
void remote_up();
void remote_down();
void remote_left();
void remote_right();
void stop();
void initial();
void AT_initial();
void clean();
void control();
void mmain();
void mode1()
{
clean();
//if((uart[0]==‘+‘)||(uart[1]==‘+‘))
//control();
mmain();
}
/************** 延迟函数 ****************/
void delay(u16 a)//延迟(1*a)ms
{
u8 xy;
while(a--)
{
//unsigned char ab;
for(y=102;y>0;y--){
for(x=3;x>0;x--);
}
}
}
void delay1s() //延迟1S误差 -0.00000000024us
{
unsigned char xyc;
for(c=95;c>0;c--)
for(y=26;y>0;y--)
for(x=185;x>0;x--);
}
/************** 串口发送指令 ****************/
void send_uart_string(u8 *s) //通过单片机串口给wifi模块发送AT指令配置wifi
{
while(*s!=‘\0‘)
{
SBUF =*s;
while(!TI);
TI=0;
s++;
}
}
void send_char(u8 ch)
{
SBUF=ch;
while(!TI);
TI=0;
}
void clean()
{
u8 l;
for(l=0;l uart[l]=‘ ‘;
}
/***** 小车控制函数 *****/
void remote_up()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=1;mc2=0; md1=1;md2=0;
}
void remote_down()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=0;ma2=1; mb1=0;mb2=1;
mc1=0;mc2=1; md1=0;md2=1;
}
void remote_left()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=0;mc2=1; md1=0;md2=1;
}
void remote_right()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=0;ma2=1; mb1=0;mb2=1;
mc1=1;mc2=0; md1=1;md2=0;
}
void remote_stop()
{
ENRU=0;ENRB=0;ENLU=0;ENLB=0;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=1;mc2=0; md1=1;md2=0;
}
void turn_left()
{
pwm_lk=20;pwm_rk=65;
ma1=1;ma2=0;mb1=1;mb2=0;
mc1=0;mc2=1;md1=0;md2=1;
}
void turn_full_left()
{
pwm_lk=35;pwm_rk=65;
ma1=1;ma2=0;mb1=1;mb2=0;
mc1=0;mc2=1;md1=0;md2=1;
}
void turn_right()
{
pwm_lk=65;p
- 上一篇:几百味中药数据库MDB格式
- 下一篇:vue可编辑表格
相关资源
- esp8266 win10驱动 cp2102
- CSDN文件---ESP8266.rar
- stm32103c8t6ESP8266串口转WIFI模块TCP服务器
- ESP8266ESP8266安卓控制端源代码
- nudemcu相关工具和固件测试稳定
- 单片机通过ESP8266上传温湿度数据
- STM32F407ZG_ESP8266例程
- ESP8266最新稳定版固件
- ESP8266AP模式控制51单片机亮灯.docx
- ESP8266使用MQTT协议连接阿里云
- 贝壳物联arduino esp8266 demo版本
- ESP8266程序加上MQTT调试工具
- ESP8266_NONOS_SDK-3.0
- ESP8266+OLED屏实现天气预报+温度显示
- stm32f7的esp8266spi并口源程序,速率1.
- ESP8266连接云平台
- STM32C8T6通过扫描二维码进行智能开锁
- ESP8266微信配网以及公众号绑定
- ESP8266一键烧写工具
- 手机与ESP8266WiFi模块进行通信
- ESP8266搭建MQTT客户端源码
- STM32接入OneNET代码
- STM32-ESP8266-AT
- 毕设-基于ESP8266-12F家电控制系统设计
- 使用MSP432-ESP8266实现小车红外测距和数
- ESP8266_8285_32系列透传固件 JFirmwareESP
- ESP32、ESP8266/85增强型透传固件 JFirmw
- ESP8266-WIFI数据透传
- 基于stm32与esp8266智能家居应用
- ESP8266一键配置app端源码iOS、安卓
评论
共有 条评论