欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1777|回復: 2
收起左側

CHV030語音芯片驅動代碼,自己寫,測試好用

[復制鏈接]
ID:216265 發表于 2023-6-7 14:48 | 顯示全部樓層 |閱讀模式
          1686120356396.png

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

復制代碼


評分

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

查看全部評分

回復

使用道具 舉報

ID:1064915 發表于 2023-6-8 08:26 | 顯示全部樓層
給個電路原理圖
回復

使用道具 舉報

ID:272158 發表于 2023-6-9 10:04 | 顯示全部樓層
有完整的圖紙和程序文件嗎????那個廠家的芯片????
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表