找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1000|回复: 0
收起左侧

蓝牙小车程序

[复制链接]
ID:880857 发表于 2021-3-20 18:04 | 显示全部楼层 |阅读模式
#include <reg52.h>   //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
uchar num,a;
sbit LEFTMOT1 = P2^4;
sbit LEFTMOT2  = P2^5;
sbit RIGHTMOT1  = P2^6;  
sbit RIGHTMOT2  = P2^7;
void foward();
void backward();
void left();
void right();
void stop();
void control(uchar cmd);
void main()
{
TMOD=0x20;    //用定时器设置串口波特率   9600
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;          //串口初始化
SM0=0;
SM1=1;
EA=1;           //开启总中断
ES=1;
while(1)
{
if(num==1)    //判断是否有串口数据的传送
{
ES=0;
num=0;
SBUF=a;  //发送数据a到SBUF,即将单片机的数据发送到计算机
while(!TI);
TI=0;
ES=1;
control(a);

}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
num=1;
}

void control(uchar cmd)
{
switch(cmd)
{
case 'A':
foward();
break;
case 'B':
backward();
break;
case 'C':
left();
break;
case 'D':
right();
break;
case 'E':
stop();
break;

}
   
}

void foward()
{
LEFTMOT1 = 1;
LEFTMOT2 = 0;
RIGHTMOT1 = 1;
RIGHTMOT2 = 0;
}
void backword()
{
LEFTMOT1 = 0;
LEFTMOT2 = 1;
RIGHTMOT1 = 0;
RIGHTMOT2 = 1;
}
  void stop()
{
LEFTMOT1 = 0;
LEFTMOT2 = 0;
RIGHTMOT1 = 0;
RIGHTMOT2 = 0;
}
void left()
{
LEFTMOT1 = 0;
LEFTMOT2 = 1;
RIGHTMOT1 = 0;
RIGHTMOT2 = 0;
}
void right()
{
LEFTMOT1 = 0;
LEFTMOT2 = 0;
RIGHTMOT1 = 0;
RIGHTMOT2 = 1;
}
/********************************************************/



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表