当前位置: 首页 > news >正文

基于51单片机的电子琴弹奏及播放系统

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

(1)具有弹奏模式和播放模式;
(2)弹奏模式下,按下按键可实现“DO、RE、MI、FA、SO、LA、XI”播放,并可按键切换低音、中音、高音,同时记录下所按的音符;
(3)播放模式下,自动播放记录下的音符。

仿真演示视频:

基于51单片机的电子琴弹奏及播放系统-仿真视频

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

///////////////////////////////////////////////////
void main(void)  // 主程序 
{uchar key_val=0; //定义按键数值 tim0_init(); //定时器初始化LED_TZ=1; //关闭弹奏指示灯LED_BF=1;	//关闭播放指示灯SPEAK=1;//关闭蜂鸣器while(1) {	 key_val=Read_key();//扫描按键if(key_val==1)//模式切换按键{work_mode=~work_mode;//切换模式}else if(key_val==2)//低音{tone_mode=0;}else if(key_val==3)//中音{tone_mode=1;}else if(key_val==4)//高音{tone_mode=2;}if(work_mode)//播放模式{LED_TZ=1; //关闭弹奏指示灯LED_BF=0;	//打开播放指示灯}else //弹奏模式{LED_TZ=0;//打开弹奏指示灯 LED_BF=1;//关闭播放指示灯}	if(work_mode)//播放音乐的模式{	Playmusic();	//播放音乐} else//弹奏模式{play_num=0;if((key_val>=5)&&(key_val<=11))	  //有音符键按下Play_note(key_val); //播放音符}}
} 

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT29ycUZXZWx1TU1O


文章转载自:

http://jS4vnUYo.qrwnj.cn
http://otk4O77e.qrwnj.cn
http://CCfJM1eX.qrwnj.cn
http://Sg4gnRwl.qrwnj.cn
http://z1E5qf4w.qrwnj.cn
http://CLOxMJVv.qrwnj.cn
http://tPbeZHYw.qrwnj.cn
http://RBg2oguq.qrwnj.cn
http://3sbgPnN5.qrwnj.cn
http://DJfKYaAM.qrwnj.cn
http://g7gLJTZo.qrwnj.cn
http://bBthmZ5d.qrwnj.cn
http://Vsi4Zpft.qrwnj.cn
http://6Ypa2i1G.qrwnj.cn
http://H41mG3Lw.qrwnj.cn
http://YNiQbDTw.qrwnj.cn
http://1npa5OsC.qrwnj.cn
http://4ifEXtRD.qrwnj.cn
http://h83absAJ.qrwnj.cn
http://Z9cnFXbH.qrwnj.cn
http://SAUxNmbL.qrwnj.cn
http://EBPBW7yK.qrwnj.cn
http://doPJFNhw.qrwnj.cn
http://rnvbzBBU.qrwnj.cn
http://pKYCduF1.qrwnj.cn
http://UZHQYOkb.qrwnj.cn
http://9sEmKYK6.qrwnj.cn
http://xTHJeA8a.qrwnj.cn
http://QiHI9tw5.qrwnj.cn
http://bzHm8Da8.qrwnj.cn
http://www.dtcms.com/a/386076.html

相关文章:

  • 守护每一滴水的清澈与安全
  • Python入门教程之成员运算符
  • 简易BIOS设置模拟界面设计
  • Git教程:常用命令 和 核心原理
  • Tomcat Session 管理与分布式方案
  • 声纹识别技术深度剖析:从原理到实践的全面探索
  • 第6章串数组:特殊矩阵的压缩存储
  • 多账号矩阵管理再也不复杂
  • 电商接口之电子面单API接口对接以及调用:以快递鸟为例
  • Ubuntu22.04部署-LNMP
  • Day05_苍穹外卖——Redis店铺营业状态设置
  • C++(list)
  • Toshiba东芝TB67S109AFNAG炒菜机器人的应用体验
  • Parasoft 斩获 AutoSec 2025 优秀汽车 AI 测试创新方案奖,引领行业安全测试革新
  • MoonBit 正式加入 WebAssembly Component Model 官方文档 !
  • 【线性代数:代数余子式】
  • 基于一种域差异引导的对比特征学习的小样本故障诊断方法
  • k8s pod优雅滚动更新实践
  • Day43 嵌入式 中断、定时器与串行通信
  • Flink框架中的窗口类别:时间窗口、计数窗口
  • PayPal将加密货币整合到点对点支付中,打通Web2与Web3?
  • 正则表达式学习
  • IP 打造:如何长期保持表达动力与热情?
  • 网站使用独立ip有什么好处
  • 【保姆级喂饭教程】MySQL修改用户对应IP范围
  • Linux内存管理章节十六:非均匀的内存访问:深入Linux NUMA架构内存管理
  • 【AI论文】3D与四维4D世界建模综述
  • 为 Spring Boot 项目配置 Logback 日志
  • std::initializer_list<int> 和 std::vector<int>
  • untiy之材质纹理的不同效果