采用51单片机对hc-06模块发送的信号进行接收,采用振动小马达不同振动状态来反映接收到的数值,(既单片机收到不同的数值对应马达不同的振动频率。)
1.实物搭建及实现功能
采用的振动马达模块图
采用的蓝牙模块图
| 发送数字 | 马达现象 |
|---|---|
| 1 | 振动最强 |
| 2 | 振动稍弱 |
| 3 | 振动最弱 |
| 其他任意值 | 不振动 |
#includeint p = 0 ; sbit PWM=P0^0; unsigned int time; void main() { TMOD=0x21; TH1=0xfd; TL1=0xfd; TH0=0xff; TL0=0xff; SCON = 0x50; PCON = 0x00; TI = 0; RI = 0; TR1 = 1; IE = 0x90; EA=1; ET0=1; TR0=1; while(1) { } } void tim1() interrupt 3 { TR0=0; TH0=0xfd; TL0=0xfd; TR0=1; //第一个马达 //振动最强 if(p==1) { time++; if(time>=100) time=0; if(time<=100) PWM=1; else PWM=0; } //稍微弱 else if(p==2) { time++; if(time>=100) time=0; if(time<=65) PWM=1; else PWM=0; } //最弱 else if(p==3) { time++; if(time>=100) time=0; if(time<=35) PWM=1; else PWM=0; } else PWM=0; } void Serial_INT() interrupt 4 { if(RI) { RI = 0; p = SBUF ; SBUF = p ; while(TI == 0); TI = 0; } }



