📄 hardwareinit.lst
字号:
C51 COMPILER V6.12 HARDWAREINIT 06/05/2005 15:44:45 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE HARDWAREINIT
OBJECT MODULE PLACED IN .\hardwareinit.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\hardwareinit.c LARGE BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS
stmt level source
1 #include "global.h"
1 =1 #include "common.h"
1 =2
2 =2 #ifndef EXTERN
3 =2 #define EXTERN extern
4 =2 #endif
5 =2
6 =2 #define uchar unsigned char
7 =2 #define uint unsigned int
8 =2 #define ulong unsigned long
9 =2 #define schar signed char
10 =2 #define sint signed int
11 =2 #define slong signed long
12 =2
13 =2 #define LNum_MAX_OVERGROUND 48
14 =2 #define LNum_MAX_UNDERGROUND 8
15 =2 #define LNum_MAX (LNum_MAX_OVERGROUND+LNum_MAX_UNDERGROUND) //最大楼层数(地上最大48层,地下最大8层)
16 =2 #define ENum_MAX 8 //最大群控电梯数(该宏关系到串口通讯程序的变量地址,慎重修改)
17 =2 #define ARRAY_BYTENUM 7 //"内选数据""内选可停""上呼可停""下呼可停"数组所占字节数
18 =2 #define QuXianShu_Max 8 //最大曲线数
19 =2 #define MenChaoShi_Num 5 //门超时判定数量
20 =2
21 =2 //-------------------------- 输入数据结构 start ------------------------//
22 =2
23 =2 struct tag_E_FangXiang{ //运动方向
24 =2 uchar bShang; //上
25 =2 uchar bXia; //下
26 =2 };
27 =2 #define E_FangXiang struct tag_E_FangXiang
28 =2
29 =2 struct tag_E_Men{ //门状态
30 =2 uchar bKaiMenDaoWei; //开门到位
31 =2 uchar bGuanMenDaoWei; //关门到位
32 =2 uchar bKaiMenAnNiu; //开门按钮
33 =2 uchar bGuanMenZhong; //关门中
34 =2 uchar bMenGuZhang; //门故障
35 =2 };
36 =2 #define E_Men struct tag_E_Men
37 =2
38 =2 struct tag_E_ChengZai{ //承载状态
39 =2 uchar bKongZai; //空载
40 =2 uchar bQingZai; //轻载
41 =2 uchar bZhongZai; //重载
42 =2 uchar bManZai; //满载
43 =2 uchar bChaoZai; //超载
44 =2 };
45 =2 #define E_ChengZai struct tag_E_ChengZai
46 =2
47 =2 struct tag_E_TeBie{ //特别状态
48 =2 uchar bJianXiu; //检修
49 =2 uchar bSiJi; //司机
50 =2 uchar bZhiShi; //直驶
51 =2 uchar bBaoLiu; //保留
52 =2 uchar bSuoTi; //锁梯
53 =2 uchar bXiaoFang; //消防
C51 COMPILER V6.12 HARDWAREINIT 06/05/2005 15:44:45 PAGE 2
54 =2 uchar bJiTing; //急停
55 =2 uchar bGuZhang; //故障
56 =2 uchar bJingGao; //警告
57 =2 };
58 =2 #define E_TeBie struct tag_E_TeBie
59 =2
60 =2 struct tag_E_TongXun{ //通讯状态
61 =2 uchar bCanChuShiOK; //Can初始化OK
62 =2 uchar bZhiShi; //通讯指示
63 =2 };
64 =2 #define E_TongXun struct tag_E_TongXun
65 =2
66 =2
67 =2 struct tag_E_MenTime{ //门时间
68 =2 uchar cKaiMenTime; //开门时间
69 =2 uchar cGuanMenTime; //关门时间
70 =2 uchar cGMYanChiTime; //自动关门延迟时间
71 =2 };
72 =2 #define E_MenTime struct tag_E_MenTime
73 =2
74 =2 struct tag_E_DianTi{ //电梯数据
75 =2 //来源于Can的输入数据
76 =2 uchar bZhunBeiHao; //准备好
77 =2 uchar bDanOrQun; //单梯/群控
78 =2 uchar cDangQianCeng; //当前层
79 =2 uchar bDongOrJing; //运动/静止
80 =2 E_FangXiang FangXiang; //运动方向
81 =2 E_Men Men; //门状态
82 =2 E_ChengZai ChengZai; //承载状态
83 =2 E_TeBie TeBie; //特别状态
84 =2 uchar bNeiXuan[ARRAY_BYTENUM];//内选数据
85 =2 //来源于群控器的输入数据
86 =2 uchar cPortNo; //控制器端口号
87 =2 uchar cChengZhong; //承重值
88 =2 uchar cZaoGFCeng; //高峰停靠层(早)
89 =2 uchar cWuGFCeng; //高峰停靠层(午)
90 =2 uchar cWanGFCeng; //高峰停靠层(晚)
91 =2 signed char cJuDiCengShu; //起始层距地面楼层数
92 =2 uchar cXueXiCengShu; //学习楼层数
93 =2 uchar cYouXianJi; //优先级
94 =2 uchar cQuXianShu; //曲线数
95 =2 uint nTiSu[QuXianShu_Max]; //各曲线匀速段梯速
96 =2 uint nJiaSuDu; //额定加速度
97 =2 uint nZhuanSu; //电机转速(取值范围:1400-1500 单位:转/分)
98 =2 uchar cPinLv; //电机频率(取值范围:30-60 单位:Hz)
99 =2 uchar cEDingTiSu; //额定梯速(取值范围:5-30 单位:分米/秒)
100 =2 uchar cYunXingTiSu; //运行梯速(取值范围:5-30 单位:分米/秒)
101 =2 ulong lBMQMaiChongShu; //编码器脉冲数
102 =2 ulong lDGCMaiChongShu; //等高层脉冲数
103 =2 uchar bQunKong; //群控选中
104 =2 uchar cMinFenPei; //分配最小楼层数
105 =2 uchar cMinCancelFenPei; //取消分配最小楼层数
106 =2 uchar cZuiDiCeng; //可到最底层
107 =2 uchar cZuiGaoCeng; //可到最高层
108 =2 uchar cChaoShiTime[MenChaoShi_Num];//门超时时间
109 =2 E_TongXun TongXun; //通讯状态
110 =2 E_MenTime MenTime; //门时间
111 =2 uchar bNeiXuanKeTing[ARRAY_BYTENUM]; //内选可停
112 =2 uchar bShangHuKeTing[ARRAY_BYTENUM]; //上呼可停
113 =2 uchar bXiaHuKeTing[ARRAY_BYTENUM]; //下呼可停
114 =2 //2004.05.19 added by LHM (为解决撤销外呼追加)
115 =2 uchar bLingSuXinHao; //零速信号
C51 COMPILER V6.12 HARDWAREINIT 06/05/2005 15:44:45 PAGE 3
116 =2 uchar bBenCengKaiMen; //本层开门
117 =2 //end
118 =2 };
119 =2 #define E_DianTi struct tag_E_DianTi
120 =2
121 =2 struct tag_E_WaiHu{ //外呼状态
122 =2 uchar bShang[ARRAY_BYTENUM]; //上呼
123 =2 uchar bXia[ARRAY_BYTENUM]; //下呼
124 =2 };
125 =2 #define E_WaiHu struct tag_E_WaiHu
126 =2
127 =2 struct tag_E_InputData{ //输入数据
128 =2 E_DianTi mDianTi[ENum_MAX];
129 =2 E_WaiHu mWaiHu;
130 =2 };
131 =2 #define E_InputData struct tag_E_InputData
132 =2 //-------------------------- 输入数据结构 end ------------------------//
133 =2
134 =2 //-------------------------- 输出数据结构 start ------------------------//
135 =2 struct tag_E_XiangYing{ //外呼响应状态
136 =2 uchar bShang[ARRAY_BYTENUM]; //上呼
137 =2 uchar bXia[ARRAY_BYTENUM]; //下呼
138 =2 };
139 =2 #define E_XiangYing struct tag_E_XiangYing
140 =2 struct tag_E_Deng{ //外呼响应状态
141 =2 uchar bShang[ARRAY_BYTENUM]; //上呼
142 =2 uchar bXia[ARRAY_BYTENUM]; //下呼
143 =2 };
144 =2 #define E_Deng struct tag_E_Deng
145 =2
146 =2 struct tag_E_OutputData{//输出数据
147 =2 E_XiangYing mXiangYing[ENum_MAX];
148 =2 E_Deng mDeng[ENum_MAX];
149 =2 };
150 =2 #define E_OutputData struct tag_E_OutputData
151 =2 //-------------------------- 输出数据结构 end ------------------------//
152 =2
153 =2 //-------------------------- 楼及其他总体数据 start --------------------//
154 =2 struct tag_L_YearMonDat{
155 =2 uchar cYear;
156 =2 uchar cMonth;
157 =2 uchar cDate;
158 =2 uchar cWeek;
159 =2 };
160 =2 #define L_YearMonDat struct tag_L_YearMonDat
161 =2
162 =2 struct tag_L_HourMin{
163 =2 uchar cHour;
164 =2 uchar cMinute;
165 =2 uchar cSecond;
166 =2 };
167 =2 #define L_HourMin struct tag_L_HourMin
168 =2
169 =2 struct tag_L_SysTime{
170 =2 L_YearMonDat mYearMonDat;
171 =2 L_HourMin mHourMinSec;
172 =2 };
173 =2 #define L_SysTime struct tag_L_SysTime
174 =2
175 =2 struct tag_L_GaoFeng{ //高峰信息
176 =2 L_HourMin lStartTime; //高峰开始时间
177 =2 L_HourMin lEndTime; //高峰结束时间
C51 COMPILER V6.12 HARDWAREINIT 06/05/2005 15:44:45 PAGE 4
178 =2 };
179 =2 #define L_GaoFeng struct tag_L_GaoFeng
180 =2
181 =2 #define L_GaoFeng struct tag_L_GaoFeng
182 =2
183 =2 struct tag_L_Data{ //楼及其他总体数据
184 =2 uchar cLNum; //最大楼层数
185 =2 uchar cENum; //最大群控电梯数
186 =2 uint nTKYanChiTime; //静态停靠延迟时间
187 =2 L_SysTime mSysTime; //系统时间
188 =2 L_GaoFeng ZaoGF; //早高峰
189 =2 L_GaoFeng WuGF; //午高峰
190 =2 L_GaoFeng WanGF; //晚高峰
191 =2 // uchar cJTTingkaoCeng[ENum_MAX]; //静态停靠层
192 =2 };
193 =2 #define L_Data struct tag_L_Data
194 =2 //-------------------------- 楼及其他总体数据 end --------------------//
195 =2
196 =2 struct tag_Temp_Timer{
197 =2 long lJingTaiTimer; //静态计时
198 =2 long lChaoShiTimer[ENum_MAX]; //电梯门超时计时
199 =2 };
200 =2 #define TIMER struct tag_Temp_Timer
201 =2
202 =2 struct tag_PtrALLData{ //所有数据
203 =2 L_Data *pL_Data;
204 =2 E_InputData *pE_InputData;
205 =2 E_OutputData *pE_OutputData;
206 =2 TIMER *pTimer;
207 =2 };
208 =2 #define PtrALLData struct tag_PtrALLData
209 =2
210 =2
211 =2 //Variable Defination
212 =2 EXTERN xdata L_Data mL_Data;
213 =2 EXTERN xdata E_InputData mE_InputData;
214 =2 EXTERN xdata E_OutputData mE_OutputData;
215 =2 EXTERN xdata TIMER m_Timer;
216 =2
217 =2 //xdata L_Data mL_Data;
218 =2 //xdata E_InputData mE_InputData;
219 =2 //Function Refrence
220 =2 void Set0Data(uchar *pData, uchar cMOD);
221 =2 uchar GetArrayData(uchar *pData, uchar cIdx);
222 =2 void SetArrayData(uchar *pData, uchar cIdx, uchar cVal);
223 =2 void SetArrayData_INTERRUPT(uchar *pData, uchar cIdx, uchar cVal);
2 =1 #include<w77c32.h>
1 =2 /*--------------------------------------------------------------------------
2 =2 W77C32.H - preliminary release
3 =2
4 =2 Header file for Winbond microcontroller W77C32
5 =2 Based on the Preliminary Release form March 1999
6 =2
7 =2 Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.
8 =2 All rights reserved.
9 =2 --------------------------------------------------------------------------*/
10 =2
11 =2 /* BYTE Registers */
12 =2 sfr P0 = 0x80;
13 =2 sfr P1 = 0x90;
14 =2 sfr P2 = 0xA0;
15 =2 sfr P3 = 0xB0;
C51 COMPILER V6.12 HARDWAREINIT 06/05/2005 15:44:45 PAGE 5
16 =2 sfr P4 = 0xA5;
17 =2 sfr PSW = 0xD0;
18 =2 sfr ACC = 0xE0;
19 =2 sfr B = 0xF0;
20 =2 sfr SP = 0x81;
21 =2 sfr DPL = 0x82;
22 =2 sfr DPH = 0x83;
23 =2 sfr PCON = 0x87;
24 =2 sfr TCON = 0x88;
25 =2 sfr TMOD = 0x89;
26 =2 sfr TL0 = 0x8A;
27 =2 sfr TL1 = 0x8B;
28 =2 sfr TH0 = 0x8C;
29 =2 sfr TH1 = 0x8D;
30 =2 sfr IE = 0xA8;
31 =2 sfr IP = 0xB8;
32 =2 sfr SCON = 0x98;
33 =2 sfr SBUF = 0x99;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -