国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
2.4G Zigbee無線串口收發模塊51單片機例程
[打印本頁]
作者:
eng
時間:
2021-6-11 02:51
標題:
2.4G Zigbee無線串口收發模塊51單片機例程
1.png
(128.74 KB)
下載附件
2021-6-11 02:50 上傳
此例程運用了兩塊zigbee無線串口收發模塊實現單片機間通信
發送端通過兩個按鍵實現發送
接收端通過一個LED燈顯示結果
單片機源程序如下:
/*-------------------------發送程序----------------------------*/
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar ch;
bit read_flag=0;
sbit key=P1^2;
sbit key1=P1^3;
void Delay10ms() //@11.0592MHz
{
unsigned char i, j;
i = 108;
j = 145;
do
{
while (--j);
} while (--i);
}
void init_serialcom()
{
SCON=0X50;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
IE=0X90;
TR1=1;
TI=1;
}
void send_char_com(uchar ch)
{
SBUF=ch;
while(!TI);
TI=0;
}
void main()
{
init_serialcom();
while(1)
{
if(key==0)
{
Delay10ms();
if(key==0)
{
send_char_com('A');
}
}
else if(key1==0)
{
Delay10ms();
if(key1==0)
{
send_char_com('B');
}
}
}
}
/*----------------------接收程序---------------------*/
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
bit read_flag=0;
sbit led=P2^5;
void Delay1000ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 43;
j = 6;
k = 203;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void init_serialcom()
{
SCON=0X50;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
TR1=1;
ES=1;
EA=1;
}
void serial()interrupt 4 using 3
{
uchar ch;
if(RI)
{
ES=0;
RI=0;
ch=SBUF;
switch(ch)
{
case 'A': led=0; break;
case 'B': led=1; break;
}
ES=1;
}
}
main()
{
init_serialcom();
while(1)
{
}
}
復制代碼
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0