51.rar

源代码在线查看: pwm.lst

软件大小: 648 K
上传用户: zwendong
关键词: 51
下载地址: 免注册下载 普通下载 VIP

相关代码

				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)
							

相关资源