当前位置: 首页 > news >正文

盐城市亭湖区城乡建设局网站公司网站上传图片

盐城市亭湖区城乡建设局网站,公司网站上传图片,广东企业网站建设多少钱,重庆南岸营销型网站建设价格基于51单片机的手机蓝牙控制8位LED灯亮灭设计1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STC89C52单片机核心系统电路设计2.2 LED电路设计2.3 蓝牙模块电路设计3、部分代码展示3.1 定时器初始化以及中断处理3.2 串口初始化3.3 串口中断处理1、项目简介 选题指导&…

基于51单片机的手机蓝牙控制8位LED灯亮灭设计

  • 1、项目简介
    • 1.1 系统构成
    • 1.2 系统功能
  • 2、部分电路设计
    • 2.1 STC89C52单片机核心系统电路设计
    • 2.2 LED电路设计
    • 2.3 蓝牙模块电路设计
  • 3、部分代码展示
    • 3.1 定时器初始化以及中断处理
    • 3.2 串口初始化
    • 3.3 串口中断处理

1、项目简介

  • 选题指导,项目分享: https://gitee.com/lighter-z/embedded-base/tree/master
  • 点击查看详细资料

1.1 系统构成

本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成。

1.2 系统功能

  • 1、通过手机APP可以控制8路LED灯的亮灭。
  • 2、通过手机APP可以控制8路LED灯的亮度。每个灯的亮度有3档。
  • 3、可以发送指令控制8个灯全灭和全亮。
    • 蓝牙发送数据内容:
      ON // 打开所有灯 大写字母’O’
      SN // 关闭所有灯
      Ax //一档打开 第x个灯 x为1-8中的一个数 如A2表示把led2灯打开的亮度为1挡
      Bx //二档打开 第x个灯 x为1-8中的一个数 如A2表示把led2灯打开的亮度为2挡
      Cx //三档打开 第x个灯 x为1-8中的一个数 如A2表示把led2灯打开的亮度为3挡

2、部分电路设计

2.1 STC89C52单片机核心系统电路设计

STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。

单片机最小系统原理图如下图所示:

2.2 LED电路设计

LED电路由8个LED构成,通过上拉电阻连接在51单片机的P0端口。

其具体电路原理图如下图所示:

实物图如下图所示:

2.3 蓝牙模块电路设计

本设计中使用JDY-30蓝牙模块,将蓝牙模块的RX引脚连接在51单片机的P31引脚,TX引脚连接在单片机的P30引脚。

蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯。本蓝牙模块就是为了只能无线数据传输而专门打造的,本模块支持串行接口,支持SP蓝牙串口协议,具有成本低、体积小、收发灵敏性高等特点,只需配备少许的外围元件就能实现大功能。

其具体电路原理图如下图所示:

实物图如下:

3、部分代码展示

3.1 定时器初始化以及中断处理

