main.lst
来自「我用PROTEUS做了一个基于PIC16F877A的5路电压采集系统」· LST 代码 · 共 1,336 行 · 第 1/5 页
LST
1,336 行
255 0056 ds 1
256 0057 ds 1
257 0058 ds 1
258 0059 ds 1
259 005A ds 1
260 005B ds 1
261 005C ds 1
262 005D ds 1
263 005E _date_display_temp3
264 005E ds 1
265 005F ds 1
266 0060 ds 1
267 0061 ds 1
268 0062 ds 1
269 0063 ds 1
270
271 psect idata_0
272 07D7 3454 retlw 84
273 07D8 3468 retlw 104
274 07D9 3465 retlw 101
275 07DA 3420 retlw 32
276 07DB 3476 retlw 118
277 07DC 346F retlw 111
278 07DD 346C retlw 108
279 07DE 3474 retlw 116
280 07DF 3461 retlw 97
281 07E0 3467 retlw 103
282 07E1 3465 retlw 101
283 07E2 3420 retlw 32
284 07E3 3469 retlw 105
285 07E4 3473 retlw 115
286 07E5 343A retlw 58
287 07E6 3400 retlw 0
288 07E7 3441 retlw 65
289 07E8 346C retlw 108
290 07E9 3461 retlw 97
291 07EA 3472 retlw 114
292 07EB 346D retlw 109
293 07EC 3420 retlw 32
294 07ED 3476 retlw 118
295 07EE 3461 retlw 97
296 07EF 346C retlw 108
297 07F0 3475 retlw 117
298 07F1 3465 retlw 101
299 07F2 343A retlw 58
300 07F3 3420 retlw 32
301 07F4 3420 retlw 32
302 07F5 3420 retlw 32
303 07F6 3420 retlw 32
304 07F7 3420 retlw 32
305 07F8 3420 retlw 32
306 07F9 3400 retlw 0
307 07FA 3420 retlw 32
308 07FB 3420 retlw 32
309 07FC 3420 retlw 32
310 07FD 3420 retlw 32
311 07FE 3420 retlw 32
312 07FF 3400 retlw 0
313
314 psect intcode
315 001D _time
316 001D int_func
317 001D 30FC movlw -4
318 001E 0183 clrf 3 ;select bank 0
319 001F 008F movwf 15 ;volatile
320 ;main.c: 90: TMR1L=0x18;
321 0020 3018 movlw 24
322 0021 008E movwf 14 ;volatile
323 ;main.c: 91: TMR1IF=0;
324 0022 100C bcf 12,0
325 ;main.c: 92: count++;
326 0023 1683 bsf 3,5
327 0024 0AAD incf _count^(0+128)
328 0025 1903 btfsc 3,2
329 0026 0AAE incf (_count+1)^(0+128)
330 ;main.c: 93: if(count>1000)
331 0027 3003 movlw 3
332 0028 022E subwf (_count+1)^(0+128),w
333 0029 30E9 movlw 233
334 002A 1903 btfsc 3,2
335 002B 022D subwf _count^(0+128),w
336 002C 1C03 btfss 3,0
337 002D 2899 goto l1
338 ;main.c: 94: {
339 002E 01AD clrf _count^(0+128)
340 002F 01AE clrf (_count+1)^(0+128)
341 ;main.c: 96: second++;
342 0030 0AAA incf _second^(0+128)
343 ;main.c: 97: auto_count++;
344 0031 0AA3 incf _auto_count^(0+128)
345 ;main.c: 98: if(auto_count>1)
346 0032 3002 movlw 2
347 0033 0223 subwf _auto_count^(0+128),w
348 0034 1C03 btfss 3,0
349 0035 2844 goto l3
350 ;main.c: 99: {
351 0036 01A3 clrf _auto_count^(0+128)
352 ;main.c: 101: if((auto_mode==1)&&(2==set))
353 0037 0B24 decfsz _auto_mode^(0+128),w
354 0038 2844 goto l3
355 0039 082B movf _set^(0+128),w
356 003A 3A02 xorlw 2
357 003B 1D03 btfss 3,2
358 003C 2844 goto l3
359 ;main.c: 102: {
360 003D 0AE7 incf _channel^(0+128)
361 ;main.c: 104: if(channel>5)channel=1;
362 003E 3006 movlw 6
363 003F 0267 subwf _channel^(0+128),w
364 0040 1C03 btfss 3,0
365 0041 2844 goto l3
366 0042 01E7 clrf _channel^(0+128)
367 0043 0AE7 incf _channel^(0+128)
368 ;main.c: 106: }
369 ;main.c: 107: }
370 0044 l3
371 ;main.c: 108: if(second>=60)
372 0044 303C movlw 60
373 0045 022A subwf _second^(0+128),w
374 0046 1C03 btfss 3,0
375 0047 2899 goto l1
376 ;main.c: 109: {
377 0048 01AA clrf _second^(0+128)
378 ;main.c: 111: minute++;
379 0049 0AA8 incf _minute^(0+128)
380 ;main.c: 112: if(minute>=60)
381 004A 303C movlw 60
382 004B 0228 subwf _minute^(0+128),w
383 004C 1C03 btfss 3,0
384 004D 2899 goto l1
385 ;main.c: 113: {
386 004E 01A8 clrf _minute^(0+128)
387 ;main.c: 115: hour++;
388 004F 0AA5 incf _hour^(0+128)
389 ;main.c: 116: if(hour>=24)
390 0050 3018 movlw 24
391 0051 0225 subwf _hour^(0+128),w
392 0052 1C03 btfss 3,0
393 0053 2899 goto l1
394 ;main.c: 117: {
395 0054 01A5 clrf _hour^(0+128)
396 ;main.c: 119: day++;
397 0055 0ACB incf _day^(0+128)
398 ;main.c: 120: if((year%4==0)&&(year%100!=0)||(y
+ ear%400==0))
399 0056 084E movf (_year+1)^(0+128),w
400 0057 00F1 movwf btemp+1
401 0058 084D movf _year^(0+128),w
402 0059 00F0 movwf btemp
403 005A 3003 movlw 3
404 005B 05F0 andwf btemp
405 005C 01F1 clrf btemp+1
406 005D 0871 movf btemp+1,w
407 005E 0470 iorwf btemp,w
408 005F 1D03 btfss 3,2
409 0060 2871 goto u121
410 0061 3064 movlw 100
411 0062 00F2 movwf btemp+2
412 0063 01F3 clrf btemp+3
413 0064 084E movf (_year+1)^(0+128),w
414 0065 00F1 movwf btemp+1
415 0066 084D movf _year^(0+128),w
416 0067 00F0 movwf btemp
417 0068 120A 118A 2736 fcall lwmod
+ 120A 118A
418 006D 0871 movf btemp+1,w
419 006E 0470 iorwf btemp,w
420 006F 1D03 btfss 3,2
421 0070 2882 goto u140
422 0071 u121
423 0071 3090 movlw 144
424 0072 00F2 movwf btemp+2
425 0073 3001 movlw 1
426 0074 00F3 movwf btemp+3
427 0075 084E movf (_year+1)^(0+128),w
428 0076 00F1 movwf btemp+1
429 0077 084D movf _year^(0+128),w
430 0078 00F0 movwf btemp
431 0079 120A 118A 2736 fcall lwmod
+ 120A 118A
432 007E 0871 movf btemp+1,w
433 007F 0470 iorwf btemp,w
434 0080 1D03 btfss 3,2
435 0081 2885 goto l9
436 0082 u140
437 ;main.c: 121: { if(day>tian2[month-1])
438 0082 034C decf _month^(0+128),w
439 0083 3EDB addlw _tian2
440 0084 2887 goto L1
441 ;main.c: 122: {
442 ;main.c: 124: month++;
443 ;main.c: 125: }
444 ;main.c: 127: else if(day>tian1[month-1])
445 0085 l9
446 0085 034C decf _month^(0+128),w
447 0086 3ECF addlw _tian1
448 0087 L1
449 0087 0084 movwf 4
450 0088 1383 bcf 3,7
451 0089 084B movf _day^(0+128),w
452 008A 0200 subwf 0,w
453 008B 1803 btfsc 3,0
454 008C 2890 goto l11
455 ;main.c: 128: {
456 008D 01CB clrf _day^(0+128)
457 008E 0ACB incf _day^(0+128)
458 ;main.c: 130: month++;
459 008F 0ACC incf _month^(0+128)
460 ;main.c: 131: }
461 0090 l11
462 0090 300D movlw 13
463 0091 024C subwf _month^(0+128),w
464 0092 1C03 btfss 3,0
465 0093 2899 goto l1
466 ;main.c: 133: {
467 0094 01CC clrf _month^(0+128)
468 0095 0ACC incf _month^(0+128)
469 ;main.c: 135: year++;
470 0096 0ACD incf _year^(0+128)
471 0097 1903 btfsc 3,2
472 0098 0ACE incf (_year+1)^(0+128)
473 ;main.c: 136: }
474 ;main.c: 138: }
475 ;main.c: 139: }
476 ;main.c: 140: }
477 ;main.c: 141: }
478 0099 l1
479 0099 1303 bcf 3,6 ;carry unused
480 009A 1283 bcf 3,5
481
482 psect intsave_0
483 007C saved_w
484 007C ds 1
485
486 psect intret
487 00AB 0865 movf saved_fsr,w
488 00AC 0084 movwf 4 ;restore FSR
489 00AD 0866 movf saved_pclath,w
490 00AE 008A movwf 10
491 00AF int_restore
492 00AF 0864 movf saved_status,w
493 00B0 0083 movwf 3
494 00B1 0EFC swapf saved_w
495 00B2 0E7C swapf saved_w,w
496 00B3 0009 retfie
497
498 psect intentry
499 0004 int_entry
500 0004 00FC movwf saved_w
501 0005 0803 movf 3,w
502 0006 0183 clrf 3
503 0007 00E4 movwf saved_status
504 0008 0804 movf 4,w
505 0009 00E5 movwf saved_fsr
506 000A 080A movf 10,w
507 000B 00E6 movwf saved_pclath
508 000C 018A clrf 10
509
510 psect intsave
511 0064 saved_status
512 0064 ds 1
513 0065 saved_fsr
514 0065 ds 1
515 0066 saved_pclath
516 0066 ds 1
517
518 psect text6
519 091B _date_display
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?