单片机实验六 D-A与A-D转换
实验六 ADC0809AD转换实验

实验六 ADC0809AD转换实验一、实验目的1、掌握ADC0809AD芯片的工作原理和使用方法。
2、掌握如何使用51单片机配合ADC0809AD芯片实现模拟量转换。
二、实验原理ADC0809AD是一种8位分辨率、并行输出、单通道,3MHz 工作速率的A/D转换器。
ADC 有两个输入电压端子,IN+和IN-,它们之间加入了一个内部参考电压源(RE),所以在输入模拟信号时常在IN+端连接信号输入,而IN-端接地。
当选用RE = +2.5 V时,IN+的输入范围约为0-VREF,在本实验中选用的是RE = +5 V,所以IN+的输入范围约为0-5V。
当外部触发信号TRIGGER开启后,ADC执行转换操作。
在转换时,电压采样保持时间通常为 100 ns,最长转换时间为 200 us,当转换结束时,ADC将数字输出置在低电平并发出一个中断请求(INTR)信号。
转换结果可以通过 8个输出线路(DB0-DB7)获得。
三、实验器材2、*1 9针座(1x9 Pin Socket)。
3、*1 51单片机学习板。
4、*1 电阻10KΩ。
5、*1 电压源。
6、*1 面包板。
7、*5 条杜邦线。
四、实验步骤1、根据下表将ADC0809AD芯片插入到面包板中。
ADC0809AD引脚码ADC0809AD引脚名称功能1 A0- A/D输入(低、多路)引脚17 AGND 模拟地18 VREF/2 参考电压输出19 VCC 数字电源2、将9脚座插入面包板的横向边缘上。
3、使用杜邦线将ADC0809AD转换器连接到学习板上,并根据原理部分对芯片引脚进行接线。
4、将一个10KΩ的电阻连接到ADC0809AD芯片的IN+引脚和GND之间。
6、使用杜邦线将ADC0809AD芯片的DB0-DB7引脚连接到学习板的P0.0-P0.7引脚上。
7、将学习板的P0.0-P0.7引脚转为输出模式。
五、实验代码#include <reg52.h>// SFR位定义sfr ADC_CONTR = 0xBC; // ADC控制寄存器sfr ADC_RES = 0xBD; // ADC结果寄存器sfr ADC_RESL = 0xBE; // ADC结果低字节寄存器sfr P0 = 0x80; // P0口// 公用函数void delay(int time) // 延时函数{int i, j;for (i = 0; i < time; i++) {for (j = 0; j < 125; j++);}}while (1) {ADC_CONTR |= 0x08; // 开始转换while (!(ADC_CONTR & 0x10)); // 等待转换结束P0 = ADC_RES; // 将结果输出到P0口delay(1000); // 延时1000ms}}根据程序分析,程序采用了循环语句控制ADC的转换、输出,程序中实现的是ADC的一次转换。
DA转化实验报告分析

单片机系统设计及应用实验报告第次实验实验名称:D/A实验专业:姓名:学号:同组人员:学号:实验地点:实验时间:2016.12.08评定成绩:审阅教师:目录实验目的 (1)实验内容及要求 (4)实验原理及程序设计流程图 (5)调试过程及相关记录 (6)正确源代码 (6)实验心得 (7)(1)掌握单片机与D/A的接口及编程方法;(2)通过D/A动态波形输出进一步理解D/A的工作原理;(3)结合实验六中的A/D来检验软硬件的正确性。
(4)进一步了解单片机系统地址分配概念二.实验内容及要求DAC0832是内含双锁存器且可与单片机8051直接接口的8位D/A,从实验板的电原理图可见,当0832管脚ILE为高,CS2为低时,8051对0832写入待转换的8位数字量,当对0832写入任意数(WR、CS2都为低)时,8051启动D/A转换。
把具有一定规律变化的数据连续送到0832,可用示波器在运放741输出端看到一定规律的动态波形。
将实验八中A/D所存数据直接送到0832,在D/A输出端也可用示波器观察到还原后的A/D输入端信号。
注意:在实验前,应先检查DAC0832的参考电压是否正确。
(要求DAC0832的参考电压值为Vref = -5V,用万用表观察DAC0832芯片的8脚电压值。
若不对,可调节实验板上的电位器W3来改变D/A的参考电压值。
)三.实验原理DAC0832的硬件连接如上图,ILE一直默认高电平,该接口可以不连接。
CS2片根据地址,选接低电平。
这种连接方式没有使用缓冲,直接进行数据传送。
五.调试过程及相关数据记录检测参考电压的值,约为-4.99V,不用修正。
三角波和锯齿波代码较简单,没有修改过程。
恢复波形的过程中,最开始的代码是将A/D和D/A过程分开,先进行256点采样,再进行D/A,结果导致波形与波形之间存在一长段的间隔。
之后将D/A代码放入中断过程中,传送数据到6116时也将数据传给0832,波形连续。
实验六 基本接口实验 AD转换实验1

实验六基本接口实验AD转换实验1第七章基础应用实验7.1 A/D转换实验7.1.1 实验目的? 通过试验掌握模数转换(A/D)的原理。
? 了解模拟输入通道中采样保持的原理和作用. ? 掌握S3C44B0X处理器的A/D转换功能。
7.1.2 实验设备? 硬件:Embest EduKit-III实验平台,Embest ARM标准/增强型仿真器套件, PC机。
? 软件:Embest IDE Pro ARM集成开发环境,Windows 98/2000/NT/XP。
7.1.3 实验内容? 了解采样保持器与A/D转换器的接口电路。
? 设计分压电路,利用S3C44B0X集成的A/D模块,把分压值转换为数字信号,并观察转换结果。
7.1.4 实验原理1. A/D转换器(ADC)随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,对信号的处理广泛采用了数字计算机技术。
由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号,这就必须用到A/D转换器。
A/D转换器的类型、工作原理和主要性能指标请参照触摸屏试验部分。
2. A/D 转换的一般步骤CPSv(It)Sv(It)ADC的量化编码电路...Dn-1D1D0ADC输入模拟电压取样保持电路取样展宽信号数字量输出(n位)图7-1 模拟量到数字量的转换过程模拟信号进行A/D转换的时候,从启动转换到转换结束输出数字量,需要一定的转换时间,在这个转换时间内,模拟信号要基本保持不变。
否则转换精度没有保证,特别当输入信号频率较高时,会造成很大的转换误差。
要防止这中误差的产生,必须在A/D转换开始时将输入信号的电平保持住,而在A/D转换结束后,又能跟踪输入信号的变化。
因此,一般的A/D转换过程是通过取样、保持、量化和编码这四个步骤完成的。
一般取样和保持主要由采样保持器来完成,而量化编码就由A/D转换器完成。
A_D和D_A转换器在单片机中的应用

单元六单片机A/D和D/A转换—液位控制器
②获取EOC线上的状态信息,因为它是A/D转 换的结束标志。 ③要经“三态输出锁存器”输出一个端口地址, 也就是给OE端送一个输出转换得到数据的信号。
STC89C52RC和ADC接口通常可以采用 定时、查询和中断三种方式。
单元六单片机A/D和D/A转换—液位控制器
单元六单片机A/D和D/A转换—液位控制器
STC89C52和ADC0809的接口
单元六单片机A/D和D/A转换—液位控制器
ADDA,ADDB,ADDC分别接数据线中的低3位
P0.0~P0.2,则指向IN7通道的相应程序指令为
MOV DPH,# 0E0H ;送A/D转换器端口地址
MOV A,# 07H
A/D转换器是一种能把输入模拟电压或电流变 成与其成正比的数字量的电路芯片。
单元六单片机A/D和D/A转换—液位控制器
分类:计数器式A/D转换器、双积分式A/D转换器、逐次逼 近式A/D转换器和并行A/D转换器。 概述 A/D转换器的技术指标: • 量化误差与分辨率:
A/D转换器的分辨率表示输出数字量变化一个相邻数码 所需输入模拟电压的变化量,习惯上以输出二进制位数或满 量程与2n之比表示。
单元六单片机A/D和D/A转换—液位控制器
• 转换精度 A/D转换器转换精度反映了一个实际A/D转换器在量化值
上与一个理想A/D转换器进行模/数转换的差值,由模拟误差 和数字误差组成。
模拟误差是比较器、解码网络中电阻值以及基准电压波动 等引起的误差;
数字误差主要包括丢失码误差和量化误差,丢失码误差属 于非固定误差,由器件质量决定。
• 转换时间与转换速率 A/D转换器完成一次转换所需要的时间为A/D转换时间。
试验六AD转换实验和DA转换实验

试验六、A/D转换实验和D/A转换实验一、实验目的1. 学习理解模/数信号转换的基本原理。
2. 掌握模/数转换芯片 ADC0809 的使用方法。
二、实验设备PC 机一台,TD-PITE 实验装置或 TD-PITC 实验装置一套,万用表一个。
三、实验内容编写实验程序,将ADC单元中提供的0V~5V信号源作为ADC0809的模拟输入量,进行A/D转换,转换结果通过变量进行显示。
四、实验原理ADC0809 包括一个 8 位的逐次逼近型的 ADC 部分,并提供一个 8 通道的模拟多路开关和联合寻址逻辑。
用它可直接输入 8 个单端的模拟信号,分时进行 A/D 转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。
ADC0809 的主要技术指标为:分辨率:8 位单电源:+5V总的不可调误差:±1LSB转换时间:取决于时钟频率模拟输入范围:单极性 0~5V时钟频率范围:10KHz~1280KHzADC0809 的外部管脚如图所示,地址信号与选中通道的关系如表所示。
模/数转换单元电路图如图4.48所示:五、实验步骤1.按图4.49连接实验线路。
2.编写实验程序,经编译、链接无误后装入系统。
.3.将变量VALUE添加到变量监视窗口中。
4.在JMP START语句行设置断点,使用万用表测量ADJ端的电压值,计算对应的采样值,然后运行程序。
5.程序运行到断点处停止运行,查看变量窗口中VALUE的值,与计算的理论值进行比较,看是否一致(可能稍有误差,相差不大)。
6.调节电位器,改变输入电压,比较VALUE与计算值,反复验证程序功能。
实验程序清单()SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSPUBLIC VALUE ;设置全局变量以便变量监视DATA SEGMENTVALUE DB ? ;AD转换结果DATA ENDSCODE SEGMENTASSUME CS:CODE,CD:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, 640H ;启动AD采样OUT DX, ALCALL DALLYIN AL, DX ;读AD采样结果MOV VALUE,AL ;将结果送变量JMP START ;在此处设置断点,观察变量窗口中的value值DELAY: PUSH CXPUSH AXMOV CX, 100HA5: MOV AX, 0800HA6: DEC AXJNZ A6LOOP A5POP AXPOP CXRETCODE ENDSEND START六、实验结果和截图在JMP处设置断点,以便观察变量窗口中的value值:D/A 转换实验一、实验目的1.学习数/模转换的基本原理。
单片机A D、D A转换实验

单片机A/D、D/A转换实验硬件实验十三D/A转换实验51/96/88一、实验要求利用DAC0832编制程序产生锯齿波、三角波、正弦波。
三种波轮流显示用示波器观看。
二、实验目的1、了解D/A转换的基本原理。
2、了解D/A转换芯片0832的性能及编程方法。
3、了解单片机系统中扩展D/A转换的基本方法。
三、实验电路及连线用示波器探头接触输出观察显示波形。
四、实验说明1、D/A转换是把数字量转换成模拟量的变换实验台上D/A电路输出的是模拟电压信号。
要实现实验要求比较简单的方法是产生三个波形的表格然后通过查表来实现波形显示。
2、产生锯齿波和三角波的表格只需由数字量的增减来控制同时要注意三角波要分段来产生。
要产生正弦波较简单的方法是造一张正弦数字量表。
即查函数表得到的值转换成十六进制数填表。
D/A转换取值范围为一个周期采样点越多精度越高些。
本例采用的采样点为256点/周期。
3、8位D/A转换器的输入数据与输出电压的关系为U0∽-5VUref/256×N U-5V∽5V2·Uref/256×N-5V 这里Uref为5V 五、实验框图否是开始置计数器初值查表读波形数据启动D/A 改变计数器及表指针转换完毕H13.asm CS0832 equ 0a000h mov dptr CS0832 mov a 0 movx dptr a mov a 40h movx dptr a mov a 80h movx dptr a mov a 0c0h movx dptr a mov a 0ffh movx dptr a ljmp end 硬件实验十四A/D转换实验51/96/88一、实验要求利用实验板上的ADC0809做A/D转换器实验板上的电位器提供模拟量输入编制程序将模拟量转换成二进制数字量用8255的PA口输出到发光二极管显示。
二、实验目的1、掌握A/D转换与单片机的接口方法。
2、了解A/D芯片ADC0809转换性能及编程。
A-D与D-A转换

数字电子电路
A/D转换是将模拟信号转换为数字信号。转换过程通过取样、保持、量化和编码四个过程。
(1 ➢ 取样
数字电子电路
(又称抽样或采样)是将时间上连续变化的模拟信号定时加以检测,取出某一时刻的值,得到时间
上断续的信号。
➢ 保持
数字电子电路
ADC把取样信号转换成数字信号需要一定的时间,需要将这个断续的脉冲信号保持一定时间以便
次逼近型ADC,适用于分辨率较高而转换速度适中的场合。
➢ 结构框图
➢ 管教排列图
数字电子电路
➢ 引脚的名称和功能
数字电子电路
• IN0~IN7:八路模拟输入。
• UR(+) 、UR(-):基准电压的正、负极输入端。由此输入基准电压,其中心点应在UCC/2附近,偏 差不应超过0.1V。
• S程时,在此端加一个正脉冲,脉冲的上升沿将所有的 内部寄存器清零,下降沿时开始A/D转换过程。
3.DAC的主要技术指标
(1
数字电子电路
DAC的分辨率是说明DAC输出最小电压的能力。它是指最小输出电压(对应的输入数字量仅最低位为1)与 最大输出电压(对应的输入数字量各有效位全为1)之比:
分辨率= 1/(2n-1)
式中,n表示输入数字量的位数。可见,n越大,分辨最小输出电压的能力也越强。
例如,n=8, DAC
8080、8085、MCS51等微处理器相连接。其结构框图和管脚排列图如下图所示 :
结果框图
管教排列图
• D现A两C次08缓3冲2由,八所位以输使入用寄时存有器较、大八的位灵D活A性C寄,存可器根和据八需位要D接/成A转不换同器的三工大作部方分式组。成DA。C它08有32两中数个采字分用电别的子控是电制倒路的T数型据R-寄2R存电器阻,网可络以,实 无运算放大器,是电流输出,使用时需外接运算放大器。心片中已经设置了Rfb,只要将9号管脚接到运算放大器输出端即可。 但若运算放大器增益不够,还需外接反馈电阻。DAC0832芯片上各管脚的名称和功能说明如下:
实验6 AD转换实验

实验六AD转换实验源程序一、实验原理摘要ADC0809作为A/D转换器可将模拟信号转换为数字信号,借助于发光二极管显示出来。
用定时方式、查询方式和中断方式都可完成A/D转换。
EOC为A/D 转换结束的标志。
当发光二极管全灭时,说明电位器输出的OV模拟信号。
当发光二极管全亮时,说明电位器输出的是5V模拟信号,此时EOC=1,说明A/D 转换结束。
二、实验内容用电位器作模拟量输入,送入ADC0809,将模拟量转换为数字信号后,再送入80C51中,从P1口输出并显示。
参考程序:1、定时法ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#8000HLOOP:MOVX @DPTR,A;启动ADC0809LCALL DELAYMOVX A,@DPTRMOV P1,ALJMP LOOPDELAY:MOV R0,#65L1:DJNZ R0,L1RETEND2、查询法ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#8000HLOOP:MOVX @DPTR,AL1:JNB P3.0,L1MOVX A,@DPTRMOV P1,ALJMP LOOPEND3、中断法ORG 0000HLJMP MAINORG 0003HLJMP DSHORG 0030HMAIN:SETB EASETB EX0MOV DPTR,#8000HMOV @DPTR,ASJMP $DSH:PUSH AMOVX A,@DPTRMOV P1,AMOVX @DPTR,APOP ARETIEND三、实验步骤1、硬件连线IN0——电位器输出AD-CS——CS0EOC——INT0(查询法时接P3.0,中断法时接P3.2)P1.0-P1.7——LED0-LED72、新建文件、保存文件、新建项目——加入模块文件——取消包含文件——编写程序并保存。
3、点击仿真器——仿真器设置——好4、运行程序,观察8个发光二极管的现象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六D/A与A/D转换一.实验目的1.学习D/A转换的基本原理和D/A转换芯片0832的性能及编程方法。
2.了解单片机系统中扩展D/A转换芯片的基本方法。
3.学习A/D芯片ADC0809的转换性能及编程方法。
4.了解A/D转换芯片与写单片机的接口方法。
5.通过实验掌握单片机进行数据采集的方法。
二.实验说明1.D/A转换是把数字量转换成模拟量的变换,从D/A输出的是模拟信号。
实验程序一是通过在D/A的输入短送入有一定规律的数字量,在输出端产生锯齿波、三角波、正弦波的波形,通过示波器观察来直观地了解D/A的转换功能。
产生锯齿波、三角波只需由A存放的数字量(送入D/A的输入寄存器)的增减来控制;要产生正弦波,较简单的方法是造一张正弦数字量的表,取值范围为一个周期,采样点愈多,精度愈高。
在EL-8051-III实验台上DAC0832与单片机的连接图如下图所示:图6-1 D/A转换逻辑由图可以看出,输入寄存器占偶地址端口(A0=0),DAC寄存器占较高的奇地址端口(A0=1)。
两个寄存器均对数据独立进行锁存。
要把一个数据通过0832输出,要经两次锁存。
典型的程序如下:MOV DPTR, #PORTMOV A , #DA TAMOVX @DPTR, AINC DPTRMOVX @DPTR, A其中,第二次写入是一个虚拟写的过程,其目的是产生一个WR信号,启动D/A。
2.A/D转换是把模拟量转变为数字量的变换。
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。
本实验用的是ADC0809属逐次逼近法A/D转换器,是八位的A/D转换器。
每采集一次需100us。
实验电路如下图:图6-2 A/D转换逻辑ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。
实验电路中将二者相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需两条指令:MOV DPTR, #PORTMOVX @DPTR, AA中是什么内容是不重要的,这是一次虚拟写,其目的是产生一个/WR信号。
A/D转换期间EOC脚(A/D转换结束信号输出端口)为低电平,一旦转换结束时输出高电平。
如果我们把EOC脚接至一个反相器的输入端,反相器的输出端就得到一个负跳变的触发信号,它正好可以用来作为8051的外中断源的边缘触发信号。
在一个数据转换完毕后,我们向ENABLE脚送一个高电平,用以打开三态数据锁存器,就可以读出数据,因此可以使用如下指令读取A/D转换结果:MOV DPTR, #PORTMOV A, @DPTR三.实验内容1.利用DAC0832编程产生锯齿波、三角波、正弦波。
三种波形轮流显示。
连线方法:0832的CS0832接28-2F。
输出Aout接示波器探头,示波器探头地线接实验板地线。
程序清单见D61.ASM。
2.A/D转换实验:用中断方法来读取IN0的输入模拟电压,通过P1口输出到LED上显示。
运行程序后,读出LED上显示的数据(灯亮表示1,化为十六进制数)。
用万用表测量IN0的输入模拟电压,与读出的LED上显示的数据进行比较。
连线方法:,1、0809的片选信号CS0809接CS0。
2、电位器的输出信号AN0接0809的ADIN0。
3、EOC接CPU板的INT0。
4、P1.0-P1.7连L1-L8。
程序清单见D62.ASM。
3.用查EOC电位法作上述测量。
测量的数据在LED数码管上显示,连续不断地测量(数据不用存储)。
编写程序上机运行。
然后,把EOC直接连接到8051的管脚/INT0,修改程序,再运行程序。
四.实验报告1.写出每个实验的结果。
2.对程序二(D62.ASM)作出注释。
3.附上实验内容三第一步调试通过的程序。
如果EOC直接连到8051的管脚/INT0,应该如何修改程序?五、实验程序;D61.asmORG 4000HLJMP MAINORG 401BHLJMP DELAYPORT EQU 0CFA0HORG 4100HMAIN: MOV TMOD,#10H ; 定时器1工作在定时方式,方式1 SETB EASETB ET1MOV TL1, #0AFHMOV TH1, #3CH ; 置定时0.1S的初值SETB TR1DISP: MOV R1,#50HLCALL PRG1 ; 调用产生锯齿波子程序MOV R1, #50HLCALL PRG2 ; 调用产生三角波子程序MOV R1, #50HLCALL PRG3 ; 调用产生正弦波子程序LJMP DISPDELAY: CLR TR1 ; 中断服务程序MOV TL1, #0AFHMOV TH1, #3CHDEC R1SETB TR1RETI;PRG1: MOV A, #00H ; 产生锯齿波子程序开始. LOOP: MOV DPTR, #PORT ; 输入寄存器端口地址#PORT MOVX @DPTR, A ; 送出数据INC DPTR ; DAC寄存器端口地址#PORT+1MOVX @DPTR, A ; 启动转换INC A ; 数据加1CJNE R1, #00H, LOOP ; 计数值减到00H了么?RET ; 没有则继续产生锯齿波.;PRG2: MOV A, #00H ; 产生三角波子程序LP1: MOV DPTR, #PORT ; 上升部分MOVX @DPTR, AINC DPTRMOVX @DPTR, AINC ACJNE A, #0FFH, LP1MOV R2, ALP2: MOV DPTR, #PORT ; 下降部分MOV A, R2MOVX @DPTR, AINC DPTRMOVX @DPTR, ADJNZ R2, LP2CJNE R1, #00H, LP1RET;PRG3: MOV R2, #02H ; 产生正弦波子程序MOV R4, #0FFH ; 一个正弦周期的数据个数SJMP SUBDATALP3: MOV DPTR, #PORTMOVX @DPTR, AINC DPTRMOVX @DPTR, AINC R2DJNZ R4, SUBDATAMOV R4, #0FFHMOV R2, #02HCJNE R1, #00H, SUBDATARETSUBDATA: MOV A, R2MOVC A,@A+PCSJMP LP3DATA0: ; 产生正弦波的数据(256个)DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB 96H,93H,90H,8DH,89H,86H,83H,80HDB 80H,7CH,79H,76H,72H,6FH,6CH,69HDB 66H,63H,60H,5DH,5AH,57H,55H,51HDB 4EH,4CH,48H,45H,43H,40H,3DH,3AHDB 38H,35H,33H,30H,2EH,2BH,29H,27HDB 25H,22H,20H,1EH,1CH,1AH,18H,16HDB 15H,13H,11H,10H,0EH,0DH,0BH,0AHDB 09H,8H,7H,6H,5H,4H,3H,2HDB 02H,1H,0H,0H,0H,0H,0H,0HDB 00H,0H,0H,0H,0H,0H,1H,2HDB 02H,3H,4H,5H,6H,7H,8H,9HDB 0AH,0BH,0DH,0EH,10H,11H,13H,15HDB 16H,18H,1AH,1CH,1EH,20H,22H,25HDB 27H,29H,2BH,2EH,30H,33H,35H,38HDB 3AH,3DH,40H,43H,45H,48H,4CH,4EHDB 51H,51H,55H,57H,5AH,5DH,60H,63HDB 69H,6CH,6FH,72H,76H,79H,7CH,80HEND;D62.ASMORG 4000HLJMP MAINORG 4003H ; 外中断0的中断向量LJMP INTX0PORT EQU 0CFA0HORG 4050HMAIN: MOV R0, #50H ; 存数RAM的首地址MOV R1, #8 ; 转换数据的个数MOV P3, #0FFHSETB EASETB EX0SETB IT0START: MOV DPTR, #PORTMOV A, #0MOVX @DPTR, A ; 启动ADC0809开始转换;ACALL DELSJMP START;INTX0: CLR EA ; 中断服务程序MOVX A,@DPTR ; 取出转换的数据CPL AMOV P1, AMOV @R0, A ; 存储数据SETB EAEXIT: RETI ; 从中断返回;DEL: MOV R7, #15DEL1: MOV R6, #130 ;延时一段时间DEL2: MOV R5, #200DEL3: DJNZ R5, DEL3DJNZ R6, DEL2DJNZ R7, DEL1RETEND。