标题: 蓝牙遥控终于可以了 [打印本页]

作者: loading88    时间: 2018-5-31 11:20
标题: 蓝牙遥控终于可以了

  1. /**************************************************************************************
  2. *                串口通信实验              *
  3. 实现现象:下载程序后打开串口调试助手,将波特率设置为9600,选择发送的数据就可以显示
  4.    在串口助手上。具体操作参考操作视频
  5. 注意事项:无。                     
  6. ***************************************************************************************/
  7. #include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器
  8. typedef unsigned int u16;   //对数据类型进行声明定义
  9. typedef unsigned char u8;
  10. sbit IN1=P2^0;//控制左电机IN1=0、IN2=0制动,IN1=0、IN2=1正转,IN1=1、IN2=0反转,IN1=1、IN2=1制动.
  11. sbit IN2=P2^1;//控制左电机
  12. sbit IN3=P2^2;//控制右电机
  13. sbit IN4=P2^3;//控制右电机
  14. /*******************************************************************************
  15. * 函数名串口
  16. * 输入           : 无
  17. * 输出           : 无
  18. *******************************************************************************/
  19. void UsartInit()
  20. {
  21. SCON=0X50;   //设置为工作方式1
  22. TMOD=0X20;   //设置计数器工作方式2
  23. TH1=0XFD;    //计数器初始值设置,注意波特率是9600的
  24. TR1=1;
  25. ES=1;      //打开接收中断
  26. EA=1;      //打开总中断
  27. }

  28. /*******************************************************************************
  29. * 函 数 名       : main
  30. * 函数功能   : 主函数
  31. * 输    入       : 无
  32. * 输    出      : 无
  33. *******************************************************************************/
  34. void main()
  35. {
  36. UsartInit();  // 串口初始化
  37. while(1);

  38. }
  39. /*******************************************************************************
  40. * 函数名         : Usart() interrupt 4
  41. * 函数功能    : 串口通信中断函数
  42. * 输入           : 无
  43. * 输出           : 无
  44. *******************************************************************************/
  45. void Usart() interrupt 4
  46. {
  47. u8 receiveData;

  48. if(RI)
  49. {
  50. RI=0;
  51. receiveData=SBUF;//出去接收到的数据
  52. if(receiveData==0x30)
  53.   {IN1=1;IN2=1;IN3=1;IN4=1;}
  54.   else if(receiveData==0x31)
  55.   {IN1=0;IN2=1;IN3=0;IN4=0;}
  56.   else if(receiveData==0x32)
  57.   {IN1=0;IN2=1;IN3=0;IN4=1;}
  58.      else if(receiveData==0x33)
  59.   {IN1=0;IN2=1;IN3=1;IN4=0;}
  60.   else if(receiveData==0x34)
  61.   {IN1=0;IN2=0;IN3=0;IN4=1;}
  62.   else if(receiveData==0x35)
  63.   {IN1=0;IN2=0;IN3=1;IN4=0;}
  64.   else if(receiveData==0x36)
  65.   {IN1=1;IN2=0;IN3=0;IN4=0;}
  66.   else if(receiveData==0x37)
  67.   {IN1=0;IN2=0;IN3=0;IN4=0;}
  68.   else
  69.   {IN1=0;IN2=0;IN3=0;IN4=0;}
  70. }
  71. RI = 0;//清除接收中断标志位
  72. SBUF=receiveData;//将接收到的数据放入到发送寄存器
  73. while(!TI);    //等待发送数据完成
  74. TI=0;
  75.         //清除发送完成标志位
  76. }
复制代码

作者: hs88    时间: 2018-8-9 22:11
蓝牙的距离才十米,不能远距离控制这个做什么用?就在十米内那玩吗那还不如不玩,太鸡肋了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1