找回密码
 立即注册

QQ登录

只需一步,快速开始

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

经典蓝牙串口接收程序

[复制链接]
跳转到指定楼层
楼主
ID:209829 发表于 2017-6-10 14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>//声明头文件
#define uchar unsigned char//宏定义
#define uint unsigned int//宏定义
uchar a=0;//定义一个变量a,用来读取串口的数据

void delay(uint z)//一个带参数的延时程序
{
        int i,j;//定义两个变量
        for(i=10;i>0;i--)
        for(j=z;j>0;j--);//将参数z赋值给j
}
void init()//初始化子程序
{
        TMOD=0x20;                          //设置定时器T1为工作方式2
        TH1=0xfd;
        TL1=0xfd;                           //T1定时器装初值
        TR1=1;                              //启动定时器T1
        REN=1;                              //允许串口接收
        SM0=0;
        SM1=1;                              //设置串口工作方式1
        EA=1;                               //开总中断
        ES=1;                               //开串口中断
}
void main()//主程序
{
        init();//调用初始化子程序
        while(1)//死循环
        {
                switch(a)//判断a从串口读取到的数据
                {
                        case 0001://如果是0x1f就前进
                        P2=0x01;
                        break;

                        case 0002://如果是0x2f就后退
                        P2=0x02;
                        break;

                        case 0003://如果是0x3f就左转
                        P2=0x04;
                        break;

                        case 0004://如果是0x4f就右转
                        P2=0x0f;
                        break;

                        case 0x05://如果是0x00就停止
                        P2=0xf0;
                        break;
                }       
        }       
}

void chuan() interrupt 4//串口中断服务程序
{
        RI=0;//软件清除串口响应
        a=SBUF;//读取单片机串口接受的蓝牙模块发送的数据
}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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