?? main.lst
字號:
C51 COMPILER V7.01 MAIN 12/21/2003 15:17:23 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN D:\522\ST520CODE\MAIN.OBJ
COMPILER INVOKED BY: D:\WAVE6000\KEIL\C51\BIN\C51.EXE D:\522\ST520CODE\MAIN.C DB SB OE
stmt level source
1 //#pragma src
2
3 #include <reg52.h> //
4 #include <regusre.h>
5 #include <value.h> //肖桂平
6 #include <tab.h> //共用字庫表
7 #include <v_static.h> //陳建偉
8 //#include <show.h> //杜建中
9 //#include <control.c> //杜建中
10 void startwd(void);
11 #define high 1;
12 #define low 0;
13
14
15 /*---------------------------------- 主程序及主程序初始化開始 -------------------------------------*
-/
16 void main()
17 {
18 1 /*-------------主程序初始化------------*/
19 1 unsigned char idata * data a;
20 1 uchar tempb;
21 1 uchar xdata * idata addr_xa;
22 1 // uchar tempp,tempp1;
23 1 IE=0x1a; /*中斷允許*/
24 1 TMOD=0x21; /*堆棧設置*/
25 1 TCON&=0x00; /*定時器0工作模式設置,工作于重新裝入常數的16位定時器*/
26 1 T2CON=0x00; /*定時器2工作模式設置,工作于自動重新裝入常數的16位定時
-器*/
27 1 T2MOD=0x00;
28 1 TL0=reload_low0;
29 1 TH0=reload_high0; /*定時器溢出值設定,定時時間為1ms*/
30 1 TL2=reload_low2;
31 1 TH2=reload_high2;
32 1 AUXR|=0x0c;
33 1 //WDTPRG=0; //for debug
34 1 //WDTRST=0x1e;
35 1 //WDTRST=0xe1;
36 1
37 1
38 1 //dis_number=CMOD;
39 1
40 1 //通訊初始化子程序
41 1 TMOD|=0x20; //設定T1為定時模式2
42 1 ET1=0; //關閉T1中斷使能
43 1 TH1=0xfd; //預置定時器初值f5,波特率9.6k
44 1 TL1=0xfd;
45 1 TR1=1; //起動定時器T1
46 1 PCON|=0x80; //波特率加倍
47 1 SCON=0x50; //串口工作在方式1,并且接收使能
48 1 IE|=0x10; //使能串口中斷
49 1 //通訊初始化結束
50 1 /*通訊初始化*/
51 1 P0=P2=0x0ff;
52 1 P1=P1&0xf8;
53 1 P3=P3|0x04;
C51 COMPILER V7.01 MAIN 12/21/2003 15:17:23 PAGE 2
54 1 IE=IE|0x80; /*開中斷*/
55 1
56 1
57 1 TR0=1;
58 1 TR2=1;
59 1
60 1 P1=P1|0x38;
61 1 P3=P3&0x37;
62 1
63 1 LEDStart = 0;
64 1 LEDAlarm = 0;
65 1 LEDStop = 0;
66 1 LEDFault = 0;
67 1 LEDRun = 0;
68 1 lcdinit();
69 1 clr_fullscreen(); /*LCD顯示初始化*/
70 1
71 1 for (a=ram_data_start;a<255;a++) /*內存初始化*/
72 1 {tempb=1;*a=0x00;
73 2 tempb=*a;}
74 1 for(addr_xa=0x0;addr_xa<1024;addr_xa++)
75 1 *addr_xa=0;
76 1 alone_user=1; //單機模式=1
77 1 mode_judge=1; //工作模式未判決
78 1 menu_program(); //刷新位置1 nnn
79 1 // remote_build_count=0; //通訊建立計數
80 1 remote_build(); //調用通訊建立程序
81 1 //init_remote
82 1
83 1 key_scan=1;
84 1
85 1 old_dis_number=38;
86 1 dis_number=38;
87 1 first_enter=0;
88 1 fault_first_enter=0;
89 1 TripLogState=0;
90 1
91 1 p25=1;
92 1 LcdDelay=1;
93 1 LcdTime=0;
94 1
95 1
96 1 // power_init();
97 1
98 1 /*-------------主程序初始化結束-- ----------*/
99 1
100 1 while(1)
101 1 {
102 2 if(ms20s==1)
103 2 {
104 3 ms20s=0;
105 3 if(alone_user==1)//單機模式定時檢查設備連接
106 3 {remote_build();}
107 3 if(program_state)
108 3 {
109 4 CLK=0;
110 4 if(s05s==1)
111 4 {
112 5 s05s=0;
113 5 clr_fullscreen();
114 5 lcdwrite_chineseN(2,40,3,bianchen);
115 5 }
C51 COMPILER V7.01 MAIN 12/21/2003 15:17:23 PAGE 3
116 4 program_state=0;
117 4 }
118 3 else
119 3 {
120 4 control();
121 4 if(WaitTime>200)
122 4 {
123 5 WaitTime=0;
124 5 //GetState();
125 5 OperateStateCheck();
126 5
127 5 }
128 4
129 4 key_check();
130 4 if(key==0x07)
131 4 {
132 5 if(SuperUser==0)
133 5 {
134 6 SuperUser=1;
135 6 key=0;
136 6 }
137 5 else
138 5 {
139 6 SuperUser=0;
140 6 key=0;
141 6 }
142 5 }
143 4 if(key==0x01||key==0x02||key==0x04||key==0x08||key==0x06)
144 4 {
145 5 display();
146 5 key=0x00;
147 5 display();
148 5
149 5 }
150 4 else
151 4 {
152 5
153 5 if(s05s==1)
154 5 {
155 6 s05s=0;
156 6 LEDFault^=PLEDFault;
157 6 display();
158 6 //p25^=1;
159 6 if((LcdDelay)&&(LcdTime<0xf0))
160 6 {p25=1;LcdTime++;}
161 6 else
162 6 {
163 7 p25=0;
164 7 LcdDelay=0;
165 7 LcdTime=0;
166 7 }
167 6
168 6 }
169 5 }
170 4 }
171 3 }
172 2 }
173 1
174 1
175 1
176 1
177 1
C51 COMPILER V7.01 MAIN 12/21/2003 15:17:23 PAGE 4
178 1 }
179
180
181
182 /*---------------------------------- 主程序及主程序初始化結束 -------------------------------------*
-/
183
184 /*--------------------------------------- 界面顯示程序開始 ----------------------------------------*
-/
185 void display()
186 {
187 1
188 1 switch(dis_number)
189 1 {
190 2
191 2 //----------djz--------------
192 2 case 0:stop_show();break;
193 2 case 3: motor_run_show();break;
194 2 case 8: power_run_show();break;
195 2 case 10: Stopped_Reason();break; //(上次)停車原因
196 2 case 11: Stopping_display();break; //正在停車(斷開)
197 2
198 2 case 12:
199 2 case 13:
200 2 case 14:
201 2 case 15:
202 2 case 16:
203 2 case 17:
204 2 case 18:
205 2 case 19:
206 2 case 20:
207 2 case 21:
208 2 case 22:
209 2 case 23:
210 2 case 24:
211 2 case 25:
212 2 case 26:
213 2 case 27:
214 2 case 28:
215 2 case 29:
216 2 case 30:
217 2 case 188:
218 2 case 189:
219 2 case 190:
220 2 case 191:
221 2 case 192:
222 2 case 193:
223 2 case 194:
224 2 case 195:
225 2 OperationControl();
226 2 break;
227 2 case 32: ComunicationFault();
228 2 break;
229 2 case 33:
230 2 menu_main_control();
231 2 break;
232 2 case 34:
233 2 case 35:
234 2 case 36:
235 2 case 37: menu_measure();
236 2 break;
237 2 case 38: menu_program();
C51 COMPILER V7.01 MAIN 12/21/2003 15:17:23 PAGE 5
238 2 break;
239 2 case 53:
240 2 case 52:
241 2 case 51:
242 2 case 49:
243 2 case 46:
244 2 case 43:
245 2 case 41:
246 2 case 39:
247 2 case 187: //debug
248 2 menu_adjust();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -