📄 di.lst
字号:
C51 COMPILER V6.23a DI 12/04/2004 15:35:26 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE DI
OBJECT MODULE PLACED IN di.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE di.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "c8051f040.h"
2 #include "can.h"
3 #include "stdio.h"
4
5
6 //-----------------------------------------------------------------------------
7 // GLOBAL CONSTANTS
8 //-----------------------------------------------------------------------------
9
10 //-----------------------------------------------------------------------------
11 // Functions
12 //-----------------------------------------------------------------------------
13 void SYSCLK_Init (void);
14 void PORT_Init (void);
15 void INT_Init (void);
16 void CAN_Init (void);
17 void CAN_Transmit_Init (void);
18 void CAN_Receive_Init (void);
19 void CAN_Transmit (void);
20 void CAN_Receive_Interrupt (void);
21 void Get_DO_Address (void);
22
23 //-----------------------------------------------------------------------------
24 // Global Variables
25 //-----------------------------------------------------------------------------
26 sbit CANLED = P6^0; //CANLED 0 MEANS ON
27 unsigned char DO_Address;
28
29 //-----------------------------------------------------------------------------
30 // Main Routine
31 //-----------------------------------------------------------------------------
32 void main ()
33 {
34 1 unsigned int i;
35 1 EA = 0;
36 1
37 1 WDTCN = 0xDE; //Disable Watchdog Timer
38 1 WDTCN = 0xAD;
39 1
40 1 EA = 0;
41 1
42 1 SYSCLK_Init ();
43 1 PORT_Init ();
44 1 INT_Init ();
45 1
46 1 Get_DO_Address ();
47 1 CAN_Init ();
48 1 CAN_Transmit_Init ();
49 1 CAN_Receive_Init ();
50 1
51 1 Timer_Init ();
*** WARNING C206 IN LINE 51 OF DI.C: 'Timer_Init': missing function-prototype
52 1
53 1 EA = 1;
54 1
C51 COMPILER V6.23a DI 12/04/2004 15:35:26 PAGE 2
55 1 while (1) {
56 2 for (i=0; i<36000; i++);
57 2 }
58 1 }
59
60 //-----------------------------------------------------------------------------
61 // GET_DO_Address
62 //-----------------------------------------------------------------------------
63 void Get_DO_Address (void) {
64 1 DO_Address = 0x01;
65 1 }
66
67 //-----------------------------------------------------------------------------
68 // CAN_Receive_Interrupt
69 //-----------------------------------------------------------------------------
70 void CAN_Receive_Interrupt (void) interrupt 19 {
71 1 unsigned char temp1, temp2;
72 1 SFRPAGE = CAN0_PAGE;
73 1 CAN0ADR = IF2CMDMSK;
74 1 CAN0DATL = 0x7F;
75 1 CAN0ADR = IF2CMDRQST;
76 1 CAN0DATL = 0x02;
77 1 CAN0ADR = IF2DATA1;
78 1 temp1 = CAN0DATH;
79 1 temp2 = CAN0DATL;
80 1 if (((temp2 == (0x10 | (DO_Address & 0x0F))) && (temp1 == 0x0F))) {
81 2 CAN_Transmit ();
82 2 }
83 1 }
84
85 //-----------------------------------------------------------------------------
86 // CAN_Transmit
87 //-----------------------------------------------------------------------------
88 void CAN_Transmit (void) {
89 1 SFRPAGE = CAN0_PAGE;
90 1 CAN0ADR = IF1CMDMSK;
91 1 CAN0DATL = 0x8E; //IF1CMDMSK
92 1 CAN0ADR = IF1DATA1;
93 1 CAN0DATH = (0x01 | (DO_Address & 0x0F));
94 1 CAN0DATL = 0x0F;
95 1 //CAN0DATH = DIH;
96 1 //CAN0DATL = DIL; //DATA A
97 1 CAN0ADR = IF1CMDRQST;
98 1 CAN0DATL = 0x01;
99 1 }
100
101
102
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 217 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -