📄 display.lst
字号:
C51 COMPILER V6.12 DISPLAY 06/02/2005 08:50:15 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN .\DISPLAY.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\DISPLAY.C DEBUG OBJECTEXTEND
stmt level source
1 #include "public.h"
2
3 void insel_lamp(void)
4 {
5 1 if(m_cInSelAllOffFlg==1){
6 2 m_cInSelLamp[0]=0x00;
7 2 m_cInSelLamp[1]=0x00;
8 2 m_cInSelLamp[2]=0x00;
9 2 m_cInSelAllOffFlg=0;
10 2 }
11 1 //!!!24层以上的内选灯应该适用灯数组后3个字节
12 1 // XBYTE[((P2&0x60)|0x94)*256]=m_cInSelLamp[0];
13 1 // XBYTE[((P2&0x60)|0x95)*256]=m_cInSelLamp[1];
14 1 // XBYTE[((P2&0x60)|0x96)*256]=m_cInSelLamp[2];
15 1 XBYTE[((P2&0x60)|0x94)*256]=m_cInSelLamp[3];
16 1 XBYTE[((P2&0x60)|0x95)*256]=m_cInSelLamp[4];
17 1 XBYTE[((P2&0x60)|0x96)*256]=m_cInSelLamp[5];
18 1 P2=(P2&0x60)|0x9f;
19 1 }
20
21 void advancedoutput(void)
22 {
23 1 uchar cTemp=0;
24 1 //超载灯
25 1 if(m_cOverLoadLampFlg==1){
26 2 P2_6=1;
27 2 }else if(m_cOverLoadLampFlg==0){
28 2 P2_6=0;
29 2 }
30 1 //到站钟
31 1 if(m_cArriveRingFlg==1){
32 2 P2_5=1;
33 2 }else if(m_cArriveRingFlg==0){ //(实际上,不可能执行到)
34 2
35 2 }
36 1 if(/*(m_cArriveRingFlg==1)&&*/(time_arrive2s_flg==1)){ //到站钟保持时间到
37 2 P2_5=0;
38 2 m_cArriveRingFlg=0;
39 2 time_arrive2s_flg=0;
40 2 time_arrive2s_count=TIMER_2s;
41 2 }
42 1
43 1 //蜂鸣器(间隔2秒,响一次)
44 1 cTemp=P1_1;
45 1 if(m_cBingFlg==1){
46 2 P1_1=1;
47 2 }else if(m_cBingFlg==0){ //确保停止响铃
48 2
49 2 }
50 1 if(time_bing2s_flg==1){
51 2 time_bing2s_flg=0;
52 2 time_bing2s_count=TIMER_2s;
53 2 m_cBingFlg=0;
54 2 P1_1=0;
55 2 }
C51 COMPILER V6.12 DISPLAY 06/02/2005 08:50:15 PAGE 2
56 1 }
57
58
59 void chkcan(void) //can总线正在通讯状态和通讯错误状态显示灯赋值片断。
60 {
61 1 if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x80)==0x80) //总线状态为关闭时
62 1 {P3_1=0;
63 2 /*
64 2 P2_7=0;
65 2 _nop_();
66 2 _nop_();
67 2 _nop_();
68 2 _nop_();
69 2 _nop_();
70 2 _nop_();
71 2 _nop_();
72 2 _nop_();
73 2 _nop_();
74 2 _nop_();
75 2 _nop_();
76 2 _nop_();
77 2
78 2 P2_7=1;
79 2 */
80 2 can_init();
81 2 }
82 1 if((XBYTE[((P2&0xe0)|0x0F)*256]&0x01)!=0x00) //总线状态为复位时
83 1 {P3_1=0;
84 2 /*
85 2 P2_7=0;
86 2 _nop_();
87 2 _nop_();
88 2 _nop_();
89 2 _nop_();
90 2 _nop_();
91 2 _nop_();
92 2 _nop_();
93 2 _nop_();
94 2 _nop_();
95 2 _nop_();
96 2 _nop_();
97 2 _nop_();
98 2
99 2 P2_7=1;
100 2 */
101 2 can_init();
102 2 }
103 1 if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x40)==0x40) //错误寄存器为1时
104 1 {P3_1=0;
105 2 /*
106 2 P2_7=0;
107 2 _nop_();
108 2 _nop_();
109 2 _nop_();
110 2 _nop_();
111 2 _nop_();
112 2 _nop_();
113 2 _nop_();
114 2 _nop_();
115 2 _nop_();
116 2 _nop_();
117 2 _nop_();
C51 COMPILER V6.12 DISPLAY 06/02/2005 08:50:15 PAGE 3
118 2 _nop_();
119 2
120 2 P2_7=1;
121 2 */
122 2 can_init();
123 2 }
124 1 else
125 1 {P3_1=1;
126 2 }
127 1
128 1 if((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x02)==0x02){ //数据溢出
129 2 P3_1=0;
130 2 /*
131 2 P2_7=0;
132 2 _nop_();
133 2 _nop_();
134 2 _nop_();
135 2 _nop_();
136 2 _nop_();
137 2 _nop_();
138 2 _nop_();
139 2 _nop_();
140 2 _nop_();
141 2 _nop_();
142 2 _nop_();
143 2 _nop_();
144 2
145 2 P2_7=1;
146 2 */
147 2 can_init();
148 2 }
149 1
150 1 if(((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x20)==0x20)||((XBYTE[((P2&0xe0)|0x0F)*256+2]&0x10)==0x10))//正在发送
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -