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

📄 timer_pwm.lst

📁 51单片机基于CAN总线通信程序
💻 LST
字号:
C51 COMPILER V8.09   TIMER_PWM                                                             09/23/2008 08:34:16 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE TIMER_PWM
OBJECT MODULE PLACED IN timer_pwm.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\timer_pwm.c LARGE OPTIMIZE(7,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\t
                    -imer_pwm.lst) OBJECT(timer_pwm.obj)

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "inc/EXT_PUBLIC_VARIABLE.H"
   4          #include "inc/CPUIO_DEF.H"
   5          #include "inc/timer_pwm.h"
   6          
   7          /**************************************************************************
   8          最小时基:    1us //12兆晶体,工作在1T模式下
   9          定时器类1:   定时范围为    2ms - 500ms
  10          定时器类2:   定时范围为    500ms - 128s
  11          
  12          **************************************************************************/     
  13          void  Timer1() interrupt 3 using 2
  14          {
  15   1              static uchar cyctimer   = 10;
  16   1              static uchar plwtimer   = 5;
  17   1      //      TH1 = FPTimr.RelodeValH;
  18   1      //      TL1 = FPTimr.RelodeValL;
  19   1          TH1 = 0xfc;
  20   1          TL1 = 0x66;
  21   1              if( --cyctimer == 0 )
  22   1              {
  23   2                 MOTPWM = 1;
  24   2                 cyctimer = FPTimr.CycleTimer;
  25   2                 plwtimer=FPTimr.PluseWTimer;
  26   2              }
  27   1              if( plwtimer != 0 )
  28   1              {
  29   2                      if( --plwtimer == 0 )
  30   2                      {
  31   3                         MOTPWM = 0;     
  32   3                      }
  33   2              }       
  34   1      }
  35          /**************************************************************************************
  36          ;;函数原型:     PwmTime0_int (uint fc,uchar n);
  37          ;;函数功能: 初始化定时器0,用定时器0输出100hz-3khz,占空比可调整的
  38          ;;函数输入: 输出频率fc(100-3000)100hz-3khz,(小于10K)占空比N(1-9步进1)对应占空比10%-90%
  39          ;;              N=0;占空比为1
  40          ;;函数输出: 无
  41          ;;函数返回值:使用24兆晶振,
  42          ***************************************************************************************/
  43          void PwmTime0_int (uint fc,uchar n)
  44          {
  45   1          //定时器重载值       
  46   1          uint i;
  47   1          i = 0xffff-62000/fc;
  48   1          FPTimr.RelodeValH = i>>8;           //定时时基是输出平频率的100倍
  49   1          FPTimr.RelodeValL = i;
  50   1          FPTimr.CycleTimer = 10;                     //周期定时器
  51   1          FPTimr.PluseWTimer = n;                     //脉宽占空比定时器
  52   1          
  53   1      //    TH1 = FPTimr.RelodeValH;
  54   1      //    TL1 = FPTimr.RelodeValL;
C51 COMPILER V8.09   TIMER_PWM                                                             09/23/2008 08:34:16 PAGE 2   

  55   1          TH1 = 0xfc;
  56   1          TL1 = 0x66;
  57   1          TR1 = 1;
  58   1      }


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