📄 tenms.lst
字号:
C51 COMPILER V6.02 TENMS 09/28/2006 21:46:50 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE TENMS
OBJECT MODULE PLACED IN F:\LAIWORK\GB_ASC\TENMS.OBJ
COMPILER INVOKED BY: c:\COMP51V6\C51.EXE F:\LAIWORK\GB_ASC\TENMS.C DB SB OE LARGE
stmt level source
1 #include <tenms.h>
2 void judge_lamp_error() using 1
3 {
4 1 // if((drive_no_lamp&last_drive_no_lamp)!=last_drive_no_lamp){
5 1 if((drive_no_lamp^last_drive_no_lamp)!=0) {
6 2 if(start_counter>=3){
7 3 error_type=0x02;
8 3 save_to_error();
9 3 }
10 2 }
11 1 // if((no_drive_lamp&last_no_drive_lamp)!=last_drive_no_lamp){
12 1 if((no_drive_lamp^last_no_drive_lamp)!=0){
13 2 if(start_counter>=3){
14 3 error_type=0x03;
15 3 save_to_error();
16 3 }
17 2 }
18 1 last_drive_no_lamp=drive_no_lamp;
19 1 last_no_drive_lamp=no_drive_lamp;
20 1 }
21 /*****************************************************************************************************/
22 // 定时器0中断
23 /*****************************************************************************************************/
24 void timer0_ms() interrupt 1 using 1
25 {
26 1 TH0=-(18432/256); /*9216 10毫秒定时*/
27 1 TL0=-(18432%256);
28 1 WatchDog = !WatchDog;
29 1 XBYTE[0XC083]=0X8b; //CPU板内8255设置,绿灯电源为输出,遥控为输入
30 1 XBYTE[0XC080]=0X81; //输出绿灯电源
31 1 lei++;
32 1 if(lei>50)
33 1 {
34 2 lei = 0;
35 2 FrontLed = !FrontLed;
36 2 }
37 1 read_state();
38 1 far_detect();
39 1 lei++;
40 1 lei--;
41 1 IP=0X10;
42 1
43 1 }
44 /*****************************************************************************************************/
45 // 输出灯组检测函数
46 /*****************************************************************************************************/
47 void read_state(void) using 1
48 {
49 1 uint lod;
50 1 uchar i;
51 1 g_load1=0;
52 1 y_load1=0;
53 1 r_load1=0;
54 1 g_load2=0;
55 1 y_load2=0;
C51 COMPILER V6.02 TENMS 09/28/2006 21:46:50 PAGE 2
56 1 r_load2=0;
57 1 gl_read=XBYTE[0XC200]; //绿灯1-8 /*实际信息,来自硬件端口*/
58 1 yl_read=XBYTE[0XC201]; //黄灯1-8
59 1 rl_read=XBYTE[0XC202]; //红灯1-8
60 1 gh_read=XBYTE[0XC280]; //绿灯9-16
61 1 yh_read=XBYTE[0XC281]; //黄灯9-16
62 1 rh_read=XBYTE[0XC282]; //红灯9-16
63 1
64 1 g_read=gh_read*256+gl_read; /*16位分别代表16个灯组的绿灯情况*/
65 1 y_read=yh_read*256+yl_read; /*16位分别代表16个灯组的黄灯情况*/
66 1 r_read=rh_read*256+rl_read; /*16位分别代表16个灯组的红灯情况*/
67 1
68 1 g_out=greenh*256+greenl; /*16位分别代表16个灯组的绿灯程序输出情况*/
69 1 y_out=yelh*256+yell; /*16位分别代表16个灯组的黄灯程序输出情况*/
70 1 r_out=redh*256+redl; /*16位分别代表16个灯组的红灯程序输出情况*/
71 1
72 1
73 1 for(i=0;i<16;i++){
74 2 lod=0x0001;
75 2 lod=(lod<<i);
76 2 if(((g_out&lod)==lod)&&((g_read&lod)!=lod)) //灯组有输出,但状态回读时该灯并没有被点亮
77 2 {if(gtemp1[i]>=10)gtemp1[i]=10; //故障计数
78 3 else gtemp1[i]++;
79 3 }else gtemp1[i]=0;
80 2 if(((y_out&lod)==lod)&&((y_read&lod)!=lod))
81 2 {if(ytemp1[i]>=10)ytemp1[i]=10;
82 3 else ytemp1[i]++;
83 3 }else ytemp1[i]=0;
84 2 if(((r_out&lod)==lod)&&((r_read&lod)!=lod))
85 2 {if(rtemp1[i]>=10)rtemp1[i]=10;
86 3 else rtemp1[i]++;
87 3 }else rtemp1[i]=0;
88 2 if(((g_read&lod)==lod)&&((g_out&lod)!=lod))
89 2 {if(gtemp2[i]>=10)gtemp2[i]=10;
90 3 else gtemp2[i]++;
91 3 }else gtemp2[i]=0;
92 2 if(((y_read&lod)==lod)&&((y_out&lod)!=lod))
93 2 {if(ytemp2[i]>=10)ytemp2[i]=10;
94 3 else ytemp2[i]++;
95 3 }else ytemp2[i]=0;
96 2 if(((r_read&lod)==lod)&&((r_out&lod)!=lod))
97 2 {if(rtemp2[i]>=10)rtemp2[i]=10;
98 3 else rtemp2[i]++;
99 3 }else rtemp2[i]=0;
100 2 }
101 1 for(i=0;i<16;i++){
102 2 if(gtemp1[i]==10)g_load1=(g_load1|(0x0001<<i));
103 2 if(ytemp1[i]==10)y_load1=(y_load1|(0x0001<<i));
104 2 if(rtemp1[i]==10)r_load1=(r_load1|(0x0001<<i));
105 2 if(gtemp2[i]==10)g_load2=(g_load2|(0x0001<<i));
106 2 if(ytemp2[i]==10)y_load2=(y_load2|(0x0001<<i));
107 2 if(rtemp2[i]==10)r_load2=(r_load2|(0x0001<<i));
108 2 }
109 1 // drive_no_lamp=g_load1|y_load1|r_load1; //驱而不亮的灯组
110 1 // no_drive_lamp=g_load2|y_load2|r_load2; //不驱而亮的灯组
111 1
112 1 }
113 judge_lamp() using 1
114 {
115 1 drive_no_lamp=g_load1|y_load1|r_load1; //驱而不亮的灯组
116 1 no_drive_lamp=g_load2|y_load2|r_load2; //不驱而亮的灯组
117 1
C51 COMPILER V6.02 TENMS 09/28/2006 21:46:50 PAGE 3
118 1
119 1 }
C51 COMPILER V6.02 TENMS 09/28/2006 21:46:50 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
last_no_drive_lamp . . . . . . . . . . PUBLIC XDATA U_INT 0000H 2
last_drive_no_lamp . . . . . . . . . . PUBLIC XDATA U_INT 0002H 2
greenl . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
save_to_error. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
timer0_ms. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
WatchDog . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
start_counter. . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
far_detect . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
g_load1. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0004H 2
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
g_load2. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0006H 2
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
judge_lamp . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
g_out. . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0008H 2
read_state . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
lod. . . . . . . . . . . . . . . . . AUTO XDATA U_INT 0000H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 000DH 1
FrontLed . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
redh . . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
g_error1 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 000AH 2
r_load1. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 000CH 2
g_error2 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 000EH 2
r_load2. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0010H 2
redl . . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
r_out. . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0012H 2
judge_lamp_error . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
y_load1. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0014H 2
y_load2. . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0016H 2
r_error1 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0018H 2
r_error2 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 001AH 2
y_out. . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 001CH 2
yelh . . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
yell . . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
y_error1 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 001EH 2
y_error2 . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0020H 2
lei. . . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0022H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
ing. . . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0023H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
C51 COMPILER V6.02 TENMS 09/28/2006 21:46:50 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
gh_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0024H 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
gtemp1 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0025H 16
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
error_type . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
gl_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0035H 1
gtemp2 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0036H 16
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
rh_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0046H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
rtemp1 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0047H 16
rl_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0057H 1
rtemp2 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0058H 16
yh_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0068H 1
ytemp1 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0069H 16
yl_read. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0079H 1
ytemp2 . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 007AH 16
g_read . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 008AH 2
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
no_drive_lamp. . . . . . . . . . . . . PUBLIC XDATA U_INT 008CH 2
drive_no_lamp. . . . . . . . . . . . . PUBLIC XDATA U_INT 008EH 2
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
r_read . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0090H 2
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
y_read . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0092H 2
greenh . . . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1347 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 148 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -