• 大小: 2.19MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-07
  • 语言: 其他
  • 标签:

资源简介

使用51单片机驱动蜂鸣器或喇叭奏乐内有多首简单的乐曲以及各个音阶。

资源截图

代码片段和文件信息

#include
#include
#define uchar unsigned char
#define uint unsigned int
void Init();
uchar Get_Key();
void Play(uchar key);
 
sbit buzz = P0^4;
uchar keycode;
 
/*各音阶对应计数器初值:12345671(高)*/
uint toneh[8]={0xfc430xfcab647770xfd320xfd810xfdc70xf05e0xfe21};

uchar keymode[8]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};     //用于判断哪个独立键按下
 
void main()
{
       Init();
       while(1)
     {
           keycode=Get_Key();   //获取键值索引
           Play(keycode);
       }
}
 
void Init()
        {
                TMOD=0x10;   //启动定时器1
                EA=1;
                ET1=1;
                P1=0xff;    //设置P2口为输入模式
                buzz=0;
        }
 
 uchar Get_Key()     //读取键值,并转换为索引值
{
            uchar tempi;
            P1=0xff;
            temp=P1;
            for (i=0;i<8;i++)
                {
                      if (temp==keymode[i]) return i;   //判断按下的按键
                }
            return 8;    //用于防止无正确按键
}
 
void play(uchar key)
{
         if (key==8)  //无键按下或多键按下,不响应
         {
             TR1=0;
              buzz=1;
         } 
         else
        {
              TR1=1;  //有键按下,开中断
               keycode=key;    //键值索引赋值
        }
}
 
void timer0 (void) interrupt 3       //定时器1中断服务程序
{
          buzz=~buzz;
          TH1=toneh[keycode]/256;
          TL1=toneh[keycode]%256;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-12-02 22:16  电子琴\
     文件       94685  2013-05-11 01:20  电子琴\2e4141dc3646966832fa1c41.jpg
     文件     1736519  2013-05-07 00:42  电子琴\IMAG0735.jpg
     文件        1703  2013-06-01 11:08  电子琴\LED1.LST
     文件        1839  2013-06-01 11:08  电子琴\LED1.OBJ
     文件         509  2013-06-01 11:08  电子琴\LED1.c
     文件        5115  2012-12-11 09:29  电子琴\STARTUP.A51
     文件       11772  2013-05-11 01:30  电子琴\STARTUP.lst
     文件         870  2013-05-11 01:30  电子琴\STARTUP.obj
     文件      146689  2013-05-11 01:20  电子琴\a4305a0c7b832d8c63d98640.jpg
     文件      143566  2013-05-11 01:20  电子琴\cc9baf079afa87b109fa9346.jpg
     文件        3290  2013-05-20 20:40  电子琴\ceshi.LST
     文件        4116  2013-05-20 20:40  电子琴\ceshi.OBJ
     文件        1513  2013-05-20 20:23  电子琴\ceshi.c
     文件        9057  2013-06-02 19:21  电子琴\chuangkou.LST
     文件        8640  2013-06-02 19:21  电子琴\chuangkou.OBJ
     文件        2362  2013-06-02 19:28  电子琴\chuangkou.c
     文件       12652  2013-06-02 19:38  电子琴\dianziqin
     文件       16368  2013-06-02 19:38  电子琴\dianziqin.M51
     文件        1999  2013-06-02 19:23  电子琴\dianziqin.Uv2.bak
     文件        6224  2013-06-02 19:38  电子琴\dianziqin.hex
     文件        1503  2013-06-02 19:38  电子琴\dianziqin.opt.bak
     文件         161  2013-12-02 22:16  电子琴\dianziqin.plg
     文件       57357  2013-11-29 22:34  电子琴\dianziqin.uvopt
     文件       13248  2013-11-29 22:34  电子琴\dianziqin.uvproj
     文件        6599  2013-05-12 20:53  电子琴\dianziqin01.LST
     文件        8874  2013-05-12 20:53  电子琴\dianziqin01.OBJ
     文件        2524  2013-05-11 00:37  电子琴\dianziqin01.c
     文件        2419  2013-05-20 00:20  电子琴\dianziqin02.LST
     文件        3216  2013-05-20 00:20  电子琴\dianziqin02.OBJ
     文件         792  2013-05-12 13:53  电子琴\dianziqin02.c
............此处省略54个文件信息

评论

共有 条评论