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

📄 test.lst

📁 采用红外传感器实现机器人的避障算法,并且用VC++实现演示的操作!里面有一些红外传感器的一些资料!
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  TEST                                                                 09/15/2005 16:22:43 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN TEST.OBJ
ASSEMBLER INVOKED BY: d:\Keil\C51\BIN\A51.EXE TEST.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;----------------constant definit-----------------------
  0025                 2        infrad    data  25h                     ; Send cord save
  0026                 3        Coderec   data  26h
  0027                 4        Psetect   data  27h
  0028                 5        Hrec      data  28h
  0029                 6        Psnb       equ   29h  ; 2ah,2bh
  0005                 7        codebit   bit   05h
  0006                 8        Psok      bit   06h
  0007                 9        Hint      bit   07h
  0008                10        Fiveok    bit   08h
                      11     ;--------------bit  definit-----------------------------
  0000                12        iscode    bit   00h                     ; if iscode==1 then  send singal else send carri
                             er
  0001                13      isguidecode bit   01h                     ; guide code
  0002                14       isozcode   bit   02h                     ; zero cord or one cord
  0003                15       sendover   bit   03h                     ; ? send over
  0004                16       t0run      bit   04h                     ; if t0run==1 then t0 run now
                      17     ;--------------------------------------------------------
                      18               ;   org   0000h
0000 0133             19                 ajmp  Main
0003                  20                  org   0003h
0003 C2A8             21                  clr   ex0
000B                  22                  org   000bh
000B 801F             23                  jmp  T0int                    ;  T0 interupt entry
0013                  24                  org   0013h
0013 C2AA             25                  clr   ex1
001B                  26                  org   001bh
001B C2AB             27                  clr   et1
0023                  28                  org   0023h
0023 C2AC             29                  clr   es
002C                  30                  org   002ch
                      31      ;------------------------------------------------
002C C28C             32      T0int:      clr   tr0                     ;  Stop  T0
002E C200             33                  clr   iscode                  ;  send carrier next
0030 C204             34                  clr   T0run                   ;  T0 isn't run
0032 32               35                  reti
                      36     ;-------------------------------------------------
0033 758160           37          Main:   mov   sp,  #60h               ;  stack point address
0036 1159             38                  acall    Sysini               ;  System initial
0038 11FB             39          loop:   acall    findcode             ;  which cord to send
003A 11AC             40                  acall    Sendcar              ;  Send carrier
                      41                 ; jb    T0run,  $+3             ;
003C 30040A           42                  jnb    T0run,  Nloop
003F 300704           43                  jnb     Hint,  Nloop_1
0042 3141             44                  acall  Calculate
0044 C207             45                  clr    Hint
0046 2004FD           46      Nloop_1:    jb    T0run , $
0049 2003EC           47           Nloop: jb   sendover,loop
004C D203             48                  setb  Sendover
004E D201             49                  setb  isguidecode
0050 3008E5           50                  jnb   Fiveok , loop
0053 C208             51                  clr   Fiveok
0055 3195             52                  acall  P1out
0057 80DF             53                  jmp   loop
                      54     ;-----------------Sysini---------------------------
0059 C207             55       Sysini:    CLR   Hint
005B C293             56                  clr    P1.3
005D 758991           57                  mov  tmod , #10010001b        ;  T1 gate and 16 bit; T0 16 bit
A51 MACRO ASSEMBLER  TEST                                                                 09/15/2005 16:22:43 PAGE     2

0060 D28A             58                  setb  it1                     ;  high - low is efficiency
0062 75A882           59                  mov   ie  , #10000010b        ;  enable t0 interupt
0065 D28E             60                  setb  tr1                     ;  run T1
0067 7F2B             61                  mov   r7,   #43               ;  43 times
0069 7E05             62                  mov   r6,   #05h              ;  8 bit
006B C200             63                  clr   iscode                  ;  isn't code
006D D201             64                  setb   isguidecode            ;  send guide code when begin
006F D203             65                  setb    sendover              ;  isn't send over
0071 C204             66                  clr    T0run                   ;?????
0073 7525A5           67                  mov   infrad ,  #10100101b    ;  Send code
0076 7D05             68                  mov   r5,   #5
0078 7527FE           69                  mov   Psetect,  #0feh
007B 759000           70                  mov   p1,  #00h
007E C2B5             71                  clr   P3.5
0080 C2B4             72                  clr   P3.4
0082 C206             73                  clr   psok
0084 C208             74                  clr   Fiveok
0086 7B02             75                  mov   r3,    #02h
0088 752800           76                  mov   Hrec ,  #00h
008B 752900           77                  mov   Psnb,  #00
008E 752A00           78                  mov   Psnb+1,  #00
0091 752B00           79                  mov   Psnb+2,  #00
0094 22               80                  ret
                      81     ;------------------Extrain------------------------
0095 C28E             82     Extrain:    clr    tr1                     ;  Stop  T1
0097 C28B             83                 clr    ie1                     ;  clr  Extra interupt flag
0099 858D23           84                 mov    23h,  th1
009C 858B24           85                 mov    24h,  tl1
009F 758D00           86                 mov    th1,   #00h
00A2 758B00           87                 mov    tl1,  #00h
00A5 D207             88                 Setb    Hint
00A7 D28E             89                 setb   tr1
00A9 B293             90                 cpl    p1.3
                      91                 ;cpl    p1.1
00AB 22               92                 ret
                      93     ;-----------------------------------------------------
00AC 300032           94       Sendcar:  jnb    iscode,  carrier            ; if iscode==0 then send carrier else send c
                             ode
00AF 300110           95                 jnb    isguidecode, isone
00B2 C201             96                 clr    isguidecode
00B4 C293             97                 clr    p1.3
00B6 758CF4           98                 mov    th0,  #high(62535)
00B9 758A47           99                 mov    tl0,  #low(62535)
00BC D28C            100                 setb   tr0
00BE D204            101                 setb   t0run
00C0 8038            102                 jmp    Quit
00C2 30020E          103          isone: jnb      isozcode,  zerocode
00C5 C293            104                 clr    p1.3
00C7 758CF9          105                 mov    th0,  #high(63850)
00CA 758A6A          106                 mov    tl0,  #low(63850)
00CD D28C            107                 setb   tr0
00CF D204            108                 setb   t0run
00D1 8027            109                 jmp    Quit
00D3 C293            110       zerocode: clr    p1.3
00D5 758CFC          111                 mov    th0,  #high(64575)
00D8 758A3F          112                 mov    tl0,  #low(64575)
00DB D28C            113                 setb   tr0
00DD D204            114                 setb   t0run
00DF 8019            115                 jmp    Quit
00E1 308B02          116      Carrier:   jnb     ie1,  nointe
00E4 1195            117                 acall   extrain
00E6 00              118      nointe:    nop
00E7 00              119                 nop
00E8 00              120                 nop
00E9 00              121                 nop
00EA 00              122                 nop
A51 MACRO ASSEMBLER  TEST                                                                 09/15/2005 16:22:43 PAGE     3

00EB 00              123                 nop
00EC 00              124                 nop
00ED 00              125                 nop
00EE 00              126                 nop
00EF 00              127                 nop
00F0 B293            128                 cpl    p1.3
00F2 DFED            129                 djnz   r7,    carrier
00F4 7F2B            130                 mov    r7,    #43
00F6 D200            131                 setb   iscode
00F8 C293            132                 clr    P1.3
00FA 22              133          Quit:  ret
                     134      ;-----------------------------------------------------------
00FB                 135      Findcode:
                     136                 ;setb  sendover
00FB 300042          137                 jnb  iscode, Findquit
00FE 20013F          138                 jb   isguidecode, Findquit
0101 E525            139                 mov  a, infrad
0103 33              140                 rlc  a
0104 9202            141                 mov  isozcode,c
0106 E525            142                 mov  a, infrad
0108 23              143                 rl   a
0109 F525            144                 mov infrad, a
010B DE33            145                 djnz  r6, findquit
010D 7525A5          146                 mov   infrad ,#10100101b
0110 7E05            147                 mov   r6, #5
0112 C203            148                 clr    sendover
0114 DB2A            149                 djnz   r3,  Findquit
0116 D208            150                 Setb   Fiveok
0118 7B02            151                 mov    r3,  #02h
011A C206            152                 clr    PSok
011C E527            153                 mov   a,  psetect
011E 03              154                 rr    a
011F F527            155                 mov   Psetect ,a
0121 20E708          156                 jb   acc.7,  acc6_2
0124 D297            157                 setb  p1.7
0126 C296            158                 clr   p1.6
0128 C295            159                 clr   p1.5
012A 8014            160                 jmp   Findquit
012C 20E608          161         acc6_2: jb    acc.6 , acc5_2
012F C297            162                 clr   p1.7
0131 D296            163                 setb   p1.6
0133 C295            164                 clr    p1.5
0135 8009            165                 jmp    Findquit
0137 C297            166         acc5_2: clr    p1.7
0139 C296            167                 clr   p1.6
013B D295            168                 setb   P1.5
013D 7527FE          169                 mov   psetect,  #0feh
                     170     
                     171     
0140 22              172      Findquit:       ret
                     173     ;-----------------------------------------------------------
0141                 174     Calculate:  ;cpl     p1.4                      ;???
0141 E523            175                 mov   a, 23h
0143 B40500          176                 cjne  a, #05h, $+3
0146 4019            177                 jc     Zcode

⌨️ 快捷键说明

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