⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yibiao1.c

📁 这是我在我们公司做的C51加油单片机程序
💻 C
📖 第 1 页 / 共 5 页
字号:
#pragma large
//#include "reg52.h"
#include <intrins.h>
#include <absacc.h>
#include <string.h>
#include <ctype.h>
#include <comm.H>
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned char uchar;
/*液晶控制申明*/
#define     E           XBYTE[0xc002]
#define     RW          XBYTE[0xc003]
#define     RS          XBYTE[0xc004]
#define     CS1         XBYTE[0xc000]
#define     CS2         XBYTE[0xc001]
#define     KEY_CLK     XBYTE[0xc005]
#define     KEY_SDA     XBYTE[0xc006]
#define     DIRECTION	XBYTE[0xc013]	// 数据传送方向控制寄存器,最低位控制方向,发送:1,接收:0
#define     USE_RESET	XBYTE[0xc014]	//=0:复位
#define     USE_CLK_EA	XBYTE[0xc00F]	//=1:开
#define     IO_SEL 	XBYTE[0xc012]	//=0:USE; 1:PSAM1; 2:PSAM2; 3:PSAM3; 4:OIL
#define     USE_POWER	XBYTE[0xc00E]	//=0:复位
#define     PSAM1_RESET	XBYTE[0xc015]	//=1:开
#define     DOG_BIT 	XBYTE[0xc009]	//=1:开
#define     CARD_POP 	XBYTE[0xc008]	//弹卡
#define     FLASH_WP    P10 /*写控制*/
#define     FLASH_RB    P11 /*FLASH忙检测*/
#define     FLASH_CLK   P12 /*时钟信号*/
#define     FLASH_DI    P13 /*数据输入*/
#define     FLASH_DO    P14 /*数据输出*/
#define     FLASH_CS1   P15 /*FLASH 1 选择*/
#define     FLASH_CS2   P16 /*FLASH 2 选择*/
/*时钟控制申明*/
#define     TIME_CLK   XBYTE[0xc00B]
#define     TIME_SDA   P17
#define     TIME_WR   XBYTE[0xc00D]
#define     TIME_CE   XBYTE[0xc00C]
#define     ZK_CS     P34
/*函数说明*/
uint code JYWC[]={0xBCD3,0xD3CD,0xCDEA,0xB3C9,0xA3A1,0};/*加油完成!*/
uint code DJ[]={0xB5A5,0xBCDB,0xA3BA,0};/*单价:*/
uint code DQJYL[]={0xB5B1,0xC7B0,0xC1BF,0xA3BA,0};/*当前量:*/
uint code YZL[]={0xD4A4,0xD6C3,0xC1BF,0xA3BA,0};/*预置量:*/
uint code HYHG[]={0xBBB6,0xD3AD,0xBBDD,0xB9CB,0};/*欢迎惠顾*/
uint code XTCSH1[]={0xCFB5,0xCDB3,0xB3F5,0xCABC,0xBBAF,0xA3AC,0xC7EB,0xC9D4,0}; /*系统初始化,请稍侯*/
uint code XTCSH2[]={0xBAEE,0xA1A3,0xA1A3,0xA1A3,0};
uint code XTZJ1[]={0xCFB5,0xCDB3,0xD7D4,0xBCEC,0xA3AC,0xC7EB,0xC9D4,0xBAEE,0};/*系统自检,请稍侯*/
uint code XTZJ2[]={0xA1A3,0xA1A3,0xA1A3,0};
uint code XTLW1[]={0xCFB5,0xCDB3,0xC1AA,0xCDF8,0xA3AC,0xC7EB,0xC9D4,0xBAEE,0};/*系统联网,请稍侯*/
uint code XTLW2[]={0xA1A3,0xA1A3,0xA1A3,0};
uint code GN_1[]={0xC9E8,0xD6C3,0xB1BE,0xB5D8,0xCAB1,0xBCE4,0};/*设置本地时间*/
uint code GN_2[]={0xD0B4,0xC3DC,0xB6C8,0};/*写密度*/
uint code GN_3[]={0xD0B4,0xCCE1,0xC7B0,0xB9D8,0xB7A7,0xC1BF,0};/*写提前关阀量*/
uint code GN_4[]={0xD0B4,0xB5A5,0xBCDB,0};/*写单价*/
uint code GN_5[]={0xB6C1,0xB5A5,0xBCDB,0};/*读单价*/
uint code GN_6[]={0xB6C1,0xCCE1,0xC7B0,0xB9D8,0xB7A7,0xC1BF,0};/*读提前关阀量*/
uint code GN_7[]={0xB6C1,0xC3DC,0xB6C8,0};/*读密度*/
uint code GN_8[]={0xB6C1,0xB0E0,0xC0DB,0};/*读班累*/
uint code GN_9[]={0xB6C1,0xBDF0,0xB6EE,0xB0E0,0xC0DB,0};/*读金额班累*/
uint code GN_10[]={0xB6C1,0xBCD3,0xD3CD,0xC1BF,0xD7DC,0xC0DB,0};/*读加油量总累*/
uint code GN_11[]={0xB6C1,0xBDF0,0xB6EE,0xD7DC,0xC0DB,0};/*读金额总累*/

uint code GN_12[]={0xB2E9,0xCBB0,0xBFD8,0xC3F7,0xCFB8,0};/*查税控明细*/
uint code GN_13[]={0xB2E9,0xCBB0,0xBFD8,0xC8D5,0xD6BE,0};/*查税控日志*/
uint code GN_14[]={0xB2E9,0xCBB0,0xBFD8,0xD4C2,0xC0DB,0xBCC6,0};/*查税控月累计*/
uint code GN_15[]={0xC9E8,0xD6C3,0xCBB0,0xBFD8,0xCAB1,0xD6D3,0};/*设置税控时钟*/
uint code GN_16[]={0xCBB0,0xBFD8,0xBCEC,0xB6A8,0xC8B7,0xC8CF,0};/*税控检定确认*/
uint code GN_17[]={0xB2E9,0xCBB0,0xBFD8,0xCAB1,0xD6D3,0};/*查税控时钟*/
uint code GN_18[]={0xB2E9,0xCBB0,0xBFD8,0xD7DC,0xC0DB,0xBCC6,0};/*查税控总累计*/

uint code SRYHKMM[]={0xCAE4,0xC8EB,0xD3C3,0xBBA7,0xBFA8,0xC3DC,0xC2EB,0xA3BA,0};/*输入用户卡密码:*/
uint code JRYY[]={0xA3B3,0xA3AD,0xBDF0,0xC8DA,0xD3A6,0xD3C3,0};/*金融应用*/
uint code JFYY[]={0xA3B2,0xA3AD,0xBBFD,0xB7D6,0xD3A6,0xD3C3,0};/*积分应用*/
uint code DZYP[]={0xA3B1,0xA3AD,0xB5E7,0xD7D3,0xD3CD,0xC6B1,0};/*电子油票*/
uint code SRYHMM[]={0xCAE4,0xC8EB,0xD3C3,0xBBA7,0xC3DC,0xC2EB,0xA3BA,0};/*输入用户密码:*/
uint code XB[]={0xCFC2,0xB0E0,0xA3BF,0};/*下班?*/
uint code FJYK[]={0xB7C7,0xBCD3,0xD3CD,0xBFA8,0};/*非加油卡*/
uint code YGK[]={0xD4B1,0xB9A4,0xBFA8,0};/*员工卡*/
uint code YGH1[]={0xD4B1,0xB9A4,0xBAC5,0};/*员工号*/
uint code QCRICK[]={0xC7EB,0xB2E5,0xC8EB,0xA3C9,0xA3C3,0xBFA8,0};/*请插入IC卡*/
uint code YPJY[]={0xD3CD,0xC6B1,0xBCD3,0xD3CD,0};/*油票加油*/
uint code TYPZ[]={0xCCE1,0xD3CD,0xC6BE,0xD6A4,0};/*提油凭证*/
uint code YHK[]={0xD2F8,0xD0D0,0xBFA8,0};/*银行卡*/
uint code QT1[]={0xC6E4,0xCBFC,0xD2BB,0};/*其它一*/
uint code QT2[]={0xC6E4,0xCBFC,0xB6FE,0};/*其它二*/
uint code XJJY[]={0xCFD6,0xBDF0,0xBCD3,0xD3CD,0};/*现金加油*/
uint code JYFS1[]={0xB7BD,0xCABD,0};/*方式:*/
uint code ARYJJX[]={0xB0B4,0xC8CE,0xD2E2,0xBCFC,0xBCCC,0xD0F8,0};/*按任意键继续*/
uint code KYGQ[]={0xD2D1,0xB9FD,0xC6DA,0xBFA8,0xA3A1,0};/*已过期卡*/
uint code QSRSS[]={0xC7EB,0xCAE4,0xC8EB,0xC9FD,0xCAFD,0xA3BA,0};/*请输入升数:*/
uint code QSRJE[]={0xC7EB,0xCAE4,0xC8EB,0xBDF0,0xB6EE,0xA3BA,0};/*请输入金额*/
uint code NXZDS[]={0xC4FA,0xD1A1,0xD4F1,0xB5C4,0xCAC7,0xA3BA,0};/*您选择的是*/
uint code QXZJYFS[]={0xC7EB,0xD1A1,0xD4F1,0xBCD3,0xD3CD,0xB7BD,0xCABD,0};/*请选择加油方式*/
uint code CHDS1[]={0xC3DC,0xC2EB,0xC8FD,0xB4CE,0xB4ED,0xCEF3,0xA3AC,0xBFA8,0};
uint code CHDS2[]={0xD2D1,0xCBF8,0xD7A1,0xA3AC,0xC7EB,0xBDE2,0xCBF8,0xA3A1,0};
/*密码三次错误,卡已锁住,请解锁!*/
uint code FYGK[]={0xB7C7,0xD4B1,0xB9A4,0xBFA8,0xA3A1,0};/*非员工卡!*/
uint code JYS[]={0xBDAD,0xD2F5,0xCAD0,0};/*江阴市*/
uint code MMZQ[]={0xC3DC,0xC2EB,0xD5FD,0xC8B7,0xA3A1,0};/*密码正确!*/
uint code FR[]={0xB8BB,0xC8CA,0xB8DF,0xBFC6,0xD3D0,0xCFDE,0xB9AB,0xCBBE,0};/*富仁高科有限公司*/
uint code ICK[]={0xA3C9,0xA3C3,0xBFA8,0xBCD3,0xD3CD,0xBBFA,0};/*IC卡加油机*/
uint code SRYGKMM[]={0xCAE4,0xC8EB,0xD4B1,0xB9A4,0xBFA8,0xC3DC,0xC2EB,0xA3BA,0};/*输入员工卡密码*/
uint code ZAXZBMD[]={0xD5FD,0xD4DA,0xD1E9,0xD6A4,0xB0D7,0xC3FB,0xB5A5,0};/*正在查找白名单*/
uint code ZAXZHMD[]={0xD5FD,0xD4DA,0xD1E9,0xD6A4,0xBADA,0xC3FB,0xB5A5,0};/*正在查找黑名单*/
uint code QSD[]={0xC7EB,0xC9D4,0xB5C8,0xA3AE,0xA3AE,0xA3AE,0};/*请稍等。。。*/
uint code MMCWQCS[]={0xc3dc,0xc2eb,0xb4ed,0xcef3,0xc7eb,0xd6d8,0xcae4,0xa3ba,0};
/*密码错误请从输C3 DC C2 EB B4 ED CE F3-C7 EB B4 D3 CA E4 A3 BA*/
uint code DL[]={0xb6a8,0xc1bf,0xbcd3,0xd3cd,0};/*定量B6 A8 C1 BF*/
uint code DJE[]={0xb6a8,0xb6ee,0xbcd3,0xd3cd,0};/*定金额B6 A8 BD F0-B6 EE*/
uint code SY[]={0xcbe6,0xd2e2,0xbcd3,0xd3cd,0};/*随意CB E6 D2 E2*/
uint code JYJXB[]={0xbcd3,0xd3cd,0xbbfa,0xcfc2,0xb0e0,0};/*加油机下班BC D3 D3 CD BB FA CF C2-B0 E0*/
uint code JYJSB[]={0xbcd3,0xd3cd,0xbbfa,0xc9cf,0xb0e0,0};/*加油机下班BC D3 D3 CD BB FA CF C2-B0 E0*/
uint code SFZDXB[]={0xcac7,0xb7f1,0xd5e6,0xb5c4,0xcfc2,0xb0e0,0xc2f0,0xa3bf,0};
/*是否真的下班吗?CA C7 B7 F1 D5 E6 B5 C4-CF C2 B0 E0 C2 F0 A3 BF*/
uint code SBDR[]={0xc9cf,0xb0e0,0xb5c7,0xc8eb,0};/*上班登入C9 CF B0 E0 B5 C7 C8 EB*/
uint code QSRYGMM[]={0xC7EB, 0xCAE4 ,0xC8EB, 0xD4B1, 0xB9A4, 0xC3DC, 0xC2EB, 0xA3BA,0};/*请输入员工密码*/
/*C7 EB CA E4 C8 EB D4 B1-B9 A4 C3 DC C2 EB A3 BA*/
uint code YPYE[]={0xB5E7,0xD7D3,0xD3CD,0xC6B1,0xD3E0,0xB6EE,0xA3BA,0};/*邮票余额:*/
uint code JFYE[]={0xBBFD,0xB7D6,0xD3E0,0xB6EE,0xA3BA,0};/*积分余额:*/
uint code XH[]={0xa3aa,0};/***/
uint code yuan[]={0xD4AA,0};/*元*/
uint code sheng[]={0xC9FD,0};/*升*/
uint code jf_dian[]={0xB5E3,0};/*点*/
uint code jian_xia[]={0x00,0x00,0x00,0x00,0x08,0x38,0xf8,0xf8,0xf8,0xf8,0xf8,0x38,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,};/*尖头*/
uint code jian_shang[]={0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xe0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x10,0x1c,0x1f,0x1f,0x1f,0x1f,0x1f,0x1c,0x10,0x00,0x00,0x00,0x00,
}; /*尖头*/
uint code SHUZI[12]={0xA3B0,0xA3B1,0xA3B2,0xA3B3,0xA3B4,0xA3B5,0xA3B6,0xA3B7,0xA3B8,0xA3B9,0xD4AA,0xa3ae};/*数字+元*/
unsigned char code yi_1[96]={
                        0x00,0x00,0x3e,0x41,0x41,0x3e,0x00,0x00,
                        0x00,0x00,0x00,0x42,0x7f,0x40,0x00,0x00,
			0x00,0x00,0x62,0x51,0x49,0x46,0x00,0x00,
			0x00,0x00,0x22,0x49,0x49,0x36,0x00,0x00,
			0x00,0x00,0x18,0x14,0x12,0x7f,0x10,0x00,
			0x00,0x00,0x27,0x45,0x45,0x39,0x00,0x00,
			0x00,0x00,0x3e,0x49,0x49,0x49,0x30,0x00,
			0x00,0x00,0x01,0x79,0x07,0x01,0x00,0x00,
			0x00,0x00,0x36,0x49,0x49,0x36,0x00,0x00,
			0x00,0x00,0x06,0x49,0x49,0x3e,0x00,0x00,
                        0,0,0,0x24,0,0,0,0,
                        0,0,0,96,96,0,0,0,
		     };
unsigned char code clr[8]={0,0,0,0,0,0,0,0};
unsigned char code ff[8]={0,0,0xff,0xff,0xff,0xff,0,0};
unsigned char code xin[8]={72,48,252,48,72,0,0,0};
unsigned char code hs[]={0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,
                         0x70,0x30,0xb8,0xc8,0xec,0xf4,0xf8,0xfc,
                         0xfc,0xfc,0xfc,0xfc,0xf8,0xf0,0xf0,0xc0,
                         0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                         0x00,0x80,0xf0,0xfc,0xff,0xff,0xff,0xf8,
                         0xf0,0xf0,0xe1,0xe3,0xe7,0xe7,0xc7,0xc7,
                         0x0f,0x0f,0x9f,0xff,0xff,0xff,0xff,0xff,
                         0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
                         0x00,0x1f,0xff,0xff,0xff,0xff,0x7f,0x0f,
                         0x07,0x9f,0xcf,0x01,0x00,0xf3,0xf9,0xfc,
                         0xfe,0xff,0xff,0xff,0xff,0xff,0x3f,0x1f,
                         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                         0x00,0x00,0x00,0x03,0x01,0x06,0x0f,0x00,
                         0x00,0x1f,0x1f,0x00,0x00,0x1f,0x0f,0x0f,
                         0x07,0x07,0x03,0x03,0x01,0x00,0x00,0x00,
                         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                         };
unsigned char code fr1[]={0x00,0x00,0x00,0x00,0xc0,0xe0,0xf0,0xf0,
                         0xf8,0xfc,0xfc,0xfc,0xfe,0xfe,0xfe,0xfe,
                         0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xfc,0xf8,
                         0xf0,0xe0,0xc0,0x00,0x00,0x00,0x00,0x00,
                         0x00,0xe0,0xfc,0xff,0xff,0xff,0xff,0xff,
                         0xff,0xff,0xff,0xff,0xff,0x3f,0x1f,0x0f,
                         0x03,0x03,0x01,0x01,0x01,0x01,0x01,0x01,
                         0x01,0x01,0x81,0xc1,0xe1,0xf8,0xe0,0x00,
                         0x00,0x07,0x3f,0xfc,0x02,0x00,0xc0,0x61,
                         0x17,0x0f,0xc7,0x21,0x18,0x0c,0x02,0x02,
                         0x01,0x01,0x01,0x01,0x81,0xc1,0xe1,0xf9,
                         0xfd,0xff,0xff,0xff,0xff,0x3f,0x07,0x00,
                         0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x0c,
                         0x06,0x01,0x38,0x3c,0x3e,0x7f,0x7f,0x7f,
                         0x7f,0x7f,0x7f,0x3f,0x3f,0x3f,0x1f,0x1f,
                         0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00,
                         };
/*卡操作函数*/
unsigned char xdata data_count;        //
unsigned char xdata unit_2s;	// 2秒计时器

unsigned char sendcard();
unsigned char sendcard1();
unsigned char sendcard2();
unsigned char getcard_data();
unsigned char use_reset();
unsigned char select_pse();  //adf 的名字放在use_sel_adf_name[0]..use_sel_adf_name[0x0b]
unsigned char ver_pin();/*需要用户输入卡密码验证*/
unsigned char get_lock_state();/*取绘状态*/
unsigned char get_balance();/*读余额*/
unsigned char psam1_reset();
unsigned char rd_terminal();
unsigned char select_psam_pse();
unsigned char clr_gray_tag();
unsigned char use_lock();
unsigned char use_unlock();
unsigned char ver_pin1();  /*默认卡密码*/
unsigned char read_use_0016_file();
unsigned char read_use_001b_file();
unsigned char read_use_001c_file();
unsigned char read_use_0018_file(unsigned char recorder_id);
unsigned char read_psam_0015_file();
unsigned char off_use_unlock();
unsigned char gray_test();
unsigned char get_t_mac(unsigned char data_len);// 数据放在send_buf[5+8]..send_buf[data_len+4+8]
unsigned char read_use_list(unsigned char recorder_id);
void dog();
void init();
void de100u();
void de30ms();
/***************************************************/
bit yhkjycz_1(uchar xdata ffs);/*用户卡加油操作*/
bit yhkjycz();/*用户卡加油操作*/
bit ygkjycz(unsigned char jy_num);/*员工卡加油操作*/
void select_menu(unsigned char select_num);
void out_card();
void dl(uint xdata t);
void xscs1();
void xscs2();
void write_control(unsigned char con);
void write_data(unsigned char d);
unsigned char read_data();
void init_xs();
void clr_hang(unsigned char hang);
void clear();
void xs_zi(unsigned char hh,unsigned char ll,uint p);
void xs_zi_1(unsigned char hh,unsigned char ll,uint *p);
unsigned char getkey();
uint dw_zk(uint qw);
void dlu();
void key_dlu();
void xs_hs();/*hs*/
void xs_hhz(unsigned char hh,unsigned char ll, uint *p);
void xs_shu(unsigned char hh,unsigned char ll,unsigned char *p);
bit strcomp(unsigned char *p1,unsigned char *p2,unsigned char num);/*字符串比较*/
void astobcd(unsigned char n);/*变成压缩BCD码*/
ulong astohex();/*变成HEX*/
void jezh1();/*油票余额转换*/
void jezh2(ulong xdata num1,uchar xdata num2);/*显示单价,当前量,预置量*/
void xs_key_buf(unsigned char num);
unsigned char menu_1();
unsigned char menu_2();
//char send(unsigned char len,unsigned char xdata *pt);
//char receive(unsigned char len);
//void send_k_msg();
void gettime();/*读时钟*/
void settime();/*写时钟*/
void huakuang(unsigned char hang,unsigned char num,unsigned char lie_ge);/*在液晶上画框*/
void xs_time();
unsigned char password(bit aa); /*aa=0 员工密码  aa=1 用户密码*/
unsigned char pass_card();
void jycz(uchar xdata js,uchar xdata yuanyong);/*加油操作 num---升数或者金额  js----(0:升数,1:金额)*/
uchar pd_xian();/*判断用户卡的限制*/
void change_time();/*修改时间*/
/*成交记录*/
void trade_record(uchar xdata type);/*type:记录类型*/
void cuorse(uchar xdata cu);/*进程条控制*/
/**********************************通讯函数**************************************/
void main_comm();/*通讯主子程序*/
void common();/*处理PC对加油机的普通查询命令*/
void sq_download();/*申请下载各种文件*/
void download_file();/*下载各种文件*/
void send_record(uchar xdata *sr,uint xdata send_num);/*形成发送记录*/
unsigned int get_CRC(unsigned char xdata *buffer,unsigned char length);
void downloatd_to_at45d021();/*处理PC机发送下载数据命令,并把数据存入FLASH*/
void search_black();/*黑卡验证*/
void search_white();/*白卡验证*/
/********************************************************************************/
/*FLASH 读写*/ /*pa----->页 0-2048  ba------>页中的偏移量 0-263*/
void flash_cs_1(uint xdata p_cs);
void flash_cs_0(uint xdata p_cs);
char at45d021_so(void);
void at45d021_si(unsigned char abyte);
void at45d021_cmd(char cmd,uint pa,uint ba);
void at45d021_xxx(unsigned charn);
char at45d021_rb(uint pa,uint ba);
char at45d021_wb(unsigned char dat,uint pa,uint ba);
uint at45d021_wr(char xdata *wrbuf,uint size,uint pa,uint ba);
uint at45d021_rd(char xdata *rdbuf,uint size,uint pa,uint ba);
/**********************************通讯变量**************************************/
unsigned char xdata	rxd_buf[300];	// 数据接收缓冲区
unsigned char xdata	txd_buf[300];	// 数据发送缓冲区
unsigned char xdata	comm_status;	/* 串口通信状态标志
					   0:空闲
					   1:收到通信头(0xfa),进入通信接收状态
					   2:收到有效数据长度(2字节)
					   3:接收完毕,等待处理
					   4:发送状态 */
unsigned char xdata	comm_ptr;	// 串口通信缓冲区指针
unsigned char xdata     ver[10];/*加油机的各种版本号
                                0-1:基础黑名单版本号
                                2:新增黑名单版本号
                                3:新删黑名单版本号
                                4:白名单版本号
                                5:油品油价版本号
                                6:加油站通用信息版本号
                                */
unsigned char xdata      ver_change=0;/*PC机和加油机不同的状态变量
                                      0:无变化
                                      1:基础黑名单版本号不同
                                      2:新增黑名单版本号不同
                                      4:新删黑名单版本号不同
                                      8:白名单版本号不同
                                      16:油品油价版本号不同
                                      32:加油站通用信息版本号不同
                                      */
unsigned char xdata      now_download_ver=0;/*正在下载版本好的状态变量
                                      0:无下载
                                      1:下载基础黑名单
                                      2:下载新增黑名单
                                      3:下载新删黑名单
                                      4:下载白名单
                                      5:下载油品油价
                                      6:下载加油站通用信息
                                      */
unsigned char xdata      txd_num=0x40;/*桢号*/
union{
        ulong len_long;
        uchar len_char[4];
     }xdata download_file_len,now_file_len;/*记录下载数据的总长度*/
unsigned char xdata start_download=0;/*接收到长度,开始下载*/
union{
        uint seg_int;
        uchar seg_char[2];
     }s_offset;/*下载数据是的段便移*/
unsigned char xdata flag_seg_ok=1;/*判断申请的数据是否已经下载0--未下载,1--已下载*/
unsigned char xdata search_result=0xff;/*查找黑名单结果
                                           0xff:正在查找
                                           0:黑卡
                                           1:不是黑卡*/
/********************************************************************************/
unsigned char xdata key_buf[20];
unsigned char xdata ygmm[2];/*员工密码*/
unsigned char xdata ygkmm[6]={0x11,0x22,0x33,0x00,0x00,0x00};/*员工卡密码*/
unsigned char xdata yhmm[2];/*用户密码*/
unsigned char xdata ygh;/*员工号*/
unsigned char xdata je[4]={0x0,0x0,0x00,0x11};/*油票余额*/

/*定义卡的外部RAM*/
unsigned char xdata	gray_state_data[0x1e];	//
unsigned char xdata	balance[0x04];	//
unsigned char xdata	terminal[0x06];	//
unsigned char xdata	psam_pse_inf[0x19];	///**/
unsigned char xdata	use_pse_inf[0x1e];	//
unsigned char xdata	init_gray_inf[0x0f];	//
unsigned char xdata	gray_lock_time[0x07];	//
unsigned char xdata	gray_mac1[0x0c];	//
unsigned char xdata	gray_mac2[0x08];	//
unsigned char xdata	gray_amn[0x04];	//   解扣时的交易金额
unsigned char xdata	gmac[0x08];	//
unsigned char xdata	tac[0x08];	//
unsigned char xdata	pin_dat[0x08];	// 1字节口令长度 + 2..6字节口令
unsigned char xdata	use_0016_file[0x29];	//
unsigned char xdata	use_001b_file[0x20];	//
unsigned char xdata	use_001c_file[0x60];	//
unsigned char xdata	use_0018_file[0x17];	//
unsigned char xdata	psam_0015_file[0x0f];	//
unsigned char xdata	use_list_file[0x12];	//
unsigned char xdata	use_sel_adf_name[0x12];	//  用户选择的名字
unsigned char xdata	t_mac[4];	//
unsigned char xdata	check_gray_list[24];	//   asn10+bal4+amn3+ctc2+ds1+gmac4
//unsigned char xdata data_count;        //
//unsigned char xdata unit_2s;	// 2秒计时器
/*************************************************************/
//98967F
uint xdata je_xs[9];/*余额*/
//bit ygsb;/*员工是否上班 1---上班  0----下班*/
unsigned char  xdata key_buf_p;/*键盘缓冲区指针*/
unsigned char xdata key;
//unsigned char xdata send_buf[100];
unsigned char xdata second=0,minutes=0,hour=0,week=0,day=0,month=0,year=0;
unsigned char xdata second1=0,minutes1=0,hour1=0,week1=0,day1=0,month1=0,year1=0;
unsigned int xdata cursor_num=0;
//bit cursor_f=0;
//unsigned char xdata cursor_lie=0;
unsigned char xdata in_password_n=0;
unsigned char xdata now_time[4];
unsigned char xdata card_time[4];
bit card_in_out=0;/*判断卡是否插入 1-->插入,2-->弹出*/
ulong xdata POS_TTC;/*终端交易序号,每笔交易自动加一*/
unsigned char xdata card_err_state;
bit dian_f=0;
unsigned char xdata kk=0;/*小数点后的位数*/
main()
{
 /*********主程序开始**********/

    bit debug=0;
    char xdata *p;
    unsigned char xdata dey,pd=0,i;
   ZK_CS=1;
   XBYTE[0xc007]=1;
  // day=at45d021_wb(0x21,0,0);
        dey=at45d021_wr(yi_1,256,1024,0);
        at45d021_rd(p,256,0,0);
        dey=at45d021_wb(25,1,0);

        dey=at45d021_rb(1,4);
        dey=at45d021_rb(1,5);
 /* minutes=0x3;
  hour=0x14;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -