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

📄 pro2.lst

📁 北航的教材配套单片机实验程序和原理图. 还包括操作系统(UCOS)的移植过程.串口调试助手等.
💻 LST
字号:
A51 MACRO ASSEMBLER  PRO2                                                                   06/11/03 11:04:23 PAGE     1


DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN PRO2.OBJ
ASSEMBLER INVOKED BY: C:\C51\BIN\A51.EXE PRO2.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     ;B.    日历时钟程序:
  0070                 2      SLA1W          EQU   070H      ;SAA1064 A片写的节点地址 
  0071                 3      SLA1R          EQU   071H      ;SAA1064 A片读的节点地址 
  0074                 4      SLA2W          EQU   074H      ;SAA1064 B片写的节点地址       
  0075                 5      SLA2R          EQU   075H      ;SAA1064 B片读的节点地址 
  00A0                 6      SLA3W          EQU   0A0H      ;PCF8583 写的节点地址 
  00A1                 7      SLA3R          EQU   0A1H      ;PCF8583 读的节点地址 
  0017                 8     COM           EQU   17H
  0050                 9      SLA            EQU   50H
  0051                10      SLAW           EQU   51H
  0052                11      SLAR           EQU   52H
  0053                12      NUMBYT         EQU   53H     ;被传送的字节数存放单元
  0020                13      MTD            EQU   20H     ;发送数据缓冲区首地址
  0030                14      MRD            EQU   30H     ;接收字节缓冲区首地址          
  0096                15      VSCL            EQU   P1.6   ;模拟I2C总线时钟线
  0095                16      VSDA            EQU   P1.5   ;模拟I2C总线数据线
0000                  17                     ORG    0
0000 2100             18                     AJMP   STAR  
0100                  19                   ORG    100H
0100 758107           20     STAR:         MOV     SP,#7H  ;堆栈地址      
0103 3109             21     MAIN:         ACALL    PCF8583        ;从PCF8583中读出当前时钟数据
0105 3153             22                   ACALL    DISPLAY        ;调用显示当前时钟数据的子程序
0107 2103             23     AJMP     MAIN
                      24     
                      25     ;子程序:从PCF8583中读出当前时钟数据:读出的数据共4个字节,存放在30H,31H,32H,33H中
0109 752002           26     PCF8583: MOV    20H,#2     ; 从02单元读起
010C 855150           27              MOV    SLA,SLAW
010F 755301           28              MOV    NUMBYT,#1
0112 1201BF           29              LCALL  WRNBYT
0115 855250           30              MOV    SLA,SLAR    ; 从02单元读起
0118 755304           31              MOV    NUMBYT,#04  ; 读出的数据共4个字节,存放在30H,31H,32H,33H中
011B 1201BF           32              LCALL  RDNBYT
011E E530             33              MOV    A,30H       ; 将压缩BCD码转化为单字节BCD码,存放在60H~67H中
0120 540F             34              ANL    A,#0FH
0122 F560             35              MOV    60H,A
0124 E530             36              MOV    A,30H
0126 C4               37              SWAP   A
0127 540F             38              ANL    A,#0FH
0129 F561             39              MOV    61H,A
012B E531             40              MOV    A,31H
012D 540F             41              ANL    A,#0FH
012F F562             42              MOV    62H,A
0131 E531             43              MOV    A,31H
0133 C4               44              SWAP   A
0134 540F             45              ANL    A,#0FH
0136 F563             46              MOV    63H,A
0138 E532             47              MOV    A,32H
013A 540F             48              ANL    A,#0FH
013C F564             49              MOV    64H,A
013E E532             50              MOV    A,32H
0140 C4               51              SWAP   A
0141 540F             52              ANL    A,#0FH
0143 F565             53              MOV    65H,A
0145 E533             54              MOV    A,33H
0147 540F             55              ANL    A,#0FH
0149 F566             56              MOV    66H,A
014B E533             57              MOV    A,33H
014D C4               58              SWAP   A
A51 MACRO ASSEMBLER  PRO2                                                                   06/11/03 11:04:23 PAGE     2

014E 5403             59              ANL    A,#3
0150 F567             60              MOV    67H,A
0152 22               61              RET
0153 7860             62     DISPLAY: MOV     R0,#60H   ;显示 RAM 60H~63H的内容。
0155 12017B           63              LCALL   DISC      ;找出数码管的字形码并存入22H~25H中,准备发送到第一个四位显示器
0158 752000           64              MOV     20H,#0
015B 752177           65              MOV     21H,#77H
015E 755070           66              MOV     SLA,#70H
0161 755306           67              MOV     NUMBYT,#6
0164 1201BF           68              LCALL   WRNBYT
0167 7864             69              MOV     R0,#64H    ;显示RAM 64H~67H的内容。
0169 317B             70              ACALL   DISC      ;找出数码管的字形码并存入22H~25H中,准备发送到第二个四位显示器
016B 752000           71              MOV     20H,#0
016E 752177           72              MOV     21H,#77H
0171 755076           73              MOV     SLA,#76H
0174 755306           74              MOV     NUMBYT,#6
0177 1201BF           75              LCALL   WRNBYT
017A 22               76              RET
                      77     ;查表,找出数码管的字形码并存入22H~25H中,准备送显示器
017B 7922             78      DISC:   MOV     R1,#22H
017D 900196           79              MOV     DPTR,#TAB0
0180 7A04             80              MOV     R2,#4
0182 E6               81      DILP:   MOV     A,@R0
0183 93               82              MOVC    A,@A+DPTR
0184 F7               83              MOV     @R1,A
0185 08               84              INC     R0
0186 09               85              INC     R1
0187 DAF9             86              DJNZ    R2,DILP
0189 E522             87              MOV     A,22H         ;补上小数点".",将日,时,分,秒分隔开
018B 4480             88              ORL     A,#80H
018D F522             89              MOV     22H,A
018F E524             90              MOV     A,24H
0191 4480             91              ORL     A,#80H
0193 F524             92              MOV     24H,A
0195 22               93              RET
                      94               ;数码管的字形表
0196 3F065B4F         95       TAB0:  DB   3FH,06H,5BH,4FH,66H,6DH,7DH,07H            ;0.1,2,3,4,5,6,7
019A 666D7D07                
019E 7F6F777C         96              DB   7FH,6FH,77H,7CH,39H,5EH,79H,71H,80H,00     ;8,9,a,b,c,d,e,f,小数点 
01A2 395E7971                
01A6 8000                    
01A8 7E0F             97     DEL0:   MOV R6,#0FH
01AA 7F01             98     TM:     MOV R7,#01H
01AC DFFE             99             DJNZ R7,$
01AE DEFA            100             DJNZ R6,TM
01B0 22              101             RET
                     102     ;长延时子程序
01B1 7DFF            103     DELY:   MOV R5,#0FFH
01B3 31A8            104     TTM1:   ACALL DEL0
01B5 DDFC            105              DJNZ R5,TTM1
01B7 22              106              RET
01B8 7DFF            107     DELYL:  MOV R5,#0FFH
01BA 31A8            108     TTM2:   CALL DEL0
01BC DDFC            109              DJNZ R5,TTM2
01BE 22              110              RET  
01BF                 111     WRNBYT:;调用向被控器件发送N个字节数据(WRNBYT)子程序
01BF                 112     RDNBYT:;调用通用N字节接收子程序(RDNBYT)
                     113       END
                             
A51 MACRO ASSEMBLER  PRO2                                                                   06/11/03 11:04:23 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

COM. . . . . . . .  N NUMB   0017H   A   
DEL0 . . . . . . .  C ADDR   01A8H   A   
DELY . . . . . . .  C ADDR   01B1H   A   
DELYL. . . . . . .  C ADDR   01B8H   A   
DILP . . . . . . .  C ADDR   0182H   A   
DISC . . . . . . .  C ADDR   017BH   A   
DISPLAY. . . . . .  C ADDR   0153H   A   
MAIN . . . . . . .  C ADDR   0103H   A   
MRD. . . . . . . .  N NUMB   0030H   A   
MTD. . . . . . . .  N NUMB   0020H   A   
NUMBYT . . . . . .  N NUMB   0053H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PCF8583. . . . . .  C ADDR   0109H   A   
RDNBYT . . . . . .  C ADDR   01BFH   A   
SLA. . . . . . . .  N NUMB   0050H   A   
SLA1R. . . . . . .  N NUMB   0071H   A   
SLA1W. . . . . . .  N NUMB   0070H   A   
SLA2R. . . . . . .  N NUMB   0075H   A   
SLA2W. . . . . . .  N NUMB   0074H   A   
SLA3R. . . . . . .  N NUMB   00A1H   A   
SLA3W. . . . . . .  N NUMB   00A0H   A   
SLAR . . . . . . .  N NUMB   0052H   A   
SLAW . . . . . . .  N NUMB   0051H   A   
SP . . . . . . . .  D ADDR   0081H   A   
STAR . . . . . . .  C ADDR   0100H   A   
TAB0 . . . . . . .  C ADDR   0196H   A   
TM . . . . . . . .  C ADDR   01AAH   A   
TTM1 . . . . . . .  C ADDR   01B3H   A   
TTM2 . . . . . . .  C ADDR   01BAH   A   
VSCL . . . . . . .  B ADDR   0090H.6 A   
VSDA . . . . . . .  B ADDR   0090H.5 A   
WRNBYT . . . . . .  C ADDR   01BFH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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