📄 jrmaincpu.asm
字号:
; 智能控制器主要功能:
; 1、在 DC600V 地面电源与列车连接后能够自动实现对列车正负线间及对
; 地间的绝缘检测。 (线间绝缘电阻 > 0.2M)
; 2、运行参数记录及数据存储:能够实现对 DC600V 列车库内整备电源送
; 电时间、断电时间、电压、电流、线路绝缘值、漏电电流值等运行、
; 安全参数实时检测、存储、调用。记录数据作为对现场作业控制、故障
; 分析的原始依据。
;
; TRULY LCD TYPE: MSP-G320240DBCW-21N
;
;
;******* 远程终端操作控制器功能码 ******************************
;
RecvFarFucCd32 EQU 32 ; 写系统复位
RecvFarFucCd31 EQU 31 ; 微波炉用
RecvFarFucCd30 EQU 30 ; 微波炉用
RecvFarFucCd29 EQU 29 ; 微波炉用
RecvFarFucCd28 EQU 28 ; 微波炉用
RecvFarFucCd27 EQU 27 ; 微波炉用
RecvFarFucCd26 EQU 26 ; 微波炉用
RecvFarFucCd25 EQU 25 ; 微波炉用
RecvFarFucCd24 EQU 24 ; 微波炉用
RecvFarFucCd23 EQU 23 ; 微波炉用
RecvFarFucCd22 EQU 22 ; 微波炉用
RecvFarFucCd21 EQU 21 ; 微波炉用
RecvFarFucCd20 EQU 20 ; 微波炉用
RecvFarFucCd19 EQU 19 ; 微波炉用
RecvFarFucCd18 EQU 18 ; 微波炉用
RecvFarFucCd17 EQU 17 ; 微波炉用
RecvFarFucCd16 EQU 16 ; 微波炉用
RecvFarFucCd15 EQU 15 ; 微波炉用
RecvFarFucCd14 EQU 14 ; 微波炉用
RecvFarFucCd13 EQU 13 ; 微波炉用
RecvFarFucCd12 EQU 12 ; 微波炉用
RecvFarFucCd11 EQU 11 ; 微波炉用
RecvFarFucCd10 EQU 10 ; 微波炉用
RecvFarFucCd09 EQU 09 ; 微波炉用
RecvFarFucCd08 EQU 08 ; 微波炉用
RecvFarFucCd07 EQU 07 ; 微波炉用
RecvFarFucCd06 EQU 06 ; 写用户密码
RecvFarFucCd05 EQU 05 ; 读用户密码
RecvFarFucCd04 EQU 04 ; 写系统密码
RecvFarFucCd03 EQU 03 ; 读系统密码
RecvFarFucCd02 EQU 02 ; 写系统时钟
RecvFarFucCd01 EQU 01 ; 读系统时钟
;
;******* SubCpu3 功能码定义(键盘模块)******************************
;
RecvCpu3Func08 EQU 08 ;
RecvCpu3Func07 EQU 07 ;
RecvCpu3Func06 EQU 06 ;
RecvCpu3Func05 EQU 05 ;
RecvCpu3Func04 EQU 04 ;
RecvCpu3Func03 EQU 03 ;
RecvCpu3Func02 EQU 02 ;
RecvCpu3Func01 EQU 01 ; 接收键值
;
SendCpu3Func08 EQU 08 ;
SendCpu3Func07 EQU 07 ;
SendCpu3Func06 EQU 06 ;
SendCpu3Func05 EQU 05 ;
SendCpu3Func04 EQU 04 ;
SendCpu3Func03 EQU 03 ;
SendCpu3Func02 EQU 02 ; 启动键盘操作
SendCpu3Func01 EQU 01 ; 停止键盘操作
;
;******* SubCpu2 功能码定义(调速模块) *******************************
;
RecvCpu2Func16 EQU 16 ;
RecvCpu2Func15 EQU 15 ;
RecvCpu2Func14 EQU 14 ;
RecvCpu2Func13 EQU 13 ;
RecvCpu2Func12 EQU 12 ;
RecvCpu2Func11 EQU 11 ;
RecvCpu2Func10 EQU 10 ;
RecvCpu2Func09 EQU 09 ;
RecvCpu2Func08 EQU 08 ;
RecvCpu2Func07 EQU 07 ;
RecvCpu2Func06 EQU 06 ;
RecvCpu2Func05 EQU 05 ;
RecvCpu2Func04 EQU 04 ;
RecvCpu2Func03 EQU 03 ;
RecvCpu2Func02 EQU 02 ; 接收 DTMF 状态
RecvCpu2Func01 EQU 01 ; 接收开关量状态
;
SendCpu2Func08 EQU 08 ; 步进电机停
SendCpu2Func07 EQU 07 ; 步进电机反转
SendCpu2Func06 EQU 06 ; 步进电机正转
SendCpu2Func05 EQU 05 ; 写开关量
SendCpu2Func04 EQU 04 ; 读开关量
SendCpu2Func03 EQU 03 ; 启动步进电机
SendCpu2Func02 EQU 02 ; 时钟设置
SendCpu2Func01 EQU 01 ; 地址设置
;
;******* SubCpu1 功能码定义(远程模块)******************************
;
RecvCpu1Func32 EQU 32 ;
RecvCpu1Func31 EQU 31 ;
RecvCpu1Func30 EQU 30 ;
RecvCpu1Func29 EQU 29 ;
RecvCpu1Func28 EQU 28 ;
RecvCpu1Func27 EQU 27 ;
RecvCpu1Func26 EQU 26 ; 接收远程显示板密码、操作代码、车次代码
RecvCpu1Func25 EQU 25 ; 接收远程显示板时钟
RecvCpu1Func24 EQU 24 ;
RecvCpu1Func23 EQU 23 ;
RecvCpu1Func22 EQU 22 ;
RecvCpu1Func21 EQU 21 ;
RecvCpu1Func20 EQU 20 ;
RecvCpu1Func19 EQU 19 ;
RecvCpu1Func18 EQU 18 ;
RecvCpu1Func17 EQU 17 ; 将接收下位机采集的 A/D 值装入 A/D 缓冲区
RecvCpu1Func16 EQU 16 ;
RecvCpu1Func15 EQU 15 ;
RecvCpu1Func14 EQU 14 ;
RecvCpu1Func13 EQU 13 ;
RecvCpu1Func12 EQU 12 ;
RecvCpu1Func11 EQU 11 ;
RecvCpu1Func10 EQU 10 ; 远程功能码
RecvCpu1Func09 EQU 09 ; 远程键盘控制
;
RecvCpu1Func08 EQU 08 ;
RecvCpu1Func07 EQU 07 ;
RecvCpu1Func06 EQU 06 ;
RecvCpu1Func05 EQU 05 ;
RecvCpu1Func04 EQU 04 ;
RecvCpu1Func03 EQU 03 ;
RecvCpu1Func02 EQU 02 ;
RecvCpu1Func01 EQU 01 ;
;
SendCpu1Func35 EQU 35 ; 绝缘检测不合格确认
SendCpu1Func34 EQU 34 ; 绝缘检测合格确认
SendCpu1Func33 EQU 33 ; 显示板密码错误确认
SendCpu1Func32 EQU 32 ; 显示板密码正确确认
SendCpu1Func31 EQU 31 ; 显示板时间确认
SendCpu1Func30 EQU 30 ; 写远程显示板数据
SendCpu1Func27 EQU 27 ; 写 A/D D/A 打印板数据 (打印数据)
SendCpu1Func26 EQU 26 ; 写 A/D D/A 打印板数据 (D/A数据)
SendCpu1Func25 EQU 25 ; 读 A/D D/A 打印板数据
SendCpu1Func24 EQU 24 ;
SendCpu1Func23 EQU 23 ;
SendCpu1Func22 EQU 22 ;
SendCpu1Func21 EQU 21 ;
SendCpu1Func20 EQU 20 ;
SendCpu1Func19 EQU 19 ; 远程操作错误
SendCpu1Func18 EQU 18 ; 远程操作正确
SendCpu1Func17 EQU 17 ; 向远程终端发送数据
SendCpu1Func16 EQU 16 ; 键盘确认代码
;
SendCpu1Func15 EQU 15 ; 继电器位控
SendCpu1Func14 EQU 14 ; 还未使用
SendCpu1Func13 EQU 13 ; 微波炉用
SendCpu1Func12 EQU 12 ; 微波炉用
SendCpu1Func11 EQU 11 ; 微波炉用
SendCpu1Func09 EQU 09 ; 微波炉用
SendCpu1Func08 EQU 08 ; 微波炉用
SendCpu1Func07 EQU 07 ; 微波炉用
SendCpu1Func06 EQU 06 ; 状态监视
SendCpu1Func05 EQU 05 ; 微波炉用
SendCpu1Func04 EQU 04 ; 微波炉用
SendCpu1Func03 EQU 03 ; 微波炉用
SendCpu1Func02 EQU 02 ; 时钟设置
SendCpu1Func01 EQU 01 ; 地址设置
;
; ******* 系统常量宏定义 ********
;
;********************************************************************
RCT0 EQU 0A1H ; 0 区读控制字(AT24C256)
WCT0 EQU 0A0H ; 0 区写控制字(AT24C256)
;********************************************************************
FarPcAdr EQU 0FFH ; 远程控制PC地址
FarShowAdr EQU 34 ; 远程显示板地址
SelfAddr EQU 00H ; 本机地址
CurrentAdr EQU 0A5H ; 通用广播地址
DataHead EQU 0AAH ; 数据贞头
RecvNum EQU 32 ; 接收一条记录的最大字节数
SendNum EQU 31 ; 发送一条记录的最大字节数
RecvTime EQU 2 ; 接收一条记录的最大延时(秒)
BaudVal EQU 181 ; 波特率 2400
StrtVal EQU 90 ;
Baud EQU 0FDH ; Baud:4800=0FAH,9600=0FDH (XT=11.059MHZ)
;********************************************************************
WDTSFR EQU 0A6H ; 看门狗特殊寄存器
StartWdt EQU 1EH ; 起动看门狗定时器
ResetWdt EQU 0E1H ; 喂狗
;********************************************************************
;
SysCloseTime EQU 15 ; 系统关闭时间(分)
CloselightTime EQU 15 ; 屏幕保护时间(分)
SPEED3 EQU 240 ;
SPEED2 EQU 20 ;
SPEED1 EQU 20 ;
PassNum EQU 04H
;
XWK EQU 16
YW7 EQU 15
YW6 EQU 14
YW5 EQU 13
YW4 EQU 12
YW3 EQU 11
YW2 EQU 10
YW1 EQU 09
;
TSK EQU 08
;
ZW7 EQU 07
ZW6 EQU 06
ZW5 EQU 05
ZW4 EQU 04
ZW3 EQU 03
ZW2 EQU 02
ZW1 EQU 01
;
;************** 最小绝缘电阻 ****************************************
;
;XjJcDz EQU 250 ; 线间基础电阻 (由于正负线间并有两个电压表其电阻值为250K)
FjYdDzZdzH EQU 01H ; 负极与地电阻最小值(100K)
FjYdDzZdzL EQU 64H
ZjXdDzZdzH EQU 01H ; 正极与地电阻最小值(100K)
ZjXdDzZdzL EQU 64H
ZfXjDzZdzH EQU 00H ; 正负线间电阻最小值(10K)
ZfXjDzZdzL EQU 0AH
;
;************** 量程电位域值 ****************************************
;
LcDwYz2H EQU 27H ; 270FH = 9999
LcDwYz2L EQU 0FH
LcDwYz1H EQU 03H ; 03E7H = 999
LcDwYz1L EQU 0E7H
;
;************** 保护电流域值 ****************************************
;
;
;************** 电压电流域值 ****************************************
;
FjYdDyZdz EQU 10 ; 负极与地电压最大值(1000V)
ZjXdDyZdz EQU 10 ; 正极与地电压最大值(1000V)
ZfXjDyZdz EQU 06 ; 正负线间电压最大值(650V)
MaxDlH EQU 02H ; 最大电流高8位 700A
MaxDlL EQU 0BCH ; 最大电流低8位
MaxDyH EQU 02H ; 最大电压高8位 650V
MaxDyL EQU 8AH ; 最大电压低8位
;********************************************************************
SRom_Dat EQU P1.7 ; 数据线对应端口
SRom_Clk EQU P1.6 ; 时钟线对应端口
RxdPortB EQU P3.3 ; 通信接收口B (INT1)
TxdPortB EQU P3.6 ; 通信发送口B
RxdPortA EQU P3.2 ; 通信接收口A (INT0)
TxdPortA EQU P2.2 ; 通信发送口A
FmqCtrl EQU P1.5 ; 蜂鸣器控制
ComCtrl EQU P3.7 ; 通信口方向
TimeRst EQU P1.3 ; HT1380 复位
TimeDat EQU P1.2 ; HT1380 IO口
TimeClk EQU P1.1 ; HT1380 时钟
SRamDat EQU P1.7 ; AT24C256 IO口
SRamClk EQU P1.6 ; AT24C256 时钟
FqmCtrl EQU P1.5 ; 蜂鸣器控制
LcdComOrDat EQU P2.6 ; 指令或数据地址
TelBell EQU P1.0 ; 电话振铃检测
LcdPort EQU P0 ; LCD 数据接口
RelayIn EQU P1.4 ; 无源接地继电器吸合输入检测
CloselightCtrl EQU P2.7 ; 屏幕保护控制
LcdAddr EQU P2.6 ; LCD 控制接口
LcdCs EQU P2.5 ; LCD 控制接口
LcdRead EQU P2.4 ; LCD 控制接口
LcdWrite EQU P2.3 ; LCD 控制接口
SerialDat EQU P2.1
SerialClk EQU P2.0
;************** Buffer **********************************************
;
SpStart EQU 0E0H ; 系统堆栈换冲区(32Byte)
TempBuf EQU 0A0H ; 临时数据缓冲区(64Byte)
TimeBuf EQU 098H ; 时钟数据缓冲区(08Byte)
Int1Buf EQU 090H ; 通信接收缓冲区(08Byte)
;************** Clock ***********************************************
Year EQU 7FH ;
Week EQU 7EH ;
Month EQU 7DH ;
Day EQU 7CH ;
Hour EQU 7BH ;
Min EQU 7AH ;
Sec EQU 79H ;
Time EQU 78H ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -