📄 tlc5615.lst
字号:
A51 MACRO ASSEMBLER TLC5615 06/20/2008 21:34:41 PAGE 1
MACRO ASSEMBLER A51 V1.13
OBJECT MODULE PLACED IN TLC5615.OBJ
ASSEMBLER INVOKED BY: D:\PROGRA~1\MANLEY\MEDWIN~1.39\A51.EXE TLC5615.ASM DB
LOC OBJ LINE SOURCE
1 ;**********************TLC5615程序*************************
2
3 ;所需的 预定义接口
00A7 4 DADIN EQU P2.7
00A6 5 DACLK EQU P2.6
00A5 6 DA_CS EQU P2.5
7
8 ;所需的储存单元
0030 9 DATA0 DATA 30H ;DA高四位 高四位取任何值只不影响逻辑
0031 10 DATA1 DATA 31H ;DA低八位 其中低二位不影响逻辑
11 ;也就是说DA的10位 中低六位为DATA1的高六位 高四位为 DATA0的低四位
12 ;使用DA函数前要先给DATA0和DATA1附以相应的值
0000 13 ORG 0000H
0000 802E 14 SJMP 0030H
15
0030 16 ORG 0030H
0030 17 START:
0030 753002 18 MOV DATA0, #02H
0033 753100 19 MOV DATA1, #00H
0036 12003F 20 LCALL DAOUT
0039 120060 21 LCALL DELAY
22 ;MOV DATA0, #0FFH
23 ;MOV DATA1, #0FFH
24 ;LCALL DAOUT
25 ;LCALL DELAY
003C 020030 26 LJMP START
27 ;函数只有DAOUT 其它都是DAOUT要调用的
003F 28 DAOUT:
003F C2A5 29 CLR DA_CS ;将数据读入16位Shift寄存器
0041 7A04 30 MOV R2, #4H ;设置第一次要送入的数据位数
0043 E530 31 MOV A, DATA0 ;前四位数据送累加器低四位
0045 C4 32 SWAP A ;A中高四位与低四位互换
0046 120055 33 LCALL WRDATA ;写入数据前四位
0049 7A08 34 MOV R2, #8H ;设置第二次要送入的数据位数
004B E531 35 MOV A, DATA1 ;八位数据送入累加器A
004D 120055 36 LCALL WRDATA ;写入数据后八位
0050 C2A6 37 CLR DACLK ;设置CS转换条件 CLK必须为低电平
0052 D2A5 38 SETB DA_CS ;CS上升沿 将数据读入12位DAC寄存器 以进行转换
0054 22 39 RET
40
0055 41 WRDATA:
0055 00 42 NOP;
0056 43 LOOP:
0056 C2A6 44 CLR DACLK ;时钟低电平
0058 33 45 RLC A ;数据送入位标志位CY
0059 92A7 46 MOV DADIN, C ;输入数据
005B D2A6 47 SETB DACLK ;CLK上升沿 将Shift寄存器数据移入Input寄存器
005D DAF7 48 DJNZ R2, LOOP ;循环送数
005F 22 49 RET
0060 7D01 50 DELAY: MOV R5, #001H
0062 7E01 51 D2: MOV R6, #001H
0064 7FFF 52 D1: MOV R7, #0FFH
0066 DFFE 53 DJNZ R7, $
0068 DEFA 54 DJNZ R6, D1
006A DDF6 55 DJNZ R5, D2
006C 22 56 RET
57 END
A51 MACRO ASSEMBLER TLC5615 06/20/2008 21:34:41 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
D1 . . . . . . . . C ADDR 0064H A
D2 . . . . . . . . C ADDR 0062H A
DACLK. . . . . . . B ADDR 00A0H.6 A
DADIN. . . . . . . B ADDR 00A0H.7 A
DAOUT. . . . . . . C ADDR 003FH A
DATA0. . . . . . . D ADDR 0030H A
DATA1. . . . . . . D ADDR 0031H A
DA_CS. . . . . . . B ADDR 00A0H.5 A
DELAY. . . . . . . C ADDR 0060H A
LOOP . . . . . . . C ADDR 0056H A
P2 . . . . . . . . D ADDR 00A0H A
START. . . . . . . C ADDR 0030H A
WRDATA . . . . . . C ADDR 0055H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -