Clown.632 2023-11-05 20:46 采纳率: 100%
浏览 10
已结题

51单片机蓝牙模块不能用手机控制

我用51单片机连接蓝牙模块(外接HC-08),用手机微信小程序连接蓝牙,
我想用蓝牙来控制P2(LED灯),但是,它不能实现,
用电脑上的烧录软件里面的串口助手就可以实现,但是手机控制不了

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-05 22:18
    关注

    【相关推荐】



    • 这篇博客: 蓝桥杯单片机的初始化原理和蜂鸣器关闭学习中的 蓝桥杯的单片机和别的单片机不同之处就是在于这个初始化程序的不一样,别的单片机一个IO口控制一个设备或者是有跳线帽能控制,但是蓝桥杯的不一样,它的P0口控制了led灯,数码管,蜂鸣器,等等,所以它的初始化程序写起来比较麻烦,下面是我关于这个初始化的笔记 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      看我们的原理图:
      在这里插入图片描述
      在这里插入图片描述
      可以看到,我们蓝桥杯的板子上的led灯其实是M74HC573M1R控制的,要使用这个芯片需要Y4C的信号,也就是说,Y4C控制着led灯,当Y4C有脉冲信号,P0控制的就是led灯啦,那么怎么才能使Y4C产生信号呢。
      可以看到我上面的截图的74HC138控制着Y4C的信号输出,这个怎么控制呢,看到它的结构上面P25,P26,P27控制着Yx的信号,然后通过u25或非门控制YxC,所以我们来看蓝桥杯官方给我们的芯片资料:
      点开74HC138的芯片资料:
      我们参加竞赛的,特别是我这种不是电气和自动化专业的,咱只需要知道怎么输出的信号就行了:
      在这里插入图片描述
      可以看到,a,b,c分别对应的就是P25,P26,P27,不要慌,控制这三个就行了,看到只有Y4低电平的输出的控制,为什么会是低电平才是Y4c打开的呢,是因为可以看到原理图的
      U25的那一部分,他们都是或非门,(因为j13我接的是wr和gnd,所以wr为零)如图:

      在这里插入图片描述
      所以我们需要的是低电平。


      哦,这里我也要说一下,led为什么等于零的时候才会是亮的状态:如图
      在这里插入图片描述

      因为后接高电平,因为这个是P0都有的,所以说,凡是P0口控制的,打开的状态都是需要低电平的。
      回来接着说我们的控制led灯:
      看到Y4c的是c:H,b:L,a:L,所以我们写出来的初始化是:

      sbit P25=P2^5;
      sbit P26=P2^6;
      sbit P27=P2^7;
      void main(){
      	P25=0;P26=0;P27=1;//初始化LED灯
      	P0=0x00;//灯全亮
      }
      

      然后我们可以看到灯全亮
      所以初始化就好了
      那么其他人的都是16进制,咱也可以写成(我这里不演示了)也就是P2=0x80;(简便)
      但是呢这样写,会让蜂鸣器叽叽叽叽的叫,我好烦
      那我们看,蜂鸣器的控制:
      原理图:
      在这里插入图片描述

      Y5低电平是:c:h,b:l,a:h

      sbit P25=P2^5;
      sbit P26=P2^6;
      sbit P27=P2^7;
      void main(){
      	P25=1;P26=0;P27=1;//初始化Y5
      	P04=0//关闭继电器,看图,relay口控制继电器输出成1关闭继电器
      	P06=0;//关闭蜂鸣器
      }
      

      那么P2=0xBF;P0=0xAF;的意思就是关闭继电器和蜂鸣器,写成P2=0xa0,P0=0x00;也可以哦
      1011111


      好了,今天分享到这了,学会了关闭蜂鸣器,还有初始化,就对以后还有动态数码管非常好玩了


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 11月5日