找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

51單片機(jī)與esp8266的智能語音的遙控

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:321577 發(fā)表于 2018-5-10 17:30 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我需要做一個(gè)智能語音的遙控,目前入手了一塊ld3320(有代碼,可修改)和兩塊esp8266,還有自己的單片機(jī)開發(fā)板(普中的)。我想要讓語音識(shí)別助手識(shí)別后傳送信息給一塊8266,再發(fā)送給另一塊8266,然后這塊8266驅(qū)動(dòng)單片機(jī)控制單片機(jī)上的led開關(guān),蜂鳴器開關(guān)等。程序?qū)懺谡Z音模塊的單片機(jī)和單片機(jī)開發(fā)板上的單片機(jī)上用AT指令(比較看的懂),可以做到嗎?
可以幫忙看看程序的嗎?
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. sbit LED=P0^0;
  4. void delay(int i) //延遲
  5. {
  6. int j,k;
  7. for(j=0;j<i;j++)
  8. for(k=0;k<j;k++);
  9. }
  10. void init_serial()
  11. {
  12. SCON=0X50;//設(shè)置為工作方式1
  13. TMOD=0X20;//設(shè)置計(jì)數(shù)器工作方式2
  14. PCON=0X80;//波特率加倍
  15. TH1=0XF3;//計(jì)數(shù)器初始值設(shè)置,波特率是4800
  16. TL1=0XF3;
  17. ES=1;//打開接收中斷
  18. EA=1;//打開總中斷
  19. TR1=1; //打開計(jì)數(shù)器
  20. TI=0;
  21. }
  22. void Send_Uart(uchar value) //單片機(jī)數(shù)據(jù)發(fā)送
  23. {
  24. ES=0; //串口中斷關(guān)閉
  25. TI=0;
  26. SBUF=value; //把數(shù)據(jù)放入串口寄存器
  27. while(TI==0);
  28. TI=0;
  29. ES=1;
  30. }
  31. void ESP8266_Set(uchar *s) // WIFI模塊接收到單片機(jī)的AT指令
  32. {
  33. while(*s!='\0')
  34. {
  35. Send_Uart(*s);
  36. //ms_delay(50);
  37. s++;
  38. //delay(50);
  39. }
  40. delay(500);
  41. }
  42. void ComBreak() interrupt 4 //中斷函數(shù),單片機(jī)判斷串口接收到的數(shù)據(jù)
  43. {
  44. unsigned char kong;
  45. if(RI==1)
  46. {
  47. kong=SBUF; //從串口寄存器讀取數(shù)據(jù)
  48. if(kong=='K')
  49. { while(1)
  50. {
  51. LED=0;
  52. delay(50000);
  53. LED=1;
  54. delay(50000);
  55. }
  56. }
  57. RI=0; } //清除接收中斷標(biāo)志位
  58. if(TI==1) //清除 發(fā)送完成標(biāo)志位
  59. {
  60. TI=0;
  61. }
  62. }
  63. void main()
  64. {
  65. init_serial(); //串口初始化
  66. ES=1; //串口中斷打開
  67. REN=1; //單片機(jī)接收允許位
  68. EA=1; //總中斷打開
  69. delay(1000);
  70. ESP8266_Set("AT+CIPMUX=1\r\n");//發(fā)送AT指令
  71. delay(100);
  72. ESP8266_Set("AT+CIPSERVER=1,8080\r\n");
  73. while(1)
  74. {
  75. }
  76. }
復(fù)制代碼


用網(wǎng)絡(luò)調(diào)試助手調(diào)試每次看到有AT指令輸入,但是esp8266就偶然連接上了一次,為什么啊?

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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