📄 yibiao1.lst
字号:
*** WARNING C258 IN LINE 243 OF D:\COMM_D\YIBIAO1.C: 'num2': mspace on parameter ignored
244 void xs_key_buf(unsigned char num);
245 unsigned char menu_1();
246 unsigned char menu_2();
247 //char send(unsigned char len,unsigned char xdata *pt);
248 //char receive(unsigned char len);
249 //void send_k_msg();
250 void gettime();/*读时钟*/
251 void settime();/*写时钟*/
252 void huakuang(unsigned char hang,unsigned char num,unsigned char lie_ge);/*在液晶上画框*/
253 void xs_time();
254 unsigned char password(bit aa); /*aa=0 员工密码 aa=1 用户密码*/
255 unsigned char pass_card();
256 void jycz(uchar xdata js,uchar xdata yuanyong);/*加油操作 num---升数或者金额 js----(0:升数,1:金额)*/
*** WARNING C258 IN LINE 256 OF D:\COMM_D\YIBIAO1.C: 'js': mspace on parameter ignored
*** WARNING C258 IN LINE 256 OF D:\COMM_D\YIBIAO1.C: 'yuanyong': mspace on parameter ignored
257 uchar pd_xian();/*判断用户卡的限制*/
258 void change_time();/*修改时间*/
259 /*成交记录*/
260 void trade_record(uchar xdata type);/*type:记录类型*/
*** WARNING C258 IN LINE 260 OF D:\COMM_D\YIBIAO1.C: 'type': mspace on parameter ignored
261 void cuorse(uchar xdata cu);/*进程条控制*/
*** WARNING C258 IN LINE 261 OF D:\COMM_D\YIBIAO1.C: 'cu': mspace on parameter ignored
262 /**********************************通讯函数**************************************/
263 void main_comm();/*通讯主子程序*/
264 void common();/*处理PC对加油机的普通查询命令*/
265 void sq_download();/*申请下载各种文件*/
266 void download_file();/*下载各种文件*/
267 void send_record(uchar xdata *sr,uint xdata send_num);/*形成发送记录*/
*** WARNING C258 IN LINE 267 OF D:\COMM_D\YIBIAO1.C: 'send_num': mspace on parameter ignored
268 unsigned int get_CRC(unsigned char xdata *buffer,unsigned char length);
269 void downloatd_to_at45d021();/*处理PC机发送下载数据命令,并把数据存入FLASH*/
270 void search_black();/*黑卡验证*/
271 void search_white();/*白卡验证*/
272 /********************************************************************************/
273 /*FLASH 读写*/ /*pa----->页 0-2048 ba------>页中的偏移量 0-263*/
274 void flash_cs_1(uint xdata p_cs);
*** WARNING C258 IN LINE 274 OF D:\COMM_D\YIBIAO1.C: 'p_cs': mspace on parameter ignored
275 void flash_cs_0(uint xdata p_cs);
*** WARNING C258 IN LINE 275 OF D:\COMM_D\YIBIAO1.C: 'p_cs': mspace on parameter ignored
276 char at45d021_so(void);
277 void at45d021_si(unsigned char abyte);
278 void at45d021_cmd(char cmd,uint pa,uint ba);
279 void at45d021_xxx(unsigned charn);
280 char at45d021_rb(uint pa,uint ba);
281 char at45d021_wb(unsigned char dat,uint pa,uint ba);
282 uint at45d021_wr(char xdata *wrbuf,uint size,uint pa,uint ba);
283 uint at45d021_rd(char xdata *rdbuf,uint size,uint pa,uint ba);
284 /**********************************通讯变量**************************************/
285 unsigned char xdata rxd_buf[300]; // 数据接收缓冲区
286 unsigned char xdata txd_buf[300]; // 数据发送缓冲区
287 unsigned char xdata comm_status; /* 串口通信状态标志
288 0:空闲
289 1:收到通信头(0xfa),进入通信接收状态
290 2:收到有效数据长度(2字节)
291 3:接收完毕,等待处理
C51 COMPILER V6.02 YIBIAO1 06/21/2002 13:04:11 PAGE 6
292 4:发送状态 */
293 unsigned char xdata comm_ptr; // 串口通信缓冲区指针
294 unsigned char xdata ver[10];/*加油机的各种版本号
295 0-1:基础黑名单版本号
296 2:新增黑名单版本号
297 3:新删黑名单版本号
298 4:白名单版本号
299 5:油品油价版本号
300 6:加油站通用信息版本号
301 */
302 unsigned char xdata ver_change=0;/*PC机和加油机不同的状态变量
303 0:无变化
304 1:基础黑名单版本号不同
305 2:新增黑名单版本号不同
306 4:新删黑名单版本号不同
307 8:白名单版本号不同
308 16:油品油价版本号不同
309 32:加油站通用信息版本号不同
310 */
311 unsigned char xdata now_download_ver=0;/*正在下载版本好的状态变量
312 0:无下载
313 1:下载基础黑名单
314 2:下载新增黑名单
315 3:下载新删黑名单
316 4:下载白名单
317 5:下载油品油价
318 6:下载加油站通用信息
319 */
320 unsigned char xdata txd_num=0x40;/*桢号*/
321 union{
322 ulong len_long;
323 uchar len_char[4];
324 }xdata download_file_len,now_file_len;/*记录下载数据的总长度*/
325 unsigned char xdata start_download=0;/*接收到长度,开始下载*/
326 union{
327 uint seg_int;
328 uchar seg_char[2];
329 }s_offset;/*下载数据是的段便移*/
330 unsigned char xdata flag_seg_ok=1;/*判断申请的数据是否已经下载0--未下载,1--已下载*/
331 unsigned char xdata search_result=0xff;/*查找黑名单结果
332 0xff:正在查找
333 0:黑卡
334 1:不是黑卡*/
335 /********************************************************************************/
336 unsigned char xdata key_buf[20];
337 unsigned char xdata ygmm[2];/*员工密码*/
338 unsigned char xdata ygkmm[6]={0x11,0x22,0x33,0x00,0x00,0x00};/*员工卡密码*/
339 unsigned char xdata yhmm[2];/*用户密码*/
340 unsigned char xdata ygh;/*员工号*/
341 unsigned char xdata je[4]={0x0,0x0,0x00,0x11};/*油票余额*/
342
343 /*定义卡的外部RAM*/
344 unsigned char xdata gray_state_data[0x1e]; //
345 unsigned char xdata balance[0x04]; //
346 unsigned char xdata terminal[0x06]; //
347 unsigned char xdata psam_pse_inf[0x19]; ///**/
348 unsigned char xdata use_pse_inf[0x1e]; //
349 unsigned char xdata init_gray_inf[0x0f]; //
350 unsigned char xdata gray_lock_time[0x07]; //
351 unsigned char xdata gray_mac1[0x0c]; //
352 unsigned char xdata gray_mac2[0x08]; //
353 unsigned char xdata gray_amn[0x04]; // 解扣时的交易金额
C51 COMPILER V6.02 YIBIAO1 06/21/2002 13:04:11 PAGE 7
354 unsigned char xdata gmac[0x08]; //
355 unsigned char xdata tac[0x08]; //
356 unsigned char xdata pin_dat[0x08]; // 1字节口令长度 + 2..6字节口令
357 unsigned char xdata use_0016_file[0x29]; //
358 unsigned char xdata use_001b_file[0x20]; //
359 unsigned char xdata use_001c_file[0x60]; //
360 unsigned char xdata use_0018_file[0x17]; //
361 unsigned char xdata psam_0015_file[0x0f]; //
362 unsigned char xdata use_list_file[0x12]; //
363 unsigned char xdata use_sel_adf_name[0x12]; // 用户选择的名字
364 unsigned char xdata t_mac[4]; //
365 unsigned char xdata check_gray_list[24]; // asn10+bal4+amn3+ctc2+ds1+gmac4
366 //unsigned char xdata data_count; //
367 //unsigned char xdata unit_2s; // 2秒计时器
368 /*************************************************************/
369 //98967F
370 uint xdata je_xs[9];/*余额*/
371 //bit ygsb;/*员工是否上班 1---上班 0----下班*/
372 unsigned char xdata key_buf_p;/*键盘缓冲区指针*/
373 unsigned char xdata key;
374 //unsigned char xdata send_buf[100];
375 unsigned char xdata second=0,minutes=0,hour=0,week=0,day=0,month=0,year=0;
376 unsigned char xdata second1=0,minutes1=0,hour1=0,week1=0,day1=0,month1=0,year1=0;
377 unsigned int xdata cursor_num=0;
378 //bit cursor_f=0;
379 //unsigned char xdata cursor_lie=0;
380 unsigned char xdata in_password_n=0;
381 unsigned char xdata now_time[4];
382 unsigned char xdata card_time[4];
383 bit card_in_out=0;/*判断卡是否插入 1-->插入,2-->弹出*/
384 ulong xdata POS_TTC;/*终端交易序号,每笔交易自动加一*/
385 unsigned char xdata card_err_state;
386 bit dian_f=0;
387 unsigned char xdata kk=0;/*小数点后的位数*/
388 main()
389 {
390 1 /*********主程序开始**********/
391 1
392 1 bit debug=0;
393 1 char xdata *p;
394 1 unsigned char xdata dey,pd=0,i;
395 1 ZK_CS=1;
396 1 XBYTE[0xc007]=1;
397 1 // day=at45d021_wb(0x21,0,0);
398 1 dey=at45d021_wr(yi_1,256,1024,0);
*** WARNING C259 IN LINE 398 OF D:\COMM_D\YIBIAO1.C: 'parameter': pointer: different mspace
399 1 at45d021_rd(p,256,0,0);
400 1 dey=at45d021_wb(25,1,0);
401 1
402 1 dey=at45d021_rb(1,4);
403 1 dey=at45d021_rb(1,5);
404 1 /* minutes=0x3;
405 1 hour=0x14;
406 1 week=0x05;
407 1 day=0x10;
408 1 month=0x05;
409 1 year=0x02;
410 1 settime();*/
411 1
412 1 IE=0x98; // 开中断,允许串口中断、定时器1中断
413 1 RCAP2H=0xff; // 定时器2置初值,作为串口0的波特率发生器,波特率9600
414 1 RCAP2L=0xd1;
C51 COMPILER V6.02 YIBIAO1 06/21/2002 13:04:11 PAGE 8
415 1 TH2=0xff;
416 1 TL2=0xd1;
417 1 T2CON=0x34; // 启动定时器2作为串口0的接收、发送时钟波特率发生器
418 1 SCON=0xd0; // 串口0工作在模式3,允许接收
419 1 init();
420 1 init_xs();/*初始花屏*/
421 1 xs_hs();
422 1 /*xs_hhz(0,0,XTCSH1);
423 1 xs_hhz(2,0,XTCSH2);
424 1 huakuang(6,8,0);
425 1 cuorse(10);
426 1 dl(500);
427 1 cuorse(40);
428 1 dl(600);
429 1 cuorse(90);
430 1 dl(500);
431 1 cuorse(123);
432 1 clear();
433 1 xs_hhz(0,0,XTZJ1);
434 1 xs_hhz(2,0,XTZJ2);
435 1 huakuang(6,8,0);
436 1 cuorse(10);
437 1 dl(500);
438 1 cuorse(40);
439 1 dl(600);
440 1 cuorse(90);
441 1 dl(500);
442 1 cuorse(123);
443 1 clear();
444 1 xs_hhz(0,0,XTLW1);
445 1 xs_hhz(2,0,XTLW2);
446 1 huakuang(6,8,0);
447 1 cuorse(10);
448 1 dl(500);
449 1 cuorse(40);
450 1 dl(600);
451 1 cuorse(90);
452 1 dl(500);
453 1 cuorse(123);*/
454 1 clear();
455 1 //jycz(123,1,0);
456 1 //menu_2();
457 1 huakuang(6,8,0);
458 1 xs_time();
459 1 //change_time();
460 1 start:
461 1 clear();
462 1 pd=0;/*记录密码验证的次数*/
463 1
464 1 xs_hhz(0,40,JYS);
465 1 xs_hhz(2,0,FR);
466 1 xs_hhz(4,16,ICK);
467 1
468 1 //huakuang(3,4,6);
469 1 while(1)
470 1 {
471 2 key=getkey();
472 2 if ((XBYTE[0xc010]&0x04)==0x00)
473 2 {
474 3 card_err_state=use_reset(); /*插卡后,用户卡复位*/
475 3 card_err_state=read_use_list(1);/*读第一条记录*/
476 3 for(i=0;i<12;i++)
C51 COMPILER V6.02 YIBIAO1 06/21/2002 13:04:11 PAGE 9
477 3 {
478 4 use_sel_adf_name[i]=use_list_file[i+4];
479 4 }
480 3 card_err_state=select_pse();/*选择应用*/
481 3 now_time[0]=0x20;
482 3 now_time[1]=year;
483 3 now_time[2]=month;
484 3 now_time[3]=day;
485 3 card_time[0]=use_pse_inf[24];
486 3 card_time[1]=use_pse_inf[25];
487 3 card_time[2]=use_pse_inf[26];
488 3 card_time[3]=use_pse_inf[27];
489 3 //判断卡是否过期
490 3 /* if (!strcomp(now_time,card_time,4))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -