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

📄 tlc2543.lst

📁 TLC2543测试源程序
💻 LST
字号:
A51 MACRO ASSEMBLER  TLC2543                                                              06/11/2008 17:20:56 PAGE     1


MACRO ASSEMBLER A51 V1.13
OBJECT MODULE PLACED IN TLC2543.OBJ
ASSEMBLER INVOKED BY: D:\PROGRA~1\MANLEY\MEDWIN~1.39\A51.EXE TLC2543.ASM DB

LOC  OBJ            LINE     SOURCE

  0030                 1             CH      EQU     30H
  0031                 2             DPCNT   EQU     31H
  0032                 3             DPBUF   EQU     32H
                       4     
  00A2                 5             ADCLK   EQU     P2.2
  00A3                 6             ADCS    EQU     P2.3
  00A0                 7             ADIN    EQU     P2.0
  00A1                 8             ADOUT   EQU     P2.1
  0050                 9             ADOUTL  EQU     50H     ; AD转换结果存储区
  0051                10             ADOUTH  EQU     51H
                      11             
  0033                12             Z0      EQU     33H
  0034                13             Z1      EQU     34H
  0035                14             Z2      EQU     35H
  0036                15             Z3      EQU     36H
  0037                16             Z4      EQU     37H
  0038                17             Z5      EQU     38H
                      18     
                      19             
0000                  20             ORG     00H
0000 020030           21             LJMP    START
000B                  22             ORG     0BH
000B 020066           23             LJMP    T0X
0030                  24             ORG     30H
                      25     
0030 7530BC           26     START:  MOV     CH,     #0BCH
0033 753100           27             MOV     DPCNT,  #00H
0036 7931             28             MOV     R1,     #DPCNT
0038 7F09             29             MOV     R7,     #9
003A 740A             30             MOV     A,      #10
003C 7832             31             MOV     R0,     #DPBUF
                      32     
003E F6               33     LOP:    MOV     @R0,    A
003F 08               34             INC     R0
0040 DFFC             35             DJNZ    R7,     LOP
0042 7600             36             MOV     @R0,    #00H
0044 758901           37             MOV     TMOD,   #01H
0047 758CF0           38             MOV     TH0,    #(65536-4000)/256
004A 758A60           39             MOV     TL0,    #(65536-4000) MOD 256
004D D28C             40             SETB    TR0
004F D2A9             41             SETB    ET0
0051 D2AF             42             SETB    EA
                      43     
0053 AE51             44     LOOP:   MOV     R6,     ADOUTH
0055 EE               45             MOV     A,      R6
0056 540F             46             ANL     A,      #0FH
0058 FE               47             MOV     R6,     A
0059 AF50             48             MOV     R7,     ADOUTL
005B 12008C           49             LCALL   HB2
005E 7901             50             MOV     R1,     #01H
0060 1200C8           51             LCALL   AD_DATA
0063 020053           52             LJMP    LOOP
0066 00               53     T0X:    NOP
0067 758CF0           54             MOV     TH0,    #(65536-4000)/256
006A 758A60           55             MOV     TL0,    #(65536-4000) MOD 256
006D 9000FC           56             MOV     DPTR,   #DPCD
0070 E531             57             MOV     A,      DPCNT
0072 2432             58             ADD     A,      #DPBUF
A51 MACRO ASSEMBLER  TLC2543                                                              06/11/2008 17:20:56 PAGE     2

0074 F8               59             MOV     R0,     A
0075 E6               60             MOV     A,      @R0
0076 93               61             MOVC    A,      @A+DPTR
0077 F5B0             62             MOV     P3,     A
0079 900107           63             MOV     DPTR,   #DPBT
007C E531             64             MOV     A,      DPCNT
007E 93               65             MOVC    A,      @A+DPTR
007F F590             66             MOV     P1,     A
0081 0531             67             INC     DPCNT
0083 E531             68             MOV     A,      DPCNT
0085 B40803           69             CJNE    A,      #8H,    NEXT
0088 753100           70             MOV     DPCNT,  #00H
008B 32               71     NEXT:   RETI
                      72     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
                      73     ;;标号: HB2功能:双字节十六进制整数转换成三字节十进制整数
                      74     ;;入口条件:待转换的双字节十六进制整数在R6、R7中。R6为高位
                      75     ;;出口信息:转换后的三字节十进制整数在R3、R4、R5中。
                      76     ;;影响资源:PSW、A、R2~R7 堆栈需求: 2字节
                      77     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
008C                  78     HB2: 
008C E4               79             CLR     A               ;BCD码初始化
008D FB               80             MOV     R3,     A
008E FC               81             MOV     R4,     A
008F FD               82             MOV     R5,     A
0090 7A10             83             MOV     R2,     #10H    ;转换双字节十六进制整数
0092                  84     HB3:
0092 EF               85             MOV     A,      R7      ;从高端移出待转换数的一位到CY中
0093 33               86             RLC     A
0094 FF               87             MOV     R7,     A
0095 EE               88             MOV     A,      R6
0096 33               89             RLC     A
0097 FE               90             MOV     R6,     A
0098 EB               91             MOV     A,      R3      ;BCD码带进位自身相加,相当于乘2
0099 3B               92             ADDC    A,      R3
009A D4               93             DA      A               ;十进制调整
009B FB               94             MOV     R3,     A
009C EC               95             MOV     A,      R4
009D 3C               96             ADDC    A,      R4
009E D4               97             DA      A
009F FC               98             MOV     R4,     A
00A0 ED               99             MOV     A,      R5
00A1 3D              100             ADDC    A,      R5
00A2 D4              101             DA      A
00A3 FD              102             MOV     R5,     A
00A4 DAEC            103             DJNZ    R2,     HB3     
00A6 EB              104             MOV     A,      R3
00A7 540F            105             ANL     A,      #0FH
00A9 F533            106             MOV     Z0,     A
00AB EB              107             MOV     A,      R3
00AC 54F0            108             ANL     A,      #0F0H
00AE C4              109             SWAP    A
00AF F534            110             MOV     Z1,     A
00B1 EC              111             MOV     A,      R4
00B2 540F            112             ANL     A,      #0FH
00B4 F535            113             MOV     Z2,     A
00B6 EC              114             MOV     A,      R4
00B7 54F0            115             ANL     A,      #0F0H
00B9 C4              116             SWAP    A
00BA F536            117             MOV     Z3,     A
00BC ED              118             MOV     A,      R5
00BD 540F            119             ANL     A,      #0FH
00BF F537            120             MOV     Z4,     A
00C1 ED              121             MOV     A,      R5
00C2 54F0            122             ANL     A,      #0F0H
00C4 C4              123             SWAP    A
00C5 F538            124             MOV     Z5,     A
A51 MACRO ASSEMBLER  TLC2543                                                              06/11/2008 17:20:56 PAGE     3

                     125     
00C7 22              126             RET
                     127     ;******************一次采集数据**********************
00C8                 128     AD_DATA:
00C8 E9              129             MOV     A,      R1
00C9 C4              130             SWAP    A
00CA 54F0            131             ANL     A,      #0F0H   
00CC F9              132             MOV     R1,     A       ;
00CD 11D1            133             ACALL   RD_AD           ;输入控制信号 输出空转一次
                     134     ;       MOV     R1,     #00H    ;有效转换开始 输入空转一次
00CF 11D1            135             ACALL   RD_AD
00D1                 136     RD_AD:                          ;TLC2543AD转换子程序,R1内容为控;制字,结果的高;;8位保存在R2,低4位保存;在R3。
00D1 C2A2            137             CLR     ADCLK           ; 置CLK为低
00D3 D2A3            138             SETB    ADCS            ; 置CS为高
00D5 00              139             NOP
00D6 00              140             NOP
00D7 C2A3            141             CLR     ADCS            ; 置CS为低,转换开始 输出转换后的第一位
00D9 7A08            142             MOV     R2,     #08H    ; 8位控制字移入TLC2543,高8位
00DB E9              143             MOV     A,      R1      ; 控制字装入A中
                     144     
00DC                 145     LOP1:       
00DC A2A1            146             MOV     C,      ADOUT   ; 将转换输入的第一位送入C
00DE 33              147             RLC     A               ; 将AD转换后的数据移入A的低位 同时将控制字的高位移入C
00DF 92A0            148             MOV     ADIN,   C       ; 准备将控制字输入AD
00E1 D2A2            149             SETB    ADCLK           ; CLK上升沿 将控制字移入AD输入寄存器
00E3 C2A2            150             CLR     ADCLK           ; CLK下降沿 将输入结果下一位移入DOUT
00E5 DAF5            151             DJNZ    R2,     LOP1    
00E7 C4              152             SWAP    A               ; A中现在存储的是 D11-D4  变成 D7-D4 D11-D8 排列
00E8 7851            153             MOV     R0,     #ADOUTH
00EA D6              154             XCHD    A,      @R0     ; 将AD输出结果的D11-D8(即高4位)移入R0所指向的存储单元 A的低4位不关心
00EB C4              155             SWAP    A               ; A中低4位现在存储的是D7-D4 高4位不关心
                     156             
00EC 7A04            157             MOV     R2,     #04H    ; 准备读入剩下的4位
00EE                 158     LOP2:       
00EE A2A1            159             MOV     C,      ADOUT
00F0 33              160             RLC     A
00F1 D2A2            161             SETB    ADCLK
00F3 C2A2            162             CLR     ADCLK
00F5 DAF7            163             DJNZ    R2,     LOP2
00F7 F550            164             MOV     ADOUTL, A       ; 将转换结果放入R1所指向的储存单元
00F9 D2A3            165             SETB    ADCS            ; 转换结束
00FB 22              166             RET
                     167             
00FC 3F065B4F        168     DPCD:   DB 3FH,06H,5BH,4FH,66H
0100 66
0101 6D7D077F        169             DB 6DH,7DH,07H,7FH,6FH,00H
0105 6F00
0107 FEFDFBF7        170     DPBT:   DB 0FEH,0FDH,0FBH,0F7H
010B EFDFBF7F        171             DB 0EFH,0DFH,0BFH,07FH
                     172             
                     173             END
A51 MACRO ASSEMBLER  TLC2543                                                              06/11/2008 17:20:56 PAGE     4

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


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

ADCLK. . . . . . .  B ADDR   00A0H.2 A   
ADCS . . . . . . .  B ADDR   00A0H.3 A   
ADIN . . . . . . .  B ADDR   00A0H.0 A   
ADOUT. . . . . . .  B ADDR   00A0H.1 A   
ADOUTH . . . . . .  N NUMB   0051H   A   
ADOUTL . . . . . .  N NUMB   0050H   A   
AD_DATA. . . . . .  C ADDR   00C8H   A   
CH . . . . . . . .  N NUMB   0030H   A   
DPBT . . . . . . .  C ADDR   0107H   A   
DPBUF. . . . . . .  N NUMB   0032H   A   
DPCD . . . . . . .  C ADDR   00FCH   A   
DPCNT. . . . . . .  N NUMB   0031H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
HB2. . . . . . . .  C ADDR   008CH   A   
HB3. . . . . . . .  C ADDR   0092H   A   
LOOP . . . . . . .  C ADDR   0053H   A   
LOP. . . . . . . .  C ADDR   003EH   A   
LOP1 . . . . . . .  C ADDR   00DCH   A   
LOP2 . . . . . . .  C ADDR   00EEH   A   
NEXT . . . . . . .  C ADDR   008BH   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RD_AD. . . . . . .  C ADDR   00D1H   A   
START. . . . . . .  C ADDR   0030H   A   
T0X. . . . . . . .  C ADDR   0066H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
Z0 . . . . . . . .  N NUMB   0033H   A   
Z1 . . . . . . . .  N NUMB   0034H   A   
Z2 . . . . . . . .  N NUMB   0035H   A   
Z3 . . . . . . . .  N NUMB   0036H   A   
Z4 . . . . . . . .  N NUMB   0037H   A   
Z5 . . . . . . . .  N NUMB   0038H   A   


REGISTER BANK(S) USED: 0 


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

⌨️ 快捷键说明

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