找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机 电子琴仿真及程序

[复制链接]
跳转到指定楼层
楼主
单片机设计程序资料 电子琴
  1. /**********************************************
  2. *实例名称:电子琴
  3. *实例原理:本实例共有七个按键,当按不同的按键时
  4. 会发出七种不同的声音
  5. *作者:kxm
  6. *时间:09.06.13
  7. **********************************************/
  8. #include "Include.h"
  9. #include "key.h"
  10. #include "sound.h"
  11. #define  SOUND_OUT  P2_0
  12. #define  YES  1
  13. #define  NO   0
  14. uchar Th0Temp;
  15. uchar Tl0Temp;
  16. void timer0_init()
  17. {
  18.   TMOD|=0x01;  //timer0,MODEL1,timer
  19.   TH0=0;
  20.   TL0=0;
  21.   ET0=1;       //定时器0中断使能
  22.   TR0=0;       //定时器0默认不启动
  23. }
  24. /******************************************
  25. *定时器0溢出中断入口
  26. ******************************************/
  27. void T0_overflow(void) interrupt 1
  28. {
  29.   TH0=Th0Temp;
  30.   TL0=Tl0Temp;
  31.   SOUND_OUT=!SOUND_OUT;
  32. }
  33. void main()
  34. {
  35.   uchar keyValueRead;
  36.   timer0_init();
  37.   key_init();
  38.   sound_init();
  39.   sei();
  40.   keyValueRead=get_key_value();
  41.   if(keyValueRead!=KEY_NULL)
  42.   {
  43.     if(TR0==NO)
  44.         {
  45.            switch(keyValueRead)
  46.            { case 0x01:
  47.               {
  48.                     TH0=yin[0][1];
  49.                         TL0=yin[0][0];
  50.                         Th0Temp=yin[0][1];
  51.                         Tl0Temp=yin[0][0];
  52.                     break;
  53.                   }
  54.              case 0x02:
  55.                   {
  56.                     TH0=yin[1][1];
  57.                         TL0=yin[1][0];
  58.                         Th0Temp=yin[1][1];
  59.                         Tl0Temp=yin[1][0];
  60.                     break;
  61.                   }
  62.                  case 0x04:
  63.                   {
  64.                           TH0=yin[2][1];
  65.                         TL0=yin[2][0];
  66.                         Th0Temp=yin[2][1];
  67.                         Tl0Temp=yin[2][0];
  68.                     break;
  69.                   }
  70.                  case 0x08:
  71.                   {
  72.                           TH0=yin[3][1];
  73.                         TL0=yin[3][0];
  74.                         Th0Temp=yin[3][1];
  75.                         Tl0Temp=yin[3][0];
  76.                     break;
  77.                   }
  78.                  case 0x10:
  79.                   {
  80.                           TH0=yin[4][1];
  81.                         TL0=yin[4][0];
  82.                         Th0Temp=yin[4][1];
  83.                         Tl0Temp=yin[4][0];
  84.                     break;
  85.                   }
  86.                  case 0x20:
  87.                   {
  88.                     TH0=yin[5][1];
  89.                         TL0=yin[5][0];
  90.                         Th0Temp=yin[5][1];
  91.                         Tl0Temp=yin[5][0];
  92.                     break;
  93.                   }
  94.                  case 0x40:
  95.                   {
  96.                     TH0=yin[6][1];
  97.                         TL0=yin[6][0];
  98.                         Th0Temp=yin[6][1];
  99.                         Tl0Temp=yin[6][0];
  100.                     break;
  101.                   }
  102.              default:
  103.                    break;
  104.            }
  105.           TR0=YES;
  106.         }
  107.   }
  108.   else
  109.   {
  110.     TR0=NO;
  111.         TH0=0x00;
  112.         TL0=0x00;
  113.         Th0Temp=0x00;
  114.         Tl0Temp=0x00;
  115.   }

  116. }
复制代码
仿真工程文件及完整代码下载:
电子琴.rar (17.9 KB, 下载次数: 43)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:137664 发表于 2016-9-12 18:26 | 只看该作者
好东西好东西
回复

使用道具 举报

板凳
ID:113049 发表于 2016-9-12 22:06 来自手机 | 只看该作者
有没有做电子琴的材料?
回复

使用道具 举报

地板
ID:113049 发表于 2016-9-12 22:07 来自手机 | 只看该作者
喇叭用什么
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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