📄 sss.asm
字号:
;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 + -