|
藍(lán)牙串口 輸出到手機(jī)
- #include "STC15F2K.h"
- unsigned char temp;
- void UartInit( );
- void SendByte (unsigned char Data);
- void SendStr(unsigned char *s);
- sbit led1=P2^0;
- sbit led2=P2^1;
- sbit led3=P2^2;
- //*-----------------主函數(shù)------------------*/
- void main( )
- { int i=0;
- UartInit( );//調(diào)用串口初始化函數(shù)
- while(1)
- {
- }
- }
- //*-----------------中斷服務(wù)子函數(shù)------------------*/
- void Serial_ISR() interrupt 4
- { int i;
- if(RI ==1)
- {
- RI =0; //清串行接收標(biāo)志
- temp = SBUF; //接收數(shù)據(jù)
- if(temp=='t')
- {
- led1=0;
- i=10000;
- while(i--) ;
- }
- if(temp=='e')
- {
- led2=0;
- i=10000;
- while(i--) ;
- }
- if(temp=='f')
- {
- led3=0;
- i=10000;
- while(i--) ;
- }
- SBUF = temp; //發(fā)送接收到的數(shù)據(jù)
- while(TI==0); //等待發(fā)送結(jié)束
- TI = 0; //清零TI
- }
- if(TI ==1)
- {
- TI =0;
- }
- }
- void UartInit( ) //9600bps@11.0592MHz
- {
- SCON = 0x50; //8位數(shù)據(jù),可變波特率
- AUXR = 0;
- TMOD =0x20;
- TL1 = 0xfd; //設(shè)定定時初值 9600 BAUD
- TH1 = 0xfd; //設(shè)定定時初值
- ET1 = 0; //禁止定時器1中斷
- TR1 = 1; //啟動定時器1
- EA=1;
- ES=1;
- }
- void SendByte (unsigned char Data)
- {
- SBUF = Data; //發(fā)送接收到的數(shù)據(jù)
- while(TI==0); //等待發(fā)送結(jié)束
- TI = 0;
- }
- void SendStr(unsigned char *s)
- {
- while(*s!='\0')// \0 表示字符串結(jié)束標(biāo)志,通過檢測是否字符串末尾
- {
- SendByte(*s);
- s++;
- }
- }
復(fù)制代碼
|
|