📄 max517a2.lst
字号:
A51 MACRO ASSEMBLER MAX517A2 08/11/2007 18:03:26 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN MAX517A2.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE MAX517A2.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;/* 这是MAX517汇编程序,文件名为MAX517A2.ASM */
2 ;/* 功能:本程序是实现MAX517芯片的D/A转换。程序中转换的十六 */
3 ;/* 进制值依次为10H,20H,40H,80H,0FFH,00H, OUT脚输出转换后 */
4 ;/* 的模拟信号,它既可用万用表的直流电压档测试,也可用示波器 */
5 ;/* 的探头点在此处观察。 */
6
0090 7 SDA BIT P1.0
0091 8 SCL BIT P1.1
9
0000 10 ORG 0000H
0000 0113 11 AJMP MAIN
0013 12 ORG 0013H
0013 13 MAIN: ;主程序
0013 120094 14 LCALL DELAY
0016 7810 15 MOV R0,#10H;
0018 120075 16 LCALL DACOUT
001B 120094 17 LCALL DELAY
001E 7820 18 MOV R0,#20H;
0020 120075 19 LCALL DACOUT
0023 120094 20 LCALL DELAY
0026 7840 21 MOV R0,#40H;
0028 120075 22 LCALL DACOUT
002B 120094 23 LCALL DELAY
002E 7880 24 MOV R0,#80H;
0030 120075 25 LCALL DACOUT
0033 120094 26 LCALL DELAY
0036 78FF 27 MOV R0,#0FFH;
0038 120075 28 LCALL DACOUT
003B 120094 29 LCALL DELAY
003E 78FF 30 MOV R0,#0FFH
0040 120075 31 LCALL DACOUT
0043 120094 32 LCALL DELAY
0046 80FE 33 SJMP $
34
0048 D290 35 START:SETB SDA ;发出一个启始位
004A D291 36 SETB SCL
004C 00 37 NOP
004D C290 38 CLR SDA
004F 00 39 NOP
0050 22 40 RET
0051 C290 41 STOP: CLR SDA ;发出一个停止位
0053 D291 42 SETB SCL
0055 00 43 NOP
0056 D290 44 SETB SDA
0058 00 45 NOP
0059 22 46 RET
005A C290 47 ACK: CLR SDA ;发出一个应答位
005C 00 48 NOP
005D D291 49 SETB SCL
005F 00 50 NOP
0060 C291 51 CLR SCL
0062 22 52 RET
0063 00 53 SHOUT:NOP ;发送一个字节
0064 75F008 54 MOV B,#8
0067 C291 55 X42: CLR SCL
0069 33 56 RLC A
006A 9290 57 MOV SDA,C
006C D291 58 SETB SCL
A51 MACRO ASSEMBLER MAX517A2 08/11/2007 18:03:26 PAGE 2
006E 00 59 NOP
006F D5F0F5 60 DJNZ B,X42
0072 C291 61 CLR SCL
0074 22 62 RET
0075 00 63 DACOUT:NOP ;串行DA转换
0076 120048 64 LCALL START
0079 7458 65 MOV A,#58H
007B 120063 66 LCALL SHOUT
007E 12005A 67 LCALL ACK
0081 7400 68 MOV A,#00H
0083 120063 69 LCALL SHOUT
0086 12005A 70 LCALL ACK
0089 E8 71 MOV A,R0
008A 120063 72 LCALL SHOUT
008D 12005A 73 LCALL ACK
0090 120051 74 LCALL STOP
0093 22 75 RET
0094 76 DELAY: ;延时程序
0094 7A0A 77 MOV R2, #10
0096 7900 78 MOV R1, #0
0098 7800 79 MOV R0, #0
009A 80 DLP:
009A D8FE 81 DJNZ R0, DLP
009C D9FC 82 DJNZ R1, DLP
009E DAFA 83 DJNZ R2, DLP
00A0 22 84 RET
85 END
A51 MACRO ASSEMBLER MAX517A2 08/11/2007 18:03:26 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACK. . . . . . . . C ADDR 005AH A
B. . . . . . . . . D ADDR 00F0H A
DACOUT . . . . . . C ADDR 0075H A
DELAY. . . . . . . C ADDR 0094H A
DLP. . . . . . . . C ADDR 009AH A
MAIN . . . . . . . C ADDR 0013H A
P1 . . . . . . . . D ADDR 0090H A
SCL. . . . . . . . B ADDR 0090H.1 A
SDA. . . . . . . . B ADDR 0090H.0 A
SHOUT. . . . . . . C ADDR 0063H A
START. . . . . . . C ADDR 0048H A
STOP . . . . . . . C ADDR 0051H A
X42. . . . . . . . C ADDR 0067H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -