标题: 51单片机模拟串口通信蓝牙WiFi控制智能车 [打印本页]

作者: oO机器骑士    时间: 2019-3-31 15:18
标题: 51单片机模拟串口通信蓝牙WiFi控制智能车
前段时间一直在搞模拟串口,终搞出来了,代码贴出来供大家参考,欢迎友好交流部分代码如下
波特率是个很大的坑
我的晶振用的是12M,因此最佳匹配是4800bps
void TimerInit(void)
{
TMOD=0x22;//0000 0010 方式2 8位 低四位T0
TR0=0;        //关定时器
TF0=0;
TH0=(256-211);//赋初值 256-104=152  256-208=48
TL0=TH0;
ET0=1;//开定时器T0中断
TH1=0xF3;
TL1=0XF3;//计数器初始值设置4800
PCON=0x80;//波特率加倍
TR1=1;         //打开计数器
SCON=0X50; //0101 0000 设置为工作方式1
ES=1;//打开接收串口中断
EA=1; //开中断
}
//开始位
unsigned char StartBitCome(void)
{
        return (RXD1==0);
}
//void Uart_Init()//使用定时器1作为波特率发生器(STC89C52、STC89C51、AT89C51或者STC12C560S2等均可)
//{
//      TMOD=0x22;//选择工作方式2   0010 0000       
//               
//               
//                EA=1;//打开总中断
//}
void Send_Uart(u8 value)
{
      ES=0;         //关闭串口中断
      TI=0;         //清发送完毕中断请求标志位
      SBUF=value;     //发送
      while(TI==0);   //等待发送完毕
      TI=0;         //清发送完毕中断请求标志位
      ES=1;         //允许串口中断
}
void ESP8266_Sent(u8 *puf) // 数组指针*puf指向字符串数组               
{

      while(*puf!='\0')    //遇到空格跳出循环
      {
           Send_Uart(*puf);  //向WIFI模块发送控制指令。
           us_delay(5);
           puf++;      
      }
      us_delay(5);
      Send_Uart('\r');//回车
      us_delay(5);
      Send_Uart('\n');   //换行
      ms_delay(1000);
}   








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