适用于:stc15f2k60s2型号单片机(其它型号的51单片机如果想用这个程序,就得修改程序的波特率和某一些的地方才能用)
蓝牙模块:hc-05模块

你用手机给蓝牙发个0,led灯亮,发个1,led灯灭。

单片机源程序如下:

#include

#include

#define uchar unsigned char

#define uint unsigned int       

uchar receiveData;


sbit led=P0^0;



void UartInit(void)                //9600bps@ 11.0592MHz

{

        PCON &= 0x7F;                //波特率不倍速

        SCON = 0x50;                //8位数据,可变波特率

        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T

        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器

        TMOD &= 0x0F;                //清除定时器1模式位

        TMOD |= 0x20;                //设定定时器1为8位自动重装方式

        TL1 = 0xDC;                //设定定时初值

        TH1 = 0xDC;                //设定定时器重装值

        ET1 = 0;                //禁止定时器1中断

        TR1 = 1;                                //启动定时器1

        EA=1;                                                //打开总中断

        ES=1;                                                //打开接收中断

       

}

void send1_Byte(unsigned char byte)//发送字符

{

        SBUF = byte;

    while(TI==0);                //发送完会自动置1

    TI=0;                                //手动清零

}


void Send1_String(char *str)        //发送字符串

{

        while (*str!='')                        //检测字符串结束标志

                {                  

            send1_Byte(*str++);

                }

}


void Usart() interrupt 4                //串口中断函数接收程序

{      

       

        if (RI==1)

                {            

                  receiveData = SBUF;

                        RI=0;  

                       

                }                       

}       


void working()

{

        if(receiveData == '0')       //发现有数据输入0

        {

                send1_Byte('0');  led=0 ;

       

      receiveData = 'A';}

       

  if(receiveData == '1')      

        {

                send1_Byte('1');

                led=1 ;

        receiveData = 'A';}

}


int main()

{

                UartInit();


                while(1)

                {

                working();

                }

}


关键字:51单片机  蓝牙  点灯程序 引用地址:51单片机蓝牙点灯程序

上一篇:51单片机驱动直流电机,测试可用,可调速
下一篇:51单片机视力保护-实物+原理图+程序

推荐阅读

使用了STM32CubeMX及Keil (HAL库)材料:stm32开发板、USB转TTL?CH340模块、杜邦线、st-link实验原理:模拟了异步半双工通信波特率可变起始位:1数据位:8停止位:1(1个数据10位)无校验位传输一个字符的时候先发送1位起始位,然后是8位数据位(从低位到高位),最后是一位停止位用1个普通的GPIO口输出(模拟TXD),模拟了以上发送的高低电平,采用定...
近日在flipkart网上商店中,联想A6 Note手机的配置已经完全公布,采用联发科MTK Helio P22处理器。 据flipkart购物网站信息了解到,联想A6 Note具有蓝色和黑色两种配色,采用了6.09英寸水滴屏,屏占比为88%,宽高比为19.5:9;采用4000mAh的电池,官方称可以使用大约两天。  在硬件方面,联想A6 Note手机搭载联发科MTK Helio P22...
专注于引入新品并提供海量库存的电子元器件分销商贸泽电子 (Mouser Electronics) 即日起备货Panasonic的PAN1740A系列射频模块。该器件具有完全集成的基带处理器和无线电收发器,支持低功耗蓝牙5.0连接。此系列紧凑型模块支持最多八个连接,缩短了启动时间,是需要支持动作和手势识别以及语音指令的远程控制单元的理想解决方案。 贸泽电子供应的Pan...
Sondrel创建了一个功能强大的四核IP平台SFA 200,该平台非常适合ASIC(专用集成电路)解决方案,用于远程采集和处理视频和边缘数据,并确保结果的安全传输。由此产生的单通道ASIC可连续排列,形成可扩展解决方案,并以模块化方式添加附加功能。应用包括智能仪表、智能家居、智能工厂、声控设备和信息娱乐等。每个ASIC基于一个用于通用任务的CPU集群和一个...

史海拾趣

问答坊 | AI 解惑

急死了~

现有一美国独资企业急需RF工程师一名,要有一年半以上的相关工作经验,最好是手机天线方面的,薪资方面的话视口语水平而定,一般是6~10K,拿13个月的薪水外加2个月bonus,工作地点在上海莘庄工业园区。有意者请速与我联系,021-53500076或者mail 至 ...…

查看全部问答∨

HD44780读数据和地址的疑问,牛人指教!

typedef unsigned char byte; sbit RS = P2^6; sbit RW = P2^5; sbit E = P2^4; #define DATA P0 . . . byte ReadAdress() {         byte byAddr;                     ...…

查看全部问答∨

关于mini2440 的几个简单问题 疑惑?

我有个mini2440开发板,用他们的内核下载,桌面上会有一个 串口调试助手 图标! 如果我自己做个内核用他们的BSP 1、桌面上也会有这个图标吗?也会有这个应用程序吗? 2、如果想去掉桌面上这个图标,需要修改什么?Platfrom.dat 吗?…

查看全部问答∨

请问各位:想编写ARM或者POWERPC下,linux系统的多串口驱动程序应该从何入手啊,多谢请指点一下

想编写个powerpc下linux系统的多串口驱动程序,可是我从来没接触过,请做过的朋友帮我指点下思路,做这个一般需要哪些步骤啊,非常感谢!…

查看全部问答∨

程序复位问题的新原因(最终发现不是复位问题)

用了一天的时间,搞定了一个低级错误 程序不能正常运行,解决过程如下: 开机没有显示,似乎程序没有运行,试过了坛子里所有关于不能正确复位的方法,问题没有解决。 最后发现是在写入flash的时候由于笔误,将地址写在了程序段。 不知道对大家 ...…

查看全部问答∨

M3的工具String Table Generator 是干什么用的~?

如题,谁给讲下作用。String Table Generator 能用来显示中文吗~?…

查看全部问答∨

一个驱动函数的用途

最近看ZLG 的CAN例程,里面有个GPIOPinconfigure()函数,但是我看了GPIO的驱动函数库,没有发现有这样一个函数。请问这个函数在哪里有说明文档。…

查看全部问答∨

C语言如何调用C++类成员

因为做了一个要用在单片机里的小模块,但是现在需要在上位机验证。于是用了Qt,但是Qt 这个模块的接口是有跟定时器相关的。网上查了些资料也不成功。 A.C里面需要实现如下几个函数: UINT32 TIM_getReaminingTime(void);     &nbs ...…

查看全部问答∨

keil uv3中使用伟福6000出现USB错误

keil uv3中使用伟福6000出现USB错误有没有人遇到过知道怎么解决吗??? 我是按照说明操作的啊 ***************** ★ 手动安装/更新“伟福仿真器嵌入keil/ADS的驱动”的方法★ ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved