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

標題: CHV030語音芯片驅動代碼,自己寫,測試好用 [打印本頁]

作者: dcc024    時間: 2023-6-7 14:48
標題: CHV030語音芯片驅動代碼,自己寫,測試好用
         

8腳芯片,CHV030語音芯片驅動代碼,自己寫,測試好用。單線串口,STC單片機都可以驅發聲音。

CHV30_drv.c
  1. #include "CHV30_drv.h"


  2. ///////////////////////////////////////////////////////////////////////////////////////////
  3. //函數名稱:   CHV30_W_byte();   
  4. //函數功能:  將數據dat送出,可以是地址,也可以是數據,發完后等待應答
  5. //輸入參數:  uchar dat  要寫入的字節型數據或地址                                                            
  6. //////////////////////////////////////////////////////////////////////////////////////////
  7. void  CHV30_W_byte(uchar dat)
  8. {
  9.         uchar i;
  10.         CHV30_SDA=0;
  11.         DELAY_ms(6);
  12.         EA=0;
  13.         for (i=0;i<8;i++)
  14.         {               
  15.                 if (dat&0x01)
  16.                 {
  17.                         CHV30_SDA=1 ;
  18.                         DELAY_us(600);
  19.                         CHV30_SDA=0;
  20.                         DELAY_us(200);                       
  21.                 }
  22.                 else
  23.                 {
  24.                         CHV30_SDA=1 ;
  25.                         DELAY_us(200);
  26.                         CHV30_SDA=0;
  27.                         DELAY_us(600);       
  28.                 }       
  29.                 dat = dat >> 1 ;
  30.         }
  31.         CHV30_SDA=1;
  32.         while(CHV30_BUSY!=1);
  33. }       




  34. /////////////////////////////////////////////////////////////////////////////////////////////////
  35. //函數描述: 播放                          
  36. ///////////////////////////////////////////////////////////////////////////////////////////////
  37. void CHV30_S_PLAY(uchar ADD)
  38. {
  39.         CHV30_W_byte(ADD) ;
  40.         DELAY_ms(20);
  41. }

  42. /////////////////////////////////////////////////////////////////////////////////////////////////
  43. //函數描述: 組合播放命令                     
  44. ///////////////////////////////////////////////////////////////////////////////////////////////
  45. void CHV30_S_ZH(void)
  46. {
  47.         CHV30_W_byte(0xF3) ;
  48.         DELAY_ms(25);       
  49. }


  50. /////////////////////////////////////////////////////////////////////////////////////////////////
  51. //函數描述: 重復播放某一段                           
  52. ///////////////////////////////////////////////////////////////////////////////////////////////
  53. void CHV30_S_PLAY_R(uchar ADD)
  54. {
  55.         CHV30_W_byte(ADD) ;
  56.         DELAY_ms(25);
  57.         CHV30_W_byte(0xF2) ;
  58.         DELAY_ms(25);
  59. }

  60. //////////////////////////////////////////////////////////////////////////////////////////
  61. //函數描述: 5 級音量,0xE0H 為最小音量 0,0xEFH 最大音量 (上電默認)                                                      
  62. //////////////////////////////////////////////////////////////////////////////////////////
  63. void CHV30_S_VOL (uchar VOL)                       
  64. {
  65.         if(VOL>=15)
  66.         {
  67.                 VOL=15;
  68.         }
  69.         CHV30_W_byte(0xE0|VOL);    //0xE0-0xEF   
  70.         DELAY_ms(20);                  
  71. }

  72. //////////////////////////////////////////////////////////////////////////////////////////
  73. //函數描述: 關閉語音           進入超低功耗狀態=1.7uA                                       
  74. //////////////////////////////////////////////////////////////////////////////////////////
  75. void CHV30_S_OFF (void)                       
  76. {
  77.         CHV30_W_byte(0xF0);                 
  78. }

  79. //////////////////////////////////////////////////////////////////////////////////////////
  80. //函數描述: 開啟                                               
  81. //////////////////////////////////////////////////////////////////////////////////////////
  82. void CHV30_S_ON (void)                       
  83. {
  84.         CHV30_SDA=0;
  85.         DELAY_ms(40);               
  86. }


  87. //////////////////////////////////////////////////////////////////////////////////////////
  88. //函數描述: 停下播放                                    
  89. //////////////////////////////////////////////////////////////////////////////////////////
  90. void CHV30_S_STOP (void)                       
  91. {
  92.         CHV30_W_byte(0xFE);                 
  93. }


復制代碼

CHV30_drv.h
  1. #ifndef _CHV30_DRV_
  2. #define _CHV30_DRV_

  3. #include "main.h"


  4. sbit CHV30_SDA  = P1^6;              //PIN3 PA1 SDA   
  5. sbit CHV30_BUSY = P1^7;        //PIN1 PBO BUSY

  6. ///////////////////////////////////////////////////////////////////////////////////////////
  7. ////////////CHV30發送////////////////////////////////////////////////////////////////////////
  8. ///////////////////////////////////////////////////////////////////////////////////////////

  9. extern void CHV30_W_byte(uchar dat);

  10. void CHV30_S_PLAY(uchar ADD);         //地址播放
  11. void CHV30_S_ZH(void);                 //組合命令
  12. void CHV30_S_PLAY_R(uchar ADD);      //重復播放
  13. void CHV30_S_VOL (uchar VOL);         //音量調節

  14. void CHV30_S_OFF(void);               //關閉
  15. void CHV30_S_ON(void);                //打開
  16. void CHV30_S_STOP(void);             //停止

  17. #endif

復制代碼



作者: joyb    時間: 2023-6-8 08:26
給個電路原理圖
作者: feixue2007    時間: 2023-6-9 10:04
有完整的圖紙和程序文件嗎????那個廠家的芯片????




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人亚洲视频 | 97高清国语自产拍 | 蜜桃特黄a∨片免费观看 | 久久com | 久久毛片 | 亚洲国产成人精品女人久久久 | 欧美激情久久久 | 亚洲精品中文字幕在线观看 | 久久国产精品免费一区二区三区 | 久久免费视频1 | 日韩在线视频免费观看 | 国产精品久久久久久久久久久免费看 | 色播99| 国产精品一区三区 | 欧美在线a| 色秀网站| 久久久www成人免费无遮挡大片 | 成人国产精品一级毛片视频毛片 | 99久久亚洲 | 午夜视频免费网站 | 亚洲成人国产综合 | 成人一区二区三区 | 中文字幕一区二区三区乱码图片 | 国产美女视频黄 | 欧美在线不卡 | 色爱综合网 | 国产jizz女人多喷水99 | 国产欧美日韩视频 | 国产午夜精品一区二区三区嫩草 | 五月激情婷婷在线 | 国产一区二区三区久久久久久久久 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 午夜天堂 | 91精品国产色综合久久 | 日韩一区不卡 | 9999国产精品欧美久久久久久 | 亚洲日韩欧美一区二区在线 | 日韩手机在线看片 | 久久一区二区视频 | 91久久久久 | 国产一二三区免费视频 |