找回密码
 立即注册

QQ登录

只需一步,快速开始

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

简易蜂鸣器播放音阶

[复制链接]
跳转到指定楼层
楼主
ID:361154 发表于 2018-6-28 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. uchar i=0;
  6. sbit SPK = P1^3;
  7. sbit K1 = P3^5;
  8. uchar code HI_LIST[]=
  9. {
  10.         0,266,229,232,233,236,238,240,241,242,244,245,246,247,248

  11. };
  12. uchar code LO_LIST[]=
  13. {
  14.         0,4,13,10,20,3,8,6,2,23,5,26,1,4,3


  15. };

  16. void T0_INT() interrupt 1
  17. {
  18.         TL0 = LO_LIST[i];
  19.         TH0 = HI_LIST[i];
  20.         SPK = !SPK;
  21. }

  22. void DelayMS(uint ms)
  23. {
  24.         uchar t;
  25.         while(ms--)
  26.         {
  27.                  for(t=0;t<120;t++);
  28.         }
  29. }

  30. void main()
  31. {
  32.         IE = 0x82;
  33.         TMOD = 0x00;
  34.         while(1)
  35.         {
  36.                  while(K1==1);
  37.                 while(K1==0);
  38.                 for(i=1;i<15;i++)
  39.                 {
  40.                          TR0 = 1;
  41.                         DelayMS(500);
  42.                         TR0 = 0;
  43.                         DelayMS(50);
  44.                 }
  45.         }
  46. }
复制代码


点亮.zip

8.17 KB, 下载次数: 3, 下载积分: 黑币 -5

音阶播放

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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