久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9459|回復: 7
打印 上一主題 下一主題
收起左側

單片機+JQ6500語音模塊使用代碼

  [復制鏈接]
跳轉到指定樓層
樓主
最近在家無聊做東西玩,要用一個模塊驅動喇叭放提示音,一開始買的是WT588DM01圖的就是自帶8M Flash省心,結果TM還要另外買30幾塊錢的燒寫器才能用。
后來又咬咬牙買了個JQ6500語音模塊,插USB連電腦就能燒寫mp3進去,果然還是深圳廠商洞察需求。
買是買來了,但是廠家配的資料還分3個版本,PCB外觀都改了,PDF沒更新,只好自己搗鼓,按著參考資料用個51試試手。

這是PDF里面的模塊外面圖,實際買來的長下面的樣子


芯片是24腳,模塊16腳。引出來的16個腳沒變,就是模塊PCB板上面有略微變化,但是不影響對模塊引出來的16個腳直接使用。


模塊接線原理圖,SPK+和SPK-實測可以直接接無源蜂鳴器。

單片機源程序如下:
  1. #include <reg51.h>//頭文件
  2. #include <intrins.h>
  3. /*
  4. 本模塊的第九腳也就是RX腳連接到單片機的P3^1
  5.         第十腳也就是TX腳連接到單片機的P3^0(如果你不處理本模塊返回的數據可以不連接)
  6.                                 同時本模塊和單片機還要共地急GND連接GND
  7.                                 本模塊五伏供電也可以直接由單片機上的電源供電
  8. */

  9. typedef   unsigned char  uint8;
  10. typedef   unsigned int   uint16;
  11. sbit KEY1=P3^2;//第一曲鍵
  12. sbit KEY2=P3^3;//第一曲循環鍵
  13. sbit KEY3=P3^4;//暫停鍵
  14. sbit KEY4=P3^5;//進入睡眠鍵


  15. uint8 First[]={0x7E,0x04,0x03,0x00,0X01,0xEF};//第一曲指令
  16. uint8 Next[]={0x7E,0x03,0x11,0x01,0xEF};                                    //            第一首循環
  17. uint8 Add[]={0x7E ,0x02, 0x0E, 0xEF};                                        //                          0x0e暫停
  18. uint8 Sub[]={0x7E ,0x02 ,0x0A, 0xEF};         //                                     0x0a進入睡眠

  19. void delay150ms(void)   //誤差 -0.000000000047us
  20. {
  21.     unsigned char a,b,c;
  22.     for(c=6;c>0;c--)
  23.         for(b=52;b>0;b--)
  24.             for(a=220;a>0;a--);
  25.     _nop_();  //if Keil,require use intrins.h
  26. }




  27. /*
  28. * UART初始化
  29. * 波特率:9600
  30. */
  31. void UART_init(void)
  32. {
  33.     SCON = 0x50;        // 10位uart,允許串行接受

  34.     TMOD = 0x20;        // 定時器1工作在方式2(自動重裝)                        0010 0000
  35.     TH1 = 0xFD;
  36.     TL1 = 0xFD;         //設置波特率為9600

  37.     TR1 = 1;
  38. }

  39. /*
  40. * UART 發送一字節
  41. 入口參數uint8的數據類型 即要發送的數據
  42. */
  43. void UART_send_byte(uint8 dat)
  44. {
  45.         SBUF = dat;
  46.         while (TI == 0);
  47.         TI = 0;
  48. }

  49. /*
  50. * UART 發送字符串
  51.   第一個參數要發送字符串或數據的首地址
  52.   第二個參數是要發送的數據或字符串的長度
  53. */
  54. void UART_send_string(uint8 *buf,uint8 len)
  55. {  uint8 i;
  56.         for(i=0;i<len;i++)
  57.                 UART_send_byte(*buf++);
  58. }

  59. main()
  60. {
  61.         UART_init();//串口初始化
  62.         
  63.         while (1)   //一個大循環一直在檢測按鍵和發送指令
  64.         {  if(KEY1==0)//如果第一個鍵被按下播放第一段

  65.     {                while(!KEY1);//等待按鍵松開
  66.                          UART_send_string(First,6);
  67.     }               
  68.                 else if(KEY2==0)//如果第二個按鍵按下循環第一曲

  69.     {                while(!KEY2);//等待按鍵松開
  70.                          UART_send_string(Next,5);
  71.                          delay150ms();                           //經測試,兩個指令之間延時150ms效果最好
  72.                          UART_send_string(First,6);
  73.     }               
  74.                 else if(KEY3==0)//如果第三個按鍵按下暫停播放
  75.                         {                while(!KEY3);//等待按鍵松開
  76.                          UART_send_string(Add,4);
  77.     }        
  78. else if(KEY4==0)//如果第四個按鍵按下進入睡眠狀態

  79.     {                while(!KEY4);//等待按鍵松開
  80.                          UART_send_string(Sub,4);
  81.     }                        
  82.         }

  83. }
復制代碼
用到了四個按鍵,還有一個串口,每檢測到一個按鍵的按下就利用單片機給模塊JQ6500發串口指令,兩個指令之間不少于150ms(實測),不然會沒反應。

順手畫了AD 的原理圖庫和PCB庫
JQ6500原理圖庫和PCB庫.zip (544.78 KB, 下載次數: 66)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:574058 發表于 2020-3-12 19:22 | 只看該作者
只有按鍵控制的程序嗎?有沒有串口控制的自動播放制定曲目的
回復

使用道具 舉報

板凳
ID:648072 發表于 2020-3-13 17:47 | 只看該作者
寫得很棒,贊一個
回復

使用道具 舉報

地板
ID:584814 發表于 2020-3-14 21:22 | 只看該作者
JQ6500語音模塊貌似九塊九包郵至于咬咬牙買
回復

使用道具 舉報

5#
ID:722967 發表于 2020-4-10 17:54 | 只看該作者
如果一線串口要怎么寫程序呢
回復

使用道具 舉報

6#
ID:673678 發表于 2020-4-11 13:38 | 只看該作者
JQ6500能實現語音報警嗎?
回復

使用道具 舉報

7#
ID:746901 發表于 2020-5-8 14:36 | 只看該作者
為什么我用單片機開發板,5V電源供電,jQ8400模塊只閃爍一下就熄滅再也不工作,這是怎么回事,怎么解決求
回復

使用道具 舉報

8#
ID:1095223 發表于 2024-4-23 16:36 | 只看該作者
寫的很好,已學習,謝謝大佬
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 五十女人一级毛片 | 成年人精品视频在线观看 | 人人九九精 | 久久视频精品 | 欧洲一级黄 | 亚洲三区在线观看 | 日本午夜精品一区二区三区 | 欧美日韩高清免费 | 在线观看精品视频网站 | 久久在线精品 | 午夜成人免费视频 | 国产精品久久久久久久久久久免费看 | 中文字幕乱码一区二区三区 | 91av免费看| 黄频视频 | 精品欧美一区二区中文字幕视频 | 国产精品一区二区不卡 | 午夜一级做a爰片久久毛片 精品综合 | 国产精品一区久久久 | 日本一本在线 | av永久免费| 美国黄色毛片 | 国产无人区一区二区三区 | 欧美精品久久久久久久久久 | 亚洲va国产日韩欧美精品色婷婷 | 亚洲精品视频免费观看 | 亚洲一区精品在线 | 羞羞视频网站免费看 | 久久久久国产一区二区三区四区 | 亚洲精品日韩综合观看成人91 | 欧美午夜视频 | 国产一区在线免费 | 国产一区二区视频在线 | 久久99久久98精品免观看软件 | 久久国产精品久久久久久久久久 | 日本亚洲一区 | 免费看淫片| wwwxx在线观看 | 九久久 | 亚洲国产精品一区二区三区 | 中文在线视频观看 |