实验六ADC模数转换实验
ad da转换实验报告
ad da转换实验报告AD-DA转换实验报告摘要:本实验旨在通过AD-DA转换器,将模拟信号转换为数字信号,然后再转换回模拟信号,以验证转换器的性能和精度。
实验结果表明,转换器具有较高的精度和稳定性,能够准确地将模拟信号转换为数字信号,并且能够将数字信号准确地转换回模拟信号,为数字信号处理提供了可靠的基础。
引言:AD-DA转换器是现代电子设备中常用的一种电子元件,它能够将模拟信号转换为数字信号,然后再将数字信号转换回模拟信号。
这种转换器在数字信号处理、通信系统、音频设备等领域具有广泛的应用。
本实验旨在通过实际操作,验证AD-DA转换器的性能和精度,以便更好地了解其工作原理和特点。
实验步骤:首先,我们使用函数发生器产生一个模拟信号,并将其输入到AD-DA转换器中。
然后,转换器将模拟信号转换为数字信号,我们将数字信号输入到计算机中进行处理。
接着,我们将处理后的数字信号再次输入到AD-DA转换器中,转换器将数字信号转换回模拟信号,并将其输出到示波器上进行观测和分析。
实验结果:经过实验操作和数据分析,我们发现AD-DA转换器具有较高的精度和稳定性,能够准确地将模拟信号转换为数字信号,并且能够将数字信号准确地转换回模拟信号。
在不同频率和幅度的模拟信号输入下,转换器都能够保持良好的性能,没有出现明显的失真和误差。
这表明,AD-DA转换器在实际应用中具有较高的可靠性和稳定性,能够为数字信号处理提供可靠的基础。
结论:通过本次实验,我们验证了AD-DA转换器的性能和精度,得出了转换器具有较高的可靠性和稳定性的结论。
这为我们更好地理解和应用AD-DA转换器提供了重要的实验数据和经验,也为数字信号处理和通信系统的设计和应用提供了可靠的支持。
希望通过本次实验,能够更好地推动AD-DA转换器的研究和应用,为电子技术的发展做出更大的贡献。
模数转换adc实验报告
模数转换adc实验报告1. 引言模数转换(ADC)是将模拟信号转换为数字信号的过程,广泛应用于各种电子设备中。
本实验旨在通过搭建一个简单的ADC电路,了解和掌握模数转换的基本原理和方法。
2. 实验设备和工具- 一块Arduino开发板- 一根面包板- 一块电位器- 若干杜邦线- 一台笔记本电脑- Arduino开发环境3. 实验步骤3.1 搭建电路首先在面包板上连接电位器和Arduino开发板。
将电位器的两个引脚与Arduino 的3.3V电源和GND(地)相连,电位器的中间引脚与Arduino的A0引脚相连。
3.2 编写代码打开Arduino开发环境,在新建的代码文件中输入以下代码:C++int potentiometerPin = A0;int adcValue;void setup() {Serial.begin(9600); 设置串口波特率为9600}void loop() {adcValue = analogRead(potentiometerPin); 读取A0引脚的模拟值Serial.println(adcValue); 打印模拟值delay(500); 延时500毫秒}3.3 上传并观察结果将Arduino开发板通过USB连接到电脑上,在Arduino开发环境中点击“上传”按钮将代码上传到开发板上。
上传完成后,点击Arduino开发环境的“串口监视器”按钮,设置波特率为9600,并观察串口监视器上显示的数据。
4. 实验结果与分析通过实验,我们可以得到电位器产生的模拟信号在进行模数转换后得到的数字信号。
数字信号表示了模拟信号的离散程度,数值越高表示模拟信号越接近最大量程。
在实验过程中,我们可以通过旋转电位器来改变模拟信号的大小,从而观察到模数转换的效果。
通过串口监视器显示的数据,我们可以清晰地看到转换后的数字信号随着模拟信号的变化而变化。
模数转换的精度取决于ADC的分辨率,即能够将模拟信号转换为多少个离散的数字信号。
实验六:并行AD实验
实验六并行AD实验(数字电压表实验)1、ADC0809(G4区)(1) 模数转换器,8位精度,8路转换通道,1路并行输出(2) 转换时间100us,转换电压范围0~5V2、编写程序:制作一个电压表,测量0~5V,结果显示于数码管上。
2、调节0~5V电位器(D2区)输出电压,显示在LED(最右边2位)上的电压数字量会随之改变。
用万用表验证AD转换的结果。
.MODEL TINYADDR_0809 EQU 0F000HEXTRN Display8: NEAR.STACK 100.DATABUFFER DB 8 DUP(?)LastAD DB 0 ;ÉÏÒ»´ÎADת»»Öµ.CODESTART: MOV AX,@DATAMOV DS,AXNOPXOR A L,ALJMP S TART6START1: MOV CX,50 ;²ÉÑùÎåÊ®´ÎMOV BX,0 ;ÀÛ¼ÆÎåÊ®´ÎµÄ²ÉÑùÖµSTART2: CALL AD0809XOR A H,AHADD BX,AXLOOP START2MOV AX,50XCHG AX,BXDIV BL ;ÎåÊ®´ÎµÄƽ¾ùÖµCMP AL,LastADJZ START3START6:MOV LastAD,ALCALL Display_DataLEA SI,BUFFERCALL Display8START3:CALL DLTimeJMP S TART1AD0809 PROC NEARPUSH CXMOV AL,0MOV DX,Addr_0809OUT DX,ALMOV CX,200LOOP $ ;ÑÓʱ,µÈ´ýADת»»Íê³ÉMOV DX,Addr_0809IN AL,DXPOP C XRETAD0809 ENDPDISPLAY_DATA PROC NEARMOV AH,ALAND AL,0FHMOV BUFFER + 4,ALMOV AL,AHAND AL,0F0HROR A L,4MOV BUFFER + 5,ALMOV AL,AHXOR A H,AHMOV BL,51 ;255/51 (16½øÖƵÄ1 = 1/51V)DIV BLOR AL,80H ;¼ÓÉÏСÊýµãMOV BUFFER + 2,ALMOV AL,10MUL AHDIV BLMOV BUFFER + 1,AL ;µÚһλСÊýMOV AL,10MUL AHDIV BLMOV BUFFER,AL ;µÚ¶þλСÊýMOV buffer+3,10HMOV buffer+6,10HMOV buffer+7,10H ;ÏûÒþRETDISPLAY_DATA ENDPDLTime PROC NEARMOV CX,30000LOOP $RETDLTime ENDPEND START。
实验六基本接口实验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转换的一般步骤CP SSADC取样保持电路ADC的量化编码电路...DDDn-110 Iv(t)v I(t)输入模拟电压取样展宽信号数字量输出(n位)图7-1 模拟量到数字量的转换过程模拟信号进行A/D转换的时候,从启动转换到转换结束输出数字量,需要一定的转换时间,在这个转换时间内,模拟信号要基本保持不变。
否则转换精度没有保证,特别当输入信号频率较高时,会造成很大的转换误差。
要防止这中误差的产生,必须在A/D 转换开始时将输入信号的电平保持住,而在A/D 转换结束后,又能跟踪输入信号的变化。
因此,一般的A/D 转换过程是通过取样、保持、量化和编码这四个步骤完成的。
一般取样和保持主要由采样保持器来完成,而量化编码就由A/D 转换器完成。
试验六AD转换实验和DA转换实验
试验六AD转换实验和DA转换实验实验目的:本实验旨在通过AD转换实验和DA转换实验,掌握模拟信号和数字信号之间的相互转换原理和步骤,进一步了解AD转换器和DA转换器的工作原理、应用场景以及实验方法。
实验器材:1. 信号发生器:用于产生待转换的模拟信号。
2. 数字存储示波器:用于观测和分析信号的变化情况。
3. AD转换器:用于将模拟信号转换为数字信号。
4. DA转换器:用于将数字信号转换为模拟信号。
实验步骤:AD转换实验:1. 将信号发生器输出的正弦波连接到AD转换器的输入端,调节信号发生器输出的频率和幅度,确保输入信号的稳定性和合适的幅度。
2. 连接数字存储示波器到AD转换器的输出端,观测和记录数字信号的波形。
3. 使用示波器的触发功能,调整触发电平和触发方式,确保观测到的波形满足要求。
4. 改变信号发生器输出的频率和幅度,重复步骤2和3,记录不同条件下的数字信号波形。
DA转换实验:1. 将数字存储示波器输出的数字信号连接到DA转换器的输入端,设置数字信号的幅值和频率。
2. 连接DA转换器的输出端到示波器的输入端,观测和记录模拟信号的波形。
3. 改变数字信号的幅值和频率,重复步骤2,记录不同条件下的模拟信号波形。
实验结果:根据实验步骤进行AD转换实验和DA转换实验后,记录所得的数字信号和模拟信号波形如下:(插入实验得到的数字信号和模拟信号波形图片)实验分析:通过实验结果可以观察到AD转换实验和DA转换实验的转换效果和特点。
在AD转换实验中,输入信号经过AD转换器转换为数字信号后,波形变得离散化,失去了模拟信号的连续性。
而在DA转换实验中,数字信号经过DA转换器转换为模拟信号后,波形逐渐恢复了连续性,与输入信号更加接近。
实验总结:通过本次AD转换实验和DA转换实验,我们深入了解了模拟信号和数字信号之间的相互转换原理和步骤,掌握了AD转换器和DA转换器的工作原理和应用场景。
同时,我们通过实验观察到了数字信号和模拟信号在转换过程中的特点和变化,对信号的采样和恢复有了更深入的认识。
实验六ADC模数转换实验
实验六、ADC0809模数转换实验一、实验目的1、掌握ADC0809模数转换芯片与单片机的连接方法及ADC0809的典型应用2、掌握用查询的方法、中断方法完成模数转换程序的编写方法二、实验说明本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式AD转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路、AD转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号,下图为芯片的引脚图各引脚功能如下:(1)IN0-IN7:八路模拟信号输入端(2)ADDA、ADDB、ADDC:三位地址译码输入端,八路模拟信号选择由这三个端口控制(3)CLOCK:外部时钟输入端(4)D0-D7:数字量输出端(5)OE:AD转换结果输出允许控制端,当OE为高电平时,允许AD转换结果从D0~D7端输出。
(6)ALE:地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE 信号有效时将八路地址锁存。
(7)START:启动AD转换信号输入端,当START端输入一个正脉冲时,将进行AD 转换(8)EOC:AD转换结束信号输出端,当AD转换结束以后,EOC输出高电平。
(9)VREF(+)、VREF(-):正负基准电压输入端,基准正电压为+5V。
(10)VCC、GND:芯片的电源端和接地端。
三、实验步骤1、单片机最小应用系统1的P0口接AD转换的D0~D7,单片机最小应用系统1的Q0~Q7接AD转换的A0~A7,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别连接AD转换的WR、RD、P2.0、CLOCK、INT1,AD转换的IN接+5V,单片机最小应用系统的P1口接LED灯。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
31. ADC模数转换实验
普中STM32开发板带您进入ARM世界
普中STM32开发板带您进入ARM世界
(1)标号1:电压输入引脚 ADC输入电压范围为: VREF- ≤ VIN ≤ VREF+。由 VREF-、 VREF+
、 VDDA 、 VSSA这四个外部引脚决定。通常我们把 VSSA和 VREF-接地 ,把 VREF+和 VDDA 接 3.3V,因此ADC的输入电压范围为:0~3.3V。我 们使用的开发板ADC输入电压范围为0~3.3V。 (2)标号2:输入通道
Tconv = 采样时间 + 12.5个周期 其中Tconv为ADC总转换时间,当ADC_CLK=14Mhz的时候,并设置1.5个周 期的采样时间,则Tcovn=1.5+12.5=14个周期=1us。
普中STM32开发板带您进入ARM世界
(6)标号6:数据寄存器 ADC 转换后的数据根据转换组的不同,规则组的数据放在ADC_DR 寄
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转 换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//禁止触发检测,使用软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐
普中STM32开发板带您进入ARM世界
1.2 STM32F1 ADC结构框图 STM32F1 ADC拥有这么多功能,是由ADC内部结构所决定。要更好的理
解STM32F1的ADC,就需要了解它内部的结构。如下图所示:(大家 也可以查看《STM32F10x中文参考手册》-11模数转换器(ADC)章-ADC功 能说明)。
实验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个发光二极管的现象。
ad模数转换实验报告 -回复
ad模数转换实验报告-回复AD模数转换实验报告一. 实验背景和目的AD模数转换是将模拟信号转换为数字信号的过程,它在现代电子技术中具有极为重要的作用。
本实验旨在研究AD模数转换原理,了解数字信号的传输、处理、存储等基本概念,并通过实际操作掌握AD模数转换的基本实验技巧。
二. 实验过程1. 实验所用设备和器材:本次实验所使用的设备和器材主要包括:- 信号源:提供待转换的模拟信号;- AD转换器:将模拟信号转换为数字信号,并输出给外部显示设备;- 外部显示设备:用于展示和观察AD转换后的数字信号。
2. 实验步骤:(1)将信号源连接至AD转换器的模拟输入端口。
(2)将AD转换器的数字输出端口连接至外部显示设备。
(3)调整信号源产生适当的模拟信号,例如正弦波、方波等,以便对AD 转换进行观察。
(4)开启AD转换器和外部显示设备。
(5)观察并记录外部显示设备上显示的数字信号,根据实际观察和记录结果,对AD转换过程进行分析和总结。
三. 实验结果和分析在实验过程中,我们调整信号源输出不同的模拟信号,并观察了AD转换器输出的数字信号。
通过实验观察和记录的数据,我们得出了以下结论:1. 模拟信号的频率对AD转换结果有影响。
当模拟信号的频率较低时,AD转换器可以较好地将模拟信号转换为数字信号,并在外部显示设备上显示出准确的波形。
而当模拟信号的频率较高时,AD转换器转换速度较慢,会出现信号失真的情况,数字波形会不准确甚至完全丢失。
2. AD转换器的分辨率对转换精度有影响。
我们通过调节AD转换器的分辨率,在相同的模拟信号输入下观察了不同分辨率下的数字信号输出。
结果显示,分辨率越高,AD转换器能够将模拟信号转换为更为精确的数字信号。
3. AD转换器的采样率也对转换结果有影响。
我们通过改变AD转换器的采样率,观察了不同采样率下的数字信号输出情况。
结果表明,采样率较低时,AD转换器无法准确捕捉到模拟信号中的快速变化,会导致数字信号的波形出现平滑化现象;而采样率较高时,AD转换器可以更好地还原出模拟信号的快速变化特征。
模数转换模块ADC12的设计MSP430F5529 片内温度传感器的方法和编程实现
微机原理实验实验六模数转换模块(ADC12)的设计与应用一、实验目的1. 了解数模转换(ADC)的基本原理、转换过程及性能指标;2. 熟练掌握片内 ADC12 模块的 4 种工作模式;3. 熟练掌握片内 ADC12 模块的寄存器及其配置应用方法;4. 掌握应用 MSP430F5529 片内温度传感器的方法和编程实现方法;5. 了解 I2C 设备的应用方法及片外温度传感器的编程实现方法;二、实验内容1. ●编程实现并分析:采用单通道单次采样模式,选择A0 通道作为输入通道,模拟转换参考电压组合选择 ADC12 内部生成电压 1.5V 和 AVSS,转换结果存储在 ADC12MEM0 缓冲寄存器中。
(1)源程序#include<msp430.h>void main(){volatile unsigned int i;WDTCTL=WDTPW+WDTHOLD; //关闭看门狗P6SEL |= BIT0; //使能A0输入通道REFCTL0 &= ~REFMSTR; //复位控制位以控制ADC12参考电压控制寄存器ADC12CTL0=ADC12ON+ADC12SHT02+ADC12REFON;//打开ADC12,设置采样间隔,打开参考电压产生器,并设置参考电压为1.5V,ADC12CTL1=ADC12SHP; //采样保持触发信号选择采样定时器ADC12MCTL0=ADC12SREF_1; //Vr+=Vref+,Vr-=Avssfor(i=0;i<64;i++); //延迟以使参考电压稳定ADC12CTL0 |= ADC12ENC; //使能转换while (1){ADC12CTL0 |=ADC12SC; //开始转换while(!(ADC12IFG&BIT0));__no_operation(); //设置断点查看ADC12MEN0缓冲寄存器}}(2)写出配置ADC12模块转换时钟源ADC12CLK的控制寄存器和控制位;控制寄存器:ADC12CTL1控制位:ADC12DIVx:第5~7位,时钟分频控制位ADC12SSELx:第3~4位,参考时钟源选择控制位(3)写出上述实验要求下ADC12模块的默认时钟源及其频率;默认时钟源是MODCLK,由内部模块振荡器MODOSC产生,频率约为4.8MHZ.(4)写出配置ADC12模块参考电压的控制寄存器和控制位;控制寄存器:ADC12CTL0控制位:ADC12REF2_5V:第6位,内部参考电压的电压值选择控制位ADC12REFON:第5位, ADC12参考电压开关控制位控制寄存器:ADC12MCTL0控制位:ADC12SREFx:第4~6位,参考电压选择控制位(5)分析上述实验要求下ADC12模块配置的参考电压与转换量程的关系ADC模块是12位,表示的数值的取值范围是0~4095,参考电压(基准电压)为1.5V,则分辨率为 1.5V/212=0.366mV.(6)分析ADC12模块配置的时钟源与采样触发信号和转换信号是否有关?从寄存器的控制位可以看出,采样周期和ADC12CLK的个数有关,时钟源和采样触发信号无关。
试验六AD转换实验和DA转换实验
试验六AD转换实验和DA转换实验在电子技术的领域中,AD 转换实验和 DA 转换实验是非常重要的基础性实验。
它们在信号处理、自动控制、通信等众多领域都有着广泛的应用。
接下来,让我们一起深入了解这两个有趣且实用的实验。
AD 转换,全称为模拟数字转换(AnalogtoDigital Conversion),其作用是将连续变化的模拟信号转换为离散的数字信号。
想象一下,我们生活中的声音、光线、温度等各种物理量都是模拟信号,它们的数值是连续变化的。
但计算机和数字电路只能处理数字信号,所以就需要 AD 转换器来完成这个转换过程。
在进行 AD 转换实验时,我们通常会使用专门的 AD 转换芯片。
比如说常见的 ADC0809 芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位的数字量。
实验开始前,我们要先搭建好电路。
将 ADC0809 芯片与单片机或者其他控制器连接起来,同时连接好模拟信号源,比如电位器,用来产生变化的模拟电压。
然后,通过编写控制程序,向 ADC0809 发送启动转换的信号。
转换完成后,读取转换得到的数字量。
这时候,我们就可以通过观察数字量的变化,来了解模拟信号的特性。
在实验中,我们还需要关注一些重要的参数,比如转换精度和转换速度。
转换精度决定了数字量与模拟量之间的逼近程度,精度越高,数字量就越能准确地反映模拟量的真实值。
而转换速度则影响着系统对快速变化的模拟信号的处理能力。
DA 转换,全称为数字模拟转换(DigitaltoAnalog Conversion),与AD 转换相反,它是将数字信号转换为模拟信号。
DA 转换在很多场景中都发挥着重要作用,比如音频播放、电机控制等。
以常见的 DAC0832 芯片为例,它可以将 8 位的数字量转换为模拟电压输出。
在实验中,同样要先搭建好电路,将 DAC0832 与控制器连接,并接上适当的负载,比如电阻和电容,以形成平滑的模拟输出。
编写控制程序,向 DAC0832 发送数字量,然后观察输出的模拟电压的变化。
实验六 AD转换实验
实验六A/D转换实验一、实验目的:(1)掌握A/D转换与单片机接口的方法;(2)了解ADC0809的工作原理及其应用;(3)通过实验了解单片机如何进行数据采集。
(4)学习数码管动态扫描及显示方法。
(5)进一步了解Keil及Proteus的应用。
二、实验内容:利用一个可调电位器向AD0808的第一条模拟量输入端输入可变的电压值,经过AD0808的转换后,把相应的数字量输出给单片机,然后经过单片机的转化,把转换得到的结果显示在数码管上。
三、画出实验程序流程图:四、实验仿真原理图五、写出程序清单和注释;定义IO接口SEG0 BIT P2.5SEG1 BIT P2.6SEG2 BIT P2.7AD_ST BIT P3.5AD_EOC BIT P3.6AD_OE BIT P3.7ORG 0000HAJMP MAIN ;跳转指令ORG 000BHAJMP IT0PORG 0100H ;MAIN函数的入口地址MAIN:MOV SP , #60H ;设置堆栈指针MOV R1 , #00H ;延时标志MOV R0 , #40HCLR AD_ST ;初始化ADC0809,ST=0,OE=0,EOC=1CLR AD_OESETB AD_EOCMOV TMOD , #01H ;设定定时器0,,工作方式一ACALL IT0M1 ;定时器0初始化函数LOOP: ;数码管扫描显示MOV R3 , 32H ;显示各位数据ACALL DISPLAY ;送数据CLR SEG0 ;开显示,个位ACALL DELAY ;延时保存数据MOV P0 , #0FFHSETB SEG0 ;关闭各位,准备扫描下一位MOV R3 , 31H ;显示十位数据ACALL DISPLAY ;送数据CLR SEG1 ;开显示,十位ACALL DELAY ;延时保存数据MOV P0 , #0FFHSETB SEG1 ;关闭各位,准备扫描下一位MOV R3 , 30H ;显示百位数据ACALL DISPLAY ;送数据CLR SEG2 ;开显示,百位ACALL DELAY ;延时保存数据MOV P0 , #0FFHSETB SEG2 ;关闭各位,准备扫描下一位AJMP LOOPIT0P: ;定时器0中断函数PUSH PSW ;压栈PUSH ACCMOV TL0 , #0B0H ;计数寄存器赋值(50ms)MOV TH0 , #03CHSETB AD_ST ;上升沿,寄存器清零NOP ;延时,保持一定时间CLR AD_ST ;下降沿,开始转换JNB AD_EOC ,$ ;等待转换完成SETB AD_OE ;OE=1,使能数据输出NOP ;延时,保持数据稳定MOV A , P1 ;读出数据CLR AD_OE ;拉低数据,以便下次转换CJNE R1 , #00H ,AAMOV @R0 , AAA:MOV 33H , AMOV A , @R0CJNE A , 33H , FANHINC R0MOV @R0 , AINC R1 ;R1自加1,加到10即500ms采样一次AD值CJNE R1 , #5 , FANHUI ;R1到10时开始采样MOV R1 , #00H ;清R1MOV R0 , #40HMOV B , #100 ;分离百位DIV ABMOV 30H , A ;保存百位数据MOV A , B ;取出,十位和各位数据MOV B , #10 ;分离十位和各位DIV ABMOV 31H , A ;存十位数据MOV 32H , B ;存各位数据FANHUI:POP ACC ;弹栈POP PSWRETI ;中断返回FANH:MOV R0 , #40HMOV R1 , #00HPOP ACC ;弹栈POP PSWRETI ;中断返回IT0M1:MOV TL0 , #0B0H ;设置中断时间(50ms)MOV TH0 , #03CHSETB ET0 ;开定时器0中断SETB EA ;开总中断SETB TR0 ;启动定时器0RETDISPLAY: ;显示函数,查表,把对应数据送P0口PUSH ACC ;压栈,保护数据PUSH BMOV A , R3MOV DPTR,#TAB ;显示列表首地址赋予指针MOVC A,@A+DPTR ;查表找到对应的数码管显示编码MOV P0 , A ;数据送P0口,显示数据POP B ;弹栈POP ACCRET ;返回;延时函数,约等于1msDELAY:MOV R7, #2DELAY1:MOV R6, #250DJNZ R6,$ ;R6自减1,不等于0是原地跳转DJNZ R7,DELAY1RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数码管显示数END ;程序结束六、思考题在原有的基础之上,再加一模拟输入量,仿真原理图以及程序应该做什么样的改动?给出更改后的原理图以及修改的程序。
模数转换器(ADC)实验
模/数转换器(ADC)实验1.实验目的(1)掌握LM3S8962中的ADC 的基本原理和使用方法(2)掌握CCS 开发环境平台2.实验内容(1)ARM 的初始化配置(2)ADC 的初始化配置(3)ADC 对内部温度传感器的温度值采样输出的实验3.ADC 的工作原理ADC 能够将连续变化的模拟电压转化成离散的数字量。
通常通过传感器或变送器将生产过程中的工艺参数转换为电信号,然后经过模拟量输入通道来处理:一般由I/V 变换将电流信号转化为电压信号处理,然后由多路转换器选择输入通道,经过采样保持器保持信号后由A/D 转换器转换信号,转换过程由接口及控制逻辑控制。
在上述模拟输入通道中A/D 转换器和接口及控制逻辑是必不可少的两块。
下图1是ADC 的模块框图。
模数转换器ADCPSSI ADCSAC ADCSSFIFO0ADCSSFIFO1ADCSSFIFO2ADCSSFIFO3ADCSSMUX0ADCSSCTL0ADCSSFSTAT0ADCACTSS ADCOSTATADCUSTATADCSSPRI 采样序列发生器0ADCSSMUX1ADCSSCTL1ADCSSFSTAT1采样序列发生器1ADCSSMUX2ADCSSCTL2ADCSSFSTAT2采样序列发生器2ADCSSMUX3ADCSSCTL3ADCSSFSTAT3采样序列发生器3SS3ADCEMUXADCIMADCRISADCISC 中断控制模拟输入硬件平均电路FIFO 块控制状态SS2SS1SS0比较器GPIO定时器PWM 比较器GPIO定时器PWM 比较器GPIO定时器PWM 比较器GPIO 定时器PWM 触发事件SS0中断SS0中断SS0中断SS0中断图1 ADC 模块框图LM3S8962 ADC 模块的转换分辨率为10位,并支持4个输入通道,以及一个内部温度传感器。
ADC 模块含有4个可编程的采样序列发生器,它可在无需控制器干涉的情况下对多个模拟输入源进行控制。
实验6 数模-模数转换实验(带原理图)
2、仿真电路原理图
3、程序设计流程图
将单片机的P0.0、P0.1和P0.2
通过74LS373地址锁存器与ADC0809
的ADDA、ADDB和ADDC相连接,选择
ADC0809的采集通道IN0。P2.7控制
ADC0809的ALE和OE端口,因此
ADC0809的地址可以定位ox7FF8。
4、仿真结果及分析
四、思考题:
1、DAC转换器的主要性能指标有哪些?目前常用的DAC转换器主要有哪几种类型?各有什么特点?
2、ADC转换器的主要性能指标有哪些?目前常用的ADC转换器主要有哪几种类型?各有什么特点?
指导教师批阅及成绩
年月日
实验报告6
实验项目名称:D/A、A/D转换实验同组人:
实验时间:实验室:K2-407单片机室指导教师:胡蔷
一、实验目的:
(l)学习外部接口的应用。ADC0809、DAC0832的工作方式,输入/输出方式的应用。
(2)熟悉Proteus软件电路设计和Keil软件程序调试方法。
重点:ADC0809、统,定时/计数模块,排线、连接线若干,相关控制软件。
(2)Proteus软件,Keil软件。
三、实验内容
㈠利用DAC0832转换器输出三角波、锯齿波和方波
1、设计要求:以DAC0832转换器和AT89C52单片机设计仿真电路,该电路能在虚拟示波器上显示出三角波、锯齿波、方波,并能用虚拟电压表显示输出电压值,要求电压范围为0~15V且周期约为510ms。
adc实验报告
adc实验报告ADC实验报告引言:模数转换器(ADC)是一种将模拟信号转换为数字信号的设备。
在现代电子技术中,ADC起着至关重要的作用。
本实验旨在通过搭建一个简单的ADC电路,深入了解其工作原理和性能特点。
一、实验目的本实验的主要目的是通过搭建一个基本的ADC电路,探究其工作原理,并了解ADC的性能特点。
具体的实验目标如下:1. 理解ADC的基本工作原理;2. 掌握ADC电路的搭建方法;3. 通过实验观察和分析,了解ADC的性能特点。
二、实验原理ADC是一种将模拟信号转换为数字信号的设备。
它通过取样和量化的方式,将连续的模拟信号转换为离散的数字信号。
ADC的工作原理可以简单概括为以下几个步骤:1. 取样:ADC将模拟信号按照一定的时间间隔进行采样,将连续的模拟信号离散化;2. 量化:采样后的模拟信号经过量化处理,将其转换为离散的数字信号;3. 编码:将量化后的数字信号编码成二进制形式,以便计算机进行处理。
三、实验器材和仪器1. 信号发生器:用于产生模拟信号;2. 示波器:用于观察和测量信号波形;3. ADC芯片:用于将模拟信号转换为数字信号;4. 电阻、电容等元器件:用于搭建ADC电路。
四、实验步骤1. 搭建电路:根据实验原理,按照电路图搭建ADC电路,连接好信号发生器、示波器和ADC芯片;2. 设置信号发生器:根据实验要求,设置信号发生器的频率、幅度等参数,产生模拟信号;3. 采样和量化:将信号发生器输出的模拟信号输入到ADC芯片中,进行采样和量化处理;4. 观察和测量:使用示波器观察和测量ADC芯片输出的数字信号波形,并记录相关数据;5. 分析和讨论:根据观察和测量结果,分析ADC电路的性能特点,并进行讨论。
五、实验结果与分析通过实验观察和测量,得到了一系列关于ADC电路性能的数据。
根据这些数据,可以进行以下分析和讨论:1. 采样率:观察ADC芯片输出的数字信号波形,可以确定采样率是否足够高。
单片机AD模数转换实验报告
单片机AD模数转换实验报告实验目的:通过单片机完成模数转换实验,了解AD模数转换的原理,掌握AD转换器的使用方法。
实验设备:1.STC89C52RC单片机开发板2.电位器3.电阻4.电容5.连接线实验原理:AD模数转换是将连续的模拟信号转换为离散的数字信号的过程。
在单片机中,通过ADC模块将模拟电压转换为数字量。
STC89C52RC单片机具有内置的10位ADC模块,可以将模拟电压转换为0-1023之间的数字量。
实验步骤:1.连接电位器、电阻和电容的引脚到单片机上。
2.在单片机的引脚配置中,将ADC0的引脚配置为模拟输入。
3.在主函数中初始化ADC模块。
4.使用AD转换函数来获取模拟电压的数字量。
5.将数字量通过串口输出。
实验结果:经过以上步骤,我们成功地将连续的模拟信号转换为了数字信号,并通过串口输出。
通过电位器、电阻和电容的调整,我们可以观察到不同的输入信号对应的数字量。
实验总结:通过本次实验,我们深入了解了AD模数转换的原理,并学会了使用单片机的ADC模块来完成模数转换。
在实验过程中,我们还发现了一些问题和注意事项。
首先,在连接电路时,需要将模拟输入连接到ADC0引脚,并在引脚配置中正确设置。
其次,在初始化ADC模块时,需要根据实际情况设置参考电压和转换速率等参数。
最后,在使用AD转换函数时,需要根据需要进行适当的调整和计算,以获取正确的数字量。
总体来说,本次实验帮助我们更好地理解了AD模数转换的原理和单片机的ADC模块的使用方法。
通过实际操作,我们掌握了实验步骤和注意事项,提高了实际操作的能力和理论知识的运用。
这对我们的电子技术学习和应用都起到了积极的促进作用。
Cortex-M4原理与实践实验报告6 ADC操作实验
Cortex-M4原理与实践实验报告题目:ADC操作实验提交日期2021年11月日一、实验目的1.理解TM4C1294KCPDT的ADC模块原理。
2.理解ADC如何启动,如何判断ADC转换结束。
3.学会ADC模块的设计二、实验设备1.计算机一台,操作系统为WindosXP或Windos7,装有CCSv6.0软件。
2.EK-TM4C1294XL实验开发板一块。
B连接线一条。
三、实验原理和流程1.TM4C1294 ADC模块简介TM4C1294 微控制器内置两个相同的模数转换器(ADC)模块。
这两个模块(ADC0和ADC1)共用相同的20 个模拟输入通道。
两个ADC 模块的工作相互独立,因此可同时执行不同的采样序列、随时对任一模拟输入通道进行采样、并各自产生不同的中断和触发事件。
图1给出了ADC 模块中控制寄存器及数据寄存器的配置情况。
2.本实验原理图图 1 ADC模块框图滚轮的电阻值为0-10K,AD通道为通道0(PD7),可以通过拨动滚轮得到不同的输入电压。
AD 通道为通道4(PE3),PE3口对应的是温度传感器实验,外接不同的温度使传感器产生不同的电压,电压与温度的关系如式x-x,通过AD 测得当前的电压,然后再根据公式转换为当前的温度。
温度传感器的监测范围为-55度到+130度,Vout=−11.69mV℃∗T+1.8663V图 3 ADC电路原理图(1)图 2 ADC电路原理图(2)流程图:开始配置AD工作时钟和UART初始化AD相关GPIO配置配置ADC采样的工作方式触发采样获取结果,串口打印输出结束四、实验代码、注释实验代码:#include "stdint.h"#include "stdbool.h"#include "driverlib/debug.h"//调试#include "inc/hw_types.h"//数据类型设置,寄存器访问封装#include "inc/hw_memmap.h"//基址#include "driverlib/fpu.h"#include "driverlib/sysctl.h"//使能寄存器#include "driverlib/rom.h"#include "driverlib/pin_map.h"#include "grlib/grlib.h"#include "driverlib/gpio.h"#include "driverlib/adc.h"#include "inc/hw_gpio.h"#include "inc/tm4c1294ncpdt.h"#include "driverlib/uart.h"#include "utils/uartstdio.h"volatile uint32_t ui32SysClock;void InitConsole(void){// 由于UART0使用PA0,PA1两个引脚,因此需要使能GPIOA模块SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);// 因为有引脚复用,所以要对PA0和PA1两个引脚的功能进行选择// 这里将它们选择为执行UART0模块的功能GPIOPinConfigure(GPIO_PA0_U0RX);GPIOPinConfigure(GPIO_PA1_U0TX);// 对于PA0和PA1两个引脚,在将它们作为UART功能使用之前,需要对它们做一些有关UART的配置GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);// UART的标准初始化UARTStdioConfig(0, 115200, ui32SysClock);}int main(void){uint32_t ulADC0_Value;//设置系统时钟ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN |SYSCTL_USE_PLL |SYSCTL_CFG_VCO_480), 16000000);//初始化UARTInitConsole();// 初始化ADC0/PE3为温度测量SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3);//PE3// 配置ADC采集序列ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0);// 对应通道0ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH2 | ADC_CTL_END | ADC_CTL_IE);// 使能ADC采集序列ADCSequenceEnable(ADC0_BASE, 3);ADCIntClear(ADC0_BASE, 3);while(1){// 触发采集ADCProcessorTrigger(ADC0_BASE, 3);// 等待采集结束while(!ADCIntStatus(ADC0_BASE, 3, false)) ;// 获取采集结果ADCSequenceDataGet(ADC0_BASE, 3, &ulADC0_V alue);SysCtlDelay(2*50000000/3000);int temp=(1.8663-ulADC0_Value*3.3/4096)/0.01169;UARTprintf("%04d \n ", temp );}实验现象:五、思考题4.1 修改程序,将程序修改为检测滚轮的采样程序。
数模转换器和模数转换器实验报告材料
数模转换器和模数转换器实验报告材料一、实验目的1.学习和掌握数模转换器和模数转换器的原理和工作方式;2.了解数模转换器和模数转换器在各种应用领域的具体应用;3.掌握数模转换器和模数转换器的实际测量方法和数据处理。
二、实验器材和原理1.数模转换器(DAC):将数字信号转换为模拟信号。
它可以将二进制数字信号转换为连续的模拟信号,并且可以根据控制信号的不同而输出不同的电压或电流;2.模数转换器(ADC):将模拟信号转换为数字信号。
它能够实时取样模拟信号,并将其转换为对应的数字信号;3.示波器:用于观测和显示信号波形;4.信号发生器:用于产生输入信号。
三、实验过程1.数模转换器实验:(1)将示波器的X轴连接到数模转换器的数字输入端,Y轴连接到模拟输出端;(2)通过示波器上的控制按钮,调整示波器显示的方式,使其能够显示数模转换器输出的模拟信号波形;(3)使用信号发生器产生不同频率的正弦信号,并通过数模转换器将其转换为模拟信号;(4)观察和记录示波器上显示的模拟信号波形,并进行分析和比较。
2.模数转换器实验:(1)将信号发生器的输出连接到模数转换器的模拟输入端;(2)调整信号发生器的频率和幅度,产生不同的模拟信号;(3)将模拟信号输入到模数转换器中,并观察和记录模数转换器输出的数字信号;(4)使用示波器观测和记录模数转换器输出的数字信号波形,并进行分析和比较。
四、实验结果和数据处理1.数模转换器实验结果:根据示波器显示的模拟信号波形,可以观察到数模转换器能够将输入的数字信号转换为连续的模拟信号,并且输出的模拟信号的波形与输入信号的波形一致。
2.模数转换器实验结果:根据示波器显示的数字信号波形,可以观察到模数转换器能够将输入的模拟信号实时取样并转换为对应的数字信号。
对于不同频率和幅度的输入信号,模数转换器能够正确地输出对应的数字信号。
五、实验结论数模转换器和模数转换器是将数字信号和模拟信号相互转换的重要器件。
试验六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.47 所示,地址信号与选中通道的关系如表 4.6 所示。
模/数转换单元电路图如图4.48所示:五、实验步骤1.按图4.49连接实验线路。
2.编写实验程序,经编译、链接无误后装入系统。
.3.将变量VALUE添加到变量监视窗口中。
4.在JMP START语句行设置断点,使用万用表测量ADJ端的电压值,计算对应的采样值,然后运行程序。
5.程序运行到断点处停止运行,查看变量窗口中VALUE的值,与计算的理论值进行比较,看是否一致(可能稍有误差,相差不大)。
6.调节电位器,改变输入电压,比较VALUE与计算值,反复验证程序功能。
实验程序清单(AD1.ASM)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.学习数/模转换的基本原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六、ADC0809模数转换实验
一、实验目的
1、掌握ADC0809模数转换芯片与单片机的连接方法及ADC0809的典型应用
2、掌握用查询的方法、中断方法完成模数转换程序的编写方法
二、实验说明
本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式AD转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路、AD转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号,下图为芯片的引脚图
各引脚功能如下:
(1)IN0-IN7:八路模拟信号输入端
(2)ADDA、ADDB、ADDC:三位地址译码输入端,八路模拟信号选择由这三个端口控制
(3)CLOCK:外部时钟输入端
(4)D0-D7:数字量输出端
(5)OE:AD转换结果输出允许控制端,当OE为高电平时,允许AD转换结果从D0~D7端输出。
(6)ALE:地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE 信号有效时将八路地址锁存。
(7)START:启动AD转换信号输入端,当START端输入一个正脉冲时,将进行AD 转换
(8)EOC:AD转换结束信号输出端,当AD转换结束以后,EOC输出高电平。
(9)VREF(+)、VREF(-):正负基准电压输入端,基准正电压为+5V。
(10)VCC、GND:芯片的电源端和接地端。
三、实验步骤
1、单片机最小应用系统1的P0口接AD转换的D0~D7,单片机最小应用系统1的Q0~Q7接AD转换的A0~A7,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别连接AD转换的WR、RD、P2.0、CLOCK、INT1,AD转换的IN接+5V,单片机最小应用系统的P1口接LED灯。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮、点击Run按钮运行程序,8位LED发光二极管显示AD转换后的结果,调节模拟信号输入端的电位器旋钮,显示值随着发生变化。
四、流程图及源程序
#include <reg51.h>
#include <absacc.h>
unsigned char code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D //0,1,2,3,4,5
,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x58,0x5E,0x7B,0x71};
sbit P33=P3^3;
void display(float a); void delay();
void main()
{
unsigned int date;
float date1;
while(1)
{
XBYTE[0xfefb]=0; while(P33==1)
date=XBYTE[0xfefb]; date1=(float)date*5/255; display(date1);
P1=date;
}
} void display(float a)
{
unsigned char ge,shi,bai;
bai=(unsigned char) (a);
shi=(unsigned char) (a*10)%10; ge=(unsigned char) (a*100)%10;
P1=table[ge];
P2=0x02;
delay();
P2=0x00;
P1=table[shi];
P2=0x04;
delay();
P2=0x00;
P1=table[bai]|0x80;
P2=0x08;
delay();
P2=0x00;
}
void delay()
{
unsigned char i;
for(i=0;i<100;i++);
}
汇编语言:
LED0 EQU P2^1
LED1 EQU P2^2
LED2 EQU P2^3
ORG 0000H
LJMP START
ORG 0030H
START: MOV A,#0
MOV DPTR,#0FEFBH
MOVX @DPTR,A LOOP: JB P3.3,LOOP
MOVX A,@DPTR
MOV B,#51
DIV AB
MOV R0,A
MOV A,B
CLR F0
CLR C
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP1
ADD A,#5
LOOP1:MOV R1,A
CLR F0
CLR C
MOV A,B
SUBB A,#1AH
MOV F0,C
MOV A,#10
MUL AB
MOV B,#51
DIV AB
JB F0,LOOP2
ADD A,#5
LOOP2:MOV R2,A
MOV DPTR,#TAB
MOV A,R0
MOVC A,@A+DPTR
ORL A,#80H
MOV P1,A
MOV P2,#08H
LCALL DELAY
MOV P2,#00H
MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
MOV P2,#04H
LCALL DELAY
MOV P2,#00H
MOV A,R2
MOVC A,@A+DPTR
MOV P1,A
MOV P2,#02H
LCALL DELAY
MOV P2,#00H
LJMP START
DELAY: MOV R4,#100
LOOP4: DJNZ R4,LOOP4;
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,A,b
DB 58H,5EH,7BH,71H,00H,40H ;C,d,E,F,,-
END
流程图:
五、思考题
AD转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中采用的是查询方式,请用另两种方式编制程序
六、电路图
U1R1R2R3R4R5R6R7R8
U2
U3
RV1
D1 D2
D3 D4 D5 D6 D7 D8U7:A
U4:A
U4:B
仿真测试图。