找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3996|回复: 4
打印 上一主题 下一主题
收起左侧

2.4G Zigbee无线串口收发模块51单片机例程

[复制链接]
跳转到指定楼层
楼主

此例程运用了两块zigbee无线串口收发模块实现单片机间通信
发送端通过两个按键实现发送
接收端通过一个LED灯显示结果

单片机源程序如下:
  1. /*-------------------------发送程序----------------------------*/
  2. #include <reg51.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar ch;
  6. bit read_flag=0;
  7. sbit key=P1^2;
  8. sbit key1=P1^3;
  9. void Delay10ms()                //@11.0592MHz
  10. {
  11.         unsigned char i, j;

  12.         i = 108;
  13.         j = 145;
  14.         do
  15.         {
  16.                 while (--j);
  17.         } while (--i);
  18. }
  19. void init_serialcom()
  20. {
  21.         SCON=0X50;
  22.         TMOD=0X20;
  23.         TH1=0XFD;
  24.         TL1=0XFD;
  25.         IE=0X90;
  26.         TR1=1;
  27.         TI=1;
  28. }
  29. void send_char_com(uchar ch)
  30. {
  31.         SBUF=ch;
  32.         while(!TI);
  33.         TI=0;
  34. }
  35. void main()
  36. {
  37.         init_serialcom();
  38.         while(1)
  39.         {
  40.                 if(key==0)
  41.                 {
  42.                         Delay10ms();
  43.                         if(key==0)
  44.                         {
  45.                                 send_char_com('A');
  46.                         }
  47.                 }
  48.                 else if(key1==0)
  49.                 {
  50.                         Delay10ms();
  51.                         if(key1==0)
  52.                         {
  53.                                 send_char_com('B');
  54.                         }
  55.                 }
  56.         }
  57. }
  58. /*----------------------接收程序---------------------*/
  59. #include <reg51.h>
  60. #include <intrins.h>
  61. #define uint unsigned int
  62. #define uchar unsigned char
  63. bit read_flag=0;
  64. sbit led=P2^5;
  65. void Delay1000ms()                //@11.0592MHz
  66. {
  67.         unsigned char i, j, k;

  68.         _nop_();
  69.         _nop_();
  70.         i = 43;
  71.         j = 6;
  72.         k = 203;
  73.         do
  74.         {
  75.                 do
  76.                 {
  77.                         while (--k);
  78.                 } while (--j);
  79.         } while (--i);
  80. }

  81. void init_serialcom()
  82. {
  83.         SCON=0X50;
  84.         TMOD=0X20;
  85.         TH1=0XFD;
  86.         TL1=0XFD;
  87.         TR1=1;
  88.         ES=1;
  89.         EA=1;
  90. }
  91. void serial()interrupt 4 using 3
  92. {
  93.         uchar ch;
  94.         if(RI)
  95.         {      
  96.                 ES=0;
  97.                 RI=0;
  98.                 ch=SBUF;
  99.                 switch(ch)
  100.                 {
  101.                         case 'A': led=0; break;
  102.                         case 'B': led=1; break;
  103.                 }
  104.                 ES=1;
  105.         }
  106. }      
  107. main()
  108. {
  109.         init_serialcom();
  110.         while(1)
  111.         {

  112.         }
  113. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:695961 发表于 2021-9-17 19:44 | 只看该作者
请问一下楼主,我如果想实现zigbee自组网功能,怎么使用一个单片机控制一个zigbee网络呢?
回复

使用道具 举报

板凳
ID:907024 发表于 2021-10-29 22:38 | 只看该作者
你好楼主,问一下你这两个zigbee在protues中能找到吗
回复

使用道具 举报

地板
ID:907024 发表于 2021-11-6 13:31 | 只看该作者
楼主你好,请问你这两个芯片怎么连接单片机的呢,只需要tx和tx吗?
回复

使用道具 举报

5#
ID:689710 发表于 2021-11-19 12:30 | 只看该作者
qinkang189 发表于 2021-11-6 13:31
楼主你好,请问你这两个芯片怎么连接单片机的呢,只需要tx和tx吗?

是的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表