迅维网

查看: 1713|回复: 2
打印 上一主题 下一主题

电子琴仿真及程序

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-12 20:07:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 中国 来自 中国

马上注册,获取阅读精华内容及下载权限

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

x
单片机设计程序资料 电子琴

                               
登录/注册后看高清大图
  • /**********************************************
  • *实例名称:电子琴
  • *实例原理:本实例共有七个按键,当按不同的按键时
  • 会发出七种不同的声音
  • *作者:kxm
  • *时间:09.06.13
  • **********************************************/
  • #include "Include.h"
  • #include "key.h"
  • #include "sound.h"
  • #define  SOUND_OUT  P2_0
  • #define  YES  1
  • #define  NO   0
  • uchar Th0Temp;
  • uchar Tl0Temp;
  • void timer0_init()
  • {
  •   TMOD|=0x01;  //timer0,MODEL1,timer
  •   TH0=0;
  •   TL0=0;
  •   ET0=1;       //定时器0中断使能
  •   TR0=0;       //定时器0默认不启动
  • }
  • /******************************************
  • *定时器0溢出中断入口
  • ******************************************/
  • void T0_overflow(void) interrupt 1
  • {
  •   TH0=Th0Temp;
  •   TL0=Tl0Temp;
  •   SOUND_OUT=!SOUND_OUT;
  • }
  • void main()
  • {
  •   uchar keyValueRead;
  •   timer0_init();
  •   key_init();
  •   sound_init();
  •   sei();
  •   keyValueRead=get_key_value();
  •   if(keyValueRead!=KEY_NULL)
  •   {
  •     if(TR0==NO)
  •         {
  •            switch(keyValueRead)
  •            { case 0x01:
  •               {
  •                     TH0=yin[0][1];
  •                         TL0=yin[0][0];
  •                         Th0Temp=yin[0][1];
  •                         Tl0Temp=yin[0][0];
  •                     break;
  •                   }
  •              case 0x02:
  •                   {
  •                     TH0=yin[1][1];
  •                         TL0=yin[1][0];
  •                         Th0Temp=yin[1][1];
  •                         Tl0Temp=yin[1][0];
  •                     break;
  •                   }
  •                  case 0x04:
  •                   {
  •                           TH0=yin[2][1];
  •                         TL0=yin[2][0];
  •                         Th0Temp=yin[2][1];
  •                         Tl0Temp=yin[2][0];
  •                     break;
  •                   }
  •                  case 0x08:
  •                   {
  •                           TH0=yin[3][1];
  •                         TL0=yin[3][0];
  •                         Th0Temp=yin[3][1];
  •                         Tl0Temp=yin[3][0];
  •                     break;
  •                   }
  •                  case 0x10:
  •                   {
  •                           TH0=yin[4][1];
  •                         TL0=yin[4][0];
  •                         Th0Temp=yin[4][1];
  •                         Tl0Temp=yin[4][0];
  •                     break;
  •                   }
  •                  case 0x20:
  •                   {
  •                     TH0=yin[5][1];
  •                         TL0=yin[5][0];
  •                         Th0Temp=yin[5][1];
  •                         Tl0Temp=yin[5][0];
  •                     break;
  •                   }
  •                  case 0x40:
  •                   {
  •                     TH0=yin[6][1];
  •                         TL0=yin[6][0];
  •                         Th0Temp=yin[6][1];
  •                         Tl0Temp=yin[6][0];
  •                     break;
  •                   }
  •              default:
  •                    break;
  •            }
  •           TR0=YES;
  •         }
  •   }
  •   else
  •   {
  •     TR0=NO;
  •         TH0=0x00;
  •         TL0=0x00;
  •         Th0Temp=0x00;
  •         Tl0Temp=0x00;
  •   }
  • }





2#
发表于 2016-9-13 11:30:23 | 只看该作者 来自: 河北承德 来自 河北承德
有这个是不是就可以自己做电子琴了?找=

回复 支持 反对

使用道具 举报

3#
发表于 2016-9-13 11:31:04 | 只看该作者 来自: 河北承德 来自 河北承德
主芯片用什么?

回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复