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

📄 sss.asm

📁 本公司高人设计的程序的头部分,很经典,原程序有2万多行
💻 ASM
📖 第 1 页 / 共 2 页
字号:
                ;1.上电后延时200ms,才开始执行程序
;2.上电时灯光亮
;V2.01:流量系数有效标志发生错误后,认为无效
;V2.02:增加上电存储器自检,凑整时发声
;V2.03:支持管理系统和IC卡,增加清除存储器的通信命令
;V2.03_CRC:累计校验为CRC16,其它同V2.03
;V2.04:上电存储器自检改为键盘操作自检,操作:设置--1234--锁,自检错误时,键盘显示错误代码,且锁机不能开机
;解锁:设置--4321--锁;错误代码:U33失效:44  01;U34失效:44  02;U8失效:44  03;
;==============================================
VERH		EQU	02H	;版本号
VERL		EQU	04H	;
;==============================================
TEST_EMV	EQU	0	;=1:测试电磁阀用
TEST_COMM	EQU	0	;=1:测试串口通信协议,不检查通信中断的时间
TEST_TANK	EQU	0	;=1:大流量制作罐表用,使用法国或开封流量计和力牌传感器
OPENLK		EQU	1	;1:OPEN CN_LOCK FOR OFFLINE
RAM_62256	EQU	1	;RAM使用62256
CLR_MEMORY	EQU	0	;清除存储器
CLR_QUOT	EQU	0	;清除系数
Mongolia	EQU	0	;蒙古使用的软件0
;==============================================
RAM_OK		EQU	55H	;存储器自检通过标志55
RAM_START_ADD	EQU	8000H	;RAM起始地址8000H
FLAG_DATA_LEN	EQU	200H	;RAM起始地址中存放各种标志和数据的数据区长度
MAX_ERR_CODE	EQU	3	;最大错误代码

JYJE_ERR_LIMIT	EQU	20H	;加油金额允许的最大误差值
	IF	RAM_62256=1
JYJY_START_ADD	EQU	RAM_START_ADD+FLAG_DATA_LEN	;加油交易成交数据存储起始地址
	ELSE
JYJY_C_LIMIT_H	EQU	01H	;加油交易成交数最大值
JYJY_C_LIMIT_L	EQU	0A0H	;
JYJY_ADD_H	EQU	86H	;加油交易成交数据存储起始地址
JYJY_ADD_L	EQU	00H	;
;IC_JYJY_ADD_H	EQU	82H	;IC卡加油交易成交数据存储起始地址
;IC_JYJY_ADD_L	EQU	00H	;
JYJY_END_ADD_H	EQU	9FH	;加油交易成交数据存储结束地址
JYJY_END_ADD_L	EQU	0F0H	;
	ENDIF

NO_DEAL		EQU	55H	;RAM中没有加油交易
TICKET_DEAL	EQU	1	;交易方式:油票
CASH_DEAL	EQU	0	;现金加油

ANTISTL_LIMIT	EQU	80H	;加油量不足0.8L即视为偷油
DLGJ_TIMER_LIMT	EQU	5AH	;定量关机计时器溢出值

MIN_PRESET	EQU	90H	;最小预置加油量0.9L

PUMP_LOCK_ST	EQU	55H	;加油机加锁
PUMP_UNLOCK_ST	EQU	00H	;加油机解锁
PUMP_KEY_LK_ST	EQU	3CH	;通过加油机键盘锁住加油机
PUMP_KEY_UNLK	EQU	0C3H	;通过加油机键盘锁住加油机
PSWD_OK		EQU	55H	;键盘密码锁机时,已输入密码
PSWD_OK1	EQU	0AAH	;键盘密码锁机时,已输入密码
OIL_LOCK_EN	EQU	0A0H	;加油后加锁/可解锁
OIL_LOCK_DIS	EQU	0AAH	;加油后加锁/不可解锁
OIL_NOT_LOCK	EQU	55H	;加油后不加锁

UNLCK_CODE_H	EQU	01H	;键盘解锁初始密码
UNLCK_CODE_L	EQU	23H

SOFT_ON		EQU	01H	;软件开机状态
SOFT_OFF	EQU	00H	;软件关机状态00H
NO_NOZZLE_ON	EQU	0FFH	;没有油枪开机

NOZZ_OFF_INIT	EQU	32H	;油枪关机计时器初始化值

PRESET_OIL	EQU	01H	;XRAM中的预置加油标志
NOT_PRESET_OIL	EQU	00H	;XRAM中的非预置加油标志00

KJLD		EQU	0AAH	;卡机联动方式
NOT_KJLD	EQU	55H	;非卡机联动方式

FREE_MODE	EQU	33H	;开放式加油
CTRL_MODE	EQU	88H	;监控式加油
WORK_MODE_OK	EQU	55H	;工作方式发送成功
WORK_MODE_ERR	EQU	66H	;工作方式发送失败
SEND_OK		EQU	55H	;命令发送成功
SEND_ERR	EQU	66H	;命令发送失败

IC_KEY_OK	EQU	0AAH	;IC卡密钥发送成功
IC_KEY_ERR	EQU	55H	;IC卡密钥发送不成功
IC_FAIL		EQU	55H	;IC卡无效


PWR_UP_MC	EQU	0AH	;上电至脉冲计数的时间延迟,10*20=200ms
TIMER_1_6S	EQU	50H	;1.6s
TIMER_2_5S	EQU	7DH	;2.5s
PWQ		EQU	12H	;-- MODIFY OF QF DET. TIME12H
;CYCCOMM	EQU	0AH	;--10ms,每10ms检查一次通信状态
CYCPUMP		EQU	14H	;--CYCLES OF 1ms FOR CHECK PUMP
				;20ms CALL	1 TIME PROGRAM COUNTER
POWER_DOWN_T	EQU	11H	;掉电计时器最大值
LK1CON		EQU	64H	;--100*20ms=2s,LOCK1开锁最大计数值
LK_COUNT	EQU	15H	;锁的输入键码
ONOFBWC		EQU	46H	;-- 20ms*70=1.4S,ONOFBW的最大值
BACKCON		EQU	37H	;-- TIME OF BACK-PULSE COUNTER关机后,后台脉冲计数时间

KEY_PRESS_INIT	EQU	14H	;按键操作计时器初始值

;	IF OPENLK = 1
FAILCONH	EQU	03H	;--    FOR CS-3300 USE,通信失败计时器最大值
FAILCONL	EQU	0E8H
;	ELSE
;FAILCONH	EQU	30	;--    FOR CS-2300 USE
;FAILCONL	EQU	250
;	ENDIF

REDIS_COUNT	EQU	5	;可以重显的加油记录数
KEY_DIS_LEN	EQU	5	;键盘显示缓冲区长度=5

SKV_COMM_OK	EQU	00H	;与SKV通信成功
SKV_COMM_ERR	EQU	55H	;与SKV通信不成功
SKV_COMM_ERR1	EQU	03H	;与SKV通信不成功
SKV_COMM_CNT	EQU	100	;一次与SKV通信向SKV发送命令的次数

CLRLKCH		EQU	0A0H	;--
CLRLKCL		EQU	00H	;--10 Mins
SERCON		EQU	50H	;--80*20ms=1.6s
CONSTH		EQU	23H	;--3min.加油未计数的最大时间
CONSTL		EQU	28H	;--
ANTIPH		EQU	3AH	;--5min.
ANTIPL		EQU	0FFH	;--
DEADCON		EQU	0

ENABLE		EQU	0AAH	;无员工上班时允许加油
DISABLE		EQU	55H	;无员工上班时不允许加油

STL_OIL		EQU	55H	;偷油锁机标志
UN_STL_OIL	EQU	00H	;
STL_OIL_LIMIT	EQU	50H	;衡量是否偷油的加油量上限
STL_COUN_LIMIT	EQU	5H	;偷油次数限制
MIN_PUL_CNT	EQU	42H	;可以显示的最小加油量的脉冲数42H

HAVOFF_NOT_OK	EQU	0BBH	;关机后待处理数据
HAVOFF_OK	EQU	0AAH	;关机数据处理完成
HAVOFF_PUMPON	EQU	55H	;处于开机状态

HAVON_OK	EQU	0AAH	;开机处理完成
HAVON_NOT_OK	EQU	55H	;未完成开机处理

CN_PRESET_OK1	EQU	55H	;CN预置成功
CN_PRESET_ERR	EQU	77H	;CN预置失败(单价错)
CN_PRESET_ERR1	EQU	88H	;CN预置失败(链号重复)
CN_PRESET_BUSY	EQU	66H	;CN预置忙(队列满)
CN_CANCEL_OK	EQU	55H	;CN预置取消成功
CN_CANCEL_BUSY	EQU	66H	;CN预置量正在加油
CN_CANCEL_ERR	EQU	77H	;CN预置取消不成功(不存在)
RECE_PARA_OK	EQU	55H	;接收参数正确
RECE_PARA_ERR	EQU	66H	;接收参数不允许(失败)
LINE_NO_MIN	EQU	1	;最小链号:1
LINE_NO_MAX	EQU	249	;最大链号:249
PUMP_LINE_NO_MIN EQU	250	;非定量加油最小链号250

WRITE		EQU	0A0H	;IIC写方式
READ		EQU	0A1H	;IIC读方式

SINGLE_NOZZLE	EQU	11H	;单枪机版
MULT_NOZZLE	EQU	22H	;多枪机版
	IF	TEST_TANK=1
QUOT_MIN_K_H	EQU	04H	;开封流量系数最小值4500
QUOT_MIN_K_M	EQU	50H
QUOT_MIN_K_L	EQU	00H
QUOT_MAX_K_H	EQU	05H	;开封流量系数最大值5500
QUOT_MAX_K_M	EQU	50H
QUOT_MAX_K_L	EQU	00H

QUOT_MIN_F_H	EQU	00H	;法国流量系数最小值400
QUOT_MIN_F_M	EQU	40H
QUOT_MIN_F_L	EQU	00H
QUOT_MAX_F_H	EQU	00H	;法国流量系数最大值800
QUOT_MAX_F_M	EQU	80H
QUOT_MAX_F_L	EQU	00H

MAX_FLUX_H	EQU	05H	;大流量下的最大流量值(每秒)
MAX_FLUX_L	EQU	50H
	ELSE
QUOT_MIN_H	EQU	00H	;流量系数最小值600
QUOT_MIN_M	EQU	60H
QUOT_MIN_L	EQU	00H
QUOT_MAX_H	EQU	01H	;流量系数最大值1750
QUOT_MAX_M	EQU	75H
QUOT_MAX_L	EQU	00H

MAX_FLUX_H	EQU	01H	;小流量下的最大流量值(每秒)
MAX_FLUX_L	EQU	50H
	ENDIF
	IF	TEST_EMV=1
ZFTQL_LIMIT	EQU	99H
FFTQL_LIMIT	EQU	20H
	ELSE
ZFTQL_LIMIT	EQU	60H	;主阀提前量上限
FFTQL_LIMIT	EQU	02H	;副阀提前量上限
	ENDIF
LLXS_OK		EQU	55H	;流量系数有效
LLXS_DEFAULT_H	EQU	01H	;流量系数默认值高字节
LLXS_DEFAULT_M	EQU	00H	;流量系数默认值高字节
LLXS_DEFAULT_L	EQU	00H	;流量系数默认值低字节
CS_30		EQU	55H	;30齿标志
CS_60		EQU	0AAH	;60齿标志
TQGJL_LIMIT_H	EQU	02H	;提前关机量上限
TQGJL_LIMIT_L	EQU	00H	;提前关机量下限
TQGJL_DEFAULT1	EQU	01H	;无阀时提前关机量默认值
TQGJL_DEFAULT0	EQU	00H	;有阀时提前关机量默认值

POWDN		EQU	55H	;掉电状态
LK_PUMP_AL_TIME	EQU	30	;偷油报警时长,30*20=60ms

MAX_COMM_LEN	EQU	23	;最大命令串有效数据长度(不含数据包头,命令字等附加信息)
HEADER1		EQU	0FEH	;大流量机同步头
PUMP_ADD_START	EQU	0B0H	;发来的命令串中的油机起始地址,对应油机号0
MAX_PUMP_ADD	EQU	20H	;最大机号(实际最大机号+1)
MAX_COMM_NO	EQU	28H	;最大命令号

HEADER		EQU	0F1H	;通信同步头
TBYTE_MAX	EQU	5	;最大字符传输间隔ms
TACK_MAX	EQU	50	;最大ACK应答时间
TFRAME_MAX	EQU	10	;帧保护时间
TMSG_MAX	EQU	100	;最大信息回应时间ms
MAX_RECE_LEN	EQU	20H	;东富IC卡通信最大接收缓冲区长度
MAX_SEND_LEN	EQU	20H	;东富IC卡通信最大发送缓冲区长度
DF_COMM_LEN_MIN	EQU	10	;东富IC卡通信最小命令长度
SF		EQU	0F5H	;东富IC卡通信起始字符
EF		EQU	0FAH	;东富IC卡通信结束字符
DLE		EQU	10H	;东富IC卡通信转义字符
ETX		EQU	03H	;东富IC卡通信文本结束字符
POL		EQU	20H	;东富IC卡通信问询命令
NAK		EQU	50H	;东富IC卡通信否认命令的高4位
EOT		EQU	70H	;东富IC卡通信信息结束命令的高4位
ACK		EQU	0C0H	;东富IC卡通信信息接收正确应答命令的高4位
MSG		EQU	30H	;东富IC卡通信信息帧命令高4位
;==============================================
SKC	        BIT	P1.0	;向税控CPU发送数据的时钟脉冲
SDA8563         BIT	P1.1
CPUSKL		BIT	P1.2
SDA2		BIT	P1.3
CPUSKH		BIT	P1.4
MOT		BIT	P1.5
N2		BIT	P1.6;   13526654966

INT0		BIT	P3.2
;SKC		BIT	P3.3
N1		BIT	P3.4
SDA1		BIT	P3.5

;==============================================
FLAG1		DATA	20H
LJXSFS0		BIT	FLAG1.0	;预置,累计显示方式位0
LJXSFS1		BIT	FLAG1.1	;预置,累计显示方式位1,00:LI;01:MN;10:KG;11:非定量
PUMP_ON_OFF	BIT	FLAG1.2	;软件开关机标志,1:开机状态
HAVEOFF		BIT	FLAG1.3	;1:HAVE CLOSE PROCESS	0:OPEN PROCESS同HAVOFF,关机处理标志
ADD_OK		BIT	FLAG1.4	;1:已接收地址码
;TIMER_10ms	BIT	FLAG1.4	;10ms定时标志,每10ms检查一次2300通信状态
DATA_IN		BIT	FLAG1.5	;1:有数字键输入
LJAJ		BIT	FLAG1.6	;按下累计键后置1
RECE_ST		BIT	FLAG1.7	;东富IC卡用,字符接收状态,1:已接收转义字符DLE
;==============================================
FLAG2		DATA	21H
RECE_OVER	BIT	FLAG2.0	;1:接收缓冲区溢出
TICKET		BIT	FLAG2.1	;1:油票方式
SEND_ST		BIT	FLAG2.2	;东富IC卡用,字符发送状态,1:已发送转义字符DLE   FLAG2.2
TIMER1_FLAG	BIT	FLAG2.3	;TIMER1中断标志,1ms
PRESET		BIT	FLAG2.4	;预置加油标志,1:有预置
DUINGON		BIT	FLAG2.5	;1:DUING ON PROCDURE 正在开机处理标志(加油量<最小显示或软件开机超过2.5s)
				;关机状态:0;开机时:1;开机加油2.5s或加油量>最小显示量后:->0;关机时:0
DUINGOFF	BIT	FLAG2.6	;1:DUING OFF PROCDURE,定量关机标志,非定量时:0FLAG2.6
                         	;定量时:关机状态:0;开机时:0;达到定量关机时:1-->0
DOT_IN		BIT	FLAG2.7	;1:小数点已经输入 FLAG2.7
;==============================================
FLAG3		DATA	22H
MODIFY_PARA	BIT	FLAG3.0	;设置参数标志
PULSE_STOP	BIT	FLAG3.1	;INPUT COUNTER STOP FLAG
KEY_IN		BIT	FLAG3.2	;1:有按键操作
AFTPRE		BIT	FLAG3.3	;AFTER PRESET TAG(1:AFTER PRESET),定量加油到量停机未放回油枪标志
                         	;开机时:0;定量加油到量停机时:1;到量后关开关时:0;其他情况:不操作该标志
WAIT_ACK	BIT	FLAG3.4	;东富IC卡协议,1:等待ACK
HTJSBZ		BIT	FLAG3.5	;后台计数标志
COMM_MODE	BIT	FLAG3.6	;COMM_MODE通信模式,1:东富IC卡,0:普通管理系统
WAIT_PARA	BIT	FLAG3.7	;东富IC卡协议,1:等待接收参数
;==============================================
FLAG4		DATA	23H
				;23H.0:与IC卡有关
RECE_COMPLETE	BIT	FLAG4.1	;1:命令串接收完整,初始化和命令分析完成之后复位
HAV_HEADER	BIT	FLAG4.2	;1:通信已接收同步头
COMMAND		BIT	FLAG4.3	;1:已接收命令字
;SENDRECV	BIT	FLAG4.4	;2300发送/接受命令标志,1:发送,0:接收
ZTYZJY		BIT	FLAG4.5	;1:总台预置的加油量正在加油
CTRL_PUMP	BIT	FLAG4.6	;1:监控方式
CN_STOP_PUMP	BIT	FLAG4.7	;1:总台发送关机命令
;==============================================
FLAG5		DATA	24H
;JIAOB_SELF_LOCK	BIT	FLAG5.0	;1:SELF LOCK AT CLOSE AS CN PRINTER管理机交接班时自锁
CN_PRESET	BIT	FLAG5.1	;管理机发送定量标志,1有定量发送
ONLY_ANS_ACK	BIT	FLAG5.2	;东富IC卡,1:接收的命令只应答ACK,
CLR_LOCK_FLAG	BIT	FLAG5.3	;按下"</设置-日/切换"键
CN_OPEN_PUMP	BIT	FLAG5.4	;CN发送开机指令
KEY_LOCK_PUMP	BIT	FLAG5.5	;1:通过加油机键盘锁住加油机
;CN_JIAOBAN	BIT	FLAG5.6	;1:CN IS PRINTING FOR CLASS (2300)正交接班
POWER_DOWN	BIT	FLAG5.7	;掉电标志,掉电340ms后=1
;==============================================
FLAG6		DATA	25H
RECE_S_CTRL	BIT	FLAG6.0	;东富IC卡,1:接收到控制符POL,NAK,ACK,EOT;=0接收到MSG

⌨️ 快捷键说明

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