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

📄 警车声音.lst

📁 51实例大全
💻 LST
字号:
C51 COMPILER V7.06   ____声音                                                              05/20/2010 10:14:37 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ____声音
OBJECT MODULE PLACED IN .\obj\警车声音.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 警车声音.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\警车声音.lst) OBJECT(.\obj
                    -\警车声音.obj)

stmt level    source

   1          /*-----------------------------------------------
   2            名称:喇叭
   3            论坛:www.doflye.net
   4            编写:shifang
   5            日期:2009.5
   6            修改:无
   7            内容:模拟警车发声
   8          ------------------------------------------------*/
   9          #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
  10          
  11          sbit SPK=P1^2;    //定义喇叭端口
  12          unsigned char frq; 
  13          
  14          void DelayUs2x(unsigned char t);//函数声明 
  15          void DelayMs(unsigned char t);
  16          /*------------------------------------------------
  17                              定时器初始化子程序
  18          ------------------------------------------------*/
  19          void Init_Timer0(void)
  20          {
  21   1       TMOD |= 0x01;    //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                 
  22   1       //TH0=0x00;          //给定初值
  23   1       //TL0=0x00;
  24   1       EA=1;            //总中断打开
  25   1       ET0=1;           //定时器中断打开
  26   1       TR0=1;           //定时器开关打开
  27   1      }
  28          /*------------------------------------------------
  29                              主函数
  30          ------------------------------------------------*/
  31          main()
  32          {
  33   1       Init_Timer0(); //初始化定时器
  34   1       while(1)
  35   1            {
  36   2             
  37   2            DelayMs(1); //延时1ms,累加频率值
  38   2                frq++;
  39   2                
  40   2                }
  41   1      }
  42          /*------------------------------------------------
  43           uS延时函数,含有输入参数 unsigned char t,无返回值
  44           unsigned char 是定义无符号字符变量,其值的范围是
  45           0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
  46           长度如下 T=tx2+5 uS 
  47          ------------------------------------------------*/
  48          void DelayUs2x(unsigned char t)
  49          {   
  50   1       while(--t);
  51   1      }
  52          /*------------------------------------------------
  53           mS延时函数,含有输入参数 unsigned char t,无返回值
  54           unsigned char 是定义无符号字符变量,其值的范围是
C51 COMPILER V7.06   ____声音                                                              05/20/2010 10:14:37 PAGE 2   

  55           0~255 这里使用晶振12M,精确延时请使用汇编
  56          ------------------------------------------------*/
  57          void DelayMs(unsigned char t)
  58          {
  59   1           
  60   1       while(t--)
  61   1       {
  62   2           //大致延时1mS
  63   2           DelayUs2x(245);
  64   2               DelayUs2x(245);
  65   2       }
  66   1      }/*------------------------------------------------
  67                           定时器中断子程序
  68          ------------------------------------------------*/
  69          void Timer0_isr(void) interrupt 1 
  70          {
  71   1       TH0=0xfe;                //重新赋值 
  72   1       TL0=frq;         //低8位值在主程序中不断累加
  73   1       
  74   1       SPK=!SPK;        //端口电平取反
  75   1      
  76   1      }


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