数模转换器和模数转换器实验报告综述
- 格式:doc
- 大小:865.50 KB
- 文档页数:9
单片机控制ADC0809的模数转换与显示一、实验内容和要求本题目对单片机控制ADC0809(Proteus的元件库中没有ADC0809,用ADC0808来代替)的通道3的电压模拟量进行模数转换,转换为数字量后,显示在3位数码管上。
调节图中的电位器,可观察到数码管显示的电压值在变化。
二、实验主要仪器设备和材料计算机一台三、实验方法、步骤及结果测试所有操作都在ISIS中进行,步骤如下。
(一)、Proteus电路设计1.从Proteus库中选取元器件(1)AT89C51:单片机;(2)RES:电阻;(3)7SEG-MAPX4-CC-BLUE(4)CAP、CAP-ELEC:电容、电解电容(5)CRYSTAL:晶振;(6)BUTTON:开关(7)BUTTON(8)ADC0808(9)POT-HG(10)LED-YELLOW(11)MAX7219(12)RESONATOR2.放置元器件、放置电源和地、连线、元器件属性设置、电气检测所有操作都在ISIS中进行完成的电路图设计如图(二)、源程序设计1、流程图2、通过Keil u Vision4建立工程,再建立源程序文件源程序如下主机程序:LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HADC EQU 35HCLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7ORG 00HSJMP STARTORG 0BHLJMP INT_T0START:MOV LED_0, #00HMOV P2,#0FFHMOV LED_1,#00HMOV LED_2,#00HMOV DPTR,#TABLEMOV TMOD,#02H ;设置定时器工作方式2 MOV TH0,#245MOV TL0,#00HMOV IE,#82H ;开总中断和定时器0中断SETB TR0 ;启动定时器0WAIT:CLR STSETB STCLR STJNB EOC,$ ;判断A/D转换结束否SETB OE ;允许数据量输出MOV ADC,P3CLR OEMOV A,ADCMOV B,#51DIV ABMOV LED_2, AMOV A,BMOV B,#5DIV ABMOV LED_1, AMOV LED_0, BLCALL DISP ;跳至显示子程序SJMP WAITINT_T0: ;定时器T0中断子程序CPL CLOCKRETIDISP: ;显示子程序MOV A, LED_0MOVC A,@A+DPTRCLR P2.3 ;显示数码管右边第一位数字MOV P0,ALCALL DELAYSETB P2.3MOV A, LED_1MOVC A,@A+DPTRCLR P2.2 ;显示数码管右边第二位数字MOV P0,ALCALL DELAYSETB P2.2MOV A,LED_2MOVC A,@A+DPTRCLR P2.1 ;显示数码管右边第三位数字ORL A,#80H ;显示小数点MOV P0,ALCALL DELAYSETB P2.1RETDELAY: ;延时子程序MOV R6, #10D1:MOV R7,#250DJNZ R7,$DJNZ R6, D1RETTABLE:DB 3FH, 06H, 5BH, 4FH, 66HDB 6DH, 7DH, 07H, 7FH, 6FHEND通过按钮“Build target”编译源程序,生成目标代码文件*.hex文件。
DSP实验报告之 CODEC(模数数模转换)DSP技术及应用实验报告学院:班级:姓名:学号:指导老师:完成日期:CODEC(模数/数模转换)一、实验目的1. 熟悉DSK板的结构和设置(DSK板注意事项在第2页);2. 掌握利用CODEC进行AD/DA转换;3. 熟悉McBSP, DMA的使用;4. 掌握C和汇编混合编程封装具体实现。
二、实验设备1.集成开发环境CCS 2.5402DSK实验板 3. 实验代码:a). 混合编程:codec_c.h(.h、.h54均由程序自动加载,可不加,后同),dsp_cnst.h54, codec.s54, codec_c.c, rts.lib和codec_c.cmd,c5402_dsk.gel(同上用来做gel初始设置, c5402_dsk.gel与 c5402.gel稍有区别,注意比较其中的异同)。
b). 汇编(时间多的同学做):codec_cnst.h54, dsp_cnst.h54, macro.h54,codec_init.s54, dsp_init.s54, main.s54和codec.cmd,c5402_dsk.gel(说明同前)。
三、实验内容及步骤1. 阅读理解McBSP, CODEC和DMA的相关文档2. 阅读和理解相关实验代码3. 本实验由于用到DSK板,环境设置与前不同,要特别注意。
打开CCS前,用并口电缆将TMS320VC5402DSK与PC机相连,出现发现硬件提示,安装驱动(驱动程序在D:\\DSP\\driver5000。
一般会要求装3次,2次装USB,driver5000\\USBDevice目录,如无则可跳过;1次装driver,即 driver5000中setup.exe,注意driver驱动的安装路径要求与CCS的安装路径一致,故要先找出CCS的安装目录)。
4. 接通DSK板电源,配置工作环境: 双击打开Code Composer (Studio)配置程序,如图:点击“Clear”按钮,清除原有配置。
模数转换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的分辨率,即能够将模拟信号转换为多少个离散的数字信号。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:■验证□综合□设计□创新实验日期:实验成绩:实验一数/模转换实验一.实验要求掌握DAC0832芯片的性能、使用方法及对应的硬件电路。
编写程序控制D/A输出的波形,使其输出周期性的三角波。
二.实验说明电路实现见主板模块B1,具体说明请见用户手册。
DAC0832的片选CS0832接00H,观察输出端OUTl(B1部分)产生三角波由数字量的增减来控制,同时要注意三角波要分两段来产生。
三.实验步骤1、接线:此处无需接线。
2、示例程序:见Cpl源文件,程序流程如下图所示。
3、运行虚拟示波器方法:打开LCAACT软件中“设置”一>“实验机”,将其中的程序段地址设为8100,偏移地址0000。
然后选择“设置”一>“环境参数”一>“普通示波”,选择“工具”一>“加载目标文件”,本实验加载C:\AEDK\LCAACT\试验软件\CPI.EXE,然后选择在“工具”栏中“软件示波器”中“普通示波”,点击开始示波器即程序运行。
以后每个实验中的虚拟示波器运行方法同上。
只是加载的程序要根据实验的不同而不同。
如果以后用到该方法,不再赘述。
4、现象:程序执行,用虚拟示波器(CHl)观察输出点OUT(B1开始设置初始电平为0VD/A输出并增<=0FFH?YN数模转换中),可以测量到连续的周期性三角波。
通过实验结果的图片,我们可以知道得出来的三角波的幅值为U=(3.01V+1.95V)=4.96V。
T=1.3s模拟输出来的幅值和我们输入的5V有一定的偏差。
相对误差为(5-4.96)/5=0.8%,因为0832是8为的,所以分辨率为1/256即0.004。
相比较一下本次实验的误差只有0.8%,相当于掉了两个单位的分辨率。
在允许的误差范围之内。
所以本次实验的结果还算是比较成功的。
四、实验小结通过本次实验,我对数模转换的知识理解得更加透彻,以及如何使用DAC0832进行数模转换把数字量转换为模拟量并以三角波形式输出。
模数转换实验报告册1. 引言模数转换是指把数字由一种模数表示方式转换为另外一种模数表示方式的过程,常见的模数包括二进制、十进制、十六进制等。
在计算机科学和电子工程领域中,模数转换是一项重要的技术,广泛应用于数据存储、通信传输等方面。
本实验旨在通过编程实现模数转换的功能,并通过实验验证其正确性和效果。
2. 实验原理在计算机中,数字的模数转换可以通过数学运算来实现。
以下以将十进制数转换为二进制数为例进行说明。
2.1 十进制转二进制原理十进制数转换为二进制数的步骤如下:1. 将十进制数不断除以2,直到商为0为止。
2. 每次除法运算的余数即为二进制数的最低位,从低位到高位依次排列。
3. 将排列好的二进制数作为转换结果。
例如,将十进制数13转换为二进制数的过程如下:13 / 2 = 6 余16 / 2 = 3 余03 / 2 = 1 余11 /2 = 0 余1将余数从低位到高位排列得到二进制数1101,即十进制数13的二进制表示。
2.2 实验目标本实验的目标是设计一个程序,能够将用户输入的十进制数转换为二进制数,并且能够正确处理负数的模数转换。
3. 实验步骤3.1 环境搭建1. 在计算机上安装编程环境,如在Windows系统上安装Visual Studio。
2. 创建一个新的控制台应用程序项目。
3.2 实现模数转换功能1. 在程序中添加一个函数,用于将十进制数转换为二进制数。
2. 在函数中实现十进制转二进制的转换算法,可以使用循环语句来实现。
3. 处理负数的模数转换,可以通过将负数取绝对值后再进行转换,并在结果中添加负号。
3.3 运行和测试1. 编译和运行程序。
2. 输入一个十进制数,并验证转换结果是否正确。
3. 测试负数的模数转换,确保程序能够正确处理负数。
4. 结果与讨论经过测试,本实验中设计的模数转换程序能够正确将十进制数转换为二进制数,并且能够处理负数的模数转换。
该程序在输入一个十进制数后可以立即给出转换结果,且结果准确无误。
FPGA实验报告题目:ADC0804并行A/D实验班级:姓名:张俊卿学号:指导教师:张文旭日期:2014.04.25ADC0804实验报告一.实验原理1.1 输入模拟量转数字量实验原理本实验要求利用ADC0804实现输入模拟量到数字量的转换,并将转换结果在数码管上输出。
由已知电路得ADC0804的输入模拟电压用一个滑动变阻器对电源分压得到,它的8位输出AD0~AD7与FPGA的8个管脚相连,即input [7:0] data。
而data就是数码管的动态显示数据。
通过循环扫描,使数码管正确的显示出data的十进制数形式。
以下为实验箱内ADC0804与FPGA的连接关系,图2.ADC0804与FPGA连接图二.实验应用的器件分析2.1 ADC0804原理ADC0804是8位全MOS中速逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接接口。
单通道输入,转换时间大约100us。
ADC0804转换时序是:当CS=0许可进行A/D转换。
WR由低到高时,A/D开始转换,一次转换共需要66-73个时钟周期。
CS与WR同时有效时启动A/D转换,转换结束产生INTR信号(低电平有效),可供查询或者中断信号。
在CS和RD的控制下可以读取数据结果。
ADC0804 为一只具有20引脚8位CMOS 连续近似的A/D 转换器,其规格如下:(1) 高阻抗状态输出(2) 分辨率:8 位(0~255)(3) 存取时间:135 ms(4) 转换时间:100 ms(5) 总误差:-1~+1LSB(6) 工作温度:ADC0804C为0度~70度;ADC0804L为-40 度~85 度(7) 模拟输入电压范围:0V~5V(8) 参考电压:2.5V(9) 工作电压:5V(10) 输出为三态结构1. 接脚说明见图1:2. PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。
实验十DA、AD转换实验报告(一)引言概述:实验十DA、AD转换实验报告(一)本实验报告旨在介绍实验十DA、AD转换的相关内容。
在本次实验中,我们将会学习数字模拟转换和模拟数字转换的原理与方法,并通过实际操作进行验证。
本报告将按照以下五个主要部分进行阐述:(1)实验准备,(2)DA转换原理与方法,(3)AD转换原理与方法,(4)实验步骤与结果,(5)实验总结。
正文内容:1. 实验准备1.1 硬件准备- 数字模拟转换器(DAC)模块- 模拟数字转换器(ADC)模块- 连接电缆1.2 软件准备- 实验十DA、AD转换实验软件2. DA转换原理与方法2.1 DA转换原理- 数字模拟转换器将数字信号转换为模拟电压或电流输出的过程- 通过将数字数据转换为电路中的模拟信号,实现了数字信号到模拟信号的转换2.2 DA转换方法- 标准电压法- 标准电流法- R-2R网络法3. AD转换原理与方法3.1 AD转换原理- 模拟数字转换器将模拟量转换为数字量的过程- 通过将连续的模拟信号转换为离散的数字信号,实现了模拟信号到数字信号的转换3.2 AD转换方法- 逐次逼近法- 并行比较法- 闪存式转换法4. 实验步骤与结果4.1 实验设置- 连接DAC和ADC模块到电路中- 连接电缆,确保连接正确4.2 实验步骤- 设置DAC模块的输出值- 进行DA转换并记录输出结果- 将模拟信号输入到ADC模块中- 进行AD转换并记录输出结果4.3 实验结果- 实验运行过程中的数据记录与图表展示5. 实验总结5.1 实验心得体会- 通过本次实验,我更深入地了解了DA、AD转换的原理与方法- 实际操作过程中加深了对数字模拟转换和模拟数字转换的理解5.2 实验结果分析- 分析实验得到的数据与图表,验证转换原理与方法的准确性5.3 实验改进与展望- 在后续的实验中,可以进一步探索其他类型的DA、AD 转换器- 可以对实验步骤进行改进,提高实验效果和精确度总结:本实验报告阐述了实验十DA、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转换器可以更好地还原出模拟信号的快速变化特征。
- 1 -
实 验 报 告
课程名称 微机原理与接口技术
实验项目 实验五
数/模转换器和模/数转换器实验
实验仪器 TPC-USB通用微机接口实验系统
系 别 计算机系
专 业 网络工程
班级/学号
学生姓名 _
实验日期
成 绩 _______________________
指导教师 王欣
- 2 -
实验五 数/模转换器和模/数转换器实验
一、实验目的
1. 了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。
2. 了解模/数转换器的基本原理,掌握ADC0809的使用方法。
二.实验设备
1.PC微机系统 一套
2.TPC-USB通用微机接口实验系统 一套
三.实验要求
1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、
对运行结果的分析等。
2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序
等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验
系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。
3.实验前仔细阅读理解教材相关章节的相关内容,实验时必须携带教材及实验
讲义。
四.实验内容及步骤
(一)数/模转换器实验
1.实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中
的Ua、Ub),编程产生以下锯齿波(从Ua和Ub输出,用示波器观察)
图1 实验连接参考电路图之一
编程提示:
1. 8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:
- 3 -
(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。
2. 产生锯齿波只须将输出到DAC0832的数据由0循环递增。
3. 参考流程图(见图2):
图2 实验参考流程图之一
(二)模/数转换器
1. 实验电路原理图如图3。将实验(一)的DAC的输出Ua,送入ADC0809通道
1(IN1)。
图3 实验连接参考电路图之二
2. 编程采集IN1输入的电压,在屏幕上显示出转换后的数据(用16进制数)。
编程提示:
1. ADC0809的IN0口地址为298H,IN1口地址为299H。
2. IN0单极性输入电压与转换后数字的关系为:
- 4 -
其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。
3. 一次A/D转换的程序可以为
MOV DX,口地址
OUT DX,AL ;启动转换
;延时
IN AL,DX ;读取转换结果放在AL中
(a)主程序 (b)显示子程序
图4 实验参考流程图之二
五、实验程序设计和调试运行
1、程序设计
第一个实验代码如下:(生成的是锯齿波)
io0832a
equ 290h
code segment
assume cs:code
start: mov cl,0
mov dx,io0832a
lll: mov al,cl
out dx,al
- 5 -
inc cl ;cl加1
inc cl
inc cl
inc cl
inc cl
inc cl
inc cl
push dx
mov ah,06h ;判断是否有键按下
mov dl,0ffh
int 21h
pop dx
jz lll ;若无则转LLL
mov ah,4ch ;返回
int 21h
code ends
end start
实验二代码如下:(正弦波 有加分)
DATA SEGMENT
IO0832A EQU 290H
SIN DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH
DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H
DB 80H,66H,4EH,38H,25H,15H,09H,04H
DB 00H,04H,09H,15H,25H,38H,4EH,66H ;正弦波数据
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX ;置正弦波数据的偏移地址为SI,,
LL:MOV SI,OFFSET SIN ;一组输出32个数据
MOV BH,32 ;将数据输出到D/A转换器
LLL:MOV AL,[SI]
MOV DX,IO0832A
OUT DX,AL
MOV AH,06H
MOV DL,0FFH
INT 21H
- 6 -
JNE EXIT
MOV CX,1
DELAY:LOOP DELAY
INC SI
DEC BH
JNZ LLL
JMP LL
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START
2、实验过程及实验结果
实验1:首先检查实验硬件有无故障,之后开始连接。这次实验除了用到实验箱
还有示波器。编写好代码之后,进行编译连接。电路几乎没有问题,因为只有一根导
线需要连。最重要的是调示波器。
锯齿波如下所示:
- 7 -
- 8 -
实验2:根据第一个实验的基础上,按照老师给的代码填空,最主要的还是调示
波器。只要是第一个实验操作正确,出现锯齿波了。正弦波很快就会做出来。
正弦波:
- 9 -
3、问题和解决
通过本次实验,明白了数/模转换器和模/数转换器的基本原理。本次代码有很多
空白,有我们自己填写,本次实验连线很简单,不过示波器不是很好调,经过老师和
同学的帮助,最后成功调出来。这次实验是汇编实验的最后一次,通过本学期的实验
学到了很多课本上知识,收货很大。