⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ma.lst

📁 利用单片机AT89S51与adc0809设计一个数字电压表
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.08   MA                                                                    09/24/2008 16:07:00 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MA
OBJECT MODULE PLACED IN ma.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ma.c BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          /**********************************************************************
   2          By ZhuTao
   3          
   4          ***********************************************************************/
   5          #include "led.c"
   6          #define addo (5.0/255.0)
   7          #define zero 0.005       //用于校准AD的误差
   8          void main()
   9          {
  10   1        uint cnt=0;
  11   1        
  12   1      
  13   1        while(1)
  14   1         {
  15   2           switch(cnt++)
  16   2            {
  17   3              case 0:   decodenum(ad_action(0)*addo+zero,0);break; 
  18   3              case 70:  decodenum(ad_action(1)*addo+zero,1);break;
  19   3              case 140: decodenum(ad_action(2)*addo+zero,2);break;
  20   3              case 210: decodenum(ad_action(3)*addo+zero,3);break;
  21   3              case 280: decodenum(ad_action(4)*addo+zero,4);break;
  22   3              case 350: decodenum(ad_action(5)*addo+zero,5);break;
  23   3              case 420: decodenum(ad_action(6)*addo+zero,6);break;
  24   3              case 490: decodenum(ad_action(7)*addo+zero,7);break;
  25   3              case 560:cnt=0;break;
  26   3             }
  27   2           disp();
  28   2         }
  29   1      }       
C51 COMPILER V8.08   MA                                                                    09/24/2008 16:07:00 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _delayus (BEGIN)
                                           ; SOURCE LINE # 14
;---- Variable 'us' assigned to Register 'R6/R7' ----
                                           ; SOURCE LINE # 15
0000         ?C0001:
                                           ; SOURCE LINE # 16
0000 EF                MOV     A,R7
0001 1F                DEC     R7
0002 AC06              MOV     R4,AR6
0004 7001              JNZ     ?C0035
0006 1E                DEC     R6
0007         ?C0035:
0007 4C                ORL     A,R4
0008 70F6              JNZ     ?C0001
                                           ; SOURCE LINE # 17
000A         ?C0003:
000A 22                RET     
             ; FUNCTION _delayus (END)

             ; FUNCTION _ad_action (BEGIN)
                                           ; SOURCE LINE # 20
;---- Variable 'chn' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 23
0000 907FFF            MOV     DPTR,#07FFFH
0003 EF                MOV     A,R7
0004 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 24
0005 7F06              MOV     R7,#06H
0007 7E00              MOV     R6,#00H
0009 120000      R     LCALL   _delayus
                                           ; SOURCE LINE # 25
000C E0                MOVX    A,@DPTR
000D FF                MOV     R7,A
;---- Variable 'read_data' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 26
000E 00                NOP     
                                           ; SOURCE LINE # 27
000F 00                NOP     
                                           ; SOURCE LINE # 28
                                           ; SOURCE LINE # 29
0010         ?C0004:
0010 22                RET     
             ; FUNCTION _ad_action (END)

             ; FUNCTION _decodenum (BEGIN)
                                           ; SOURCE LINE # 19
0000 8F00        R     MOV     adv+03H,R7
0002 8E00        R     MOV     adv+02H,R6
0004 8D00        R     MOV     adv+01H,R5
0006 8C00        R     MOV     adv,R4
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 23
0008 E4                CLR     A
0009 FF                MOV     R7,A
000A FE                MOV     R6,A
000B 7DC8              MOV     R5,#0C8H
000D 7C42              MOV     R4,#042H
000F AB00        R     MOV     R3,adv+03H
C51 COMPILER V8.08   MA                                                                    09/24/2008 16:07:00 PAGE 3   

0011 AA00        R     MOV     R2,adv+02H
0013 A900        R     MOV     R1,adv+01H
0015 A800        R     MOV     R0,adv
0017 120000      E     LCALL   ?C?FPMUL
001A 120000      E     LCALL   ?C?CASTF
;---- Variable 'temp' assigned to Register 'R2/R3' ----
001D AB07              MOV     R3,AR7
001F AA06              MOV     R2,AR6
                                           ; SOURCE LINE # 25
0021 7C00              MOV     R4,#00H
0023 7D64              MOV     R5,#064H
0025 120000      E     LCALL   ?C?UIDIV
0028 8F00        R     MOV     dispdata,R7
                                           ; SOURCE LINE # 26
002A 7C00              MOV     R4,#00H
002C 7D0A              MOV     R5,#0AH
002E AF03              MOV     R7,AR3
0030 AE02              MOV     R6,AR2
0032 120000      E     LCALL   ?C?UIDIV
0035 7C00              MOV     R4,#00H
0037 7D0A              MOV     R5,#0AH
0039 120000      E     LCALL   ?C?UIDIV
003C 8D00        R     MOV     dispdata+01H,R5
                                           ; SOURCE LINE # 27
003E AE02              MOV     R6,AR2
0040 AF03              MOV     R7,AR3
0042 7C00              MOV     R4,#00H
0044 7D0A              MOV     R5,#0AH
0046 120000      E     LCALL   ?C?UIDIV
0049 8D00        R     MOV     dispdata+02H,R5
                                           ; SOURCE LINE # 28
004B 850000      R     MOV     dispdata+03H,chn
                                           ; SOURCE LINE # 29
004E 22                RET     
             ; FUNCTION _decodenum (END)

             ; FUNCTION _select (BEGIN)
                                           ; SOURCE LINE # 36
;---- Variable 'LED' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
0000 EF                MOV     A,R7
0001 14                DEC     A
0002 600D              JZ      ?C0008
0004 14                DEC     A
0005 600D              JZ      ?C0009
0007 14                DEC     A
0008 600D              JZ      ?C0010
000A 2403              ADD     A,#03H
000C 700C              JNZ     ?C0011
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 40
000E         ?C0007:
000E C2A0              CLR     LED1
0010 22                RET     
                                           ; SOURCE LINE # 41
0011         ?C0008:
0011 C2A1              CLR     LED2
0013 22                RET     
                                           ; SOURCE LINE # 42
0014         ?C0009:
0014 C2A2              CLR     LED3
C51 COMPILER V8.08   MA                                                                    09/24/2008 16:07:00 PAGE 4   

0016 22                RET     
                                           ; SOURCE LINE # 43
0017         ?C0010:
0017 C2A3              CLR     LED4
0019 22                RET     
                                           ; SOURCE LINE # 44
001A         ?C0011:
001A 75A0FF            MOV     P2,#0FFH
                                           ; SOURCE LINE # 45
                                           ; SOURCE LINE # 46
001D         ?C0012:
001D 22                RET     
             ; FUNCTION _select (END)

             ; FUNCTION _dispone (BEGIN)
                                           ; SOURCE LINE # 48
;---- Variable 'LED' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 53
0000 120000      R     LCALL   _select
                                           ; SOURCE LINE # 54
0003 E500        R     MOV     A,number
0005 900000      R     MOV     DPTR,#num
0008 93                MOVC    A,@A+DPTR
0009 300006      R     JNB     ifpoint,?C0013
                                           ; SOURCE LINE # 55
000C 4480              ORL     A,#080H
000E F580              MOV     P0,A
0010 8002              SJMP    ?C0014
0012         ?C0013:
                                           ; SOURCE LINE # 57
0012 F580              MOV     P0,A
0014         ?C0014:
                                           ; SOURCE LINE # 60
0014 7FC8              MOV     R7,#0C8H
0016 7E00              MOV     R6,#00H
0018 120000      R     LCALL   _delayus
                                           ; SOURCE LINE # 61
001B 75A0FF            MOV     P2,#0FFH
                                           ; SOURCE LINE # 63
001E 22                RET     
             ; FUNCTION _dispone (END)

             ; FUNCTION disp (BEGIN)
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 70
;---- Variable 'i' assigned to Register 'R5' ----
0000 E4                CLR     A
0001 FD                MOV     R5,A
0002         ?C0016:
                                           ; SOURCE LINE # 71
                                           ; SOURCE LINE # 72
0002 ED                MOV     A,R5
0003 7004              JNZ     ?C0019
                                           ; SOURCE LINE # 73
0005 D200        R     SETB    point
0007 8002              SJMP    ?C0020
0009         ?C0019:
                                           ; SOURCE LINE # 75
0009 C200        R     CLR     point
000B         ?C0020:
C51 COMPILER V8.08   MA                                                                    09/24/2008 16:07:00 PAGE 5   

                                           ; SOURCE LINE # 76
000B AF05              MOV     R7,AR5
000D A200        R     MOV     C,point
000F 9200        R     MOV     ?_dispone?BIT,C
0011 7400        R     MOV     A,#LOW dispdata
0013 2D                ADD     A,R5
0014 F8                MOV     R0,A
0015 E6                MOV     A,@R0
0016 F500        R     MOV     ?_dispone?BYTE+01H,A
0018 120000      R     LCALL   _dispone
                                           ; SOURCE LINE # 77
001B 0D                INC     R5

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -