📄 sch51.lst
字号:
233 This code may be easily adapted to display the last
234 error 'for ever': this may be appropriate in your
235 application.
236
237 See Chapter 10 for further information.
238
239 -*------------------------------------------------------------------*/
240 void SCH_Report_Status(void)
241 {
C51 COMPILER V6.10 SCH51 04/18/2001 16:17:14 PAGE 5
242 1 #ifdef SCH_REPORT_ERRORS
243 1 // ONLY APPLIES IF WE ARE REPORTING ERRORS
244 1 // Check for a new error code
245 1 if (Error_code_G != Last_error_code_G)
246 1 {
247 2 // Negative logic on LEDs assumed
248 2 Error_port = 255 - Error_code_G;
249 2
250 2 Last_error_code_G = Error_code_G;
251 2
252 2 if (Error_code_G != 0)
253 2 {
254 3 Error_tick_count_G = 60000;
255 3 }
256 2 else
257 2 {
258 3 Error_tick_count_G = 0;
259 3 }
260 2 }
261 1 else
262 1 {
263 2 if (Error_tick_count_G != 0)
264 2 {
265 3 if (--Error_tick_count_G == 0)
266 3 {
267 4 Error_code_G = 0; // Reset error code
268 4 }
269 3 }
270 2 }
271 1 #endif
272 1 }
273
274
275 /*------------------------------------------------------------------*-
276
277 SCH_Go_To_Sleep()
278
279 This scheduler enters 'idle mode' between clock ticks
280 to save power. The next clock tick will return the processor
281 to the normal operating state.
282
283 Note: a slight performance improvement is possible if this
284 function is implemented as a macro, or if the code here is simply
285 pasted into the 'dispatch' function.
286
287 However, by making this a function call, it becomes easier
288 - during development - to assess the performance of the
289 scheduler, using the 'performance analyser' in the Keil
290 hardware simulator. See Chapter 14 for examples for this.
291
292 *** May wish to disable this if using a watchdog ***
293
294 *** ADAPT AS REQUIRED FOR YOUR HARDWARE ***
295
296 -*------------------------------------------------------------------*/
297 void SCH_Go_To_Sleep()
298 {
299 1 //PCON |= 0x01; // Enter idle mode (generic 8051 version)
300 1
301 1 // Entering idle mode requires TWO consecutive instructions
302 1 // on 80c515 / 80c505 - to avoid accidental triggering
303 1 PCON |= 0x01; // Enter idle mode (#1)
C51 COMPILER V6.10 SCH51 04/18/2001 16:17:14 PAGE 6
304 1 PCON |= 0x20; // Enter idle mode (#2)
305 1 }
306
307 /*------------------------------------------------------------------*-
308 ---- END OF FILE -------------------------------------------------
309 -*------------------------------------------------------------------*/
C51 COMPILER V6.10 SCH51 04/18/2001 16:17:14 PAGE 7
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
T2I0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
T2I1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
R1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FEH 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
R2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FDH 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
R3 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FCH 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
P5 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00F8H 1
R4 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FBH 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
BD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DFH 1
tLong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
sTask. . . . . . . . . . . . . . . . . TYPEDEF DATA STRUCT ----- 7
pTask. . . . . . . . . . . . . . . . MEMBER ----- PTR 0000H 2
Delay. . . . . . . . . . . . . . . . MEMBER ----- U_INT 0002H 2
Period . . . . . . . . . . . . . . . MEMBER ----- U_INT 0004H 2
RunMe. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0006H 1
T2R0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
T2R1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
tByte. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
IEN0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
EADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
SCH_tasks_G. . . . . . . . . . . . . . PUBLIC DATA ARRAY 0000H 14
IADC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C0H 1
tWord. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
I2FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
I3FR . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C7H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
T2CM . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
ADCON0 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D8H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IEX2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C1H 1
IEX3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C2H 1
IEX4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C3H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
IEX5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C4H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
IEX6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C5H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
INT2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
_SCH_Add_Task. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
pFunction. . . . . . . . . . . . . . AUTO DATA PTR 0000H 2
DELAY. . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
PERIOD . . . . . . . . . . . . . . . * REG * DATA U_INT 0002H 2
Index. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
INT3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
INT4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
INT5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
INT6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
C51 COMPILER V6.10 SCH51 04/18/2001 16:17:14 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
ADEX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DDH 1
INT8 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EDH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
SCH_Report_Status. . . . . . . . . . . PUBLIC CODE PROC 0000H -----
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
T2PS . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
ADST . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E8H 1
SCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00E9H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
Error_code_G . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000EH 1
RXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EFH 1
TXDC . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EEH 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
SWDT . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BEH 1
Last_error_code_G. . . . . . . . . . . STATIC DATA U_CHAR 000FH 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C6H 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
Error_tick_count_G . . . . . . . . . . STATIC DATA U_INT 0010H 2
EX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
EX3. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
EX4. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
ADM. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DBH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
EX5. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
EAL. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
EX6. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
CLKOUT . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
MX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D8H 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
MX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D9H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
MX2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DAH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
CLK. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DEH 1
SCH_Dispatch_Tasks . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Index. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BFH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
C51 COMPILER V6.10 SCH51 04/18/2001 16:17:14 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
_SCH_Delete_Task . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TASK_INDEX . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
Return_code. . . . . . . . . . . . . AUTO DATA BIT 0000H 1
SRI. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EAH 1
BSY. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00DCH 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
WDT. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AEH 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
SLS. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ECH 1
C1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00F8H 1
C2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00F9H 1
C3 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00FAH 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
SCH_Go_To_Sleep. . . . . . . . . . . . STATIC CODE PROC 0000H -----
STO. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EBH 1
F1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D1H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
IRCON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 314 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 5
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -