📄 can_main.lst
字号:
C51 COMPILER V6.12 CAN_MAIN 11/24/2006 12:29:25 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE CAN_MAIN
OBJECT MODULE PLACED IN .\CAN_MAIN.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE .\CAN_MAIN.c DEBUG OBJECTEXTEND SRC(.\CAN_MAIN.SRC)
stmt level source
1 #include <reg51.h>
2 #include <head.h>
3 #include <out.h>
4 my_flag1 my_flag;
5 unsigned char buf[13];
6 unsigned char a;
7 unsigned char tuf[13];
8 CAN_INI();
9
10
11 delay(unsigned char a);
12
13
14 main()
15 {unsigned char i;
16 1 for (i=0;i<13;i++)
17 1 {buf[i]=0x0;
18 2 tuf[i]=0x0;}
19 1 delay(0x02);
20 1 SP=0x60;
21 1 P3_1=0;
22 1 my_flag.value=0x0000;
23 1 out(LED,0x20);
24 1 CAN_INI();
25 1 PX0=1;
26 1 EX0=1;
27 1 EA=1;
28 1 while(1)
29 1 {if (my_flag.flags.REC_REMOTE_FRAME)
30 2 {
31 3 my_flag.flags.REC_REMOTE_FRAME=0;
32 3 REC_REMOTE();
33 3 }
34 2 if(my_flag.flags.REC_DATA_FRAME)
35 2 {my_flag.flags.REC_DATA_FRAME=0;
36 3 REC_DATA();
37 3 }
38 2 if(my_flag.flags.ERR_FLAG)
39 2 {
40 3 my_flag.flags.ERR_FLAG=0;
41 3 ERR();
42 3 }
43 2 if(my_flag.flags.BERR_FLAG)
44 2 {my_flag.flags.BERR_FLAG=0;
45 3 BERR();
46 3 }
47 2 if(tuf[5]!=readdata())
48 2 {tuf[5]=readdata();
49 3 tuf[0]=0x01;
50 3 tuf[1]=0x00;
51 3 tuf[2]=0x02;
52 3 TDATA();
53 3 out(LED,tuf[5]);
54 3 }
55 2
C51 COMPILER V6.12 CAN_MAIN 11/24/2006 12:29:25 PAGE 2
56 2 //out(LED,in(SR));
57 2 }
58 1 }
59
60 CAN_INI()
61 {test();
62 1 while (in(BTR0)^0x00)
63 1 {out(BTR0,0x00);
64 2 out(LED,0x80);}
65 1 while (in(BTR1)^0x36)
66 1 {out(BTR1,0x36);
67 2 out(LED,0x90);}
68 1 while (in(CDR)^0xC7)
69 1 {out(CDR,0xC7);
70 2 out(LED,0x50);}
71 1 while (in(OCR)^0xAA)
72 1 {out(OCR,0xAA);
73 2 out(LED,0x01);}
74 1 out(RBSA,0x0);
75 1 out(TXERR,0x0);
76 1 out(RXERR,0x0);
77 1 out(ECC,0x0);
78 1 out(EWLR,0x60);
79 1 out(MODE,(in(MODE)&0xF1));
80 1 out(ACR0,0x02);
81 1 out(ACR1,0xFF);
82 1 out(ACR2,0x00);
83 1 out(ACR3,0x00);
84 1 out(LED,0x70);
85 1 out(AMR0,0xFF);
86 1 out(AMR1,0xFF);
87 1 out(AMR2,0x01);
88 1 out(AMR3,0xFF);
89 1 while (in(MODE)&0x01)
90 1 {out(MODE,(in(MODE)&0xFE));
91 2 out(LED,0x55);
92 2 }
93 1 out(IER,0x85);
94 1 }
95
96
97
98
99 SEARCH() interrupt 0
100 {
101 1 #pragma asm
102 1 CLR EA;
103 1 PUSH DPH;
104 1 PUSH DPL;
105 1 PUSH PSW;
106 1 PUSH ACC;
107 1 #pragma endasm
108 1
109 1 a=in(IR);
110 1 if(a&0x01)
111 1 {RCVDATA();
112 2
113 2 while(in(SR)&0x01)
114 2 RCVDATA();
115 2 }
116 1 else if (a&0x02)
117 1
C51 COMPILER V6.12 CAN_MAIN 11/24/2006 12:29:25 PAGE 3
118 1 my_flag.flags.ERR_FLAG=1;
119 1
120 1 else
121 1
122 1 my_flag.flags.BERR_FLAG=1;
123 1 #pragma asm
124 1 POP ACC;
125 1 POP PSW;
126 1 POP DPL;
127 1 POP DPH;
128 1 SETB EA;
129 1 #pragma endasm
130 1
131 1
132 1 }
133
134
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 625 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 29 ----
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 + -