找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1087|回复: 9
打印 上一主题 下一主题
收起左侧

单片机音乐谱曲程序,但是只能重复播放,如何让它播放完一次就停止

[复制链接]
跳转到指定楼层
楼主
各位大神帮小弟看一下这个怎么改
弄了个STC32G12K128的音乐谱曲程序,但是这个目前只能重复播放,我想让它播放完一次就停止,不知道该怎么高,求助各位大神!

STC32G12K128-谱曲.zip (59.68 KB, 下载次数: 3)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:274834 发表于 2023-12-18 13:53 | 只看该作者
如果希望只运行一次,可以定制一个变量标志 ,
  if(cishu<1)   {执行音乐代码函数, 然后cishu++;}  ,这

样下次循环到这里的时候,由于if(cishu不满足小于1),所以不会继续执行音乐代码。
回复

使用道具 举报

板凳
ID:1034262 发表于 2023-12-18 14:19 | 只看该作者
设置一个标志,表示正在播放,播放完成就清除,停止播放。
回复

使用道具 举报

地板
ID:1012735 发表于 2023-12-18 15:31 | 只看该作者
uchar play=1;
...

if(play==1)
{
    play = 0;

    music();
}
回复

使用道具 举报

5#
ID:61140 发表于 2023-12-18 15:47 | 只看该作者
简简单单562 发表于 2023-12-18 13:53
如果希望只运行一次,可以定制一个变量标志 ,
  if(cishu

不管用,只要一开始播放,就不会停止,加了标志位也不行
回复

使用道具 举报

6#
ID:61140 发表于 2023-12-18 15:54 | 只看该作者
简简单单562 发表于 2023-12-18 13:53
如果希望只运行一次,可以定制一个变量标志 ,
  if(cishu

不行,一但开始播放,加了标志位也停不了
好像和定时器中断有关,具体我也没看明白
回复

使用道具 举报

7#
ID:161164 发表于 2023-12-18 16:52 | 只看该作者

简单粗暴
回复

使用道具 举报

8#
ID:61140 发表于 2023-12-19 00:27 | 只看该作者

谢谢,这次可以播放一次了,按一下键只播放一次,但是下次就不管用了,单片机上电只能按一下键放一次,再按就不管用了。
回复

使用道具 举报

9#
ID:161164 发表于 2023-12-19 08:43 | 只看该作者
xiaoyuxinke 发表于 2023-12-19 00:27
谢谢,这次可以播放一次了,按一下键只播放一次,但是下次就不管用了,单片机上电只能按一下键放一次,再 ...

你有说过按键吗?
回复

使用道具 举报

10#
ID:1105250 发表于 2023-12-20 20:50 | 只看该作者
在单片机音乐谱曲程序中,如果你希望让它播放完一次后停止,可以使用一个计数器或者标志位来控制播放次数,并在播放完成后停止程序执行。

下面是一个伪代码示例,展示如何实现播放一次后停止的逻辑:

c
// 假设这是播放音乐的函数
void playMusic() {
    // 播放音乐的代码逻辑,这里是示例
    // 可以是音符、频率等控制输出音乐的具体内容
    // 例如使用延时、定时器等方式播放音乐
}

int main() {
    int playCount = 0; // 初始化播放次数计数器为0

    // 循环播放音乐,直到播放次数达到1次
    while (playCount < 1) {
        playMusic(); // 调用播放音乐的函数

        // 播放完成后增加播放次数计数器
        playCount++;
    }

    // 播放完成后,可以执行停止播放或其他操作
    // 停止播放的代码可以放在这里

    // 停止后的其他程序逻辑或者空闲状态的处理

    return 0;
}
在这个示例中,playMusic() 函数用于播放音乐。通过 playCount 变量记录播放的次数,当播放次数达到1次后,程序将跳出循环停止播放,并执行停止播放后的其他操作。

根据你的具体单片机和音乐播放逻辑进行相应的调整和实现。实际实现可能需要使用特定的单片机指令、定时器或其他硬件功能来产生音乐和控制播放。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表