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

📄 jrmaincpu.asm.bak

📁 用增强型单片机51RD2做的控制器
💻 BAK
📖 第 1 页 / 共 3 页
字号:

;       智能控制器主要功能:

;       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
flag     equ  0E9h
;
;************** 保护电流域值 ****************************************
;
;
;************** 电压电流域值 ****************************************
;
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 数据接口


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



;
;************** Show Buffer *****************************************
;
CxCzRyL         EQU     0FDH    ; 操作人员低8位
CxCzRyH         EQU     0FCH    ; 操作人员高8位

CxBcCcL         EQU     0FBH    ; 本次车次低8位
CxBcCcH         EQU     0FAH    ; 本次车次高8位

CxFdDzL         EQU     0F9H    ; 负地电阻低8位
CxFdDzH         EQU     0F8H    ; 负地电阻高8位

CxZdDzL         EQU     0F7H    ; 正地电阻低8位
CxZdDzH         EQU     0F6H    ; 正地电阻高8位

CxXjDzL         EQU     0F5H    ; 线间电阻低8位
CxXjDzH         EQU     0F4H    ; 线间电阻高8位

CxZgDlL         EQU     0F3H    ; 最高电流低8位
CxZgDlH         EQU     0F2H    ; 最高电流高8位

CxZgDyL         EQU     0F1H    ; 最高电压低8位
CxZgDyH         EQU     0F0H    ; 最高电压高8位

CxZgXlL         EQU     0EFH    ; 最高泄流低8位
CxZgXlH         EQU     0EEH    ; 最高泄流高8位

CxScDlL         EQU     0EDH    ; 输出电流低8位
CxScDlH         EQU     0ECH    ; 输出电流高8位

CxScDyL         EQU     0EBH    ; 输出电压低8位
CxScDyH         EQU     0EAH    ; 输出电压高8位

CxGjFz          EQU     0E9H    ; 关机时间:分
CxGjXs          EQU     0E8H    ; 关机时间:时
CxGjRq          EQU     0E7H    ; 关机时间:日
CxGjYf          EQU     0E6H    ; 关机时间:月
CxGjNf          EQU     0E5H    ; 关机时间:年

CxKjFz          EQU     0E4H    ; 开机时间:分
CxKjXs          EQU     0E3H    ; 开机时间:时
CxKjRq          EQU     0E2H    ; 开机时间:日
CxKjYf          EQU     0E1H    ; 开机时间:月
CxKjNf          EQU     0E0H    ; 开机时间:年

; 系统监控报告数据格式:
; 记录号(2)+开机时间(5)+关机时间(5)+输出电压(2)+输出电流(2)+泄漏电流(2)+最高电压(2)+最高电流(2)+最低电压(2)
;+最低电流(2)+线间电阻(2)+正地电阻(2)+负地电阻(2)
; Record++Year+Month+KDay+KHour+kMin+GDay+GHour+GMin+ScDy+ScDl+ScXl+ZgDy+ZgDl+XjDz+ZdDz+FdDz

ReportBuf       EQU     0E0H    ; 运行报告缓冲区(32Byte)

NoUse4          EQU     0D0H
NoUse3          EQU     0C0H
NoUse2          EQU     0B0H
NoUse1          EQU     0A0H

AdHexBuf        EQU     090H    ; A/D 数据缓冲区(16Byte) 以HEX码形式存放
AdBcdBuf        EQU     080H    ; A/D 数据缓冲区(16Byte) 以CBD码形式存放
ShowBuf         EQU     040H    ; 汉字显示缓冲区(64Byte)
SendBuf         EQU     020H    ; 通信发送缓冲区(32Byte)
RecvBuf         EQU     000H    ; 通信接收缓冲区(32Byte)
;
;************** Buffer **********************************************
;
SpStart         EQU     0E0H    ; 系统堆栈换冲区(32Byte)
TempBuf         EQU     0C0H    ; 临时数据缓冲区(32Byte)
TimeBuf         EQU     0B0H    ; 时钟数据缓冲区(08Byte)
Int1Buf         EQU     0A0H    ; 通信接收缓冲区(08Byte)
Int0Buf         EQU     090H    ; 通信接收缓冲区(16Byte)


;************** 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     ;
;************** Timer ***********************************************
MinTimerB       EQU     77H     ;
MinTimerA       EQU     76H     ;
SecTimerB       EQU     75H     ;
SecTimerA       EQU     74H     ;
StopTimer       EQU     73H     ; 关闭定时器
RunTimer        EQU     72H     ; 开启定时器
Timer3          EQU     71H     ;
Timer2          EQU     70H     ;
Timer1          EQU     6FH     ;
;************** Counter *********************************************
Counter2        EQU     6EH     ; 通用计数器2
Counter1        EQU     6DH     ; 通用计数器1
KeyCount        EQU     6CH     ; 键盘计数器
TimeBitCnt      EQU     6BH     ; 数据位记数器
TimeByteCnt     EQU     6AH     ; 数据字节记数器
TimeCommand     EQU     69H     ; 命令字节地址
;************** Variable ********************************************
Variable8       EQU     68H
Variable7       EQU     67H
Variable6       EQU     66H
Variable5       EQU     65H
Variable4       EQU     64H
Variable3       EQU     63H
Variable2       EQU     62H
Variable1       EQU     61H


;

;
;*************  Other   One  ****************************************
;
AdCounter       EQU     5BH
RecordNumH      EQU     5AH     ; 试验报告记录号高位
RecordNumL      EQU     59H     ; 试验报告记录号低位
InterFace       EQU     58H     ; 界面记录
AutoTimer       EQU     57H     ; 自动运行等待时间
RunMode         EQU     56H     ; RunMode=1正与负,RunMode=2正与地,RunMode=3负与地
Badr            EQU     55H     ; 数据块首地址
Bnum            EQU     54H     ; 数据个数

⌨️ 快捷键说明

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