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

📄 pwm_16.lst

📁 F340 的编程例子 与c8051f340 系列的 常常用到编程例子 希望有帮助
💻 LST
字号:
C51 COMPILER V7.50   PWM_16                                                               10/23/2006 11:05:11 PAGE 1   


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

line level    source

   1          /******************************************************************
   2          本程序为PCA16位PWM输出例程,jp2第2脚为PWM输出                                      
   3          ******************************************************************/
   4          
   5          #include <c8051f340.h>                
   6          #define uchar unsigned char
   7          #define uint unsigned int
   8          
   9          
  10          void port_init (void);
  11          void pca_init (void);
  12          
  13          bit pca_flag;
  14          uint pwm=0;
  15          void main (void)
  16          {       
  17   1         PCA0MD &= ~0x40;                //关闭看门狗
  18   1         OSCICN |= 0x03;                 //使用内部12M晶振
  19   1         port_init ();                               //端口初始化
  20   1         pca_init ();                                //PCA初始设为16位脉宽
  21   1         EA=1;
  22   1         
  23   1         while (1)      
  24   1              {
  25   2                      
  26   2              
  27   2              }
  28   1      }
  29          /******************************************************************
  30          端口初始化程序
  31          ******************************************************************/
  32          void port_init (void)
  33          {  P0SKIP = 0xff;                         //跳过P0口
  34   1         P1SKIP = 0x03;                         //跳过P1.1
  35   1         XBR1   = 0x42;                                 //将PCA输出配置到P1.2脚
  36   1         P1MDOUT |= 0x04;                       //P1.2配置为推挽输出
  37   1      }
  38          /******************************************************************
  39          初始化PCA的CEX0输出16位PWM信号
  40          ******************************************************************/
  41          void pca_init (void)
  42          {
  43   1          PCA0CN    = 0x40;                     //PCA定时器使能
  44   1          PCA0CPM0  = 0xc2;                     //使能16位PWM
  45   1              PCA0MD    = 0x01;                         //PCA定时器溢出中断允许
  46   1              EIE1= 0x10;                                       //允许PCA中断
  47   1          pca_flag=0;
  48   1      }
  49          /******************************************************************
  50          PCA中断处理程序
  51          ******************************************************************/
  52          void pca_isr (void) interrupt 11
  53          {     
  54   1           
  55   1            if(pca_flag==0)                   
C51 COMPILER V7.50   PWM_16                                                               10/23/2006 11:05:11 PAGE 2   

  56   1                      {
  57   2                              PCA0CPL0=(0xff&pwm);
  58   2                              PCA0CPH0=(0xff&(pwm>>8));
  59   2                              pwm+=0x0050;
  60   2                              if(pwm==0xfff0){pca_flag=1;}
  61   2                      }
  62   1               if(pca_flag==1)                                        
  63   1                      {
  64   2                              PCA0CPL0=(0xff&pwm);
  65   2                              PCA0CPH0=(0xff&pwm>>8);
  66   2                              pwm-=0x0050;
  67   2                              if(pwm==0){pca_flag=0;}
  68   2                      }
  69   1                  CF = 0;
  70   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    118    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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