• 51单片机蓝牙模块


    51单片机的蓝牙模块,是在蓝牙通讯的基础上,进行蓝牙51模块与外部蓝牙发射接收设备之间,相互收发数据。并且其引脚为VCC,GND,TXD,RXD,可以通过串口通信与外部上位机或单片机通信。

    代码如下(注意蓝牙模块是5V供电)

    #include<reg52.h>

    void init();
    void delay(unsigned int ms);

    unsigned char input;
    void display(unsigned char num_decimal);
    unsigned char code character[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
    0xf8,0x80,0x90};

    sbit SegSelection1=P2^0;
    sbit SegSelection2=P2^1;
    sbit SegSelection3=P2^2;
    sbit SegSelection4=P2^3;
    sbit p1=P1^0;
    sbit p2=P1^1;

    void main()
    {
    p1=1;
    p2=0;
    init();

    while(1)
    {

    display(input);
    }
    }

    void init(void)
    {
    EA = 1;
    ES = 1;
    PCON = 0x00;
    SCON = 0x50; //串口工作在方式1,并且启动串行接收

    TMOD = 0x20;
    TH1 = 0xFd; //设置波特率 9600
    TL1 = 0xFd;
    TR1 = 1;
    }

    void rt() interrupt 4 //中断4:串行收发数据
    {
    EA=0;
    if(RI==1)
    {
    input=SBUF-48;
    RI=0;

    SBUF=input+48;
    while(!TI);
    TI=0;
    }
    EA=1;
    }

    void display(unsigned char num_decimal)    //在数码管显示传输的数据
    {
    unsigned int thousand,hundred,tens,unit;

    thousand=num_decimal/1000;
    hundred=(num_decimal-thousand*1000)/100;
    tens=(num_decimal-thousand*1000-hundred*100)/10;
    unit=num_decimal%10;

    SegSelection1=0;
    P0=character[thousand];
    delay(5);
    SegSelection1=1;

    SegSelection2=0;
    P0=character[hundred];
    delay(5);
    SegSelection2=1;

    SegSelection3=0;
    P0=character[tens];
    delay(5);
    SegSelection3=1;

    SegSelection4=0;
    P0=character[unit];
    delay(5);
    SegSelection4=1;
    }

    void delay(unsigned int ms)
    {
    unsigned int x;
    while(ms--)
    for(x=110;x>0;x--);
    }

  • 相关阅读:
    设计模式-代理模式
    设计模式-策略模式
    设计模式-单例模式
    优先队列
    n!中质因子个数
    计算组合数
    高精度
    memset用法
    质因子分解
    素数筛法
  • 原文地址:https://www.cnblogs.com/chengxinhust/p/5800872.html
Copyright © 2020-2023  润新知