找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2945|回复: 3
收起左侧

51蓝牙小车源码

[复制链接]
ID:225133 发表于 2017-8-6 10:35 | 显示全部楼层 |阅读模式
#include<reg52.h>
#define uchar unsigned char;
#define        uint unsigned int;
uchar biaozhi=0,shujucc=0,ting=0,shuju;
sbit     in1=P1^0;
sbit         in2=P1^1;
sbit         in3=P1^2;
sbit         in4=P1^3;
sbit     in5=P1^4;
sbit     in6=P1^5;
sbit     in7=P1^6;
sbit     in8=P1^7;
delay(unsigned char n)//11.0592m下延时 n ms。
{
    unsigned char i,j;
    for(i=n;i>0;i--)
        {
         for(j=110;j>0;j--)
                 {
                 ;
                 }

        }
}
void init()//初始化子程序
{
        TMOD=0x20;//定时器1设定为方式2,8位数据自动从装
        TH1=0xfd;//对定时器赋值,高8位与低8位相同
        TL1=0xfd;//波特率定为9600
        TR1=1;//打开定时器1
        SM0=0;//设置串口工作方式1
        SM1=1;
        REN=1;//允许串口接收
        EA=1;//开总中断
        ES=1;//打开串口中断
}
void qianjin()//前进函数
{
    in1=0;//左后轮前进
        in2=1;
        in3=0;//右后轮前进
        in4=1;
        in5=1;//右前轮前进
        in6=0;
        in7=1;//左前轮前进
        in8=0;
        delay(1);        

}
void houtui()//后退函数
{
    in1=1;//左后轮后退
        in2=0;
        in3=1;//右后轮后退                       
        in4=0;
        in5=0;//右前轮后退
        in6=1;
        in7=0;//左前轮后退
        in8=1;
    delay(1);
}
void tingzhi()
{
    in1=0;//左后轮停止
        in2=0;
        in3=0;//右后轮停止                       
        in4=0;
        in5=0;//右前轮停止
        in6=0;
        in7=0;//左前轮停止
        in8=0;
}
void youzhuan()
{
        in1=1;//左后轮后退
        in2=0;
        in3=0;//右后轮前进
        in4=1;
        in5=0;//后退
        in6=1;
        in7=1;//前进
        in8=0;
    delay(1);
}
void zuozhuan()
{
        in1=0;//左后轮前进
        in2=1;
        in3=1;//右后轮后退
        in4=0;
        in5=1;//前进
        in6=0;
        in7=0;//后退
        in8=1;
        delay(1);
}
void jiasu()
{

}
       
void main()
{
    init();
       
       
        while(1)
        {
            
                    if(shuju=='A')//如果数据为0x01,执行前进函数
                        {
                            qianjin();
                                delay(5);
                                tingzhi();
                        }
                        if(shuju=='B')//如果数据为0x02,执行后退函数
                        {
                            houtui();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='C')//如果数据为0x03,执行向左转
                        {
                            zuozhuan();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='D')//如果数据为0x04,执行向右转
                        {
                            youzhuan();
                                delay(5);
                                tingzhi();
                       
                        }
                        if(shuju=='F')//如果数据为0x05,执行停止
                        {
                            tingzhi();
                                delay(5);
                                tingzhi();
                       
                        }
                  
                 /*
                switch(shuju[2])
                {
                case 'A':  qianjin();break;
                case 'B':  houtui();break;
                case 'C':  zuozhuan();break;
                case 'D':  youzhuan();break;
                case 'F':  tingzhi();break;
                }  */
               
        }



}
void chuankou()        interrupt 4//串口中断服务
{
    RI=0;
        ting=0;             //重新打开串口中断
    shuju=SBUF; //提取串口数据
        /*if(RI){                        
                RI=0;
    shuju[shujucc]=SBUF;
                shujucc++;
                if(shujucc==3) shujucc=0;
                }*/

}

回复

使用道具 举报

ID:437105 发表于 2019-2-25 10:57 | 显示全部楼层
可以加个PWM调速
回复

使用道具 举报

ID:955021 发表于 2021-7-21 17:18 | 显示全部楼层
请问这其中的ABCD是定义的,是手机app上按键的名字吗?
回复

使用道具 举报

ID:955021 发表于 2021-7-21 17:19 | 显示全部楼层

是应用定时器来pwm调速吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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