两个单片机的用hc05实现无线通信
#include<reg52.h>//主机#defineucharunsignedchar#defineuintunsignedintvoidsend(ucharkey_...
#include <reg52.h> //主机
#define uchar unsigned char
#define uint unsigned int
void send(uchar key_num)
{
SBUF=key_num;
while(!TI);
TI=0;
}
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
send(5);
}
}
#include <reg52.h> //从机
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void display(uchar num)
{
P0=table[num];
dula=1;
dula=0;
}
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
P0=0xc0;
wela=1;
wela=0;
while(1);
}
void ser() interrupt 4
{
uchar a;
RI=0;
a=SBUF;
display(a);
}
用线可以实现数字5的传达 但是用两个已经配对好了的就不行了,波特率单片机和hc05都是9600
可是就是不能实现无线求解答啊 。。。 展开
#define uchar unsigned char
#define uint unsigned int
void send(uchar key_num)
{
SBUF=key_num;
while(!TI);
TI=0;
}
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
send(5);
}
}
#include <reg52.h> //从机
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void display(uchar num)
{
P0=table[num];
dula=1;
dula=0;
}
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
P0=0xc0;
wela=1;
wela=0;
while(1);
}
void ser() interrupt 4
{
uchar a;
RI=0;
a=SBUF;
display(a);
}
用线可以实现数字5的传达 但是用两个已经配对好了的就不行了,波特率单片机和hc05都是9600
可是就是不能实现无线求解答啊 。。。 展开
2个回答
迪凯特科技(北京)有限公司
2023-07-28
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询