📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 03/17/2008 20:43:15 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE Main.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <SM89516A.h>
2 #include <string.h>
3 #include <intrins.h>
4 #include <math.h>
5 #include "MyRam.h"
6 #include "ComRam.h"
7
8 #define uchar unsigned char
9 #define uint unsigned int
10
11 /**************************************公共RAM区地址分配*****************************************/
12 //公共RAM区从机采集数据包存储开始地址.
13 #define ComSlaveDataStart1 0x0000 //000H~2FFH 公共RAM区从机1的数据的开始地址.
14 #define ComSlaveLenAdd1 0x02FE //公共RAM区从机1数据字节数的存贮地址.
15
16 #define ComSlaveDataStart2 0x0300 //300H~5FFH 公共RAM区从机2的数据的开始地址.
17 #define ComSlaveLenAdd2 0x05FE //公共RAM区从机2数据字节数的存贮地址。
18
19 #define ComSlaveDataStart3 0x0600 //600H~8FFH 公共RAM区从机3的数据的开始地址.
20 #define ComSlaveLenAdd3 0x08FE //公共RAM区从机3数据字节数的存贮地址。
21
22 #define ComSlaveDataStart4 0x0900 //900H~BFFH 公共RAM区从机4的数据的开始地址.
23 #define ComSlaveLenAdd4 0x0BFE //公共RAM区从机4数据字节数的存贮地址。
24
25 #define ComSlaveDataStart5 0x0C00 //C00H~EFFH 公共RAM区从机5的数据的开始地址.
26 #define ComSlaveLenAdd5 0x0EFE //公共RAM区从机5数据字节数的存贮地址。
27
28 /*******从机的报警区********/
29 #define ComAlarmStart1 0x1000 //1000H-10FDH 公共RAM区从机1报警的起始地址。
30 #define ComAlarmLenAdd1 0x10FE //10FEH-10FFH 公共RAM区从机1报警数据总长度的存储地址。
31 #define ComAlarmStart2 0x1100 //1100H-10FDH 公共RAM区从机2报警的起始地址。
32 #define ComAlarmLenAdd2 0x11FE //11FEH-11FFH 公共RAM区从机2报警数据总长度的存储地址。
33 #define ComAlarmStart3 0x1200 //1200H-12FDH 公共RAM区从机3报警的起始地址。
34 #define ComAlarmLenAdd3 0x12FE //12FEH-12FFH 公共RAM区从机3报警数据总长度的存储地址。
35 #define ComAlarmStart4 0x1300 //1300H-13FDH 公共RAM区从机4报警的起始地址。
36 #define ComAlarmLenAdd4 0x13FE //13FEH-13FFH 公共RAM区从机4报警数据总长度的存储地址。
37 #define ComAlarmStart5 0x1400 //1400H-14FDH 公共RAM区从机5报警的起始地址。
38 #define ComAlarmLenAdd5 0x14FE //14FEH-14FFH 公共RAM区从机5报警数据总长度的存储地址。
39
40 //公共RAM区从机命令数据包存放开始地址.
41 #define ComOrderStart 0x1500 //1500H~4FFFH 公共RAM区发给从机命令的起始地址。
42 #define ComLenOrder 0x4FFE //公共RAM区从机命令字节数的存贮RE认为》256N。
43 #define ComNewOrderFlag 0x4FFD //公共RAM区有新从机命令的标识位。
44
45 //公共RAM区从机时间命令数据包存放开始地址.
46 #define ComTimeStart 0x5000 //5000H~50FFH 公共RAM区日期和时间的其实地址。
47 #define ComLenTimer 0x50FE //公共RAM区时间字节数存贮地址。
48
49 //公共RAM区输出数据包存放开始地址.
50 #define ComOutputStart 0x5100 //5100H~6FFFH 公共RAM区发给输出单片机的起始地址。
51 #define ComLenOutput 0x6FFE //公共RAM区输出字节数存贮地址。
52
53 //公共RAM区从机使能数据包存放开始地址.
54 #define ComSlaveEnable 0x7500 //公共RAM区从机使能数据包存贮地址.
55 #define ComLenSlaveEnable 0x7510 //公共RAM区从机使能数据包状态标识存贮地址.
C51 COMPILER V7.50 MAIN 03/17/2008 20:43:15 PAGE 2
56 #define ComSlaveEnableNewFlag 0x7511 //公共RAM区从机使能数据包状态标识存贮地址.
57
58 /**************************************公共RAM区地址分配*****************************************/
59
60 /**************************************主机RAM区地址分配*****************************************/
61 //主机自带RAM区从机采集数据包存储开始地址.
62 #define MySlaveDataStart1 0x0000 //000H~2FFH 自带RAM区从机1的数据的开始地址.
63 #define MySlaveLenAdd1 0x02FE //自带RAM区从机1数据字节数的存贮地址.
64
65 #define MySlaveDataStart2 0x0300 //300H~5FFH 自带RAM区从机2的数据的开始地址.
66 #define MySlaveLenAdd2 0x05FE //自带RAM区从机2数据字节数的存贮地址.
67
68 #define MySlaveDataStart3 0x0600 //600H~8FFH 自带RAM区从机3的数据的开始地址.
69 #define MySlaveLenAdd3 0x08FE //自带RAM区从机3数据字节数的存贮地址.
70
71 #define MySlaveDataStart4 0x0900 //900H~BFFH 自带RAM区从机4的数据的开始地址.
72 #define MySlaveLenAdd4 0x0BFE //自带RAM区从机4数据字节数的存贮地址.
73
74 #define MySlaveDataStart5 0x0C00 //C00H~EFFH 自带RAM区从机5的数据的开始地址.
75 #define MySlaveLenAdd5 0x0EFE //自带RAM区从机5数据字节数的存贮地址.
76
77 //主机自带RAM区从机命令数据包存放开始地址.
78 #define MyOrderStart 0x1000 //1000H~3FFFH 自带RAM区发给从机命令的起始地址.
79 #define MyLenOrder 0x3FFE //自带RAM区从机命令字节数的存贮RE认为》256N
80
81 //主机自带RAM区从机时间命令数据包存放开始地址.
82 #define MyTimeStart 0x4000 //4000H~40FFH 自带RAM区日期和时间的起始地址.
83 #define MyLenTimer 0x40FE //自带RAM区时间字节数存贮地址。
84
85 //主机自带RAM区输出数据包存放开始地址.
86 #define MyOutputStart 0x4100 //4100H~5FFFH 自带RAM区发给输出单片机的起始地址.
87 #define MyLenOutput 0x5FFE //自带RAM区输出字节数存贮地址。
88 /**************************************主机RAM区地址分配*****************************************/
89
90 /**************************************主机RAM区从机信息*****************************************/
91 //从机1外设通道参数信息存放开始地址。
92 #define Slave1Ws1ChannelInfo 0x6000 //
93 #define Slave1Ws2ChannelInfo 0x6100
94 #define Slave1Ws3ChannelInfo 0x6200
95 #define Slave1Ws4ChannelInfo 0x6300
96 #define Slave1Ws5ChannelInfo 0x6400
97 //从机2外设通道参数信息存放开始地址。
98 #define Slave2Ws1ChannelInfo 0x6500 //
99 #define Slave2Ws2ChannelInfo 0x6600
100 #define Slave2Ws3ChannelInfo 0x6700
101 #define Slave2Ws4ChannelInfo 0x6800
102 #define Slave2Ws5ChannelInfo 0x6900
103 //从机3外设通道参数信息存放开始地址。
104 #define Slave3Ws1ChannelInfo 0x6500 //
105 #define Slave3Ws2ChannelInfo 0x6600
106 #define Slave3Ws3ChannelInfo 0x6700
107 #define Slave3Ws4ChannelInfo 0x6800
108 #define Slave3Ws5ChannelInfo 0x6900
109 //从机4外设通道参数信息存放开始地址。
110 #define Slave4Ws1ChannelInfo 0x6A00 //
111 #define Slave4Ws2ChannelInfo 0x6B00
112 #define Slave4Ws3ChannelInfo 0x6C00
113 #define Slave4Ws4ChannelInfo 0x6D00
114 #define Slave4Ws5ChannelInfo 0x6E00
115 //从机5外设通道参数信息存放开始地址。
116 #define Slave5Ws1ChannelInfo 0x6F00 //
117 #define Slave5Ws2ChannelInfo 0x7000
C51 COMPILER V7.50 MAIN 03/17/2008 20:43:15 PAGE 3
118 #define Slave5Ws3ChannelInfo 0x7100
119 #define Slave5Ws4ChannelInfo 0x7200
120 #define Slave5Ws5ChannelInfo 0x7300
121 /**************************************主机RAM区从机信息*****************************************/
122 //主机自带RAM区从机使能数据包存放开始地址.
123 #define MySlaveEnable 0x7500 //公共RAM区从机使能数据包存贮地址。
124 #define MyLenSlaveEnable 0x7510 //公共RAM区从机使能数据包长度存贮地址.
125 #define MySlaveEnableNewFlag 0x7511 //公共RAM区更新从机使能数据包状态标识.
126 /******从开始地址固定读5个字节********/
127 #define MyChannelInfoStart 0x7600
128 #define MyLenChannelInfo 0x7DEE
129 /**************************************服务器命令数据包接收信息**********************************/
130 //接收状态。
131 #define InitState 0 //开始接收状态。
132 #define CommandState 1 //命令包状态。
133 #define DataState 2 //数据状态。
134
135 //数据包头及数据包长度。
136 #define StartFlag 0x2A //包开始标识。
137
138 #define CmdWs 0xA1 //外设参数数据包。
139 #define LenCmdWs 0x10 //外设参数数据包长度。
140
141 #define CmdSlave 0xA2 //从机参数数据包。
142 #define LenCmdSlave 0x08 //从机参数数据包长度。
143
144 #define CmdTime 0xA3 //时间同步数据包。
145 #define LenCmdTime 0x09 //时间同步数据包长度。
146
147 #define CmdAlarm 0xA4 //联动配置表数据包。
148 #define LenCmdAlarm 0x05 //联动配置表数据包长度。
149
150 #define CmdWsControl 0xA5 //外设控制数据包。
151 #define LenCmdWsControl 0x05 //外设控制数据包长度。
152
153 #define CmdChannelPara 0xA6 //通道参数数据包。
154 #define LenCmdChannelPara 0x09 //通道参数数据包长度。
155
156 #define CmdGetChannelPara 0xA7 //取通道参数数据包。
157 #define LenCmdGetChannelPara 0x05 //取通道参数数据包长度。
158
159 #define CmdSlaveEnable 0xA8 //从机使能数据包。
160 #define LenCmdSlaveEnable 0x07 //从机使能数据包。
161
162 #define CmdSendSlave 0xB1 //提交从机数据数据包。
163 #define LenCmdCmdSendSlave 0x07 //从机使能数据包。
164
165 /**************************************服务器命令数据包接收信息**********************************/
166
167 /**************************************拷贝数据最大长度定义**************************************/
168 #define MaxOrderLen 0x6FD
169 #define MaxSlaveDataLen 0x230
170 #define MaxGetChannelParaLen 0x7ED
171 #define MaxAlarmLen 0xFD
172 /**************************************拷贝数据最大长度定义**************************************/
173 /******************************************从机IIC使用信息***************************************/
174 sbit P20 = P2^0; //用来通知仲裁机IIC使用全释放的信号线。
175 /******************************************从机IIC使用信息***************************************/
176 /******************************************定时器相关信息****************************************/
177 #define MAX 200 //定时器的倍频。
178 bit FlagTime0 = 0; //定时器0到的标志。
179 uint TimeCount = 0; //定时器的次数。
C51 COMPILER V7.50 MAIN 03/17/2008 20:43:15 PAGE 4
180 uchar TimeCountSend = 0; //定时器的次数。
181 /******************************************定时器相关信息****************************************/
182
183 /******************************************全局公共数据区域**************************************/
184 #define NUM1 150 //拷贝的数组缓冲区的大小。
185 #define LEN 20 //串口缓冲区大小。
186 #define DelayTime 5
187 /******************************************全局公共数据区域**************************************/
188
189
190 /******************************************标识位定义信息****************************************/
191 bit FlagCmdWsControl = 0; //命令已保存的标志。
192 bit FlagSaveSerial = 0; //命令已保存的标志。
193 bit FlagExt0 = 0; //外部中断0的标志。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -