📄 us100test.lst
字号:
191 1 tempa = 0;
192 1
193 1 Decade = tempa/10;
194 1 Unit = tempa%10;
195 1
196 1 if(FlagPosi == 0)
197 1 DisplayLED(6, 10, 0);
198 1 DisplayLED(7, Decade, 0);
199 1 DisplayLED(8, Unit, 0);
200 1 }
201
202
203 unsigned long MeterByTrig()
204 {
205 1 unsigned char tempa;
206 1 unsigned char IsOverFlow;
207 1 unsigned long PresentTime, tempb;
208 1 IsOverFlow = 0;
209 1
210 1 //Delay1Ms();
211 1
212 1 P1M1 &= 0X7F;
213 1 P1M2 &= 0X7F;
214 1
215 1 P1M1 |= 0X40;
216 1 P1M2 &= 0XBF;
217 1
218 1
219 1 //Timer Init
220 1 TMOD = 0X11;
221 1 TAMOD = 0X00;
222 1 TCON = 0X00;
223 1 TH1 = 0;
224 1 TL1 = 0;
225 1
226 1 Trig_Pin = 0;
227 1 for(tempa = 0; tempa < 10; tempa++)
228 1 {
229 2 Trig_Pin = 1;
230 2 }
231 1 Trig_Pin = 0;
232 1
233 1 while(1)
234 1 {
235 2 if(Echo_Pin == 1)
236 2 {//Start Timer;
237 3 TCON = 0X40;//start timer
238 3 break;
239 3 }
240 2 if(TCON&0X80)
C51 COMPILER V7.06 US100TEST 12/27/2010 10:30:28 PAGE 5
241 2 {
242 3 IsOverFlow = 1;
243 3 break;//overflow;
244 3 }
245 2 }
246 1
247 1 while(1)
248 1 {
249 2 if(Echo_Pin == 0)
250 2 {//Stop Timer;
251 3 TCON = 0X00;
252 3 break;
253 3 }
254 2 if(TCON&0X80)
255 2 {
256 3 IsOverFlow = 1;
257 3 break;//overflow;
258 3 }
259 2 }
260 1
261 1 // unsigned long PresentTime, tempb;
262 1 PresentTime = TH1;
263 1 PresentTime <<= 0X08;
264 1 PresentTime += TL1;
265 1
266 1 tempb = PresentTime/137;
267 1 PresentTime /= 7;//*3
268 1
269 1 PresentTime -= tempb;//time, us
270 1
271 1 tempb = PresentTime/150;
272 1 PresentTime /= 3;
273 1 PresentTime += tempb;
274 1 //Delay1Ms();
275 1 return PresentTime;
276 1 }
277
278 //MeterByTrig()
279
280 void MeterLenByUART()
281 {
282 1 RcvIndex = 0;
283 1 UARTSnd(0X55);
284 1 }
285
286 void MeterTempByUART()
287 {
288 1 RcvIndex = 100;
289 1 UARTSnd(0X50);
290 1 }
291
292 void main(void)
293 {
294 1 unsigned char TestMode, tempa;
295 1 unsigned long PreLength;
296 1
297 1 InitIOPort();
298 1 UART_init();
299 1 TestMode = GetPreMode();
300 1
301 1 if(TestMode == 1)//Trig mode
302 1 {
C51 COMPILER V7.06 US100TEST 12/27/2010 10:30:28 PAGE 6
303 2 while(1)
304 2 {
305 3 PreLength = MeterByTrig();
306 3 for(tempa = 0; tempa < 200; tempa++)
307 3 {
308 4 DisplayLength(PreLength);
309 4 }
310 3 }
311 2 }
312 1 if(TestMode == 2)//UART Length
313 1 {
314 2 GLengthHigh = 0;
315 2 GLengthLow = 0;
316 2 while(1)
317 2 {
318 3 MeterLenByUART();// meter length, and set PreLength.
319 3 for(tempa = 0; tempa < 100; tempa++)//display Length
320 3 {
321 4 PreLength = GLengthHigh;
322 4 PreLength <<= 8;
323 4 PreLength += GLengthLow;
324 4 DisplayLength(PreLength);
325 4 }
326 3 }
327 2 }
328 1 if(TestMode == 3)//UART Temperature
329 1 {
330 2 while(1)
331 2 {
332 3 MeterTempByUART();// meter Temperatur, and set GTempera.
333 3 for(tempa = 0; tempa < 100; tempa++)//display temperatur
334 3 {
335 4 DisplayTemperature(GTempera);
336 4 }
337 3 }
338 2 }
339 1
340 1
341 1
342 1 while(1);
343 1
344 1
345 1 }
346
347
348 //1ms延时
349 void Delay1Ms(void)
350 {
351 1 unsigned long TempCyc = 90;//36865;//5552;
352 1 while(TempCyc--);
353 1 }
354 //5ms延时
355 void Delay5Ms(void)
356 {
357 1 unsigned long TempCyc = 460;//36865;//5552;
358 1 while(TempCyc--);
359 1 }
360
361 //400ms延时
362 void Delay400Ms(void)
363 {
364 1 unsigned char TempCycA = 80;//5;
C51 COMPILER V7.06 US100TEST 12/27/2010 10:30:28 PAGE 7
365 1 unsigned long TempCycB;
366 1 while(TempCycA--)
367 1 {
368 2 TempCycB=460;//50000; //7269;
369 2 while(TempCycB--);
370 2 };
371 1
372 1 }
373
374
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1087 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 51
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -