文件下载地址!!!!!!!!!!!!!!!!!!!!!!

单片机原理教程--初级(视频,源仿真源代码)

本设计采用STC89C51/52(与AT89C51/52、AT89S51/52通用,指定单片机请留言)单片机做为主控制器

矩阵键盘输入,16个弹奏按键,另有两个按键切换弹奏模式还是播放模式,播放模式时,按下数字键可以播放内置音乐

数码管显示当前弹奏的音符

本设计采用STC89C51/52(与AT89C51/52、AT89S51/52通用,指定单片机请留言)单片机做为主控制器

矩阵键盘输入,16个弹奏按键,另有两个按键切换弹奏模式还是播放模式,播放模式时,按下数字键可以播放内置音乐

数码管显示当前弹奏的音符

2.1系统设计要求

本系统分为两个部分,音乐播放和音乐的弹奏。

  1. 要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。
  2. 用键盘作出电子琴的按键,每个键代表一个音符。
  3. 各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。
  4. 固定音乐播放有按键控制:“播放”、“弹奏/停止”。
  5. 弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。

2.2系统框图

单片机因体积小、功能强、价格低而得到诪泛应用。本系统只要以51单片机为主控核心,扩展一组矩阵键盘、扬声器、LED显示管模块和一组发光二极管来指示电子琴的工作状态一起组合而成。

void main(void)                         //Ö÷º¯Êý
{SPK=0;LED1=1;                               LED2=0;                            //¿ª»úĬÈϵ¯×àģʽP0=0xc0;                         //ÊýÂë¹ÜÏÔʾ0IE=0x87;                          //¶¨ÒåÍⲿÖжϿØÖÆÆ÷TMOD=0x01;                         //¶¨Ò嶨ʱÆ÷0µÄ¹¤×÷·½Ê½IT0=1;                              //ÍⲿÖжÏ0ΪϽµÑØ´¥·¢IT1=1;                              //ÍⲿÖжÏ1ΪϽµÑØ´¥·¢while(1)                         //½øÈëËÀÑ­»·{P1=0xf0;                      //P1¿Ú¸³Öµif((P1&0xf0)!=0xf0)              //ÅжÏP0¿ÚÊÇ·ñÓб仯{    anjian();                  //¶ÁÈ¡¼üÖµP0=DSY_CODE[k];              //ÏÔʾ¼üÖµ£¬Ò²¾ÍÊÇÏÔʾÒô·ûif(FY==0)                   //Èç¹ûÊǵ¯×àģʽ{STH0 = tab[k]/256;STL0 = tab[k]%256;     //¸ù¾ÝkµÄÖµ¸³³õÖµ¸øT0TR0 = 1;               //´ò¿ª¶¨Ê±Æ÷ÓÃÓÚ¶¨Ê±²úÉúƵÂÊ·¢Éú     while ((P1&0xf0)!=0xf0); //°´¼ü²»ËÉ¿ªµÄ»°£¬T0¾ÍÒ»Ö±²úÉúƵÂÊ TR0=0;                 //°´¼üËÉ¿ªºó¹Ø±ÕT0¼Æʱ£¬ÆµÂÊÍ£Ö¹ } else  //Èç¹ûÊDz¥·Åģʽ£¨ÉÏÃæµÄifÓï¾ä²»³ÉÁ¢¾ÍÖ´ÐÐelse£©{ while (FY==1)                             //½øÈë²¥·Åģʽ{ if(Song[k][Tone_Index]==-1)       //Ò»Êײ¥·ÅÍêÍ˳ö{Tone_Index=0;SPK=0;break; }  STH0=(tab[Song[k][Tone_Index]])/256;STL0=(tab[Song[k][Tone_Index]])%256; //½«ÄÚÖÃÒôÀÖÊý×éµÄÊý¾Ý¸³¸ø¶¨Ê±Æ÷×öΪ³õÖµ¼Æʱ//  P0=DSY_CODE[Song[k][Tone_Index]];   //ÏÔʾ²¥·ÅµÄÒô·ûTR0 = 1;                           //´ò¿ª¶¨Ê±Æ÷¶¨Ê±¿ª¹Ødelay1(300*Len[k][Tone_Index]);     //½ÚÅÄÊý×éÑÓʱTone_Index++;                       //±äÁ¿¼Ó×¼±¸²¥·ÅÏÂÒ»¸öÒô·ûTR0=0;                               //Í£Ö¹¶¨Ê±Æ÷anjian();                           //ɨÃè°´¼üP0=DSY_CODE[k];                      //ÏÔʾÒôÀÖÐòºÅwhile((P1&0xf0)!=0xf0);}}}}
}

0013基于单片机电子琴控制系统设计相关推荐

  1. 用51单片机c语言实现电磁炉功能,基于单片机电磁炉控制系统设计..doc

    PAGE 邯郸学院本科毕业论文(设计) 题 目 基于单片机微波炉控制系统设计 学 生 韩浩学 指导教师 李培英 副教授 年 级 2011级专接本 专 业 电气工程及其自动化 二级学院 物理与电气工程系 ...

  2. 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】

    1302基于单片机波形发生器PCB原理图报告设计资料-毕设课设原理图程序资料 设计一个信号发生器,能在单片机的基础上控制并产生三角波.方波.正弦波和矩形波,且频率幅度和波形可以通过按键改变. #inc ...

  3. 51单片机温度控制C语言程序详解,基于单片机的温度控制系统设计(附程序清单及原理图).doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp电子工程/通信技术&nbsp>&nbsp电子设计 基于单片机的温度控制系统设计(附程序清单及 ...

  4. 基于单片机的病房呼叫系统设计 源代码

    基于单片机的病房呼叫系统设计 源代码 原理图 设计报告 基于单片机的病房呼叫系统设计 源代码 原理图 设计报告 #28 任务:设计一个病房呼叫指示系统. 要求: (1)要有相应的声音报警提醒值班人员. ...

  5. 单片机串口中断控制流水灯c语言,基于单片机AT89C51控制的中断控制流水灯_课程设计报告...

    <基于单片机AT89C51控制的中断控制流水灯_课程设计报告>由会员分享,可在线阅读,更多相关<基于单片机AT89C51控制的中断控制流水灯_课程设计报告(25页珍藏版)>请在 ...

  6. 【毕设狗】【单片机毕业设计】基于单片机的控制窗帘电路的设计

    软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的控制窗帘电路的设计,主要实现以下功能: 可实现自动模式下根据光照强度开关 ...

  7. 基于单片机的交通灯设计c语言程序,基于单片机AT89C51控制的十字路口交通灯系统设计...

    摘要:本文设计一个单片机AT89C51控制的十字路口交通灯,通过硬件电路设计.元器件使用.软件设计.仿真等环节,实现主干道和支干道的分时控制,保证正常的交通秩序. 关键词:单片机 系统设计 交通灯 1 ...

  8. 基于单片机的倒车雷达系统设计c语言,基于单片机的倒车雷达设计.doc

    基于单片机的倒车雷达设计 毕业设计(论文) 题 目: 基于单片机的倒车雷达设计 系(院): 工业与信息化学院 专业: 电气自动化技术 姓 名: 学号: 校内指导教师: 职称: 讲 师 摘 要 随着社会 ...

  9. 基于单片机的倒车雷达系统设计c语言,基于AT89C2051单片机实现超声波倒车雷达系统的设计...

    描述 倒车雷达(Car Reversing Aid Systems)的全称是"倒车防撞雷达",也称"泊车辅助装置",是汽车泊车安全辅助装置,能以声音或者更为直观 ...

最新文章

  1. 多屏互动电脑版_MAXHUB无线双频同屏器HDMI连接投影仪手机电视机笔记本电脑投屏器多屏互动 MAXHUB传屏盒子WB01标配2个无线传屏...
  2. boost::intrusive::derivation_value_traits用法的测试程序
  3. Faster-RCNN训练自己数据集遇到的问题集锦
  4. SpringBoot-HBase
  5. 易天40G QSFP+光模块的规格参数
  6. 关于e的等式及相关证明
  7. JSP的注释、表达式、注意事项
  8. 整理python笔记001(列表(深浅copy),元祖,字典,集合)
  9. 运输层(UDP)详解(一)
  10. 计算离散点线性相关系数
  11. Bugku杂项 wp1
  12. php正则判断数字和英文,PHP正则匹配中英文、数字及下划线的方法【用户名验证】...
  13. 老将引退AMD换血成功
  14. PHP 获取客户端 IP 地址
  15. mysql between and 日期
  16. 每日一课 | 如何用Python编写一个Lisp解释器
  17. 你什么时候放下,什么时候就没有烦恼。
  18. 优雅的点-2017网易校园招聘
  19. cartoon drawing_drawing cartoon s是什么意思?
  20. 6.计算机网络与因特网发展简史

热门文章

  1. 《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一2.2.1 VIPLE的工程设计过程...
  2. LeetCode 1463. 摘樱桃 II(dp)
  3. 美通社发布《2020年亚太区企业传播报告》白皮书
  4. Siebel 基础入门--权限控制
  5. 【信息论与编码基础】第4章 信源压缩编码基础
  6. 华为手机app显示服务器错误怎么办啊,app服务器错误
  7. TX2+Docker
  8. FANUC机器人UO【7】At Perch机器人就位信号闪烁问题的解决办法
  9. SL Benfica在线上商店提供加密货币支付选项
  10. 计算机桌面桌面设置动态视频教程,电脑怎么设置动态桌面?电脑设置动态视频桌面图文教程...