📄 main_b.lst
字号:
180 3 }
181 2 delay_1s();
182 2 delay_1s();
183 2 initial_GLCD();
184 2 command_GLCD(0x80);
185 2 for(i=0;i<15;i++)
186 2 {
187 3 write_GLCD(hz_ts9[i]);
188 3 }
189 2 command_GLCD(0x90);
190 2 while(flag_enter==0); /*等待确认按键按下*/
191 2 input_money(); /*获取由键盘输入的购电金额*/
192 2 flag_enter=0;
193 2 flag_cnt=0;
194 2 }
195 1 N=N-M;
196 1 if(N>0) /*若余额足够多,则允许购电*/
197 1 {
198 2 buy_power();
199 2 }
200 1 else /*否则提示卡内余额不足*/
201 1 {
202 2 no_enough();
203 2 }
204 1 delay_1s();
205 1 delay_1s();
206 1 initial_GLCD();
207 1 }
208 /********************************************************************
209 函 数 名:IC_wrong()
210 功 能:提示插卡有误
211 说 明:
212 调 用:
213 入口参数:
214 出口参数:
215 ***********************************************************************/
216 void IC_wrong(void)
217 {
218 1 initial_GLCD();
219 1 command_GLCD(0x80);
220 1 for(i=0;i<12;i++)
221 1 {
222 2 write_GLCD(hz_ts7[i]);
223 2 }
224 1 command_GLCD(0x90);
225 1 for(i=0;i<14;i++)
226 1 {
227 2 write_GLCD(hz_ts8[i]);
228 2 }
229 1 delay_1s();
230 1 delay_1s();
231 1 initial_GLCD();
232 1 }
233 /********************************************************************
234 函 数 名:isr_time0()
235 功 能:定时器0中断服务子程序
236 说 明:
237 调 用:
238 入口参数:
239 出口参数:
240 ***********************************************************************/
241 void isr_time0(void) interrupt 1 using 3
C51 COMPILER V7.08 MAIN_B 09/27/2006 09:14:00 PAGE 5
242 {
243 1 TH0=0x4b;
244 1 TL0=0xff;
245 1
246 1 if(count==40)
247 1 {
248 2 count=0;
249 2 flag_count=1;
250 2 }
251 1 else
252 1 {
253 2 count++;
254 2 }
255 1 }
256 /********************************************************************
257 函 数 名:system_init()
258 功 能:初始化子程序
259 说 明:
260 调 用:
261 入口参数:
262 出口参数:
263 ***********************************************************************/
264 void system_init(void)
265 {
266 1 //TMOD=0x01;
267 1 //TH0=0x4b;
268 1 //TL0=0xff;
269 1 EX1=1;
270 1 PX1=1;
271 1 //ET0=0;
272 1 EA=1;
273 1 //TR0=1;
274 1 P1_4=1;
275 1 P1_4=0;
276 1 P1_5=1;
277 1 P1_3=1;
278 1 ch451_init();
279 1 ch451_write(0x402); /*开键盘,关看门狗、显示*/
280 1 initial_GLCD();
281 1 }
282 /********************************************************************
283 函 数 名:main()
284 功 能:主程序
285 说 明:
286 ***********************************************************************/
287 main()
288 {
289 1 system_init();
290 1 while(1)
291 1 {
292 2 read_iic_data(read_num,0,1); /*首先获取剩余电量*/
293 2 K=read_num[0];
294 2 k0=K/100;
295 2 k1=K%100/10;
296 2 k2=K%100%10;
297 2 /*while(flag_count)
298 2 {
299 2 flag_count=0;
300 2 if(K!=0)
301 2 {
302 2 K--;
303 2 read_num[0]=K;
C51 COMPILER V7.08 MAIN_B 09/27/2006 09:14:00 PAGE 6
304 2 write_iic_data(read_num,0,1);
305 2 }
306 2 }*/
307 2 if(K==0) /*若剩余电量为零则提示电量不足*/
308 2 {
309 3 command_GLCD(0x80);
310 3 for(i=0;i<14;i++)
311 3 {
312 4 write_GLCD(hz_ts1[i]);
313 4 }
314 3 }
315 2 else /*若剩余电量不为零则对剩余电量进行显示*/
316 2 {
317 3 command_GLCD(0x80);
318 3 for(i=0;i<9;i++)
319 3 {
320 4 write_GLCD(hz_ts2[i]);
321 4 }
322 3 write_GLCD(ds_num[k0]);
323 3 write_GLCD(ds_num[k1]);
324 3 write_GLCD(ds_num[k2]);
325 3 write_GLCD(hz_ts2[12]);
326 3 write_GLCD(hz_ts2[13]);
327 3 }
328 2 while(flag_enter==1) /*首次按下确认键进入购电界面*/
329 2 {
330 3 initial_GLCD();
331 3 flag_cnt=0;
332 3 flag_enter=0;
333 3 rdmm();
334 3 i=0;
335 3 while(RSTANSER[i]==RST_CODE[i]) /*判断插卡是否正确*/
336 3 {
337 4 i++;
338 4 if(i==4)
339 4 break;
340 4 }
341 3 if(i==4)
342 3 {
343 4 IC_right(); /*插卡正确则提示输入购电金额*/
344 4 }
345 3 else
346 3 {
347 4 IC_wrong(); /*否则提示插卡有误*/
348 4 }
349 3 }
350 2 }
351 1 }
352 /*-------------------------------------------------------------------*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1005 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = 157 ----
DATA SIZE = 19 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -