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

📄 miin.lst

📁 很实用的单片机例程
💻 LST
字号:
C51 COMPILER V8.06   MIIN                                                                  11/20/2011 16:33:57 PAGE 1   


C51 COMPILER V8.06, COMPILATION OF MODULE MIIN
OBJECT MODULE PLACED IN miin.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE miin.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //实验平台:HL-1 V6.1+Keil U3
   2          //开发公司:慧净电子WWW.HLMCU.COM
   3          //淘宝店铺:http://shop37031453.taobao.com
   4          //实验目的:流模拟消防车发声
   5          #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
   6          
   7          sbit SPK=P2^3;    //定义喇叭端口
   8          unsigned char frq; 
   9          
  10          void DelayUs2x(unsigned char t);//函数声明 
  11          void DelayMs(unsigned char t);
  12          /*------------------------------------------------
  13                              定时器初始化子程序
  14          ------------------------------------------------*/
  15          void Init_Timer0(void)
  16          {
  17   1       TMOD |= 0x01;    //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                 
  18   1       //TH0=0x00;          //给定初值
  19   1       //TL0=0x00;
  20   1       EA=1;            //总中断打开
  21   1       ET0=1;           //定时器中断打开
  22   1       TR0=1;           //定时器开关打开
  23   1      }
  24          /*------------------------------------------------
  25                              主函数
  26          ------------------------------------------------*/
  27          main()
  28          {
  29   1       unsigned char i;
  30   1       Init_Timer0(); //初始化定时器
  31   1       while(1)
  32   1            {
  33   2         for(i=0;i<200;i++)
  34   2            {
  35   3            DelayMs(10); //延时10ms,累加频率值
  36   3                frq=i;
  37   3                }
  38   2         for(i=200;i>0;i--)
  39   2            {
  40   3            DelayMs(10); //延时10ms,累减频率值
  41   3                frq=i;
  42   3                }
  43   2                
  44   2                }
  45   1      }
  46          /*------------------------------------------------
  47           uS延时函数,含有输入参数 unsigned char t,无返回值
  48           unsigned char 是定义无符号字符变量,其值的范围是
  49           0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
  50           长度如下 T=tx2+5 uS 
  51          ------------------------------------------------*/
  52          void DelayUs2x(unsigned char t)
  53          {   
  54   1       while(--t);
  55   1      }
C51 COMPILER V8.06   MIIN                                                                  11/20/2011 16:33:57 PAGE 2   

  56          /*------------------------------------------------
  57           mS延时函数,含有输入参数 unsigned char t,无返回值
  58           unsigned char 是定义无符号字符变量,其值的范围是
  59           0~255 这里使用晶振12M,精确延时请使用汇编
  60          ------------------------------------------------*/
  61          void DelayMs(unsigned char t)
  62          {
  63   1           
  64   1       while(t--)
  65   1       {
  66   2           //大致延时1mS
  67   2           DelayUs2x(245);
  68   2               DelayUs2x(245);
  69   2       }
  70   1      }/*------------------------------------------------
  71                           定时器中断子程序
  72          ------------------------------------------------*/
  73          void Timer0_isr(void) interrupt 1 
  74          {
  75   1       TH0=0xfe;                //重新赋值 
  76   1       TL0=frq;         //低8位值在主程序中不断累加
  77   1       
  78   1       SPK=!SPK;        //端口电平取反
  79   1      
  80   1      }
  81          


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