2024-09-01
售卖作品
00

目录

题目要求
如何根据简谱编曲
仿真图
代码介绍
宏定义部分
全局变量部分
LCD 控制函数
按键检测和处理函数
蜂鸣器控制函数
主函数部分
获取代码和仿真

题目要求

86

数字音乐盒的制作

1

设计要求

制作一个数字音乐盒,盒内存有3首乐曲,每首不少于30s。采用LCD显示乐曲信息,

开机时有英文欢迎提示字符,播放时显示歌曲序号及名称。1可通过按下功能键K1、K2、K3

之一,选择3首乐曲中的1首;然后按下播放键K4,即开始播放所选择的乐曲;K5键为暂

停。

原理说明

利用I/0口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。音

乐的播放原理请参考上题。

如何根据简谱编曲

https://qq742971636.blog.csdn.net/article/details/107528580

在这里插入图片描述

仿真图

在这里插入图片描述

代码介绍

这段代码实现了一个数字音乐盒,具有以下功能:

  1. LCD 显示功能:使用 LCD 屏幕显示欢迎信息和当前播放的歌曲信息。

  2. 按键检测和处理功能:通过按下不同的按键选择并播放不同的音乐,还可以暂停播放。

  3. 蜂鸣器功能:根据预设的音乐频率和节拍播放音乐。

现在让我们来逐步介绍代码的各个部分和功能。

宏定义部分

这部分定义了一些常量、频率、延时函数以及音乐的频率和节拍等信息,便于后续使用。

全局变量部分

这部分定义了一些全局变量,如音乐索引、播放标志等,用于控制音乐播放状态。

LCD 控制函数

这些函数用于初始化 LCD 屏幕、向 LCD 屏幕写入指令或数据、设置光标位置以及显示字符和字符串等操作。

按键检测和处理函数

get_key() 函数用于检测按键输入,返回按下的键值。delay_key() 函数根据按下的键值进行相应的处理,如选择音乐、播放、暂停等。

蜂鸣器控制函数

set_fre() 函数用于设置蜂鸣器的频率,根据传入的频率来调节蜂鸣器的声音。BEEPCLOSE 宏用于关闭蜂鸣器。

主函数部分

  1. 初始化:配置端口方向,初始化 LCD 屏幕,设置蜂鸣器模式等。

  2. 欢迎信息显示:在 LCD 屏幕上显示欢迎信息,持续一段时间后清除。

  3. 按键检测和音乐播放:进入主循环后,持续检测按键输入,根据按键的不同选择播放对应的音乐。根据当前选择的音乐索引,通过循环播放预设的音符和节拍。

  4. 蜂鸣器控制:在播放音乐时,根据预设的频率和节拍控制蜂鸣器的声音。

  5. LCD 显示更新:根据当前播放的音乐信息更新 LCD 屏幕的显示内容。

整体结构清晰,功能模块化,便于理解和维护。

获取代码和仿真

python
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!