资源简介
遥控小车的源代码,供学习和实践使用,有少许代码注释
代码片段和文件信息
#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固件Wifi杀手 百度云链接
- ESP8266 WIFI杀手固件
- 乐鑫esp8266 NONOS SDK 3.0编程使用 SPI 驱动
- 乐鑫esp8266学习rtos3.0笔记第3篇: 一篇
- esp8266可用的28byj、20byj、24byj五线四相
- Arduino uno+esp8266+onenet+dht11温湿度传感器
- 安信可ESP-12S WIFI文档
- Arduino通过ESP8266模块使用HTTP协议连接
- esp8266控制步进电机.txt
- ESp8266驱动
- arduino烧录esp8266程序
- 51单片机驱动WiFi模块ESP8266模块的代码
- esp8266 探测MAC地址,串口输出.环境
- esp8266 连接阿里物理网平台远程控制
- ESP8266的TCP服务器连接错误解决办法
- ESP8266(arduino)连接阿里云物联网平台
- Esp8266_Wifi原理图
- nodemcu固件2018-06-25
- ESP8266通信源码+继电器控制
- esp8266连接手机热点,可通过阿里云实
- ESP8266串口输入字符串,同时用0.96寸
- ESP8266AT指令连接云平台
- esp8266-RTOS SDK IPV6
- STM32+8266+连接云平台源码.zip
- 51单片机程序.zip
- Mixly 的 ESP8266 库
- ESP8266连接ONENET平台传输数据------笔记
- ESP8266与上位机通信代码
- 米思齐esp8266wifi库.zip
- C51_ESP8266_rc522.rar
评论
共有 条评论