微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机 蓝牙控制小车

单片机 蓝牙控制小车

时间:10-02 整理:3721RD 点击:
最近在做一个蓝牙控制的小车,说说自己遇到的问题,及自己学习到的东西,最后发现绕了好大的圈,这方面的资料也不全,现在说说我的小车之路!

这是一开始用普通键盘做的PWM调速程序!可以正常运行:
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit in1=P1^1;
sbit in2=P1^6;
sbit in3=P1^2;
sbit in4=P1^7;
sbit ina=P1^3;
sbit inb=P1^4;
sbit key_jia=P2^3;
sbit key_jian=P2^4;
sbit key_dao=P2^5;
sbit key_left=P2^6;
uchar w=0,m=0,n=0;
void init()       //定时器初始化,
{ TMOD=0x01;
  TH0=0xff;
  TL0=0x17;
  EA=1;
  ET0=1;
  TR0=1;
  P1=0x00;
}
void key()
{
if(key_jia==0)
{
  while(key_jia==0);
  if(w==100)
  w=100;
  else
  w+=25;

}
   if(key_jian==0)
{
  while(key_jian==0);
    if(w==25)
  w=25;
  else
  w-=25;
  
   
}
  if(key_dao==0)
{
  while(key_dao==0);
  {
   m+=1;
   if(m==1)
   {
   in1=0;
   in2=1;
   in3=0;
   in4=1;
   
   }
   if(m==2)
   {
     in1=1;
    in2=0;
    in3=1;
    in4=0;
    m=0;   
   }
  }
}
if(key_left==0)
{
  while(key_left==0);
  {
    n+=1;
   if(n==1)
   {
    in1=1;
    in2=0;
    in3=0;
    in4=0;
   }
   if(n==2)
   {
     in1=1;
    in2=0;
    in3=1;
    in4=0;
    n=0;
   }
  }
}
  
}
void main()
{
init();
in1=1;
in2=0;
in3=1;
in4=0;
while(1)
key();
}
void time0() interrupt 1
{   uchar tt;
   TH0=0xff;
   TL0=0x17;
  tt++;
if(tt<w)
{
ina=1;
inb=1;
}
else
{
ina=0;
inb=0;
}
if(tt==100)
tt=0;
}
这个PWM,浪费了我好多的时间,有看不懂的自己多看看书,望大神勿喷!
这是一开始的想法,现在看来,好多都太麻烦了,但是很好理解!
希望可以帮到一些想学习的人!

有不懂的地方,可以说,简单易懂的我帮你解答,难懂的就得看书去了!

最后发现2个问题,TMOD=0x21,定时器中断里的初值与初始化的时候不一样了改改

谢谢小编分享!

小编 你好  和蓝牙连接的程序是哪里 我初学蓝牙 想知道蓝牙和单片机是怎么通讯的 非常感谢

小编 你好  和蓝牙连接的程序是哪里 我初学蓝牙 想知道蓝牙和单片机是怎么通讯的 非常感谢

我的蓝牙模块,在手机上按着按着,串口就死掉了。 还找不到原因

学习学习。继续

谢谢分享,先学着

很好,值得学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top