📄 ex8-10.lst
字号:
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 1
MCS-51 Family Cross Assembler A S E M - 5 1 V 1.2
=====================================================
Source File: EX8-10.ASM
Object File: EX8-10.HEX
List File: EX8-10.LST
Line I Addr Code Source
1:
2: B B0 SCLK BIT P3.0 ;定义I/O口
3: B B1 CS549 BIT P3.1
4: B B2 DOUT BIT P3.2
5:
6: N 0000 ORG 0000H
7: 0000 02 00 30 LJMP MAIN
8: N 0030 ORG 0030H
9: 0030 75 81 60 MAIN: MOV SP,#60H
10: 0033 12 00 43 LCALL TLC549 ;启动TLC549进行A/D转换
11: 0036 12 00 68 LCALL DELAY
12: 0039 12 00 43 LOOP: LCALL TLC549 ;读取上次ADC值,再次启动TLC549进行A/D转换
13: 003C 12 00 68 LCALL DELAY
14: 003F F5 90 MOV P1,A ;将读取的A/D转换值送往P1口显示
15: 0041 80 F6 SJMP LOOP
16:
17: 0043 C2 B1 TLC549: CLR CS549 ;选中TLC549
18: 0045 00 NOP
19: 0046 00 NOP
20: 0047 A2 B2 MOV C,DOUT ;接受第一位数据
21: 0049 33 RLC A
22: 004A 00 NOP
23: 004B 00 NOP
24: 004C 78 07 MOV R0,#07 ;置循环次数
25: 004E D2 B0 SPIIN: SETB SCLK
26: 0050 00 NOP
27: 0051 00 NOP
28: 0052 C2 B0 CLR SCLK ;产生有效沿,以便从器件锁存数据
29: 0054 00 NOP
30: 0055 00 NOP
31: 0056 A2 B2 MOV C,DOUT ;接受下一位数据(从最高位开始)
32: 0058 33 RLC A
33: 0059 D8 F3 DJNZ R0,SPIIN ;8位数据未接收完,则继续接收下一位
34: 005B C2 B0 CLR SCLK
35: 005D 00 NOP
36: 005E 00 NOP
37: 005F D2 B0 SETB SCLK
38: 0061 00 NOP
39: 0062 00 NOP
40: 0063 C2 B0 CLR SCLK
41: 0065 D2 B1 SETB CS549 ;结束SPI总线操作,关闭从器件
42: 0067 22 RET
43:
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0068 7F 28 DELAY: MOV R7,#40 ;延时子程序
45: 006A DF FE DJNZ R7,$
46: 006C 22 RET
47: END
register banks used: ---
no errors
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 3
L I S T O F S Y M B O L S
=============================
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
AC BIT D6
ACC DATA E0
B DATA F0
CS549 BIT B1 3
CY BIT D7
DELAY CODE 0068 44
DOUT BIT B2 4
DPH DATA 83
DPL DATA 82
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
LOOP CODE 0039 12
MAIN CODE 0030 9
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
PS BIT BC
PSW DATA D0
PT0 BIT B9
PT1 BIT BB
PX0 BIT B8
PX1 BIT BA
RB8 BIT 9A
RD BIT B7
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RXD BIT B0
SBUF DATA 99
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
SCLK BIT B0 2
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
SPIIN CODE 004E 25
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TF0 BIT 8D
TF1 BIT 8F
TH0 DATA 8C
TH1 DATA 8D
TI BIT 99
TIMER0 CODE 000B
TIMER1 CODE 001B
TL0 DATA 8A
TL1 DATA 8B
TLC549 CODE 0043 17
TMOD DATA 89
TR0 BIT 8C
TR1 BIT 8E
TXD BIT B1
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -