讲解51单片机蓝牙模块(ATK-SPP-HC06从机串口)的使用方法。
#include <AT89X51.H>
#include <intrins.h> // 函数原形定义
#define uchar unsigned char
#define uint unsigned int void main (void); // 主函数
void LED_OUT(uchar X); // LED单字节串行移位函数
void LED_print (uchar p, uchar x) ; unsigned char code LED_0F[]; // LED字模表 sbit DIO = P1^0; //串行数据输入
sbit RCLK = P1^1; //时钟脉冲信号——上升沿有效
sbit SCLK = P1^2; //打入信号————上升沿有效 uchar Buffer[4] = {0}; //从串口接收的数据 // 全局变量
uchar LED[8]; //用于LED的8位显示缓存 void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
} void Init(void)
{
TMOD = 0x20; //8 位自动重装计数
PCON &= 0x7f;
SCON = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可变
TH1 = 0xFD; //设置波特率 9600
TL1 = 0xFD;
TR1 = 1; //启动定时器1
TI = 0;
RI = 0;
ES = 1; //开串口中断
EA = 1; //开总中断
} // 主程序
void main (void)
{
Init();//初始化 LED_print (0x80, 0x0F); //显示启动信息 while(1)
{
switch(Buffer[0])
{
case 0x30: LED_print (0x01, 0); break;
case 0x31: LED_print (0x01, 1); break;
case 0x32: LED_print (0x01, 2); break;
case 0x33: LED_print (0x01, 3); break;
case 0x34: LED_print (0x01, 4); break;
default : LED_print (0x80, 0x0E); break;
}
}
} void Com_Int(void) interrupt 4
{
EA = 0;
if (RI == 1) //当硬件接收到一个数据时,RI会置位
{
Buffer[0] = SBUF ; //这里减去48是因为从电脑中发送过来的数据是ASCII码。// Buffer[0] = SBUF-48 ;
RI = 0;
}
EA = 1;
} void LED_print (uchar p, uchar x)
{
unsigned char code *led_table; // 查表指针
uchar i;
unsigned long loop; led_table = LED_0F + x;
i = *led_table; LED_OUT(i);
LED_OUT(p); RCLK = 0;
RCLK = 1; for(loop = 0; loop < 230; loop++);
} void LED_OUT(uchar X)
{
uchar i;
for(i=8;i>=1;i--)
{
if (X&0x80) DIO=1; else DIO=0;
X<<=1;
SCLK = 0;
SCLK = 1;
}
} unsigned char code LED_0F[] =
{
//0 1 2 3 4 5 6 7 8 9 A b C d E F -
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xbf
};

#51单片机#蓝牙模块(ATK-SPP-HC06从机串口)的使用方法的更多相关文章

  1. Android蓝牙实例(和单片机蓝牙模块通信)

    最近做毕设,需要写一个简单的蓝牙APP进行交互,在网上也找了很多资料,终于给搞定了,这里分享一下^_^. 1.Android蓝牙编程 蓝牙3.0及以下版本编程需要使用UUID,UUID是通用唯一识别码 ...

  2. 51单片机 HC05蓝牙模块

    一.注意事项 1.烧写程序时,要把蓝牙tx,rx信号线拔掉,对烧写程序有影响. 2.执行HC05集命令时,均以\r\n结尾.串口中断若选择“发送新行”时,不用添加\r\n.原理相同. 二.准备软硬件 ...

  3. HC系列蓝牙模块连接单片机与电脑,传输数据(蓝牙心电测试)

    毕设做无线心电监护.有线的做出来了,AD8232+MCU+LabVIEW上位机.pcb还没时间搞,这个9*7*2.5cm拿来测试能用. 自己做了AD8232的模拟前端,打的板子还没到没法测试. 虽然比 ...

  4. 微信小程序蓝牙模块

    蓝牙部分知识 关于Service: 每个设备包含有多个Service,每个Service对应一个uuid 关于Characteristic 每个Service包含多个Characteristic,每个 ...

  5. HC-06蓝牙模块的使用

    HC-06蓝牙模块与HC-05的AT指令变化还是挺大的,在模块上电后红灯闪烁表示未连接成功,常亮表示连接成功,期间只要红灯处于闪烁即是进入了AT模式,可发送AT指令,灯常亮使用AT指令无效.下面是常用 ...

  6. Android单片机与蓝牙模块通信实例代码

    Android单片机与蓝牙模块通信实例代码 参考路径:http://www.jb51.net/article/83349.htm 啦啦毕业了,毕业前要写毕业设计,需要写一个简单的蓝牙APP进行交互,通 ...

  7. 51单片机通过ESP8266模块与手机进行通讯(单片机)

    相关连接和资料下载: 个人博客 资料下载 Step1:配置ESP8266 通过USB转TTL模块把ESP8266模块和电脑连接起来,如图: 把ESP8266模块的VCC,GND,CH_PD,UTXD, ...

  8. Arduino蓝牙模块实现通信

    蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有 ...

  9. 【Arduino】开发入门【十】Arduino蓝牙模块与Android实现通信

    [Arduino]开发入门[十]蓝牙模块 首先show一下新入手的蓝牙模块 蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机 ...

随机推荐

  1. React Native集成Redux框架讲解与应用

    学过React Native的都知道,RN的UI是根据相应组件的state进行render的,而页面又是由大大小小的组件构成,导致每个组件都必须维护自身的一套状态,因此当页面复杂化的时候,管理stat ...

  2. 解析Linux系统的平均负载概念

    一.什么是系统平均负载(Load average)? 在Linux系统中,uptime.w.top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?系统平均负载被定义为 ...

  3. Android中获取手机电量信息

    有些时候我们需要在我们的应用上为用户展示当前手机的电量,这时候我们就需要用到广播了,我们都知道在动态注册广播的时候,我们需要传入一个BroadcastReceiver类对象,还有一个意图过滤器Inte ...

  4. Json -- 语法和示例,javascript 解析Json

    1. 语法 JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不 ...

  5. Ubuntu 16 安装redis客户端

    https://snapcraft.io/redis-desktop-manager sudo snap install redis-desktop-manager 很好用! 支持模糊过滤,两边加星号 ...

  6. scala学习手记10 - 访问修饰符

    scala的访问修饰符有如下几个特性: 如果不指定访问修饰符,scala默认为public: 较之Java,scala对protected的定义更加严格: scala可以对可见性进行细粒度的控制. s ...

  7. TUNING FOR ALL FLASH DEPLOYMENTS

    Ceph Tuning and Best Practices for All Flash Intel® Xeon® ServersLast updated: January 2017 TABLE OF ...

  8. MFC,ATL,CLR简介

    MFC.ATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用.当然关于 C++ 开发的库不止这3个,不过这3个是微软推荐.从编程所处层次而言,WIN32为最底层,其次 ...

  9. spring boot MongoDB的集成和使用

    前言 上一章节,简单讲解了如何集成Spring-data-jpa.本章节,我们来看看如何集成NoSQL的Mongodb.mongodb是最早热门非关系数据库的之一,使用也比较普遍.最适合来存储一些非结 ...

  10. SDRAM引入

    SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器. DDR: DDR是DDR SDRAM,是SDRAM的升级版.(DDR:double ...