⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hjmcu.lst

📁 很实用的单片机例程
💻 LST
字号:
C51 COMPILER V8.05a   HJMCU                                                                01/14/2011 13:36:30 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE HJMCU
OBJECT MODULE PLACED IN hjmcu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE hjmcu.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**************************************************************************************************
   2          *** 慧净电子1天入门、10天学会、1年精通单片机与C语言视频教程配套程序源码                         ***
   3          *** 实验板:HJ-1G HJ-3G 开发板                                                                      ***
   4          *** MCU: STC89C52/AT89C52  部分C源码可以直接用于项目开发、欢迎复制共享、功德无量、没有版权      ***
   5          *** 收集整理:慧净助学会员  部分原源来源网络,如有伤害到你的利润请来信,我们的免费助学会员会定期给你删除**
             -*
   6          *** 编译器:KEIL                                                                                ***
   7          *** 百度交流空间:http://hi.baidu.com/HJMCU      WWW.HJMCU.COM                                  ***
   8          *** 论坛交流:http://bbs.hjmcu.com   欢迎来论坛一分钱不要下载配套的仿真电路                     ***
   9          *** 配套的硬件学习板网址:http://shop37031453.taobao.com/                                       ***
  10          *** 日期:2008.8.8                                                                              ***
  11          *** 目标:用C语言写程序就这么简单、慧争祝你1天入门、10天学会、1年精通单片机与C语言、找个好工作  ***
  12          ***************************************************************************************************/
  13          #include "reg52.h"
  14          unsigned char Count;
  15          sbit _Speak =P2^3 ;                     //讯响器控制脚 
  16          
  17          unsigned char code SONG[] ={      //祝你平安
  18          0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,
  19          0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,
  20          0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,
  21          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,
  22          0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,
  23          0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,
  24          0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,
  25          0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,
  26          0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
  27          0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,
  28          0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,
  29          0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20,
  30          0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,
  31          0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,
  32                                            //路边的野华不要采
  33          0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,
  34          0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,
  35          0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,
  36          0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  37          0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,
  38          0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,
  39          0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,
  40          0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,
  41          0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,
  42          0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,
  43          0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,
  44          0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,
  45          
  46          };
  47          
  48          void Time0_Init()
  49          {
  50   1              TMOD = 0x01;
  51   1              IE       = 0x82;
  52   1              TH0  = 0xD8;
  53   1              TL0  = 0xEF;            //12MZ晶振,10ms
  54   1      }
C51 COMPILER V8.05a   HJMCU                                                                01/14/2011 13:36:30 PAGE 2   

  55          
  56          void Time0_Int() interrupt 1
  57          {
  58   1              TH0 = 0xD8;
  59   1              TL0 = 0xEF;
  60   1              Count++;                        //长度加1
  61   1      }
  62          
  63          /*-------------------------------------------------
  64          功能:1MS延时子程序
  65          -------------------------------------------------*/
  66          void Delay_xMs(unsigned int x)
  67          {
  68   1          unsigned int i,j;
  69   1          for( i =0;i < x;i++ )
  70   1          {
  71   2              for( j =0;j<3;j++ );
  72   2          }
  73   1      }
  74          
  75          /*-------------------------------------------------
  76          功能:歌曲播放子程序i为播放哪一段曲目
  77          -------------------------------------------------*/
  78          void Play_Song(unsigned char i)
  79          {
  80   1              unsigned char Temp1,Temp2;
  81   1              unsigned int Addr;
  82   1              Count = 0;                                              //中断计数器清0
  83   1              Addr = i * 217;
  84   1              while(1)
  85   1              {
  86   2                      Temp1 = SONG[Addr++];
  87   2                  if ( Temp1 == 0xFF )          //休止符
  88   2                  {
  89   3                      TR0 = 0;
  90   3                      Delay_xMs(100);
  91   3                  }
  92   2                  else if ( Temp1 == 0x00 )     //歌曲结束符
  93   2                  {
  94   3                      return;
  95   3                  }
  96   2                  else
  97   2                  {
  98   3                      Temp2 = SONG[Addr++];
  99   3                      TR0 = 1;
 100   3                              while(1)
 101   3                              {
 102   4                              _Speak = ~_Speak;
 103   4                              Delay_xMs(Temp1);
 104   4                              if ( Temp2 == Count )
 105   4                              {
 106   5                                      Count = 0;
 107   5                                      break;
 108   5                              }
 109   4                      }
 110   3                  }
 111   2              }
 112   1      }
 113          /*-------------------------------------------------
 114          功能:主程序
 115          -------------------------------------------------*/
 116          void main()
C51 COMPILER V8.05a   HJMCU                                                                01/14/2011 13:36:30 PAGE 3   

 117          {
 118   1              Time0_Init();                   //定时器0中断初始化
 119   1              while(1)
 120   1              {
 121   2                      Play_Song(0);           //播放
 122   2              }
 123   1      }
 124          
 125          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    163    ----
   CONSTANT SIZE    =    407    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -