📄 noname2.lst
字号:
230 1 // TR1=0;
231 1 // T1=0;
232 1 // ET1 = 0; //打开计数器1中断
233 1 // ET0=0; //打开计数器0中断
234 1 }
235
236 void UART_INT(void)
237 {
238 1 EA=1;
239 1 // TR1=0;
240 1 IT1=1; //下降沿触发
241 1 // IT0=1;
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 5
242 1 TMOD=0x21;
243 1 // PCON=0x80; //波特率翻倍
244 1 PCON=0x00; //波特率翻倍
245 1 SCON =0x50; //串口为工作1方式,波特率可变,允许串行接受
246 1 // TH1 = 0xf3; //串口波特率设置,9600
247 1 // TL1 = 0xf3;
248 1 TH1 = 0xfd; //串口波特率设置,9600
249 1 TL1 = 0xfd;
250 1 ET1=0;
251 1 ES = 1; //打开串口中断
252 1
253 1 }
254 void main(void)
255 {
256 1 P1_7=1;
257 1 flag0=0;
258 1 flag1=0;
259 1 flag2=0;
260 1 flag3=0;
261 1 guangdian=0;
262 1 total=0;
263 1 // T0_total=0;
264 1 // T1_total=0;
265 1 M=0;
266 1 N=0;
267 1 l=0;
268 1 flag4=0;
269 1 flag5=0;
270 1 timer1_INT();
271 1 EX1=1; //
272 1 while((!flag4) || (!flag5))
273 1 {
274 2 if((l>=maichong ) && (!flag4))
275 2 {
276 3 TR0=0;
277 3 flag4=1;
278 3 }
279 2 else if(((M*65536+TH1*256+TL1)>shijian) && (!flag5))
280 2 {
281 3 TR1=0;
282 3 flag5=1;
283 3 }
284 2 }
285 1 EX1=0;
286 1 senddata[0]=N;
287 1 senddata[1]=TH0;
288 1 senddata[2]=TL0;
289 1 senddata[3]=M;
290 1 senddata[4]=TH1;
291 1 senddata[5]=TL1;
292 1 // T0_total1=N*65536+TH0*256+TL0;
293 1 // T1_total1=M*65536+TH1*256+TL1;
294 1 TH0=0;
295 1 TL0=0;
296 1 TH1=0;
297 1 TL1=0;
298 1
299 1
300 1 while(1)
301 1 {
302 2 INT0=1;
303 2 while(!flag0);
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 6
304 2 /* if(!P3_2 && !flag0)
305 2 {
306 2 // TR0=1; //打开定时器T0
307 2 // TR1=1; //打开计数器T1
308 2 EX1=1; //开外部中断1
309 2 // ET0=1; //开定时器中断
310 2 // ET1=1; //开定时器中断
311 2 flag0=1;
312 2 P1_7=!P1_7;
313 2 } */
314 2 if(P3_2 && !flag1 && flag0)
315 2 {
316 3 senddata[6]=N;
317 3 senddata[7]=TH0;
318 3 senddata[8]=TL0;
319 3 senddata[9]=M;
320 3 senddata[10]=TH1;
321 3 senddata[11]=TL1;
322 3 // guangdian=N*65536+TH0*256+TL0; //读出定时器T0的值
323 3 // guangdian=TH0*256+TL0; //读出定时器T0的值
324 3 // T2_total=M*65536+TH1*256+TL1;
325 3 // T2_total=TH1*256+TL1;
326 3 k=l;
327 3 flag1=1;
328 3 }
329 2 if((l>=maichong) && !flag2 && flag0)
330 2 {
331 3 EX1=0; //关外部中断1
332 3 // T0_total=N*65536+TH0*256+TL0; //读出定时器T0的值
333 3 senddata[12]=N;
334 3 senddata[13]=TH0;
335 3 senddata[14]=TL0;
336 3 flag2=1;
337 3 }
338 2 total=M*65536+TH1*256+TL1;
339 2 if((total>shijian) && !flag3 && flag0)
340 2 {
341 3 TR1=0; //关计数器T1
342 3 // T1_total=M*65536+TH1*256+TL1;
343 3 // T1_total=TH1*256+TL1;
344 3 senddata[15]=M;
345 3 senddata[16]=TH1;
346 3 senddata[17]=TL1;
347 3 flag3=1;
348 3 }
349 2 // flag2=1;
350 2 // flag3=1;
351 2
352 2 if(flag1 && flag2 && flag3)
353 2 {
354 3 UART_INT(); //初始化串口
355 3 senddata[18]=k>>8;
356 3 senddata[19]=k;
357 3 guangdian=senddata[6]*65536+senddata[7]*256+senddata[8]; //读出定时器T0的值
358 3 total=senddata[9]*65536+senddata[10]*256+senddata[11];
359 3 freq=total*1.0/guangdian*2000000-150000;
360 3 senddata[20]=freq>>8;
361 3 senddata[21]=freq;
362 3 l=0;
363 3 bhead=0;
364 3 TR1=1;
365 3 TI=1; //开中断,通过串口发送数据去打印
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 7
366 3 while(l<=senddata_shu); //等待发送数据
367 3 TI=0;
368 3 ES=0;
369 3 TR1=0;
370 3 TR0=0;
371 3 l=0;
372 3 bhead=0;
373 3 flag0=0;
374 3 flag1=0;
375 3 flag2=0;
376 3 flag3=0;
377 3 guangdian=0;
378 3 total=0;
379 3 // T0_total=0;
380 3 // T1_total=0;
381 3 M=0;
382 3 N=0;
383 3 TF1=0;
384 3 timer1_INT(); //初始化定时器
385 3 }
386 2 }
387 1
388 1 }
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
UART_INT . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
P3_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
P1_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
timer1_INT . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
total. . . . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0010H 4
send_flag. . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
send . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
freq . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 000BH 2
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
guangdian. . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0014H 4
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
senddata . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0040H 22
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
flag0. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0007H 1
M. . . . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0005H 1
TH0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008CH 1
flag1. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0008H 1
N. . . . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0006H 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
flag2. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0009H 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
flag3. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 000AH 1
flag4. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0030H 1
TL0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008AH 1
flag5. . . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0031H 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
timer0 . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
timer1 . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
int0svr. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
int1svr. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
m_flag . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
k. . . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 000DH 2
l. . . . . . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0000H 4
bhead. . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0001H 1
flag_int1. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V8.02 NONAME2 08/10/2008 10:38:12 PAGE 9
CODE SIZE = 1293 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -