|
手机与单片机通信,本想用手机控制led,但是做好后想改进做点有用的东西就加了继电器,原理都一样,提供源码与APP供大家使用,蓝牙波特率是9600,单片机波特率11.0592,喜欢的朋友支持一下,改天我去做wife的。
单片机源程序如下:
- /***********************************************************
- STC90C51RD+?HC-06????:
- ?? STC90C51RD+
- RXD TXD
- TXD RXD
- ????:
- P1.0?P1.1?P1.3????????
- !!!!
- !!!!??:????TXD(P3.1)?????,???P3.1??????????????????
- !!!!
- ????????????
- ?????Android????????
- By itas109
- http://blog.csdn.net/itas109
- ***********************************************************/
- #include <reg52.h>
- #include <intrins.h>
- unsigned char tmp;
- unsigned int c=0;
- sbit led1=P1^0; //???0
- sbit led2=P1^1; //???1
- sbit led3=P1^2;
- sbit led4=P1^3;//???2
- void init(); //?????
- void send(unsigned char a); //???????
- void ctrl(); //??????
- void main()
- {
- init();
- while(1)
- {
- if(RI==1) // ???????
- {
- RI = 0;
- tmp = SBUF; // ????????
- ctrl();
- }
- }
- }
- void init() //???
- {
- TMOD=0x20; //?????1?????2
- PCON=0x80; //?????
- TH1=0xfa; //????????
- TL1=0xfa;
- //?????????????12M,?????,??????????????,???????????????
- //????,?????4800,SMOD=1????????,?????0.16%,?12M????????
-
- TR1=1; //????
- SM0=0; //????????1,??
- SM1=1;
- REN=1; //?????
-
- EA=1; //????
- ES=1; //??????
- led1=1; //?????3??????
- led2=1;
- led3=1;
- }
-
- void send(unsigned char a) //???????
- { //??:????TXD(P3.1)?????,???P3.1??????????????????
- TI=0;
- SBUF=a;
- while(TI==0);
- TI=0;
- }
- void ctrl() //??????
- {
- switch(tmp)
- {
- case '1':
- led1=1; //????1,???0?
- send(tmp);
- break;
- case '0': //????2,???1?
- led1=0;
- send(tmp);
- break;
- case '2': //????3,???0?1?
-
- led2=0;
- send(tmp);
- break;
- case '3': //????4,???0?1?
-
- led2=1;
- send(tmp);
- break;
- case '4': //????5,???3?
- led3=0;
- send(tmp);
- break;
- case '5': //????5,???3?
- led3=1;
- send(tmp);
- break;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
蓝牙与数据不分开.zip
(3.87 MB, 下载次数: 154)
|
评分
-
查看全部评分
|