void Init_Timer0(void)
{TMOD |= 0x01;	  //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响		     TH0=(65536-10000)/256;		  //重新赋值 20msTL0=(65536-10000)%256;EA=1;            //总中断打开ET0=1;           //定时器中断打开TR0=1;           //定时器开关打开
}void Timer0_isr(void) interrupt 1 
{TH0=(65536-5000)/256;		  //重新赋值 5msTL0=(65536-5000)%256;times_5ms++;}

3.2 串口初始化

void UART_Init(void)
{SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 使能接收  TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHzTL1 = TH1;  TR1   = 1;                  // TR1:  timer 1 打开                         EA    = 1;                  //打开总中断ES    = 1;                  //打开串口中断
}

3.3 串口中断处理

void UART_SER (void) interrupt 4 	//串行中断服务程序
{unsigned char R_buf;if(RI)                        //判断是接收中断产生{RI=0;                      //标志位清零R_buf=SBUF;if((R_buf=='O')||(R_buf=='o')){Commd_Flag=OPEN;	//接收到打开灯标志}else if((R_buf=='S')||(R_buf=='s')){Commd_Flag=CLOSE;	//接收到 关闭灯标志}else if((R_buf=='A')||(R_buf=='a')){				  Commd_Flag=DAGN01;	//接收到 关闭灯标志}else if((R_buf=='B')||(R_buf=='b')){Commd_Flag=DAGN02;	//接收到 关闭灯标志}else if((R_buf=='C')||(R_buf=='c')){Commd_Flag=DAGN03;	//接收到 关闭灯标志}else if((R_buf!='1')&&(R_buf!='2')&&(R_buf!='3')&&(R_buf!='4')&&(R_buf!='5')&&(R_buf!='6')&&(R_buf!='7')&&(R_buf!='8')&&(R_buf!='N')){Commd_Flag=INIT;	 //否则 初始化接受标志}if((Commd_Flag==OPEN)||(Commd_Flag==DAGN01))			//根据命令值进行打开相应的灯{switch(R_buf){case '1':pwmLed01=3;Commd_Flag=INIT;break;	//打开相应的灯 并恢复命令标志case '2':pwmLed02=3;Commd_Flag=INIT;break;			case '3':pwmLed03=3;Commd_Flag=INIT;break;			case '4':pwmLed04=3;Commd_Flag=INIT;break;			case '5':pwmLed05=3;Commd_Flag=INIT;break;	case '6':pwmLed06=3;Commd_Flag=INIT;break;			case '7':pwmLed07=3;Commd_Flag=INIT;break;			case '8':pwmLed08=3;Commd_Flag=INIT;break;case 'N':pwmLed01=3;pwmLed02=3;pwmLed03=3;pwmLed04=3;pwmLed05=3;pwmLed06=3;pwmLed07=3;pwmLed08=3;Commd_Flag=INIT;break;default:break;						 //此处错误判断 不可恢复命令标准}}
else if(Commd_Flag==CLOSE)//根据命令值进行关闭相应的灯{switch(R_buf){case '1':pwmLed01=1;Commd_Flag=INIT;break;	//打开相应的灯 并恢复命令标志case '2':pwmLed02=1;Commd_Flag=INIT;break;			case '3':pwmLed03=1;Commd_Flag=INIT;break;			case '4':pwmLed04=1;Commd_Flag=INIT;break;			case '5':pwmLed05=1;Commd_Flag=INIT;break;	case '6':pwmLed06=1;Commd_Flag=INIT;break;			case '7':pwmLed07=1;Commd_Flag=INIT;break;			case '8':pwmLed08=1;Commd_Flag=INIT;break;case 'N':pwmLed01=1;pwmLed02=1;pwmLed03=1;pwmLed04=1;pwmLed05=1;pwmLed06=1;pwmLed07=1;pwmLed08=1;Commd_Flag=INIT;break;default:break;						 //此处错误判断 不可恢复命令标准}}else if(Commd_Flag==DAGN02)//根据命令值进行关闭相应的灯{switch(R_buf){case '1':pwmLed01=6;Commd_Flag=INIT;break;	//打开相应的灯 并恢复命令标志case '2':pwmLed02=6;Commd_Flag=INIT;break;			case '3':pwmLed03=6;Commd_Flag=INIT;break;			case '4':pwmLed04=6;Commd_Flag=INIT;break;			case '5':pwmLed05=6;Commd_Flag=INIT;break;	case '6':pwmLed06=6;Commd_Flag=INIT;break;			case '7':pwmLed07=6;Commd_Flag=INIT;break;			case '8':pwmLed08=6;Commd_Flag=INIT;break;				default:break;						 //此处错误判断 不可恢复命令标准}}else if(Commd_Flag==DAGN03)//根据命令值进行关闭相应的灯{switch(R_buf){case '1':pwmLed01=9;Commd_Flag=INIT;break;	//打开相应的灯 并恢复命令标志case '2':pwmLed02=9;Commd_Flag=INIT;break;			case '3':pwmLed03=9;Commd_Flag=INIT;break;			case '4':pwmLed04=9;Commd_Flag=INIT;break;			case '5':pwmLed05=9;Commd_Flag=INIT;break;	case '6':pwmLed06=9;Commd_Flag=INIT;break;			case '7':pwmLed07=9;Commd_Flag=INIT;break;			case '8':pwmLed08=9;Commd_Flag=INIT;break;				default:break;						 //此处错误判断 不可恢复命令标准}}SBUF=R_buf;				   //返回接收到的数据}if(TI)  //如果是发送标志位,清零TI=0;
} 
http://www.yayakq.cn/news/184514/

相关文章:

  • 兰州网站建设咨询薇wordpress缓存插件对比
  • 网站做啥内容用户多佛山公益网站制作
  • 企业网站开发 流程做网站需要看的书
  • wordpress 主页html兰州网站搜索优化
  • 集团公司网站欣赏网页搜索快捷键ctrl加什么
  • 做海报文案的参考网站博客网站建设方案
  • 番禺网站公司南宁企业网站设计
  • 怎么样做一个自己的网站网站建设西安哪里好
  • 电子商务网站的网络营销策略分析长沙有什么好玩的室内
  • 小馋网站建设书qq是用什么软件开发的
  • 百度只更新快照不收录网站网页设计需要什么技术
  • 网页制作网站沈阳妇科医生哪个好
  • 做用户名和密码网站页面如何看那个网站是那个公司做的
  • 做网站功能的框架结构图邢台哪儿专业做网站
  • 站外seo推广热点新闻事件及点评
  • 台州网站建设公司wordpress音频播放
  • 怎么样自己建设网站公司注册写10万还是50万好
  • 代理做减肥网站蚌埠市做家教网站
  • 宜昌需要做网站建设的公司在线推广是网站推广
  • 网站建设 问卷调查中国十大网络安全龙头
  • 看过的网站做记号建盏茶杯知识
  • 网站内容发布平台源码wordpress 4.4 下载
  • 密云石家庄网站建设谷歌优化
  • 百度建站多少钱wordpress关闭某个分类
  • 河北建设厅网站开通账号什么是营销
  • 温州做网站哪家比较好wordpress搜索功能性能
  • 什么是无主体新增网站建设网站域名备案查询
  • 广州网站推广多少钱网站产品推广
  • 荆州网站建设荆州如何建立和设计公司网站
  • 自己做的网站如何在网络上展示中文 wordpress 主题