找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1350|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)藍(lán)牙通信程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:962485 發(fā)表于 2024-3-7 11:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
常見的普中51開發(fā)板結(jié)合藍(lán)牙模塊的串口通信

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include "lcd1602.h"
  3. #include "public.h"
  4. #include "Uart.h"
  5. #include "matrix-buttons.h"
  6. #include "string.h"
  7. #include "Interu.h"
  8. #include "function.h"
  9. #include "LEDrun.h"
  10. #include "BEEP.h"

  11.         u8 flag = 0;
  12. unsigned char mark;       
  13.   unsigned char* zoom;   //選擇數(shù)據(jù)緩沖區(qū)       
  14.         unsigned char* str;
  15.         unsigned char* judge;
  16.         u8 z1=0,z2=0;
  17. void main()
  18. {
  19.   Init0();
  20.         Init1();
  21.         lcd1602_init();
  22.         UartInit();
  23.         str=UART_GetString();
  24.         while(1)
  25.         {
  26.                 flag = key_matrix_ranks_scan();
  27.      if(flag ==1)
  28.                  {
  29.                          SendString("receive mode");
  30.                          str=UART_GetString();
  31.                          lcd1602_show_string(0,0,"Receive Mode");
  32.                          Beep();     //接收數(shù)據(jù)時(shí)蜂鳴器響一下
  33.                          Delay2000ms();
  34.                          lcd1602_clear();
  35.                          zoom = str;
  36.                          judge = str;
  37.              while(1)
  38.                          {
  39.                                  
  40.                                  lcd1602_show_string(0,0,str);
  41.                                  if(str != judge)
  42.                                  {Beep();}
  43.                                  flag = key_matrix_ranks_scan();
  44.                                  if(flag == 11)      //右移選擇
  45.                                  {
  46.                                                 zoom++;
  47.                                          mark = *zoom;
  48.                                          z1++;
  49.                                                
  50.                                         }
  51.                                         if(flag == 9)     //左移選擇
  52.                                  {
  53.                                                 zoom--;
  54.                                          mark = *zoom;
  55.                                          z1--;
  56.                                         }
  57.                                         if(flag == 6)    //向上
  58.                                  {
  59.                                                 zoom= zoom-16;
  60.                                          mark = *zoom;
  61.                                          z2= z2-16;
  62.                                         }
  63.                                         if(flag == 14)    //向下
  64.                                  {
  65.                                                 zoom=zoom+16;     //由于LCD為16*2,所以移動(dòng)16位
  66.                                          mark = *zoom;
  67.                                           z2= z2+16;
  68.                                         }
  69. //                         lcd1602_show_string(z1,z2,zoom);

  70. //                                         lcd1602_show_string(z1,z2," ");

  71.                                         }
  72.                          }
  73.   }

  74. }
  75. void send()         interrupt 2  //用于發(fā)送選中的數(shù)據(jù)返回PC端
  76. {
  77.              lcd1602_clear();
  78.                          lcd1602_show_string(0,0,"Send Mode");
  79.              *judge = mark;
  80.              lcd1602_show_string(0,1,"Sending:");
  81.         SendString("reply:");
  82.         SendChar(mark);
  83.               Delay2000ms();
  84.                          lcd1602_clear();
  85.         lcd1602_show_string(0,0,"Done!");
  86.         Ledrun();
  87.         Delay500ms();
  88.         lcd1602_clear();
  89. }

復(fù)制代碼

原理圖: 無
仿真: 無
代碼: Bluetooth.zip (82.01 KB, 下載次數(shù): 12)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表