找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3093|回复: 3
打印 上一主题 下一主题
收起左侧

WIFI小车数据包格式下位机程序,QQ1074757990

[复制链接]
跳转到指定楼层
楼主
ID:79544 发表于 2015-9-11 21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /**************************************************
  2.         通过的WIFI小车数据包格式下位机程序
  3.         功能:现在只能执行,前 后 左 右
  4.         单片机:STC12C5608AD
  5.         晶振:11.0592M
  6.         作者:苏义江摘编自WIFI机器人工作室
  7. *******************************************************/
  8. #include<reg52.h>
  9. #define uchar unsigned char
  10. #define uint unsigned int
  11. //uchar data Tempdatatable[5],CommandDatatable[5];//数据包
  12. int buffer[3];
  13. int rec_flag=0;
  14. sbit laba       =P3^5;//喇叭
  15. sbit zuozhuanx  =P2^0;//左转向灯
  16. sbit youzhuanx  =P2^1;//右转向灯
  17. sbit zhuangtaideng=P2^2; //状态灯
  18. sbit MainLight  =P2^3; //主大灯
  19. sbit servo0=P2^0; //舵机控制
  20. sbit servo1=P2^1;
  21. sbit servo2=P2^2;
  22. sbit servo3=P2^3;
  23. /*-------------------------------------------------------------*/
  24. //串口初始化
  25. void UART_Init(void)
  26. {
  27.         TMOD = 0x21;
  28.         PCON = 0x00;
  29.         SCON = 0x50;
  30.         TH1 = 0xFd; //设置波特率 9600
  31.         TL1 = 0xFd;
  32.         TR1 = 1; //启动定时器1

  33.         ES = 1; //开串口中断
  34.         EA = 1; //开总中断
  35.         IT0=0;
  36.         EX0=1;

  37. }
  38. void Delay_1ms(uint i)//1ms延时
  39. {
  40.         uint x,j;
  41.         for(j=i;j>0;j--)
  42.         for(x=650;x>0;x--);
  43. }
  44. void zhuangtaizhishi()
  45. {
  46.         zhuangtaideng=0;
  47.         Delay_1ms(100);
  48.         zhuangtaideng=1;
  49.         Delay_1ms(100);
  50. }
  51. /*-------------------------------------------------------------*/
  52. //主函数
  53. void main(void)
  54. {
  55.         UART_Init(); //初始化串口
  56.         while(1)
  57.         {
  58.                 zhuangtaizhishi();
  59.         }
  60. }

  61. void Communication_Decode(void)
  62. {
  63.         if(buffer[0]==0x00)
  64. {
  65.         switch(buffer[1])
  66.         {
  67.                 case 0x01:P1=0xDB; return;//101 101 11
  68.                 case 0x02:P1=0xB7; return;//110 110 11
  69.                 case 0x03:P1=0xBB; return;//110 101 11
  70.                 case 0x04:P1=0xD7; return;//101 110 11
  71.                 case 0x00:P1=0x00; return;
  72.                 default: return;
  73.         }
  74. }
  75.         else
  76.         {
  77.                 return;
  78.         }
  79. }

  80. /*-------------------------------------------------------------*/
  81. //串口接收中断函数
  82. void INT_UartRcv(void) interrupt 4
  83. {
  84.         static int i;

  85.         if(RI==1)
  86.         {
  87.                 RI = 0;
  88.                 if(rec_flag==0)
  89.                 {
  90.                         if(SBUF==0xff)
  91.                         {
  92.                                 rec_flag=1;
  93.                                 i=0;
  94.                         }
  95.                 }
  96.                 else
  97.                 {
  98.                         if(SBUF==0xff)
  99.                         {
  100.                                 rec_flag=0;
  101.                                 if(i==3)
  102.                                 {
  103.                                         Communication_Decode();
  104.                                 }
  105.                                         i=0;
  106.                         }
  107.                         else
  108.                         {
  109.                                 buffer[i]=SBUF;
  110.                                 i++;
  111.                         }
  112.                 }
  113.         }
  114.         else
  115.         {
  116.                 TI = 0;
  117.         }
  118. }
复制代码


评分

参与人数 1黑币 +35 收起 理由
admin + 35 共享资料的积分奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:89943 发表于 2015-9-12 13:47 | 只看该作者
看看  收集一下
回复

使用道具 举报

板凳
ID:89946 发表于 2015-9-12 14:29 | 只看该作者
谢谢,好心人
回复

使用道具 举报

地板
ID:74784 发表于 2016-8-7 02:48 | 只看该作者
请教:
1mS的延时是干吗用的?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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