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

📄 pwm.lst

📁 《爱上单片机》配书光盘(书本的制作作品所要的程序)
💻 LST
字号:
C51 COMPILER V6.12  PWM                                                                    07/22/2009 08:00:19 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE PWM
OBJECT MODULE PLACED IN PWM.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PWM.c DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          /*********************************************************************************************
   3          程序名:    PWM模块调试程序(仅实验用)
   4          编写人:    杜洋 
   5          编写时间:  2009年7月22日
   6          硬件支持:  STC12C2052  12MHz
   7          接口说明:  LED灌电流接P3.7接口(PWM0)  
   8          修改日志:  
   9            NO.1-								
  10          /*********************************************************************************************
  11          说明:
  12          
  13          /*********************************************************************************************/
  14          
  15          #include<STC12C2052AD.H> //头文件
  16          
  17          /*********************************************************************************************
  18          函数名:PWM初始化函数
  19          调  用:PWM_init();
  20          参  数:无
  21          返回值:无
  22          结  果:将PCA初始化为PWM模式,初始占空比为0
  23          备  注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可
  24          /**********************************************************************************************/
  25          void PWM_init (void){
  26   1      CMOD=0x02; //设置PCA定时器
  27   1       	CL=0x00; 
  28   1       	CH=0x00;
  29   1      	CCAPM0=0x42; //PWM0设置PCA工作方式为PWM方式(0100 0010)
  30   1       	CCAP0L=0x00; //设置PWM0初始值与CCAP0H相同
  31   1       	CCAP0H=0x00; // PWM0初始时为0
  32   1      
  33   1      	//CCAPM1=0x42; //PWM1设置PCA工作方式为PWM方式(使用时删除//)
  34   1      	//CCAP1L=0x00; //设置PWM1初始值与CCAP0H相同
  35   1       	//CCAP1H=0x00; // PWM1初始时为0
  36   1      
  37   1      	//CCAPM2=0x42; //PWM2设置PCA工作方式为PWM方式
  38   1      	//CCAP2L=0x00; //设置PWM2初始值与CCAP0H相同
  39   1       	//CCAP2H=0x00; // PWM2初始时为0
  40   1      
  41   1      	//CCAPM3=0x42; //PWM3设置PCA工作方式为PWM方式
  42   1      	//CCAP3L=0x00; //设置PWM3初始值与CCAP0H相同
  43   1       	//CCAP3H=0x00; // PWM3初始时为0
  44   1      
  45   1       	CR=1; //启动PCA定时器
  46   1      }
  47          /**********************************************************************************************/
  48          
  49          /*********************************************************************************************
  50          函数名:PWM0占空比设置函数
  51          调  用:PWM0_set();
  52          参  数:0x00~0xFF(亦可用0~255)
  53          返回值:无
  54          结  果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平
  55          备  注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可
C51 COMPILER V6.12  PWM                                                                    07/22/2009 08:00:19 PAGE 2   

  56          /**********************************************************************************************/
  57          void PWM0_set (unsigned char a){
  58   1      	CCAP0L= a; //设置值直接写入CCAP0L
  59   1       	CCAP0H= a; //设置值直接写入CCAP0H
  60   1      }
  61          /**********************************************************************************************/
  62          
  63          /*********************************************************************************************
  64          函数名:主函数
  65          调  用:无
  66          参  数:无
  67          返回值:无
  68          结  果:程序开始处,无限循环
  69          备  注:
  70          /**********************************************************************************************/
  71          void main (void){
  72   1      
  73   1      	PWM_init(); //PWM初始化
  74   1      	PWM0_set(0x10); //设置PWM占空比
  75   1      
  76   1      	while(1){
  77   2      
  78   2      		//无限循环程序
  79   2      
  80   2      	}
  81   1      }
  82          /**********************************************************************************************/


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