📄 2_05_12g.lst
字号:
160 =3 sbit T0 = 0xB4; /* Timer 0 external input */
161 =3 sbit T1 = 0xB5; /* Timer 1 external input */
162 =3 sbit WR = 0xB6; /* External data memory write strobe */
163 =3 sbit RD = 0xB7; /* External data memory read strobe */
164 =3
165 =3 /*------------------------------------------------
166 =3 IP Bit Registers
167 =3 ------------------------------------------------*/
168 =3 sbit PX0 = 0xB8;
169 =3 sbit PT0 = 0xB9;
170 =3 sbit PX1 = 0xBA;
171 =3 sbit PT1 = 0xBB;
172 =3 sbit PS = 0xBC;
173 =3 sbit PT2 = 0xBD;
174 =3
175 =3 /*------------------------------------------------
176 =3 T2CON Bit Registers
177 =3 ------------------------------------------------*/
178 =3 sbit CP_RL2= 0xC8; /* 0=Reload, 1=Capture select */
179 =3 sbit C_T2 = 0xC9; /* 0=Timer, 1=Counter */
180 =3 sbit TR2 = 0xCA; /* 0=Stop timer, 1=Start timer */
181 =3 sbit EXEN2= 0xCB; /* Timer 2 external enable */
182 =3 sbit TCLK = 0xCC; /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
183 =3 sbit RCLK = 0xCD; /* 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
184 =3 sbit EXF2 = 0xCE; /* Timer 2 external flag */
185 =3 sbit TF2 = 0xCF; /* Timer 2 overflow flag */
186 =3
187 =3 /*------------------------------------------------
188 =3 T2MOD Bit Values
189 =3 ------------------------------------------------*/
190 =3 #define DCEN_ 0x01 /* 1=Timer 2 can be configured as up/down counter */
191 =3 #define T2OE_ 0x02 /* Timer 2 output enable */
192 =3
193 =3 /*------------------------------------------------
194 =3 PSW Bit Registers
195 =3 ------------------------------------------------*/
196 =3 sbit P = 0xD0;
197 =3 sbit FL = 0xD1;
198 =3 sbit OV = 0xD2;
199 =3 sbit RS0 = 0xD3;
200 =3 sbit RS1 = 0xD4;
201 =3 sbit F0 = 0xD5;
202 =3 sbit AC = 0xD6;
203 =3 sbit CY = 0xD7;
204 =3
205 =3 /*------------------------------------------------
206 =3 Interrupt Vectors:
207 =3 Interrupt Address = (Number * 8) + 3
208 =3 ------------------------------------------------*/
209 =3 #define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */
210 =3 #define TF0_VECTOR 1 /* 0x0B Timer 0 */
211 =3 #define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */
212 =3 #define TF1_VECTOR 3 /* 0x1B Timer 1 */
213 =3 #define SIO_VECTOR 4 /* 0x23 Serial port */
214 =3
215 =3 #define TF2_VECTOR 5 /* 0x2B Timer 2 */
216 =3 #define EX2_VECTOR 5 /* 0x2B External Interrupt 2 */
217 =3
218 =3 /*------------------------------------------------
219 =3 ------------------------------------------------*/
C51 COMPILER V6.10 2_05_12G 04/09/2001 14:58:54 PAGE 6
220 =3 #endif
221 =3
222 =3
33 =2
34 =2 // Include oscillator / chip details here
35 =2 // (essential if generic delays / timeouts are used)
36 =2 // -
37 =2 // Oscillator / resonator frequency (in Hz) e.g. (11059200UL)
38 =2 #define OSC_FREQ (12000000UL)
39 =2
40 =2 // Number of oscillations per instruction (4, 6 or 12)
41 =2 // 12 - Original 8051 / 8052 and numerous modern versions
42 =2 // 6 - Various Infineon and Philips devices, etc.
43 =2 // 4 - Dallas, etc.
44 =2 //
45 =2 // Take care with Dallas devices
46 =2 // - Timers default to *12* osc ticks unless CKCON is modified
47 =2 // - If using generic code on a Dallas device, use 12 here
48 =2 #define OSC_PER_INST (12)
49 =2
50 =2 //------------------------------------------------------------------
51 =2 // SHOULD NOT NEED TO EDIT THE SECTIONS BELOW
52 =2 //------------------------------------------------------------------
53 =2 typedef unsigned char tByte;
54 =2 typedef unsigned int tWord;
55 =2 typedef unsigned long tLong;
56 =2
57 =2 // Misc #defines
58 =2 #ifndef TRUE
59 =2 #define FALSE 0
60 =2 #define TRUE (!FALSE)
61 =2 #endif
62 =2
63 =2 #define RETURN_NORMAL (bit) 0
64 =2 #define RETURN_ERROR (bit) 1
65 =2
66 =2
67 =2 //------------------------------------------------------------------
68 =2 // Interrupts
69 =2 // - see Chapter 13.
70 =2 //------------------------------------------------------------------
71 =2
72 =2 // Generic 8051/52 timer interrupts (used in most schedulers)
73 =2 #define INTERRUPT_Timer_0_Overflow 1
74 =2 #define INTERRUPT_Timer_1_Overflow 3
75 =2 #define INTERRUPT_Timer_2_Overflow 5
76 =2
77 =2 // Additional interrupts (used in shared-clock schedulers)
78 =2 #define INTERRUPT_EXTERNAL_0 0
79 =2 #define INTERRUPT_EXTERNAL_1 2
80 =2 #define INTERRUPT_UART_Rx_Tx 4
81 =2 #define INTERRUPT_CAN_c515c 17
82 =2
83 =2 //------------------------------------------------------------------
84 =2 // Error codes
85 =2 // - see Chapter 14.
86 =2 //------------------------------------------------------------------
87 =2
88 =2 #define ERROR_SCH_TOO_MANY_TASKS (1)
89 =2 #define ERROR_SCH_CANNOT_DELETE_TASK (2)
90 =2
91 =2 #define ERROR_SCH_WAITING_FOR_SLAVE_TO_ACK (3)
C51 COMPILER V6.10 2_05_12G 04/09/2001 14:58:54 PAGE 7
92 =2 #define ERROR_SCH_WAITING_FOR_START_COMMAND_FROM_MASTER (3)
93 =2
94 =2 #define ERROR_SCH_ONE_OR_MORE_SLAVES_DID_NOT_START (4)
95 =2 #define ERROR_SCH_LOST_SLAVE (5)
96 =2
97 =2 #define ERROR_SCH_CAN_BUS_ERROR (6)
98 =2
99 =2 #define ERROR_I2C_WRITE_BYTE (10)
100 =2 #define ERROR_I2C_READ_BYTE (11)
101 =2 #define ERROR_I2C_WRITE_BYTE_AT24C64 (12)
102 =2 #define ERROR_I2C_READ_BYTE_AT24C64 (13)
103 =2 #define ERROR_I2C_DS1621 (14)
104 =2
105 =2 #define ERROR_USART_TI (21)
106 =2 #define ERROR_USART_WRITE_CHAR (22)
107 =2
108 =2 #define ERROR_SPI_EXCHANGE_BYTES_TIMEOUT (31)
109 =2 #define ERROR_SPI_X25_TIMEOUT (32)
110 =2 #define ERROR_SPI_MAX1110_TIMEOUT (33)
111 =2
112 =2 #define ERROR_ADC_MAX150_TIMEOUT (44)
113 =2
114 =2 #endif
115 =2
116 =2 /*------------------------------------------------------------------*-
117 =2 ---- END OF FILE -------------------------------------------------
118 =2 -*------------------------------------------------------------------*/
25 =1 #include "SCH51a.H"
1 =2 /*------------------------------------------------------------------*-
2 =2
3 =2 SCH51a.h (v1.00)
4 =2
5 =2 ------------------------------------------------------------------
6 =2
7 =2 - see SCH51a.C for details
8 =2
9 =2
10 =2 COPYRIGHT
11 =2 ---------
12 =2
13 =2 This code is from the book:
14 =2
15 =2 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
16 =2 [Pearson Education, 2001; ISBN: 0-201-33138-1].
17 =2
18 =2 This code is copyright (c) 2001 by Michael J. Pont.
19 =2
20 =2 See book for copyright details and other information.
21 =2
22 =2 -*------------------------------------------------------------------*/
23 =2
24 =2 #ifndef _SCH51_H
25 =2 #define _SCH51_H
26 =2
27 =2 #include "Main.h"
1 =3 /*------------------------------------------------------------------*-
2 =3
3 =3 Main.H (v1.00)
4 =3
5 =3 ------------------------------------------------------------------
6 =3
7 =3 'Project Header' (see Chap 9) for project 255_TICK (see Chap 37)
C51 COMPILER V6.10 2_05_12G 04/09/2001 14:58:54 PAGE 8
8 =3
9 =3
10 =3 COPYRIGHT
11 =3 ---------
12 =3
13 =3 This code is from the book:
14 =3
15 =3 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
16 =3 [Pearson Education, 2001; ISBN: 0-201-33138-1].
17 =3
18 =3 This code is copyright (c) 2001 by Michael J. Pont.
19 =3
20 =3 See book for copyright details and other information.
21 =3
22 =3 -*------------------------------------------------------------------*/
23 =3
24 =3 #ifndef _MAIN_H
=3 #define _MAIN_H
=3
=3 //------------------------------------------------------------------
=3 // WILL NEED TO EDIT THIS SECTION FOR EVERY PROJECT
=3 //------------------------------------------------------------------
=3
=3 // Must include the appropriate microcontroller header file here
=3 #include <AT89x52.h>
=3
=3 // Include oscillator / chip details here
=3 // (essential if generic delays / timeouts are used)
=3 // -
=3 // Oscillator / resonator frequency (in Hz) e.g. (11059200UL)
=3 #define OSC_FREQ (12000000UL)
=3
=3 // Number of oscillations per instruction (4, 6 or 12)
=3 // 12 - Original 8051 / 8052 and numerous modern versions
=3 // 6 - Various Infineon and Philips devices, etc.
=3 // 4 - Dallas, etc.
=3 //
=3 // Take care with Dallas devices
=3 // - Timers default to *12* osc ticks unless CKCON is modified
=3 // - If using generic code on a Dallas device, use 12 here
=3 #define OSC_PER_INST (12)
=3
=3 //------------------------------------------------------------------
=3 // SHOULD NOT NEED TO EDIT THE SECTIONS BELOW
=3 //------------------------------------------------------------------
=3 typedef unsigned char tByte;
=3 typedef unsigned int tWord;
=3 typedef unsigned long tLong;
=3
=3 // Misc #defines
=3 #ifndef TRUE
=3 #define FALSE 0
=3 #define TRUE (!FALSE)
=3 #endif
=3
=3 #define RETURN_NORMAL (bit) 0
=3 #define RETURN_ERROR (bit) 1
=3
=3
=3 //------------------------------------------------------------------
=3 // Interrupts
=3 // - see Chapter 13.
C51 COMPILER V6.10 2_05_12G 04/09/2001 14:58:54 PAGE 9
=3 //------------------------------------------------------------------
=3
=3 // Generic 8051/52 timer interrupts (used in most schedulers)
=3 #define INTERRUPT_Timer_0_Overflow 1
=3 #define INTERRUPT_Timer_1_Overflow 3
=3 #define INTERRUPT_Timer_2_Overflow 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -