这是今天制作完成的手机蓝牙APP遥控实物,感觉还不错,贴出来,供大家学习借鉴。
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #include <math.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar receive=0;
- uchar send=0xff;
- sbit out1=P2^0; //继电器1
- sbit out2=P2^1; //继电器2
- sbit out3=P2^2; //继电器3
- /********************************************************************
- * 名称 : Delay_1ms()
- * 功能 : 延时子程序,延时时间为 1ms * x
- * 输入 : x (延时一毫秒的个数)
- * 输出 : 无
- **********************************************************************/
- void Delay_1ms(uint i) //1ms延时
- {
- uchar x,j;
- for(j=0;j<i;j++)
- for(x=0;x<=148;x++);
- }
- /********************************************************************
- * 名称 : Com_Init()
- * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中断
- * 输入 : 无
- * 输出 : 无
- **********************************************************************/
- void Com_Init(void)
- {
- TMOD = 0x20; //设置定时器工作方式2
- SCON = 0x50; //设置为工作方式1
- TH1 = 0xfd; //设置波特率 9600
- TL1 = 0xfd;
- TR1 = 1; //启动定时器1
- ES = 1; //开串口中断
- EA = 1; //开总中断
- }
- //开关操作函数,接收到一次数据改变一次状态
- void alloff()
- {
- P2=0xff;
- }
- void main()
- {
- Delay_1ms(100);
- Com_Init();//串口初始化
- while (1);
- }
- /********************************************************************
- * 名称 : Com_Int()
- * 功能 : 串口中断子函数
- * 输入 : 无
- * 输出 : 无
- **********************************************************************/
- void Com_Int(void) interrupt 4
- {
- EA = 0;
- if(RI == 1) //当硬件接收到一个数据时,RI会置位
- {
- receive = SBUF ; //接收=SBUF
- RI = 0; //令接收中断标志位为0(软件清零)
- switch (receive)
- {
- case 0x00:alloff();break; //关闭所有
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
单片机蓝牙遥控开关制作资料.rar
(2.9 MB, 下载次数: 374)
|