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

📄 can_main.ls1

📁 CAN总线源程序,欢迎大家共同学习
💻 LS1
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  CAN_MAIN                                                             11/24/2006 12:29:26 PAGE     1


MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN CAN_MAIN.OBJ
ASSEMBLER INVOKED BY: D:\keil\C51\BIN\A51.EXE CAN_MAIN.src PR(.\CAN_MAIN.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\CAN_MAIN.SRC generated from: .\CAN_MAIN.c
                       2     
                       3     $nomod51 
                       4     
                       5     NAME    CAN_MAIN
                       6     
  0080                 7     P0      DATA    080H
  0090                 8     P1      DATA    090H
  00A0                 9     P2      DATA    0A0H
  00B0                10     P3      DATA    0B0H
  00B4                11     T0      BIT     0B0H.4
  00D6                12     AC      BIT     0D0H.6
  00B5                13     T1      BIT     0B0H.5
  00AF                14     EA      BIT     0A8H.7
  00A8                15     IE      DATA    0A8H
  00B1                16     P3_1    BIT     0B0H.1
  00B7                17     RD      BIT     0B0H.7
  00AC                18     ES      BIT     0A8H.4
  00B8                19     IP      DATA    0B8H
  0098                20     RI      BIT     098H.0
  00B2                21     INT0    BIT     0B0H.2
  00D7                22     CY      BIT     0D0H.7
  0099                23     TI      BIT     098H.1
  00B3                24     INT1    BIT     0B0H.3
  00BC                25     PS      BIT     0B8H.4
  0081                26     SP      DATA    081H
  00D2                27     OV      BIT     0D0H.2
  00B6                28     WR      BIT     0B0H.6
  0099                29     SBUF    DATA    099H
  0087                30     PCON    DATA    087H
  0098                31     SCON    DATA    098H
  0089                32     TMOD    DATA    089H
  0088                33     TCON    DATA    088H
  0089                34     IE0     BIT     088H.1
  008B                35     IE1     BIT     088H.3
  00F0                36     B       DATA    0F0H
  00E0                37     ACC     DATA    0E0H
  00A9                38     ET0     BIT     0A8H.1
  00AB                39     ET1     BIT     0A8H.3
  008D                40     TF0     BIT     088H.5
  008F                41     TF1     BIT     088H.7
  009A                42     RB8     BIT     098H.2
  008C                43     TH0     DATA    08CH
  00A8                44     EX0     BIT     0A8H.0
  0088                45     IT0     BIT     088H.0
  008D                46     TH1     DATA    08DH
  009B                47     TB8     BIT     098H.3
  00AA                48     EX1     BIT     0A8H.2
  008A                49     IT1     BIT     088H.2
  00D0                50     P       BIT     0D0H.0
  009F                51     SM0     BIT     098H.7
  008A                52     TL0     DATA    08AH
  009E                53     SM1     BIT     098H.6
  008B                54     TL1     DATA    08BH
  009D                55     SM2     BIT     098H.5
  00B9                56     PT0     BIT     0B8H.1
  00BB                57     PT1     BIT     0B8H.3
  00D3                58     RS0     BIT     0D0H.3
A51 MACRO ASSEMBLER  CAN_MAIN                                                             11/24/2006 12:29:26 PAGE     2

  008C                59     TR0     BIT     088H.4
  00D4                60     RS1     BIT     0D0H.4
  008E                61     TR1     BIT     088H.6
  00B8                62     PX0     BIT     0B8H.0
  00BA                63     PX1     BIT     0B8H.2
  0083                64     DPH     DATA    083H
  0082                65     DPL     DATA    082H
  009C                66     REN     BIT     098H.4
  00B0                67     RXD     BIT     0B0H.0
  00B1                68     TXD     BIT     0B0H.1
  00D5                69     F0      BIT     0D0H.5
  00D0                70     PSW     DATA    0D0H
                      71     ?PR?main?CAN_MAIN    SEGMENT CODE 
                      72     ?PR?CAN_INI?CAN_MAIN SEGMENT CODE 
                      73     ?PR?SEARCH?CAN_MAIN  SEGMENT CODE 
                      74     ?DT?CAN_MAIN         SEGMENT DATA 
                      75             EXTRN   CODE (RCVDATA)
                      76             EXTRN   CODE (REC_REMOTE)
                      77             EXTRN   CODE (BERR)
                      78             EXTRN   CODE (_in)
                      79             EXTRN   CODE (_out)
                      80             EXTRN   CODE (readdata)
                      81             EXTRN   CODE (test)
                      82             EXTRN   CODE (REC_DATA)
                      83             EXTRN   CODE (ERR)
                      84             EXTRN   CODE (TDATA)
                      85             EXTRN   CODE (_delay)
                      86             EXTRN   CODE (?C_STARTUP)
                      87             PUBLIC  my_flag
                      88             PUBLIC  a?
                      89             PUBLIC  tuf
                      90             PUBLIC  buf
                      91             PUBLIC  SEARCH
                      92             PUBLIC  CAN_INI
                      93             PUBLIC  main
                      94     
----                  95             RSEG  ?DT?CAN_MAIN
0000                  96                 buf:   DS   13
000D                  97                 tuf:   DS   13
001A                  98                  a?:   DS   1
001B                  99             my_flag:   DS   2
                     100     ; #include <reg51.h>
                     101     ; #include <head.h>
                     102     ; #include <out.h>
                     103     ; my_flag1 my_flag;
                     104     ; unsigned char buf[13];
                     105     ; unsigned char a;
                     106     ; unsigned char tuf[13];
                     107     ; CAN_INI();
                     108     ; 
                     109     ; 
                     110     ; delay(unsigned char a);
                     111     ; 
                     112     ; 
                     113     ; main()
                     114     
----                 115             RSEG  ?PR?main?CAN_MAIN
0000                 116     main:
                     117             USING   0
                     118                             ; SOURCE LINE # 14
                     119     ; {unsigned char i;
                     120                             ; SOURCE LINE # 15
                     121     ; for (i=0;i<13;i++)
                     122                             ; SOURCE LINE # 16
                     123     ;---- Variable 'i?040' assigned to Register 'R7' ----
0000 E4              124             CLR     A
A51 MACRO ASSEMBLER  CAN_MAIN                                                             11/24/2006 12:29:26 PAGE     3

0001 FF              125             MOV     R7,A
0002                 126     ?C0001:
                     127     ; {buf[i]=0x0;
                     128                             ; SOURCE LINE # 17
0002 7400     F      129             MOV     A,#LOW (buf)
0004 2F              130             ADD     A,R7
0005 F8              131             MOV     R0,A
0006 E4              132             CLR     A
0007 F6              133             MOV     @R0,A
                     134     ; tuf[i]=0x0;}
                     135                             ; SOURCE LINE # 18
0008 7400     F      136             MOV     A,#LOW (tuf)
000A 2F              137             ADD     A,R7
000B F8              138             MOV     R0,A
000C E4              139             CLR     A
000D F6              140             MOV     @R0,A
000E 0F              141             INC     R7
000F BF0DF0          142             CJNE    R7,#0DH,?C0001
0012                 143     ?C0002:
                     144     ; delay(0x02);
                     145                             ; SOURCE LINE # 19
0012 7F02            146             MOV     R7,#02H
0014 120000   F      147             LCALL   _delay
                     148     ; SP=0x60;
                     149                             ; SOURCE LINE # 20
0017 758160          150             MOV     SP,#060H
                     151     ; P3_1=0;
                     152                             ; SOURCE LINE # 21
001A C2B1            153             CLR     P3_1
                     154     ; my_flag.value=0x0000; 
                     155                             ; SOURCE LINE # 22
001C E4              156             CLR     A
001D F500     F      157             MOV     my_flag,A
001F F500     F      158             MOV     my_flag+01H,A
                     159     ; out(LED,0x20);
                     160                             ; SOURCE LINE # 23
0021 7D20            161             MOV     R5,#020H
0023 FF              162             MOV     R7,A
0024 7E20            163             MOV     R6,#020H
0026 120000   F      164             LCALL   _out
                     165     ; CAN_INI();
                     166                             ; SOURCE LINE # 24
0029 120000   F      167             LCALL   CAN_INI
                     168     ; PX0=1;
                     169                             ; SOURCE LINE # 25
002C D2B8            170             SETB    PX0
                     171     ; EX0=1;
                     172                             ; SOURCE LINE # 26
002E D2A8            173             SETB    EX0
                     174     ; EA=1;
                     175                             ; SOURCE LINE # 27
0030 D2AF            176             SETB    EA
0032                 177     ?C0004:
                     178     ; while(1)
                     179                             ; SOURCE LINE # 28
                     180     ; {if (my_flag.flags.REC_REMOTE_FRAME)
                     181                             ; SOURCE LINE # 29
0032 AF00     F      182             MOV     R7,my_flag
0034 EF              183             MOV     A,R7
0035 30E00A          184             JNB     ACC.0,?C0006
                     185     ; {
                     186                             ; SOURCE LINE # 30
                     187     ; my_flag.flags.REC_REMOTE_FRAME=0;
                     188                             ; SOURCE LINE # 31
0038 AF00     F      189             MOV     R7,my_flag
003A EF              190             MOV     A,R7
A51 MACRO ASSEMBLER  CAN_MAIN                                                             11/24/2006 12:29:26 PAGE     4

003B 54FE            191             ANL     A,#0FEH
003D F500     F      192             MOV     my_flag,A
                     193     ; REC_REMOTE();
                     194                             ; SOURCE LINE # 32
003F 120000   F      195             LCALL   REC_REMOTE
                     196     ; }
                     197                             ; SOURCE LINE # 33
0042                 198     ?C0006:
                     199     ; if(my_flag.flags.REC_DATA_FRAME)
                     200                             ; SOURCE LINE # 34
0042 AF00     F      201             MOV     R7,my_flag
0044 EF              202             MOV     A,R7
0045 C3              203             CLR     C
0046 13              204             RRC     A
0047 30E00A          205             JNB     ACC.0,?C0007
                     206     ; {my_flag.flags.REC_DATA_FRAME=0;
                     207                             ; SOURCE LINE # 35
004A AF00     F      208             MOV     R7,my_flag
004C EF              209             MOV     A,R7
004D 54FD            210             ANL     A,#0FDH
004F F500     F      211             MOV     my_flag,A
                     212     ; REC_DATA();
                     213                             ; SOURCE LINE # 36
0051 120000   F      214             LCALL   REC_DATA
                     215     ; }
                     216                             ; SOURCE LINE # 37
0054                 217     ?C0007:
                     218     ; if(my_flag.flags.ERR_FLAG)
                     219                             ; SOURCE LINE # 38
0054 AF00     F      220             MOV     R7,my_flag
0056 EF              221             MOV     A,R7
0057 13              222             RRC     A
0058 13              223             RRC     A
0059 543F            224             ANL     A,#03FH
005B 30E00A          225             JNB     ACC.0,?C0008
                     226     ; {
                     227                             ; SOURCE LINE # 39
                     228     ; my_flag.flags.ERR_FLAG=0;
                     229                             ; SOURCE LINE # 40
005E AF00     F      230             MOV     R7,my_flag
0060 EF              231             MOV     A,R7
0061 54FB            232             ANL     A,#0FBH
0063 F500     F      233             MOV     my_flag,A
                     234     ; ERR();
                     235                             ; SOURCE LINE # 41
0065 120000   F      236             LCALL   ERR
                     237     ; }
                     238                             ; SOURCE LINE # 42
0068                 239     ?C0008:
                     240     ; if(my_flag.flags.BERR_FLAG)
                     241                             ; SOURCE LINE # 43
0068 AF00     F      242             MOV     R7,my_flag+01H
006A EF              243             MOV     A,R7
006B 30E00A          244             JNB     ACC.0,?C0009
                     245     ; {my_flag.flags.BERR_FLAG=0;
                     246                             ; SOURCE LINE # 44
006E AF00     F      247             MOV     R7,my_flag+01H
0070 EF              248             MOV     A,R7
0071 54FE            249             ANL     A,#0FEH
0073 F500     F      250             MOV     my_flag+01H,A
                     251     ; BERR();
                     252                             ; SOURCE LINE # 45
0075 120000   F      253             LCALL   BERR
                     254     ; }
                     255                             ; SOURCE LINE # 46
0078                 256     ?C0009:
A51 MACRO ASSEMBLER  CAN_MAIN                                                             11/24/2006 12:29:26 PAGE     5

                     257     ; if(tuf[5]!=readdata())
                     258                             ; SOURCE LINE # 47
0078 120000   F      259             LCALL   readdata

⌨️ 快捷键说明

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