📄 ddcjc.lst
字号:
C51 COMPILER V7.50 DDCJC 11/28/2006 20:24:32 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DDCJC
OBJECT MODULE PLACED IN DDCJC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DDCJC.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include "DDCJC.h"
3
4 void Delay(uint time1, uint time2)
5 {
6 1 uint data i, j;
7 1 for (i=0; i<time1; i++)
8 1 for (j=0; j<time2; j++);
9 1 return;
10 1 }
11
12 void ClearAllData (void)
13 {
14 1 PulseCount = 0;
15 1 DisPulse = 0;
16 1 Distance = 0;
17 1 PerTime = 0;
18 1
19 1 KilDistance = 0;
20 1 Distance = 0;
21 1 uLength = 0;
22 1
23 1 //Rev = 0;
24 1 Rate = 0;
25 1 OldRate = 0;
26 1 Voltage = 0;
27 1 Current = 0;
28 1
29 1 MaxRate = 0;
30 1 RateVoltage = 0;
31 1 RateCurrent = 0;
32 1 MinVoltage = 0;
33 1 MaxCurrent = 0;
34 1
35 1 StartTime = 0;
36 1 DispPause = 0;
37 1
38 1 bPause = FALSE;
39 1 bPauseOver = FALSE;
40 1
41 1 //Uindex = 0;
42 1
43 1 bDistAlarm = FALSE; //里程报警
44 1 bRateAlarm = FALSE; //速度报警
45 1 bVoltAlarm = FALSE; //电压报警
46 1 bCurrAlarm = FALSE; //电流报警
47 1
48 1 bStartTime = FALSE;
49 1 bStartFlag = FALSE;
50 1
51 1 bSaved = FALSE;
52 1 }
53
54 /*
55 uchar BCDToBin (uchar uBCD)
C51 COMPILER V7.50 DDCJC 11/28/2006 20:24:32 PAGE 2
56 {
57 return ((uBCD & 0xF0) >> 4) * 10 + (uBCD & 0x0F);
58 }
59
60 uchar BinToBCD (uchar uBin)
61 {
62
63 return (((uBin/10)<<4) + (uBin%10));
64 }
65 */
66
67 uchar GetYear (uchar uBCD) //得到年份
68 {
69 1 return (uBCD & 0xC0) >> 6;
70 1 }
71
72 uchar GetDate (uchar uBCD) //得到日期
73 {
74 1 return uBCD & 0x3F;
75 1 }
76
77 /*
78 uchar GetWeekday (uchar uBCD) //得到星期
79 {
80 return (uBCD & 0xE0) >> 5;
81 }
82 */
83
84 uchar GetMonth (uchar uBCD) //得到月份
85 {
86 1 return uBCD & 0x1F;
87 1 }
88
89 void ReadParam () //读各设置的参数
90 {
91 1 WordType idata Convert;
92 1 Get8583Data (DIS_ALARM, UartBuf, 18);
93 1 //里程
94 1 Convert.b[0] = UartBuf[0];
95 1 Convert.b[1] = UartBuf[1];
96 1 OptDistance = Convert.w;
97 1 OptKilDis = OptDistance / 100;
98 1 OptDis = (OptDistance % 100) * 10;
99 1 //车速
100 1 Convert.b[0] = UartBuf[2];
101 1 Convert.b[1] = UartBuf[3];
102 1 OptRate = Convert.w;
103 1 //电流
104 1 Convert.b[0] = UartBuf[4];
105 1 Convert.b[1] = UartBuf[5];
106 1 OptCurrent = Convert.w;
107 1 //电压
108 1 Convert.b[0] = UartBuf[6];
109 1 Convert.b[1] = UartBuf[7];
110 1 OptVoltage = Convert.w;
111 1 //轮子直径
112 1 BikeIndex = UartBuf[8];
113 1 GetBike ();
114 1 //N值
115 1 Convert.b[0] = UartBuf[9];
116 1 Convert.b[1] = UartBuf[10];
117 1 NValue = Convert.w;
C51 COMPILER V7.50 DDCJC 11/28/2006 20:24:32 PAGE 3
118 1 //后轮直径
119 1 Convert.b[0] = UartBuf[11];
120 1 Convert.b[1] = UartBuf[12];
121 1 Dia = Convert.w;
122 1 //记录编号
123 1 Convert.b[0] = UartBuf[13];
124 1 Convert.b[1] = UartBuf[14];
125 1 RecordIndex = Convert.w;
126 1
127 1 //模式设置
128 1 ModeIndex = UartBuf[15];
129 1 CheckStatus = END_STATUS;
130 1
131 1 //打印设置
132 1 PrinterIndex = UartBuf[16];
133 1 //电池容量
134 1 Battery = UartBuf[17];
135 1 }
136
137 void DispMode() //显示模式
138 {
139 1 switch (ModeIndex)
140 1 {
141 2 case 0:
142 2 DispBuf[8] = 0x07;
143 2 /*
144 2 START_LED = FALSE;
145 2 UNDER_LED = FALSE;
146 2 OVER_LED = FALSE;
147 2 */
148 2 break;
149 2 case 1:
150 2 DispBuf[8] = 0x05;
151 2 /*
152 2 START_LED = FALSE;
153 2 UNDER_LED = TRUE;
154 2 OVER_LED = FALSE;
155 2 */
156 2 break;
157 2 case 2:
158 2 DispBuf[8] = 0x03;
159 2 /*
160 2 START_LED = FALSE;
161 2 UNDER_LED = FALSE;
162 2 OVER_LED = TRUE;
163 2 */
164 2 break;
165 2 case 3:
166 2 DispBuf[8] = 0x01;
167 2 /*
168 2 START_LED = FALSE;
169 2 UNDER_LED = TRUE;
170 2 OVER_LED = TRUE;
171 2 */
172 2 break;
173 2 default:
174 2 DispBuf[8] = 0x00;
175 2 /*
176 2 START_LED = TRUE; //熄灯
177 2 UNDER_LED = TRUE;
178 2 OVER_LED = TRUE;
179 2 */
C51 COMPILER V7.50 DDCJC 11/28/2006 20:24:32 PAGE 4
180 2 break;
181 2 }
182 1 }
183
184 void WriteParam () //写参数设置
185 {
186 1 WordType idata Convert;
187 1
188 1 //里程
189 1 Convert.w = OptDistance;
190 1 UartBuf[0] = Convert.b[0];
191 1 UartBuf[1] = Convert.b[1];
192 1
193 1 //车速
194 1 Convert.w = OptRate;
195 1 UartBuf[2] = Convert.b[0];
196 1 UartBuf[3] = Convert.b[1];
197 1
198 1 //电流
199 1 Convert.w = OptCurrent;
200 1 UartBuf[4] = Convert.b[0];
201 1 UartBuf[5] = Convert.b[1];
202 1
203 1 //电压
204 1 Convert.w = OptVoltage;
205 1 UartBuf[6] = Convert.b[0];
206 1 UartBuf[7] = Convert.b[1];
207 1
208 1 //轮子直径
209 1 UartBuf[8] = BikeIndex;
210 1
211 1 //N值
212 1 Convert.w = NValue;
213 1 UartBuf[9] = Convert.b[0];
214 1 UartBuf[10] = Convert.b[1];
215 1
216 1 //滚筒直径
217 1 Convert.w = Dia;
218 1 UartBuf[11] = Convert.b[0];
219 1 UartBuf[12] = Convert.b[1];
220 1
221 1 //记录编号
222 1 Convert.w = RecordIndex;
223 1 UartBuf[13] = Convert.b[0];
224 1 UartBuf[14] = Convert.b[1];
225 1
226 1 //模式设置
227 1 UartBuf[15] = ModeIndex;
228 1 //打印设置
229 1 UartBuf[16] = PrinterIndex;
230 1 //电池容量
231 1 UartBuf[17] = Battery;
232 1
233 1 Set8583Data (DIS_ALARM, UartBuf, 18);
234 1 }
235
236 void SaveRecord ()
237 {
238 1 WordType idata Convert;
239 1 //记录编号
240 1 Convert.w = RecordIndex;
241 1 UartBuf[0] = Convert.b[0];
C51 COMPILER V7.50 DDCJC 11/28/2006 20:24:32 PAGE 5
242 1 UartBuf[1] = Convert.b[1];
243 1 //车速
244 1 Convert.w = Rate;
245 1 UartBuf[2] = Convert.b[0];
246 1 UartBuf[3] = Convert.b[1];
247 1 //后轮转速
248 1 //Convert.w = Rev;
249 1 //UartBuf[4] = Convert.b[0];
250 1 //UartBuf[5] = Convert.b[1];
251 1 //电压
252 1 Convert.w = Voltage;
253 1 UartBuf[6] = Convert.b[0];
254 1 UartBuf[7] = Convert.b[1];
255 1 //电流
256 1 Convert.w = Current;
257 1 UartBuf[8] = Convert.b[0];
258 1 UartBuf[9] = Convert.b[1];
259 1 //里程
260 1 Convert.w = KilDistance;
261 1 UartBuf[10] = Convert.b[0];
262 1 UartBuf[11] = Convert.b[1];
263 1 Convert.w = Distance;
264 1 UartBuf[12] = Convert.b[0];
265 1 UartBuf[13] = Convert.b[1];
266 1 //启动时间
267 1 Convert.w = StartTime;
268 1 UartBuf[14] = Convert.b[0];
269 1 UartBuf[15] = Convert.b[1];
270 1
271 1 //Set8583Data (RECORD, UartBuf, 16);
272 1 }
273
274 void GetBike () //轮子直径
275 {
276 1 switch (BikeIndex)
277 1 {
278 2 case 0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -