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

📄 timer_led.lst

📁 用KEILC写的单片机典型C51编程
💻 LST
字号:
C51 COMPILER V8.05a   TIMER_LED                                                            10/25/2006 22:00:34 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE TIMER_LED
OBJECT MODULE PLACED IN timer_led.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE original files\timer_led.c BROWSE DEBUG OBJECTEXTEND PRINT(.\timer_led.lst)
                    - OBJECT(timer_led.obj)

line level    source

   1                  /*********************************************************************************/
   2                  //程序名:Timer_led.c
   3                  //功能描述:利用定时器精确定时1ms控制LED闪烁
   4                  //调用函数:Timer_1ms(uint_1ms),Led_Off(),Led_On()
   5                  //输入:
   6                  //返回:
   7                  //设计者:wei                                                                                           日期:2006.10.25
   8                  //修改者:                                                                                              日期:
   9                  //版本:
  10                  /********************************************************************************/
  11                  #include<reg51.h>
  12                  #define uchar unsigned char
  13                  #define uint unsigned int
  14                  
  15                  sbit P1_0 = P1^0;
  16                  sbit P1_1 = P1^1;
  17                  sbit P1_2 = P1^2;
  18                  sbit P1_3 = P1^3;
  19                  sbit P1_4 = P1^4;
  20                  sbit P1_5 = P1^5;
  21                  sbit P1_6 = P1^6        ;
  22                  
  23                  #define OSC_FREQ                                        12000000
  24                  #define C50us                                                   (65536-OSC_FREQ/(12000000/35))          
  25                  #define C1ms                                                    (65536-OSC_FREQ/(12000000/980))
  26                  #define C10ms                                                   (65536-OSC_FREQ/(12000000/9970))
  27                  //考虑到重装时时间上的误差,将10000调整为9970达到准确定时的目的
  28                  
  29                  void    Timer_1ms(uint _1ms);
  30                  void    Led_Off();
  31                  void    Led_On();
  32                  /******************************************************************************************
  33                   *********************************主函数:初始化CPU****************************************
  34                   *****************************************************************************************/
  35                   
  36                  void    main()
  37                  {
  38   1                      do{
  39   2                                      Led_On();
  40   2                                      Timer_1ms(1000);                                                        //定时1s函数
  41   2                                      Led_Off();
  42   2                                      Timer_1ms(1000);                        
  43   2                              }while(1);
  44   1              } 
  45                  
  46                  /******************************************************************************************/
  47                  //函数名:void  Timer_1ms(uint count)
  48                  //功能:利用定时器精确延时1ms
  49                  //调用函数:
  50                  //输入参数:count,1ms计数
  51                  //输出参数:
  52                  //说明:总共延时时间为1ms乘于count
  53                  /*******************************************************************************************/
  54                  void    Timer_1ms(uint  _1ms)
C51 COMPILER V8.05a   TIMER_LED                                                            10/25/2006 22:00:34 PAGE 2   

  55                  {
  56   1                      TMOD=TMOD & (0x0f) | 0x10;                                                                                      //启动定时器工作
  57   1                      TR1 = 1;
  58   1                      while(_1ms--)
  59   1                      {
  60   2                              TH1 = C1ms/256;                                                                                                 //ms的高位十六进制装入TH1
  61   2                              TL1 = C1ms%256;                                                                                                 //ms的低位十六进制装入TL1
  62   2                              while(!TF1);                                                                                                            //TF不等于零时,等待
  63   2                              TF1 = 0;
  64   2                              
  65   2                      }
  66   1                      TR1 = 0;
  67   1              }
  68                  
  69                  /*****************************************************************************************
  70                  函数名:void    Led_Off()
  71                  功能:
  72                  调用函数:
  73                  输入参数:
  74                  输出:
  75                  说明:
  76                  ******************************************************************************************/
  77                  void    Led_Off()
  78                  {       P1_0 = 0;
  79   1                      P1_1 = 0;
  80   1                      P1_2 = 0;
  81   1                      P1_3 = 0;
  82   1                      P1_4 = 0;
  83   1                      P1_5 = 0;
  84   1                      P1_6 = 0;
  85   1                      
  86   1              }
  87                  
  88                  /*********************************************************************************************
  89                  函数名:void    Led_On()
  90                  功能:
  91                  调用函数:
  92                  输入参数:
  93                  输出:
  94                  说明:
  95                  ******************************************************************************************/
  96          void    Led_On()
  97          {
  98   1              P1_0 = 1;
  99   1        P1_1 = 1; 
 100   1        P1_2 = 1; 
 101   1        P1_3= 1; 
 102   1        P1_4 = 1;
 103   1        P1_5 = 1; 
 104   1        P1_6 = 1; 
 105   1       
 106   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     88    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.05a   TIMER_LED                                                            10/25/2006 22:00:34 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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