找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2393|回复: 0
收起左侧

51单片机模拟串口通信蓝牙WiFi控制智能车

[复制链接]
ID:423051 发表于 2019-3-31 15:18 | 显示全部楼层 |阅读模式
前段时间一直在搞模拟串口,终搞出来了,代码贴出来供大家参考,欢迎友好交流部分代码如下
波特率是个很大的坑
我的晶振用的是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);
}   



评分

参与人数 2黑币 +52 收起 理由
kljie1000 + 2
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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