[PIC®/AVR®/dsPIC®产品] 【Curiosity Nano测评报告】+驱动SD8608音乐芯片

[复制链接]
1617|7
 楼主| hu9jj 发表于 2020-7-20 10:06 | 显示全部楼层 |阅读模式
    SD8608音乐芯片在许多迎宾门铃上都有应用[url=]附件[/url],内部储存有32首(或16首)乐曲(含语音及警报声),四级音量循环可调,模块上有10个引线,其中1~5引线为触发开关,可以单独或两个组合,高电平发出控制信息,进行选曲、设定音量、触发播放声乐、语音或报警声。芯片的外形及引线如下:


    32首乐曲的曲目如下:


    按键的部分功能如下(测试时其中K4按键没有启用):


    为方便测试,音乐芯片连接在扩展座上:


    下图为正在测试:


    本次测试仅仅是进行了选曲、调节音量、播放选定的乐曲、播放报警声和播放“欢迎光临”的语音等功能。
    下面是sd8608.h文件:
  1. /*
  2. * File:   sd8608.h
  3. * Author: Administrator
  4. *
  5. * Created on 2020年7月17日, 上午9:58
  6. */

  7. #ifndef SD8608_H
  8. #define        SD8608_H

  9. #ifdef        __cplusplus
  10. extern "C" {
  11. #endif

  12. #define sd1_on()  SNDN_PIN_SetHigh()
  13. #define sd1_off() SNDN_PIN_SetLow()

  14. #define sd2_on()  SNDP_PIN_SetHigh()
  15. #define sd2_off() SNDP_PIN_SetLow()

  16. #define sd3_on()  SD_3_SetHigh()
  17. #define sd3_off() SD_3_SetLow()

  18. #define sd5_on()  SD_5_SetHigh()
  19. #define sd5_off() SD_5_SetLow()


  20. #ifdef        __cplusplus
  21. }
  22. #endif

  23. void sd_send(void);
  24. void sd_welcome(void);
  25. void sd_alarm(void);
  26. void sd_select(void);
  27. void sd_volume(void);
  28. void sd_recome(void);
  29. void sd_test1(void);
  30. void sd_test2(void);
  31. void sd_test3(void);
  32. void sd_test4(void);

  33. #endif        /* SD8608_H */



    下面是sd8608.c文件:

  1. #include "sd8608.h"
  2. #include "mcc_generated_files/mcc.h"


  3. /********************************************************************
  4. * 程序名称:sd_send()
  5. * 作   用: 触发播放预设的乐曲
  6. * 输入参数:无
  7. * 输入参数:无
  8. *******************************************************************/
  9. void sd_send(void)
  10. {
  11.     sd2_on();
  12.     __delay_ms(100);
  13.     sd2_off();
  14. }

  15. /********************************************************************
  16. * 程序名称:sd_welcome()
  17. * 作   用: 触发播放欢迎语音
  18. * 输入参数:无
  19. * 输入参数:无
  20. *******************************************************************/
  21. void sd_welcome(void)
  22. {
  23.     sd5_on();
  24.     __delay_ms(100);
  25.     sd5_off();
  26. }

  27. /********************************************************************
  28. * 程序名称:sd_alarm()
  29. * 作   用: 触发播放警报声
  30. * 输入参数:无
  31. * 输入参数:无
  32. *******************************************************************/
  33. void sd_alarm(void)
  34. {
  35.     sd3_on();
  36.     __delay_ms(100);
  37.     sd3_off();
  38. }

  39. /********************************************************************
  40. * 程序名称:sd_select()
  41. * 作   用: 触发播放警报声
  42. * 输入参数:无
  43. * 输入参数:无
  44. *******************************************************************/
  45. void sd_select(void)
  46. {
  47.     sd1_on();
  48.     __delay_ms(100);
  49.     sd1_off();
  50. }

  51. /********************************************************************
  52. * 程序名称:sd_volume()
  53. * 作   用: 音量调节
  54. * 输入参数:无
  55. * 输入参数:无
  56. *******************************************************************/
  57. void sd_volume(void)
  58. {
  59.     sd1_on();
  60.     sd3_on();
  61.     __delay_ms(100);
  62.     sd1_off();
  63.     sd3_off();
  64. }

  65. /********************************************************************
  66. * 程序名称:sd_recome()
  67. * 作   用: 返回所选曲目
  68. * 输入参数:无
  69. * 输入参数:无
  70. *******************************************************************/
  71. void sd_recome(void)
  72. {
  73.     sd1_on();
  74.     sd2_on();
  75.     __delay_ms(100);
  76.     sd1_off();
  77.     sd2_off();
  78. }

  79. /********************************************************************
  80. * 程序名称:sd_recome()
  81. * 作   用: 返回所选曲目
  82. * 输入参数:无
  83. * 输入参数:无
  84. *******************************************************************/
  85. void sd_test1(void)
  86. {
  87.     sd3_on();
  88.     sd5_on();
  89.     __delay_ms(100);
  90.     sd3_off();
  91.     sd5_off();
  92. }

  93. /********************************************************************
  94. * 程序名称:sd_recome()
  95. * 作   用: 返回所选曲目
  96. * 输入参数:无
  97. * 输入参数:无
  98. *******************************************************************/
  99. void sd_test2(void)
  100. {
  101.     sd2_on();
  102.     sd3_on();
  103.     __delay_ms(100);
  104.     sd2_off();
  105.     sd3_off();
  106. }

  107. /********************************************************************
  108. * 程序名称:sd_recome()
  109. * 作   用: 返回所选曲目
  110. * 输入参数:无
  111. * 输入参数:无
  112. *******************************************************************/
  113. void sd_test3(void)
  114. {
  115.     sd2_on();
  116.     sd5_on();
  117.     __delay_ms(100);
  118.     sd2_off();
  119.     sd5_off();
  120. }

  121. /********************************************************************
  122. * 程序名称:sd_recome()
  123. * 作   用: 返回所选曲目
  124. * 输入参数:无
  125. * 输入参数:无
  126. *******************************************************************/
  127. void sd_test4(void)
  128. {
  129.     sd1_on();
  130.     sd5_on();
  131.     __delay_ms(100);
  132.     sd1_off();
  133.     sd5_off();
  134. }




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
CoolSilicon 发表于 2020-7-20 14:52 | 显示全部楼层
腻害了哦!!!
gejigeji521 发表于 2020-7-20 21:42 | 显示全部楼层
太有意思了,给力。
heisexingqisi 发表于 2020-7-21 13:00 | 显示全部楼层
这个玩意儿多少钱一片
heisexingqisi 发表于 2020-7-21 13:00 | 显示全部楼层
这个玩意儿多少钱一片
 楼主| hu9jj 发表于 2020-7-21 15:04 | 显示全部楼层
heisexingqisi 发表于 2020-7-21 13:00
这个玩意儿多少钱一片

淘宝上每片只要1元,但邮费要5元。
小卡 发表于 2020-7-21 23:55 | 显示全部楼层
这个厉害了
mzb2012 发表于 2020-7-23 18:34 | 显示全部楼层
效果不错,还可以这么玩
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1063

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部