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

📄 sound.lst

📁 51单片机用c语言实例 包括ad
💻 LST
字号:
C51 COMPILER V7.09   SOUND                                                                 07/07/2006 14:12:53 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE SOUND
OBJECT MODULE PLACED IN Sound.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Sound.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /****************************************************************/
   2          /* 文件名称: Sound.C                                            */
   3          /* 功能描述: 电子发生实验,演奏"友谊地久天长"                    */
   4          /****************************************************************/
   5          
   6          #include "SST89x5x4.h"
   7          sbit POUT = P0^0;                               //扬声器控制引脚
   8          #define Clk 0x070000
   9          
  10          unsigned char data val_H;               //计数器高字节
  11          unsigned char data val_L;               //计数器低字节
  12          //频率表
  13          unsigned int code freq_list[] = {371,495,495,495,624,556,495,556,624,
  14                                           495,495,624,742,833,833,833,742,624,
  15                                                                           624,495,556,495,556,624,495,416,416,
  16                                                                           371,495,833,742,624,624,495,556,495,
  17                                                                           556,833,742,624,624,742,833,990,742,
  18                                                                           624,624,495,556,495,556,624,495,416,
  19                                                                           416,371,495,0};
  20          //时间表
  21          unsigned char code time_list[]= {4, 6, 2, 4, 4, 6, 2, 4, 4, 6,
  22                                           2, 4, 4,12, 1, 3, 6, 2, 4, 4,
  23                                                                           6, 2, 4, 4, 6, 2, 4, 4,12, 4,
  24                                                                           6, 2, 4, 4, 6, 2, 4, 4, 6, 2,
  25                                                                           4, 4,12, 4, 6, 2, 4, 4, 6, 2,
  26                                                                           4, 4, 6, 2, 4, 4,12};
  27          
  28          void t0_isr() interrupt 1                               //定时器0中断处理程序
  29          {
  30   1              POUT = ~POUT;                                           //产生方波
  31   1              TH0 = val_H;                                            //重新装入计数值
  32   1              TL0 = val_L;
  33   1      }
  34          
  35          void Delay(unsigned char cnt)                   //单位延时
  36          {
  37   1              unsigned char i;
  38   1              unsigned int j;
  39   1              for(i=0; i<cnt; i++)
  40   1              {
  41   2                      for(j=0; j<0x3600; j++);
  42   2              }
  43   1      }
  44          
  45          void main(void)
  46          {
  47   1              unsigned int val;
  48   1          unsigned char i;
  49   1              TMOD = 0x01;                                            //初始化
  50   1              IE = 0x82;
  51   1              TR0 = 1;
  52   1              while(1)
  53   1              {
  54   2                      i = 0;
  55   2                      while(freq_list[i])                             //频率为0重新开始
C51 COMPILER V7.09   SOUND                                                                 07/07/2006 14:12:53 PAGE 2   

  56   2                      {
  57   3                              val = Clk/(freq_list[i]);
  58   3                              val = 0xFFFF - val;                     //计算计数值
  59   3                              val_H = (val>>8)&0xff;
  60   3                              val_L = val&0xff;
  61   3                              TH0 = val_H;
  62   3                              TL0 = val_L;
  63   3                              Delay(time_list[i]);
  64   3                              i++;
  65   3                      }
  66   2              }
  67   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    142    ----
   CONSTANT SIZE    =    173    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       1
   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 + -