Files
RCU_C12_Dimming/Listings/timer.lst

191 lines
11 KiB
Plaintext
Raw Normal View History

C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN .\Objects\timer.obj
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE timer.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\tim
-er.lst) OBJECT(.\Objects\timer.obj)
line level source
1 /*---------------------------------------------------------------------*/
2 /* --- STC MCU Limited ------------------------------------------------*/
3 /* --- STC 1T Series MCU Demo Programme -------------------------------*/
4 /* --- Mobile: (86)13922805190 ----------------------------------------*/
5 /* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
6 /* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
7 /* --- Web: www.STCMCU.com --------------------------------------------*/
8 /* --- Web: www.STCMCUDATA.com ---------------------------------------*/
9 /* --- QQ: 800003751 -------------------------------------------------*/
10 /* <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ô˴<C3B4><CBB4><EFBFBD>,<2C><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>STC<54><43><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD><EFBFBD> */
11 /*---------------------------------------------------------------------*/
12
13 /************* <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> **************
14
15 <20><><EFBFBD>ļ<EFBFBD>ΪSTC8ϵ<38>еĶ<D0B5>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>жϳ<D0B6><CFB3><EFBFBD>,<2C>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>޸<EFBFBD><DEB8>Լ<EFBFBD><D4BC><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>жϳ<D0B6><CFB3><EFBFBD>.
16
17 ******************************************/
18
19 #include "timer.h"
20 u32 systick_1ms=0;
21 /********************* Timer0<72>жϺ<D0B6><CFBA><EFBFBD>************************/
22 void timer0_int (void) interrupt TIMER0_VECTOR
23 {
24 1 P67 = ~P67;
25 1 }
26
27 /********************* Timer1<72>жϺ<D0B6><CFBA><EFBFBD>************************/
28 void timer1_int (void) interrupt TIMER1_VECTOR
29 {
30 1 P66 = ~P66;
31 1 }
32
33 /********************* Timer2<72>жϺ<D0B6><CFBA><EFBFBD>************************/
34 void timer2_int (void) interrupt TIMER2_VECTOR
35 {
36 1 systick_1ms++;
37 1 }
38
39 /********************* Timer3<72>жϺ<D0B6><CFBA><EFBFBD>************************/
40 void timer3_int (void) interrupt TIMER3_VECTOR
41 {
42 1
43 1 }
44
45 /********************* Timer4<72>жϺ<D0B6><CFBA><EFBFBD>************************/
46 void timer4_int (void) interrupt TIMER4_VECTOR
47 {
48 1 P63 = ~P63;
49 1 }
50
51
52 //========================================================================
53 // <20><><EFBFBD><EFBFBD>: u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
54 // <20><><EFBFBD><EFBFBD>: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 2
55 // <20><><EFBFBD><EFBFBD>: TIMx: <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD>,<2C><><EFBFBD>ο<EFBFBD>timer.h<><68><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>.
56 // <20><><EFBFBD><EFBFBD>: <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0, <20>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1,<2C><><EFBFBD>󷵻<EFBFBD>2.
57 // <20>汾: V1.0, 2012-10-22
58 //========================================================================
59 u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx)
60 {
61 1 if(TIM > Timer4) return 1; //<2F>ղ<EFBFBD><D5B2><EFBFBD>
62 1
63 1 if(TIM == Timer0)
64 1 {
65 2 Timer0_Stop(); //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
66 2 if(TIMx->TIM_Interrupt == ENABLE) Timer0_InterruptEnable(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
67 2 else Timer0_InterruptDisable(); //<2F><>ֹ<EFBFBD>ж<EFBFBD>
68 2 if(TIMx->TIM_Priority > Priority_3) return 2; //<2F><><EFBFBD><EFBFBD>
69 2 Timer0_Priority(TIMx->TIM_Priority); //ָ<><D6B8><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>(<28>͵<EFBFBD><CDB5><EFBFBD>) Priority_0,Priority_1,Priority_2,Priority_
-3
70 2
71 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //<2F><><EFBFBD><EFBFBD>
72 2 TMOD = (TMOD & ~0x30) | TIMx->TIM_Mode; //<2F><><EFBFBD><EFBFBD>ģʽ,0: 16λ<36>Զ<EFBFBD><D4B6><EFBFBD>װ, 1: 16λ<36><CEBB>ʱ/<2F><><EFBFBD><EFBFBD>, 2: 8λ<38>Զ<EFBFBD><D4B6><EFBFBD>װ
73 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer0_12T(); //12T
74 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer0_1T(); //1T
75 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer0_AsCounter(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
76 2 else Timer0_AsTimer(); //<2F><>ʱ
77 2 if(TIMx->TIM_ClkOut == ENABLE) Timer0_CLKO_Enable(); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
78 2 else Timer0_CLKO_Disable(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
79 2
80 2 T0_Load(TIMx->TIM_Value);
81 2 if(TIMx->TIM_Run == ENABLE) Timer0_Run(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
82 2 return 0; //<2F>ɹ<EFBFBD>
83 2 }
84 1
85 1 if(TIM == Timer1)
86 1 {
87 2 Timer1_Stop(); //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
88 2 if(TIMx->TIM_Interrupt == ENABLE) Timer1_InterruptEnable(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
89 2 else Timer1_InterruptDisable(); //<2F><>ֹ<EFBFBD>ж<EFBFBD>
90 2 if(TIMx->TIM_Priority > Priority_3) return 2; //<2F><><EFBFBD><EFBFBD>
91 2 Timer1_Priority(TIMx->TIM_Priority); //ָ<><D6B8><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>(<28>͵<EFBFBD><CDB5><EFBFBD>) Priority_0,Priority_1,Priority_2,Priority_
-3
92 2 if(TIMx->TIM_Mode >= TIM_16BitAutoReloadNoMask) return 2; //<2F><><EFBFBD><EFBFBD>
93 2 TMOD = (TMOD & ~0x30) | TIMx->TIM_Mode; //<2F><><EFBFBD><EFBFBD>ģʽ,0: 16λ<36>Զ<EFBFBD><D4B6><EFBFBD>װ, 1: 16λ<36><CEBB>ʱ/<2F><><EFBFBD><EFBFBD>, 2: 8λ<38>Զ<EFBFBD><D4B6><EFBFBD>װ
94 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer1_12T(); //12T
95 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer1_1T(); //1T
96 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer1_AsCounter(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
97 2 else Timer1_AsTimer(); //<2F><>ʱ
98 2 if(TIMx->TIM_ClkOut == ENABLE) Timer1_CLKO_Enable(); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
99 2 else Timer1_CLKO_Disable(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
100 2
101 2 T1_Load(TIMx->TIM_Value);
102 2 if(TIMx->TIM_Run == ENABLE) Timer1_Run(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
103 2 return 0; //<2F>ɹ<EFBFBD>
104 2 }
105 1
106 1 if(TIM == Timer2) //Timer2,<2C>̶<EFBFBD>Ϊ16λ<36>Զ<EFBFBD><D4B6><EFBFBD>װ, <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
107 1 {
108 2 Timer2_Stop(); //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
109 2 if(TIMx->TIM_Interrupt == ENABLE) Timer2_InterruptEnable(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
110 2 else Timer2_InterruptDisable(); //<2F><>ֹ<EFBFBD>ж<EFBFBD>
111 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
112 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer2_12T(); //12T
113 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer2_1T(); //1T
114 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer2_AsCounter(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
C51 COMPILER V9.01 TIMER 12/16/2025 16:53:47 PAGE 3
115 2 else Timer2_AsTimer(); //<2F><>ʱ
116 2 if(TIMx->TIM_ClkOut == ENABLE) Timer2_CLKO_Enable(); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
117 2 else Timer2_CLKO_Disable(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
118 2
119 2 T2_Load(TIMx->TIM_Value);
120 2 if(TIMx->TIM_Run == ENABLE) Timer2_Run(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
121 2 return 0; //<2F>ɹ<EFBFBD>
122 2 }
123 1
124 1 if(TIM == Timer3) //Timer3,<2C>̶<EFBFBD>Ϊ16λ<36>Զ<EFBFBD><D4B6><EFBFBD>װ, <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
125 1 {
126 2 Timer3_Stop(); //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
127 2 if(TIMx->TIM_Interrupt == ENABLE) Timer3_InterruptEnable(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
128 2 else Timer3_InterruptDisable(); //<2F><>ֹ<EFBFBD>ж<EFBFBD>
129 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
130 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer3_12T(); //12T
131 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer3_1T(); //1T
132 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer3_AsCounter(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
133 2 else Timer3_AsTimer(); //<2F><>ʱ
134 2 if(TIMx->TIM_ClkOut == ENABLE) Timer3_CLKO_Enable(); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
135 2 else Timer3_CLKO_Disable(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
136 2
137 2 T3_Load(TIMx->TIM_Value);
138 2 if(TIMx->TIM_Run == ENABLE) Timer3_Run(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
139 2 return 0; //<2F>ɹ<EFBFBD>
140 2 }
141 1
142 1 if(TIM == Timer4) //Timer3,<2C>̶<EFBFBD>Ϊ16λ<36>Զ<EFBFBD><D4B6><EFBFBD>װ, <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
143 1 {
144 2 Timer4_Stop(); //ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
145 2 if(TIMx->TIM_Interrupt == ENABLE) Timer4_InterruptEnable(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
146 2 else Timer4_InterruptDisable(); //<2F><>ֹ<EFBFBD>ж<EFBFBD>
147 2 if(TIMx->TIM_ClkSource > TIM_CLOCK_Ext) return 2;
148 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_12T) Timer4_12T(); //12T
149 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_1T) Timer4_1T(); //1T
150 2 if(TIMx->TIM_ClkSource == TIM_CLOCK_Ext) Timer4_AsCounter(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
151 2 else Timer4_AsTimer(); //<2F><>ʱ
152 2 if(TIMx->TIM_ClkOut == ENABLE) Timer4_CLKO_Enable(); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
153 2 else Timer4_CLKO_Disable(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
154 2
155 2 T4_Load(TIMx->TIM_Value);
156 2 if(TIMx->TIM_Run == ENABLE) Timer4_Run(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
157 2 return 0; //<2F>ɹ<EFBFBD>
158 2 }
159 1 return 2; //<2F><><EFBFBD><EFBFBD>
160 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 795 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)