找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1754|回复: 1
收起左侧

51单片机的蓝牙小灯控制

[复制链接]
ID:433767 发表于 2019-11-8 20:43 | 显示全部楼层 |阅读模式
  1.         #include  <reg51.h>
  2. //        #include "stdio.h"
  3.         sbit          led=P2^1;
  4.         int  flag,a = 0;
  5.        

  6. void UartInit(void)                //4800bps@12.000MHz
  7. {
  8.         PCON |= 0x80;                //使能波特率倍速位SMOD
  9.         SCON = 0x50;                //8位数据,可变波特率
  10.         TMOD &= 0x0F;                //清除定时器1模式位
  11.         TMOD |= 0x20;                //设定定时器1为8位自动重装方式
  12.         TL1 = 0xF3;                //设定定时初值
  13.         TH1 = 0xF3;                //设定定时器重装值
  14.         ET1 = 0;                //禁止定时器1中断
  15.         TR1 = 1;                //启动定时器1

  16. //        TI = 1;           //使用printf函数将TI置一

  17.         ES = 1;
  18.         EA = 1;
  19. }


  20.         void  delay(int  i)
  21.         {
  22.            while(i--);
  23.         }


  24.         void senddata(unsigned char ch)
  25.         {
  26.                 SBUF = ch;
  27.                 while(!TI);
  28.                 TI = 0;       
  29.         }


  30.         void SendString(unsigned char *s)
  31.         {
  32.                 while(*s)
  33.                 {
  34.                         senddata(*s++);       
  35.                 }
  36.         }



  37.         void  main()
  38.         {
  39.             UartInit();
  40.                 led = 1;
  41.                while(1)
  42.                 {                
  43.                         if(flag==1)
  44.                         {         
  45.                            ES=0;
  46.                            switch(a)
  47.                            {
  48.                                            case(1):led=0;a = 0;break;
  49.                                         case(2):led=1;a = 0;break;
  50.                                         default:a = 0;break;
  51.                            }
  52.                            ES=1;
  53.                            flag = 0;       
  54.                          }
  55.                          senddata(led);
  56.                          delay(20000);
  57.                 }       
  58.         }



  59.         void   Usart()   interrupt   4
  60.         {
  61.                 a=SBUF;
  62.                 RI=0;
  63.                 flag=1;
  64.         }
复制代码


蓝牙小灯.zip

21.72 KB, 下载次数: 17, 下载积分: 黑币 -5

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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