📄 led_flas.lst
字号:
54 =1 typedef unsigned int tWord;
55 =1 typedef unsigned long tLong;
56 =1
57 =1 // Misc #defines
58 =1 #ifndef TRUE
59 =1 #define FALSE 0
60 =1 #define TRUE (!FALSE)
61 =1 #endif
62 =1
63 =1 #define RETURN_NORMAL (bit) 0
64 =1 #define RETURN_ERROR (bit) 1
65 =1
66 =1
67 =1 //------------------------------------------------------------------
68 =1 // Interrupts
69 =1 // - see Chapter 13.
70 =1 //------------------------------------------------------------------
71 =1
72 =1 // Generic 8051/52 timer interrupts (used in most schedulers)
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 6
73 =1 #define INTERRUPT_Timer_0_Overflow 1
74 =1 #define INTERRUPT_Timer_1_Overflow 3
75 =1 #define INTERRUPT_Timer_2_Overflow 5
76 =1
77 =1 // Additional interrupts (used in shared-clock schedulers)
78 =1 #define INTERRUPT_EXTERNAL_0 0
79 =1 #define INTERRUPT_EXTERNAL_1 2
80 =1 #define INTERRUPT_UART_Rx_Tx 4
81 =1 #define INTERRUPT_CAN_c515c 17
82 =1
83 =1 //------------------------------------------------------------------
84 =1 // Error codes
85 =1 // - see Chapter 14.
86 =1 //------------------------------------------------------------------
87 =1
88 =1 #define ERROR_SCH_TOO_MANY_TASKS (1)
89 =1 #define ERROR_SCH_CANNOT_DELETE_TASK (2)
90 =1
91 =1 #define ERROR_SCH_WAITING_FOR_SLAVE_TO_ACK (3)
92 =1 #define ERROR_SCH_WAITING_FOR_START_COMMAND_FROM_MASTER (3)
93 =1
94 =1 #define ERROR_SCH_ONE_OR_MORE_SLAVES_DID_NOT_START (4)
95 =1 #define ERROR_SCH_LOST_SLAVE (5)
96 =1
97 =1 #define ERROR_SCH_CAN_BUS_ERROR (6)
98 =1
99 =1 #define ERROR_I2C_WRITE_BYTE (10)
100 =1 #define ERROR_I2C_READ_BYTE (11)
101 =1 #define ERROR_I2C_WRITE_BYTE_AT24C64 (12)
102 =1 #define ERROR_I2C_READ_BYTE_AT24C64 (13)
103 =1 #define ERROR_I2C_DS1621 (14)
104 =1
105 =1 #define ERROR_USART_TI (21)
106 =1 #define ERROR_USART_WRITE_CHAR (22)
107 =1
108 =1 #define ERROR_SPI_EXCHANGE_BYTES_TIMEOUT (31)
109 =1 #define ERROR_SPI_X25_TIMEOUT (32)
110 =1 #define ERROR_SPI_MAX1110_TIMEOUT (33)
111 =1
112 =1 #define ERROR_ADC_MAX150_TIMEOUT (44)
113 =1
114 =1 #endif
115 =1
116 =1 /*------------------------------------------------------------------*-
117 =1 ---- END OF FILE -------------------------------------------------
118 =1 -*------------------------------------------------------------------*/
25 #include "Port.h"
1 =1 /*------------------------------------------------------------------*-
2 =1
3 =1 Port.H (v1.00)
4 =1
5 =1 ------------------------------------------------------------------
6 =1
7 =1 'Port Header' (see Chap 10) for project SCC_m515 (see Chap 28)
8 =1
9 =1
10 =1 COPYRIGHT
11 =1 ---------
12 =1
13 =1 This code is from the book:
14 =1
15 =1 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 7
16 =1 [Pearson Education, 2001; ISBN: 0-201-33138-1].
17 =1
18 =1 This code is copyright (c) 2001 by Michael J. Pont.
19 =1
20 =1 See book for copyright details and other information.
21 =1
22 =1 -*------------------------------------------------------------------*/
23 =1
24 =1 // ------ Sch51.C ----------------------------------------
25 =1
26 =1 // Comment this line out if error reporting is NOT required
27 =1 //#define SCH_REPORT_ERRORS
28 =1
29 =1 #ifdef SCH_REPORT_ERRORS
=1 // The port on which error codes will be displayed
=1 // ONLY USED IF ERRORS ARE REPORTED
=1 #define Error_port P1
=1
=1 #endif
35 =1
36 =1 // ------ SCC_M.C ------------------------------------------------
37 =1
38 =1 // *****************************************************************
39 =1 // P4.6, 4.7 used for CAN outputs
40 =1 // *****************************************************************
41 =1
42 =1 // Connect LED from +5V (etc) to these pins, via appropriate resistor
43 =1 sbit Network_error_pin = P4^4;
44 =1
45 =1 // Three pins used to report CAN bus errors
46 =1 sbit CAN_error_pin0 = P5^3;
47 =1 sbit CAN_error_pin1 = P5^4;
48 =1 sbit CAN_error_pin2 = P5^5;
49 =1
50 =1
51 =1 // ------ TLights_B.C ----------------------------------------------
52 =1
53 =1 sbit Red_light = (P4^0);
54 =1 sbit Amber_light = (P4^1);
55 =1 sbit Green_light = (P4^2);
56 =1
57 =1
58 =1 // ------ LED_Flas.C -----------------------------------------------
59 =1
60 =1 // Connect LED from +5V (etc) to this pin, via appropriate resistor
61 =1 // [see Chapter 7 for details]
62 =1 sbit LED_pin = P4^3;
63 =1
64 =1
65 =1 /*------------------------------------------------------------------*-
66 =1 ---- END OF FILE -------------------------------------------------
67 =1 -*------------------------------------------------------------------*/
68 =1
69 =1
70 =1
26 #include "LED_flas.h"
1 =1 /*------------------------------------------------------------------*-
2 =1
3 =1 LED_flas.H (v1.00)
4 =1
5 =1 ------------------------------------------------------------------
6 =1
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 8
7 =1 - See LED_flas.C for details.
8 =1
9 =1
10 =1 COPYRIGHT
11 =1 ---------
12 =1
13 =1 This code is from the book:
14 =1
15 =1 PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont
16 =1 [Pearson Education, 2001; ISBN: 0-201-33138-1].
17 =1
18 =1 This code is copyright (c) 2001 by Michael J. Pont.
19 =1
20 =1 See book for copyright details and other information.
21 =1
22 =1 -*------------------------------------------------------------------*/
23 =1
24 =1 // ------ Public function prototypes -------------------------------
25 =1
26 =1 void LED_Flash_Init(void);
27 =1 void LED_Flash_Update(void);
28 =1
29 =1 /*------------------------------------------------------------------*-
30 =1 ---- END OF FILE -------------------------------------------------
31 =1 -*------------------------------------------------------------------*/
27
28 // ------ Private variable definitions -----------------------------
29
30 static bit LED_state_G;
31
32 /*------------------------------------------------------------------*-
33
34 LED_Flash_Init()
35
36 - See below.
37
38 -*------------------------------------------------------------------*/
39 void LED_Flash_Init(void)
40 {
41 1 LED_state_G = 0;
42 1 }
43
44
45 /*------------------------------------------------------------------*-
46
47 LED_Flash_Update()
48
49 Flashes an LED (or pulses a buzzer, etc) on a specified port pin.
50
51 Must schedule at twice the required flash rate: thus, for 1 Hz
52 flash (on for 0.5 seconds, off for 0.5 seconds) must schedule
53 at 2 Hz.
54
55 -*------------------------------------------------------------------*/
56 void LED_Flash_Update(void)
57 {
58 1 // Change the LED from OFF to ON (or vice versa)
59 1 if (LED_state_G == 1)
60 1 {
61 2 LED_state_G = 0;
62 2 LED_pin = 0;
63 2 }
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 9
64 1 else
65 1 {
66 2 LED_state_G = 1;
67 2 LED_pin = 1;
68 2 }
69 1 }
70
71 /*------------------------------------------------------------------*-
72 ---- END OF FILE -------------------------------------------------
73 -*------------------------------------------------------------------*/
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 10
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION LED_Flash_Init (BEGIN)
; SOURCE LINE # 39
; SOURCE LINE # 40
; SOURCE LINE # 41
0000 C200 R CLR LED_state_G
; SOURCE LINE # 42
0002 22 RET
; FUNCTION LED_Flash_Init (END)
; FUNCTION LED_Flash_Update (BEGIN)
; SOURCE LINE # 56
; SOURCE LINE # 57
; SOURCE LINE # 59
0000 300005 R JNB LED_state_G,?C0002
; SOURCE LINE # 60
; SOURCE LINE # 61
0003 C200 R CLR LED_state_G
; SOURCE LINE # 62
0005 C2EB CLR LED_pin
; SOURCE LINE # 63
0007 22 RET
0008 ?C0002:
; SOURCE LINE # 65
; SOURCE LINE # 66
0008 D200 R SETB LED_state_G
; SOURCE LINE # 67
000A D2EB SETB LED_pin
; SOURCE LINE # 68
; SOURCE LINE # 69
000C ?C0004:
000C 22 RET
; FUNCTION LED_Flash_Update (END)
C51 COMPILER V7.06 LED_FLAS 12/25/2007 19:33:31 PAGE 11
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
LED_pin. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00EBH 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
LED_state_G. . . . . . . . . . . . . . STATIC DATA BIT 0000H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
P5 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00F8H 1
tLong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
tByte. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
IEN0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
tWord. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
ADCON0 . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D8H 1
LED_Flash_Init . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
LED_Flash_Update . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
IRCON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 16 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -