📄 单片机与蓝牙通信程序.txt
字号:
简单51串口接受蓝牙数据C程序
include
unsigned char c_s[];
unsigned char f_s[]={0x0c,0x0d,0x0b,0x07,0x0c,0x0a,0x06,0x09,0x05,0x03}; //发声控制脉冲
unsigned char i=0;
unsigned char p_c;
void delay(unsigned int a)
{
unsigned int i;
while(a--){
for(i=0;i<125;i++)
{}
}
}
void chkou() interrupt 4 { //中断处理
if(p_c==0){ //判数字标志位
if(RI){ //判中断
RI=0; //
c_s[0]=SBUF; //读数
if(c_s[0]==0x43){ //判C
p_c=1;
}
else {
p_c=0;
}
}
}
else{
if(RI){
RI=0;
c_s[i]=SBUF;
while(!RI);
RI=0;
if(c_s[i]==0x0d){ //判D
EA=0; //关中断
p_c=0;
panduan();
EA=1;
}
else{
i++;
}
}
}
}
panduan(){ //发声程序
unsigned char a,b;
for(a=0;a b=c_s[a];
P1=f_s[b];
delay(10000); //大概延时
delay(10000);
}
}
void main(){
SCON = 0x50; /* mode 1: 8-bit UART, enable receiver */
TMOD = 0x21; /* timer 1 mode 2: 8-Bit reload */
PCON = 0x80;
TH1 = 0xf0; TL1 = 0xf0; /* reload value 19200 baud */
TR1 = 1;
ET1=0;
ES = 1; /* timer 1 run */
EA=1;
SM2=0; //no more
/*TH0=31; TL0=0;
TR0=1; //X 32 =1S */
RI=0; TI=0;
while(1); //ET0=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -