📄 timer_pwm.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 + -