📄 shared_int.lst
字号:
C51 COMPILER V8.04b SHARED_INT 04/26/2008 19:04:54 PAGE 1
C51 COMPILER V8.04b, COMPILATION OF MODULE SHARED_INT
OBJECT MODULE PLACED IN SHARED_INT.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SHARED_INT.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //****************************************************************************
2 // @Module Shared Interrupt Routines
3 // @Filename SHARED_INT.C
4 // @Project ADC.dav
5 //----------------------------------------------------------------------------
6 // @Controller Infineon XC888CLM-8FF
7 //
8 // @Compiler Keil
9 //
10 // @Codegenerator 1.4
11 //
12 // @Description This file contains the Shared interrupt routines.
13 //
14 //----------------------------------------------------------------------------
15 // @Date 2008-3-22 上午 10:53:06
16 //
17 //****************************************************************************
18
19 // USER CODE BEGIN (SHARED_INT_General,1)
20
21 // USER CODE END
22
23
24
25 //****************************************************************************
26 // @Project Includes
27 //****************************************************************************
28
29 #include "SHARED_INT.H"
30
31 // USER CODE BEGIN (SHARED_INT_General,2)
32
33 // USER CODE END
34
35
36 //****************************************************************************
37 // @Macros
38 //****************************************************************************
39
40 // USER CODE BEGIN (SHARED_INT_General,3)
41
42 // USER CODE END
43
44
45 //****************************************************************************
46 // @Defines
47 //****************************************************************************
48
49 // USER CODE BEGIN (SHARED_INT_General,4)
50
51 // USER CODE END
52
53
54 //****************************************************************************
55 // @Typedefs
C51 COMPILER V8.04b SHARED_INT 04/26/2008 19:04:54 PAGE 2
56 //****************************************************************************
57
58 // USER CODE BEGIN (SHARED_INT_General,5)
59
60 // USER CODE END
61
62
63 //****************************************************************************
64 // @Imported Global Variables
65 //****************************************************************************
66
67 // USER CODE BEGIN (SHARED_INT_General,6)
68
69 // USER CODE END
70
71
72 //****************************************************************************
73 // @Global Variables
74 //****************************************************************************
75
76 // USER CODE BEGIN (SHARED_INT_General,7)
77
78 // USER CODE END
79
80
81 //****************************************************************************
82 // @External Prototypes
83 //****************************************************************************
84
85
86 // USER CODE BEGIN (SHARED_INT_General,8)
87
88 // USER CODE END
89
90
91 //****************************************************************************
92 // @Prototypes Of Local Functions
93 //****************************************************************************
94
95 // USER CODE BEGIN (SHARED_INT_General,9)
96
97 // USER CODE END
98
99
100 //****************************************************************************
101 // @Function void SHINT_vInit(void)
102 //
103 //----------------------------------------------------------------------------
104 // @Description This function initializes the shared interrupts.
105 //
106 //----------------------------------------------------------------------------
107 // @Returnvalue None
108 //
109 //----------------------------------------------------------------------------
110 // @Parameters None
111 //
112 //----------------------------------------------------------------------------
113 // @Date 2008-3-22
114 //
115 //****************************************************************************
116
117 // USER CODE BEGIN (SHINT_Init,1)
C51 COMPILER V8.04b SHARED_INT 04/26/2008 19:04:54 PAGE 3
118
119 // USER CODE END
120
121 void SHINT_vInit(void)
122 {
123 1 // USER CODE BEGIN (SHINT_Init,2)
124 1
125 1 // USER CODE END
126 1
127 1 /// -----------------------------------------------------------------------
128 1 /// Configuration of the Shared Interrupts:
129 1 /// -----------------------------------------------------------------------
130 1 /// - ADC Interrupt is Selected
131 1
132 1
133 1 IEN1 |= 0x01; // load interrupt enable register 1
134 1
135 1
136 1 // USER CODE BEGIN (SHINT_Init,3)
137 1
138 1 // USER CODE END
139 1
140 1
141 1 } // End of function SHINT_vInit
142
143
144 //****************************************************************************
145 // @Function void SHINT_viXINTR6Isr(void)
146 //
147 //----------------------------------------------------------------------------
148 // @Description This is the service routine for the shared interrupt node
149 // XINTR6. XINTR6 ISR Node is shared by ADC[1:0] and MultiCAN
150 // Nodes 1 & 2. Depending on the selected module interrupt it
151 // is called.
152 // ADC - It is activated by different interrupt sources
153 // (Channel Interrupts or Event Interrupts).The user obtains
154 // the conversion result by calling the function
155 // ADC_uwGetResultDataX(0,1,2,3).
156 // CAN - It is called for the Service Request Node 1 and 2 of
157 // the MultiCAN module.
158 // Please note that you have to add application specific code
159 // to this function.
160 //
161 //----------------------------------------------------------------------------
162 // @Returnvalue none
163 //
164 //----------------------------------------------------------------------------
165 // @Parameters None
166 //
167 //----------------------------------------------------------------------------
168 // @Date 2008-3-22
169 //
170 //****************************************************************************
171
172 // You have two choices for interrupt type select in Project Settings Page
173 // under Global Settings Section.
174 // If you select CHOICE 1 then ISR will be generated with push and pop.
175 // If you select CHOICE 2 then ISR will be generated without push and pop.
176 // Default choice is CHOICE 2.
177 // Current selection is CHOICE 2
178
179 // USER CODE BEGIN (SHINT_XINTR6Isr,1)
C51 COMPILER V8.04b SHARED_INT 04/26/2008 19:04:54 PAGE 4
180
181 // USER CODE END
182
183 void SHINT_viXINTR6Isr(void) interrupt XINTR6INT
184 {
185 1
186 1 // USER CODE BEGIN (SHINT_XINTR6Isr,2)
187 1
188 1 // USER CODE END
189 1
190 1 SFR_PAGE(_su0, SST0); // switch to page 0
191 1
192 1 // ADC interrupt handling section...
193 1
194 1 // ***********************************************************
195 1
196 1 // Note: Below comments could be helpful to the user in the ADC
197 1 // interrupt handling
198 1
199 1 // The ADC module provides two service request outputs SR[1:0] that can
200 1 // be activated by different interrupt sources.
201 1 // They are 1.EVENT interrupts 2.CHANNEL interrupts.
202 1
203 1 // 1.EVENT INTERRUPTS:Activated by events of the request sources or
204 1 // result registers.These interrupts can be handled by using functions
205 1 // ADC_ubGetEventInterruptFlag(), ADC_vClearEventInterruptFlag(ubyte
206 1 // ubChannelNum).
207 1
208 1 // 2.CHANNEL INTERRUPTS:Activated by the completion of any input channel
209 1 // conversion.They are enabled according to the control bits of limit
210 1 // checking.The settings are defined individually for each input channel.
211 1 // These interrupts can be handled by using functions
212 1 // ADC_ubGetChInterruptFlag(), ADC_vClearChInterruptFlag(ubyte
213 1 // ubChannelNum).
214 1
215 1 // Select the appropriate functions from the function page of the ADC
216 1 // module.User need to handle these in the user defined section.
217 1
218 1 // ***********************************************************
219 1 // Check Interrupt Request Register 1 Interrupt Flag 0 for ADC
220 1 if (((IRCON1 & 0x08) != 0))
221 1 {
222 2
223 2 IRCON1 &= ~(ubyte)0x08; // clear ADCSR0
224 2
225 2 // USER CODE BEGIN (SHINT_XINTR6Isr,3)
226 2 IO_vWritePort(P3, (ADC_uwGetResultData0() & 0xFF));
227 2 // USER CODE END
228 2
229 2 }
230 1
231 1
232 1 // Check Interrupt Request Register 1 Interrupt Flag 1 for ADC
233 1 if (((IRCON1 & 0x10) != 0))
234 1 {
235 2
236 2 IRCON1 &= ~(ubyte)0x10; // clear ADCSR1
237 2
238 2 // USER CODE BEGIN (SHINT_XINTR6Isr,4)
239 2
240 2 // USER CODE END
241 2
C51 COMPILER V8.04b SHARED_INT 04/26/2008 19:04:54 PAGE 5
242 2 }
243 1
244 1
245 1 // USER CODE BEGIN (SHINT_XINTR6Isr,7)
246 1
247 1 // USER CODE END
248 1
249 1 SFR_PAGE(_su0, RST0); // restore the old SCU page
250 1 } // End of function SHINT_viXINTR6Isr
251
252
253 // USER CODE BEGIN (SHARED_INT_General,10)
254
255 // USER CODE END
256
257
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 88 ----
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 + -