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

📄 pwm.lst

📁 51单片机C语言应用程序设计实例精讲.rar
💻 LST
字号:
C51 COMPILER V7.02b   PWM                                                                  12/10/2005 20:24:09 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE PWM
OBJECT MODULE PLACED IN PWM.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE PWM.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程学院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                       */
   5          /*****************************************/
   6          
   7          #include "PWM.h"
   8          
   9          /* 定时器0中断服务子程序 */
  10          void timer0_int() interrupt 1 using 1
  11          {
  12   1              TR0 = 0;                                                // 关闭T0
  13   1      
  14   1              TH0 = -(20000/256);                             // 重置20ms定时器的计数初值
  15   1              TL0 = -(20000%256); 
  16   1      
  17   1              /* 用8254计数器发送第1路PWM信号 */
  18   1              COMWORD = 0x30;
  19   1              // 1MHz时钟作为计数时钟,计数1000次,实现1ms高电平
  20   1              COUNT0 = 0xE8; 
  21   1              COUNT0 = 0x03;
  22   1      
  23   1              /* 用8254计数器发送第2路PWM信号 */
  24   1              COMWORD = 0x70;
  25   1              // 1MHz时钟作为计数时钟,计数2000次,实现2ms高电平
  26   1              COUNT0 = 0xD0;
  27   1              COUNT0 = 0x07;
  28   1      
  29   1              /* 用8254计数器发送第3路PWM信号 */
  30   1              COMWORD = 0xB0;
  31   1              // 1MHz时钟作为计数时钟,计数3000次,实现3ms高电平
  32   1              COUNT0 = 0xB8;
  33   1              COUNT0 = 0x0B;
  34   1      
  35   1              TR0 = 1;                                                // 启动T0
  36   1      }
  37          
  38          
  39          /* 主程序 */
  40          void main()
  41          { 
  42   1              EA = 1;                                                 // 开CPU中断
  43   1              ET0 = 1;                                                // 开定时器0中断
  44   1              TMOD = 0x01;                                    // 定时器0方式1
  45   1              TH0 = -(20000/256);                             // 20ms定时器的计数初值
  46   1              TL0 = -(20000%256); 
  47   1      
  48   1              /* 向8254控制字寄存器选择计数器0,并对其赋初值0 */
  49   1              COMWORD = 0x30;
  50   1              COUNT0 = 0;                                             // 先赋低位字节
  51   1              COUNT0 = 0;                                             // 再赋高位字节
  52   1      
  53   1              /* 向8254控制字寄存器选择计数器1,并对其赋初值0 */
  54   1              COMWORD = 0x70;
  55   1              COUNT0 = 0;                                             // 先赋低位字节
C51 COMPILER V7.02b   PWM                                                                  12/10/2005 20:24:09 PAGE 2   

  56   1              COUNT0 = 0;                                             // 再赋高位字节
  57   1      
  58   1              /* 向8254控制字寄存器选择计数器2,并对其赋初值0 */
  59   1              COMWORD = 0xB0;
  60   1              COUNT0 = 0;                                             // 再赋低位字节
  61   1              COUNT0 = 0;                                             // 再赋高位字节
  62   1      
  63   1              TR0 = 1;                                                // 启动定时器T0
  64   1      
  65   1              while(1){}                                              // 无限循环
  66   1              
  67   1      }               
  68          
  69          
  70                  
  71                  
  72                  
  73          
  74                  
  75          
  76          
  77          
  78          
  79          
  80          
  81          
  82          
  83          
  84          


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