标题:
STC89C51单片机主从双机蓝牙通讯 发送与接收程序及仿真
[打印本页]
作者:
玫瑰传说
时间:
2018-11-6 22:37
标题:
STC89C51单片机主从双机蓝牙通讯 发送与接收程序及仿真
分控制板和动作板,控制板上连接主机蓝牙,转动控制板上的电位器,动作板上连接的LED变亮
蓝牙仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(16.75 KB, 下载次数: 40)
下载附件
2018-11-7 02:20 上传
0.png
(47.5 KB, 下载次数: 38)
下载附件
2018-11-7 02:20 上传
单片机源程序(发射)如下:
#include <reg51.h>
#include <I2C.H>
#define uchar unsigned char
#define uint unsigned int
uchar ad;
#define PCF8591 0x90 //PCF8591 地址
void delay(uchar x)
{
uchar i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}
/*******************************************************************
ADC发送字节[命令]数据函数
*******************************************************************/
bit ISendByte(unsigned char sla,unsigned char c)
{
Start_I2c(); //启动总线
SendByte(sla); //发送器件地址
if(ack==0)return(0);
SendByte(c); //发送数据
if(ack==0)return(0);
Stop_I2c(); //结束总线
return(1);
}
/*******************************************************************
ADC读字节数据函数
*******************************************************************/
unsigned char IRcvByte(unsigned char sla)
{ unsigned char c;
Start_I2c(); //启动总线
SendByte(sla+1); //发送器件地址
if(ack==0)return(0);
c=RcvByte(); //读取数据0
Ack_I2c(1); //发送非就答位
Stop_I2c(); //结束总线
return(c);
}
/************主函数**********************/
void main()
{
TMOD=0x20;
SCON=0x50;
TH1=0xFD;
TL1=0xFD;
TR1=1;
while(1)
{
ISendByte(PCF8591,0x43);
ad=IRcvByte(PCF8591);
SBUF=ad;
while(!TI);
TI=0;
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
}
}
复制代码
所有资料51hei提供下载(接收程序):
串口通信-双机.rar
(293.07 KB, 下载次数: 148)
2018-11-6 22:35 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
3290700544
时间:
2019-8-8 00:11
非常感谢 希望有朝一日 我也能成为您这样的大佬
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1