📄 ad.lst
字号:
A51 MACRO ASSEMBLER AD 08/25/2008 12:40:07 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN ad.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ad.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;*************************************************************************
2 ;文件名:ad0809.asm
3 ;功能 :在DP-51S实验板利用A/D转换完成模拟电压的采集
4 ;说明 :
5 ; 1.A/D转换芯片的ad0809共有8路ad,其地址为000xH~1FFxH,
6 ;在此选取0000H,这样路ad的地址分别为0000H~0007H。
7 ; 2.在DP-51S实验仪上,由于通道0、1已经模拟了一个属于信号,
8 ; 此实验将以通道0为例来说明A/D转换的程序设计方法。
9 ; 3.读取后转换的数字量存放在内部RAM的30H单元,采用中断方式实现。
10 ; 4.实验时应注意跳线P3.2跳到AD_OK处,Vin0、Vin1是模拟输入电压的
11 ;测试点,用户也可以调节RW3、RW4来改变输入地模拟电压值。
12 ;************************************************************************
0000 13 AD0809 EQU 0000H ;A/D转换通道0的地址
0030 14 DAT0809 DATA 30H ;存放采集到的数据
15
8000 16 ORG 8000H
8000 2100 17 AJMP MAIN
18
8003 19 ORG 8003H ;外部中断0的入口地址
8003 210F 20 AJMP EXINT1
21
8100 22 ORG 8100H
8100 758160 23 MAIN: MOV SP,#60H
8103 D288 24 SETB IT0 ;设置外部中断0为边沿触发
8105 D2A8 25 SETB EX0 ;中断INT0开放
8107 D2AF 26 SETB EA ;总中断允许
8109 900000 27 MOV DPTR,#AD0809 ;启动AD0809
810C F0 28 MOVX @DPTR,A
810D 210D 29 AJMP $
810F 30 EXINT1: ;外部中断1服务子程序
810F C0D0 31 PUSH PSW
8111 C0E0 32 PUSH ACC
8113 C2A8 33 CLR EX0
8115 900000 34 MOV DPTR,#AD0809
8118 E0 35 MOVX A,@DPTR ;读取A/D转换的结果
8119 F530 36 MOV DAT0809, A ;存放数据
811B F0 37 MOVX @DPTR,A ;重新启动A/D转换
811C D2A8 38 SETB EX0
811E D0E0 39 POP ACC
8120 D0D0 40 POP PSW
8122 32 41 RETI
42 ;
43 END
A51 MACRO ASSEMBLER AD 08/25/2008 12:40:07 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
AD0809 . . . . . . N NUMB 0000H A
DAT0809. . . . . . D ADDR 0030H A
EA . . . . . . . . B ADDR 00A8H.7 A
EX0. . . . . . . . B ADDR 00A8H.0 A
EXINT1 . . . . . . C ADDR 810FH A
IT0. . . . . . . . B ADDR 0088H.0 A
MAIN . . . . . . . C ADDR 8100H A
PSW. . . . . . . . D ADDR 00D0H A
SP . . . . . . . . D ADDR 0081H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -