📄 tlc2543.lst
字号:
A51 MACRO ASSEMBLER TLC2543 09/07/2006 11:18:33 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN .\TLC2543.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ..\TLC2543.asm SET(SMALL) DEBUG OBJECT(.\TLC2543.obj) EP
LOC OBJ LINE SOURCE
1 ;; #include "regv51.h"
2
0090 3 sbit IOC=P1.0;
0091 4 sbit DI=P1.1;
0092 5 sbit DO=P1.2;
0093 6 sbit CS=P1.3;
7 TLC2543 segment code
8 Delay segment code
9 public _TLC2543
10 public _delay
11 ;*******************************************************************
12 ;作者:ywg
13 ;日期:2003-7-31
14 ;说明:延时子程序
15 ;*******************************************************************
---- 16 rseg Delay
0000 17 _delay:
18 using 0
0000 EF 19 Del0: mov a,r7 ;6
0001 FE 20 mov r6,a ;6
0002 ED 21 Del1: mov a,r5 ;6
0003 FC 22 mov r4,a ;6
0004 DCFE 23 Del2: djnz r4,Del2 ;12
0006 DEFA 24 djnz r6,Del1 ;12
0008 22 25 ret ;12
26 ;;;;1+1+(1+1+2*r5+2)*r7+2=4+(4+2*r5)*r7=4*r7+2*r5*r7
27 ;;;;4+(4+2*r5)*r7个机器周期
28 ;;;;delay(1,14):r7=1;r6=14
29 ;;;;1。4+4+2*14=36个指令周期;时间为36*(6/11.0592)us=19.53us.
30 ;;;;2。加上lcall delay 的2个指令周期=1.08us;
31 ;;;;1+2=20.61us
32 ;*******************************************************************
33 ;作者:ywg
34 ;日期:2003-7-31
35 ;说明:TLC2543的采集程序
36 ;*******************************************************************
---- 37 rseg TLC2543
38 using 0
0000 39 _TLC2543:
40 ;using 3
0000 EF 41 mov a,r7
0001 FC 42 mov r4,a
0002 C293 43 clr CS
0004 20E11C 44 jb acc.1,LSB
0007 45 MSB:
0007 7908 46 mov r1,#08
0009 A292 47 LOOP1: mov c,DO
000B 00 48 nop
000C 00 49 nop
000D 33 50 rlc a
000E 9291 51 mov DI,c
0010 D290 52 setb IOC
0012 00 53 nop
0013 00 54 nop
0014 C290 55 clr IOC
0016 D9F1 56 djnz r1,LOOP1
0018 FE 57 mov r6,a
0019 EC 58 mov a,r4
A51 MACRO ASSEMBLER TLC2543 09/07/2006 11:18:33 PAGE 2
001A 20E129 59 jb acc.1, return
001D 20E303 60 jb acc.3,LSB
0020 20E223 61 jb acc.2,return
0023 7904 62 LSB: mov r1,#04
0025 7F00 63 mov r7,#0
0027 7400 64 mov a,#0
0029 A292 65 LOOP2: mov c,DO
002B 33 66 rlc a
002C 9291 67 mov DI,c
002E D290 68 setb IOC
0030 00 69 nop
0031 00 70 nop
0032 C290 71 clr IOC
0034 D9F3 72 djnz r1,LOOP2
0036 FF 73 mov r7,a
74
0037 EE 75 mov a,r6
0038 C4 76 swap a
0039 54F0 77 anl a,#0xf0
003B 4F 78 orl a,r7
003C FF 79 mov r7,a
80
003D EE 81 mov a,r6
003E C4 82 swap a
83
003F 540F 84 anl a,#0x0f
0041 FE 85 mov r6,a
86
0042 EC 87 mov a,r4
0043 20E1C1 88 jb acc.1, MSB
0046 89 return:
0046 D293 90 setb CS
0048 22 91 ret
92 end
A51 MACRO ASSEMBLER TLC2543 09/07/2006 11:18:33 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
CS . . . . . . . . B ADDR 0090H.3 A
DEL0 . . . . . . . C ADDR 0000H R SEG=DELAY
DEL1 . . . . . . . C ADDR 0002H R SEG=DELAY
DEL2 . . . . . . . C ADDR 0004H R SEG=DELAY
DELAY. . . . . . . C SEG 0009H REL=UNIT
DI . . . . . . . . B ADDR 0090H.1 A
DO . . . . . . . . B ADDR 0090H.2 A
IOC. . . . . . . . B ADDR 0090H.0 A
LOOP1. . . . . . . C ADDR 0009H R SEG=TLC2543
LOOP2. . . . . . . C ADDR 0029H R SEG=TLC2543
LSB. . . . . . . . C ADDR 0023H R SEG=TLC2543
MSB. . . . . . . . C ADDR 0007H R SEG=TLC2543
P1 . . . . . . . . D ADDR 0090H A
RETURN . . . . . . C ADDR 0046H R SEG=TLC2543
TLC2543. . . . . . C SEG 0049H REL=UNIT
_DELAY . . . . . . C ADDR 0000H R SEG=DELAY
_TLC2543 . . . . . C ADDR 0000H R SEG=TLC2543
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -