ADC0808数模转换与显示 课程设计.

ADC0808数模转换与显示  课程设计.
ADC0808数模转换与显示  课程设计.

专业课程设计报告题目:ADC0808数模转换与显示

所在学院

专业班级

学生姓名

学生学号

指导教师

提交日期2012年10月29日

电气工程学院专业课程设计评阅表学生姓名学生学号

同组队员专业班级

题目名称

一、学生自我总结

二、指导教师评定

目录

一、设计目的 (1)

二、设计要求和设计指标 (1)

三、设计内容 (1)

3.1 芯片简介 (1)

3.1.1 A/D转换模块 (1)

3.1.2 AT89C51单片机的结构原理与引脚功能 (3)

3.2电路设计 (7)

3.3程序设计 (8)

四、本设计改进建议 (10)

五、总结 (10)

六、主要参考文献 (11)

附录 (12)

一、设计目的

本课程设计的目的就是要锻炼学生的实际动手能力。在理论学习的基础上,通过完成一个具有综合功能的小系统,使学生将课堂上学到的理论知识与实际应用结合起来,对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立设计单片机应用系统的开发设计工作打下一定的基础。

二、设计要求和设计指标

以AT89C51单片机为核心,实现ADC0808的数模转换与显示。转换后的结果显示在数码管上。

三、设计内容

3.1 芯片简介

3.1.1 A/D转换模块

ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。[1](1)ADC0808的内部逻辑结构

由下图3-1-1可知,ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

图3-1-1 ADC0808的内部逻辑结构

(2). ADC0808引脚结构

ADC0808各脚功能如下:

D7-D0:8位数字量输出引脚。

IN0-IN7:8位模拟量输入引脚。

VCC:+5V工作电压。

GND:地。

REF(+):参考电压正端。

REF(-):参考电压负端。

START:A/D转换启动信号输入端。

ALE:地址锁存允许信号输入端。

(以上两种信号用于启动A/D转换).

EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OE:输出允许控制端,用以打开三态数据输出锁存器。

CLK:时钟信号输入端(一般为500KHz)。本设计采用DCLOCK激励源,频率为12MHz。A、B、C:地址输入线。

图3-1-2 ADC0808引脚图

ADC0808对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条

ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。

ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。

CLK为时钟输入信号线。因ADC0808的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,本设计采用DCLOCK激励源,频率为12MHz。VREF(+),VREF(-)为参考电压输入。

图3-1-3 ADC0808的接线图图3-1-4 ADC0808的时钟电路设置

3.1.2 AT89C51单片机的结构原理与引脚功能

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。[1]

图3-1-5 AT89C51的引脚图

主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24MHz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口

的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下列所示:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率

周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC 指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE 禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

图3-1-6 AT89C51的接线图

振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,

并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能直到下一个硬件复位为止。

3.2电路设计

设计原理图如图所示

图3-2-1 设计原理电路图

此电路的工作原理是:+5V模拟电压信号通过变阻器RV1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给六位LED,同时它还通过其六位I/O口P0.0、P0.1、P0.2、P0.3、P0.4、P0.5产生位选信号控

制数码管的亮灭。此外,ADC0808的CLOCK用DCLOCK激励源,当激励源发出正脉冲时启动A/D转换,P3.5检测A/D转换是否完成,无论转换成功,均从P1口读取结果送给LED显示出来。[2]

硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。

3.3程序设计

根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图3-3-1所示。[3]

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图3-3-2所示。[3]

图3-3-1 主程序框图图3-3-2 A/D转换流程图

3.4仿真结果与分析

1.当IN0口输入电压值为0V时,显示结果如图所示,测量误差为0V。

图3-4-1 输入电压为0V时,LED的显示结果

2.当IN0输入电压值为1.60V时,显示结果1.601V。测量误差为0.001V。

图3-4-2 输入电压为1.60V时,LED的显示结果

3.当IN0口输入电压值为3.70V时,显示结果3.691V。测量误差为0.009V。

图3-4-3 输入电压为3.70V时,LED的显示结果

4.当IN0口输入电压值为

5.00V时,显示结果4.980V。测量误差为0.02V。

图3-4-4 输入电压为5.00V时,LED的显示结果

通过以上仿真测量结果可得到电压表数据与数码管测量显示数据以及相对误差如下表3-4-1所示:

从上表显示结果分析,当电压表显示数值为整数(不包括0)的时候,数码管显示

的出的测量值相对误差稳定在0.40%;也就是说总体相对误差在基准为0.40%上下振荡,

在相邻两个整数的中间值时最大(或最小)。上表显示2.5V时相对误差最大(0.80%)。

也就是说当电压值为输入电压的一半时,数据显示相对误差最大。

四、本设计改进建议

由于相对误差的振荡不稳定性可能给测量结果带来较大的偏差。故而可以通过改进

电路连接,在AT89C51芯片上加上时钟电路和复位电路代替ADC0808芯片的DCLOCK

激励源脉冲从而控制ADC0808的工作,也可以校正ADC0808的基准电压,减少测量误

差,提高测量准确度。

五、总结

经过一段时间的努力,课程设计——ADC0808数模转换与显示基本完成。但设计中的不足之处仍然存在。这次设计是我第一次用Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和

电路图的仿真的设计流程,积累了不少经验。

基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量电压准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。

通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。

总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。

最后,感谢老师的无私帮助和慷慨倾囊。没有您,就无法完成本次的设计。也无法学习到如此多的知识。

六、主要参考文献

[1]喻萍郭文川. 单片机原理与接口技术. 化学工业出版社. 2006

[2]宋凤娟孙军李国忠. 基于89C51单片机的数字电压表设计[J]. 工业控制计算机. 2007

[3]王毓银. 数字电路逻辑设计. 高等教育出版社. 2005

附录

AT89C51单片机程序

#include

#include

#include "timer.h"

#define _nop {}

unsigned char shuma[]={0xC0,0xF9,0xA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f};

sbit N1=P0^0;

sbit N2=P0^1;

sbit N3=P0^2;

sbit N4=P0^3;

sbit N5=P0^4;

sbit N6=P0^5;

sbit Point=P2^7;

int V=0;

void Delay_nms(unsigned char n)

{

unsigned char a;

for(;n>0;n--)

{

for(a=0;a<100;a++)

{

_nop;

_nop;

_nop;

_nop;

}

}

}

void display(int volt) {

unsigned char dis[6];

int i,a,j=0,cn=0;

for(i=0;i<6;i++)

{

dis[i]=0;

}

a=volt;

if(a==0)

{

dis[0]=0;

cn=1;

}

else

{

j=0;

while(a>0)

{

if(j>=6) break;

dis[cn]=a%10;

j++;

cn++;

a=a/10;

}

}

//dis[1]=9;

for(i=0;i<6;i++)

{

N1=0;

N2=0;

N3=0;

N4=0;

N5=0;

N6=0;

P2=shuma[ dis[i] ];

if(i==0)

{

N6=1;

}

else if(i==1)

{

N5=1;

if(cn==2)

{

Point=0;

}

}

else if(i==2) {

N4=1;

if(cn==3)

{

Point=0;

}

}

else if(i==3) {

N3=1;

if(cn==4)

{

Point=0;

}

}

else if(i==4) {

N2=1;

if(cn==5)

{

Point=0;

}

}

else if(i==5) {

N1=1;

if(cn==6)

{

Point=0;

}

}

Delay_nms(5);

}

}

void main()

{

unsigned char key,i;

IniTimer(25000);

StartTimer();

V=48367;

while(1)

{

display(V);

}

}

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 1、了解数模和模数转换电路的接口方法及相应程序设计方法。 2、了解数模和模数转换电路芯片的性能和工作时序。 二、实验条件 1、DOS操作系统平台 2、数模转换芯片DAC0832和模数转换器ADC0809芯片。 三、实验原理 1、数模转换: (1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。 (2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。 2、模数转换: (1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。

(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。一般模数转换芯片会有一条专门的信号线表示转换是否结束。微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。 (3)实验采用的是8 路8 位模数转换器ADC0809 芯片。ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。分辨率为 8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为04.98V。 四、实验内容 1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试 DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,检验DAC0832 的功能。选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。实验结果记录如下:

数模与模数转换器 习题与参考答案

第11章 数模与模数转换器 习题与参考答案 【题11-1】 反相运算放大器如图题11-1所示,其输入电压为10mV ,试计算其输出电压V O 。 图题11-1 解:输出电压为: mV mV V R R V IN F O 10010101 =?=-= 【题11-2】 同相运算放大器如图题11-2所示,其输入电压为10 mV ,试计算其输出电压V O 。 图题11-2 解:mV mV V R R V IN F O 110101111 =?=+=)( 【题11-3】 图题11-3所示的是权电阻D/A 转换器与其输入数字信号列表,若数字1代表5V ,数字0代表0V ,试计算D/A 转换器输出电压V O 。 11-3 【题11-4】 试计算图题11-4所示电路的输出电压V O 。 图题11-4 解:由图可知,D 3~D 0=0101 因此输出电压为:V V V V O 5625.151650101254 === )( 【题11-5】 8位输出电压型R/2R 电阻网络D/A 转换器的参考电压为5V ,若数字输入为,该转换器输出电压V O 是多少?

解:V V V V O 988.21532565100110012 58≈== )( 【题11-6】 试计算图题11-6所示电路的输出电压V O 。 图题11-6 解:V V V D D V V n n REF O 5625.1516501012 5~240==-=-=)()( 【题11-7】 试分析图题11-7所示电路的工作原理。若是输入电压V IN =,D 3~D 0是多少? 图题11-7 解:D3=1时,V V V O 6221234== ,D3=0时,V O =0。 D2=1时,V V V O 3221224== ,D2=0时,V O =0。 D1=1时,V V V O 5.1221214== ,D1=0时,V O =0。 D0=1时,V V V O 75.0221204 ==,D0=0时,V O =0 由此可知:输入电压为,D3~D0=1101,这时V O =6V++=,大于输入电压V IN =,比较器输出低电平,使与非门74LS00封锁时钟脉冲CLK ,74LS293停止计数。 【题11-8】 满度电压为5V 的8位D/A 转换器,其台阶电压是多少?分辨率是多少? 解:台阶电压为mV mV V STEP 5.192/50008== 分辨率为:%39.00039.05000/5.195000/===mV V STEP

第8章-数模和模数转换习题解答

思考题与习题 8-1 选择题 1)一输入为十位二进制(n=10)的倒T 型电阻网络DAC 电路中,基准电压REF V 提供电流为 b 。 A. R V 10REF 2 B. R V 10REF 22? C. R V REF D. R V i )2(REF ∑ 2)权电阻网络DAC 电路最小输出电压是 b 。 A. LSB 21V B. LSB V C. MSB V D. MSB 2 1V 3)在D/A 转换电路中,输出模拟电压数值与输入的数字量之间 a 关系。 A.成正比 B. 成反比 C. 无 4)ADC 的量化单位为S ,用舍尾取整法对采样值量化,则其量化误差m ax ε= b 。 A.0.5 S B. 1 S C. 1.5 S D. 2 S 5)在D/A 转换电路中,当输入全部为“0”时,输出电压等于 b 。 A.电源电压 B. 0 C. 基准电压 6)在D/A 转换电路中,数字量的位数越多,分辨输出最小电压的能力 c 。 A.越稳定 B. 越弱 C. 越强 7)在A/D 转换电路中,输出数字量与输入的模拟电压之间 a 关系。 A.成正比 B. 成反比 C. 无 8)集成ADC0809可以锁存 8 模拟信号。 A.4路 B. 8路 C. 10路 D. 16路 5)双积分型ADC 的缺点是 a 。 A.转换速度较慢 B. 转换时间不固定 C. 对元件稳定性要求较高 D. 电路较复杂 8-2 填空题 1)理想的DAC 转换特性应是使输出模拟量与输入数字量成__正比__。转换精度是指DAC 输出的实际值和理论值__之差_。 2)将模拟量转换为数字量,采用 __A/D__ 转换器,将数字量转换为模拟量,采用__D/A_____ 转换器。 3)A/D 转换器的转换过程,可分为采样、保持及 量化 和 编码 4个步骤。 4)A/D 转换电路的量化单位位S ,用四舍五入法对采样值量化,则其m ax ε= 0.5s 。 5)在D/A 转换器的分辨率越高,分辨 最小输出模拟量 的能力越强;A/D 转换器的分辨率越高,分辨 最小输入模拟量 的能力越强。 6)A/D 转换过程中,量化误差是指 1个LSB 的输出变所对应的模拟量的范围 ,量化误差是 不可 消除的。

实验一 D、A数模转换实验

实验一D/A数模转换实验 一、实验目的 1.掌握数模转换的基本原理。 2.熟悉12位D/A转换的方法。 二、实验仪器 1.EL-A T-II型计算机控制系统实验箱一台 2.PC计算机一台 三、实验内容 通过A/D&D/A卡完成12位D/A转换实验,在这里用双极性模拟量输出,数字量输入范围为:0~4096,模拟量输出范围为:-5V~+5V。转换公式如下:U0=Vref-2Vref(211K11+210K10+…20K0)/212 Vref=5.0V 例如:数字量=000110011001 则 K11=0,K10=0,K9=0,K8=1,K7=1,K6=0,K5=0,K4=1,K3=1,K2=0,K1=0,K0=1 模拟量U0=Vref-2Vref(211K11+210K10+…20K0)/212=4V 四、实验步骤 1.连接A/D、D/A卡的DA输出通道和AD采集通道。A/D、D/A卡的DA1的输出接A/D、D/A卡的AD1输入。检查无误后接通电源。 2.启动计算机,在桌面上双击图表[Computerctrl]或在计算机程序组中运行[Computerctrl]软件。 3.测试计算机与实验箱的通信是否正常,通信正常继续。如通信不正常查找原因使通信正常后才可以继续进行实验。 4.在实验课题下拉菜单中选择实验一[D/A模数转换实验],鼠标单击该选项弹出实验课题参数窗口。 5.在弹出的参数窗口中填入想要变换的数字量,点击变换,在下面的文字框内将算出变换后的模拟量。 6.点击运行,在显示窗口观测采集到的模拟量。并将测量结果填入下表:

五、实验报告 1.画出数字量与模拟量的对应曲线 2.计算出理论值,将其与实验结果比较,分析产生误差的原因。

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码 送位选信号延时1ms 熄灭第四位数码管 延时1ms 返回

数模转换原理及应用

数模(D/A)转换器及模数(A/D)转换器 一、实验目的 1.熟悉D / A转换器的基本工作原理。 2.掌握D / A转换集成芯片DAC0832的性能及其使用方法。 3.熟悉A / D转换器的工作原理。 4.掌握A / D转换集成芯片ADC0809的性能及其使用方法。 二、实验原理 1.数模(D / A)转换 所谓数模(D / A)转换,就是把数字量信号转换成模拟量信号,且输出电压与输入的数字量成一定的比例关系。图47为D / A 转换器的原理图,它是由恒流源(或恒压源)、模拟开关、以及数字量代码所控制的电阻网络、运放等组成的四位D/ A转换器。 四个开关S0 ~ S3由各位代码控制,若―S‖代码为1,则意味着接VREF ,代码―S‖= 0,则意味着接地。 由于运放的输出值为V0= -I∑?Rf ,而I∑为I0、I1、I2、I3的和,而I0 ~ I3的值分别为(―S‖代码全为1): I0 =,I1 =,I2 =,I3 = 若选 R0 =,R1 =,R2 =,R3 = 则I0 ==?20 ,I1 =?21 ,I2 =?22 ,I3 =?23 若开关S0 ~ S3不全合上,则―S‖代码有些为0,有些为1(设4位―S‖代码为D3D2DlD0),则I∑ =D3I3 + D2I2 + DlIl + D0I0 =(D3?23 + D2?22 + D1?21 + D0?20)= B? 所以,V0 = -Rf ? B,B为二进制数,即模拟电压输出正比于输入数字量B ,从而实现了数字量的转换。 随着集成技术的发展,中大规模的D / A转换集成块相继出现,它们将转换的电阻网络和受数码控制的电子开关都集成在同一芯片上,所以用起来很方便。目前,常用的芯片型号很多,有8位的、12位的转换器等,这里我们选用8位的D / A转换器DAC0832进行实验研究。 DAC0832是CMOS工艺,共20管引脚,其管脚排列如图48所示。

数模转换器和模数转换器实验报告

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 TPC-USB通用微机接口实验系统 系别计算机系 专业网络工程 班级/学号 学生 _ 实验日期 成绩_______________________ 指导教师王欣

实验五数/模转换器和模/数转换器实验 一、实验目的 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,输入数据与输出电压的关系为:

(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单极性输入电压与转换后数字的关系为:

单片机AD模数转换实验报告

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D 转换程序。 5、启动A/D转换,将输入模拟量的转换

结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 四、实验程序流程框图和程序清单。 1、查询法: ORG 0000H START: LJMP MAIN ORG 0100H

MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

数模及模数转换电路设计问答

ADC/DAC设计经典问答 (上) 1. 什么是小信号带宽(SSBW)? 小信号带宽(Small Signal Bandwidth (SSBW))是指在指定的幅值输入信号及特定的频率下,它的输出幅值比低频时的输出幅值下降指定值时,该特定频率为小信号带宽。 2. 什么是共模电压(VCM)? 共模电压(Common Mode Voltage (VCM ))是差动输入的两个引脚上相同的直流输入电压。 3. 什么是MSB(最高有效位)? MSB(最高有效位(Most Significant Bit)),是具有最大的值或权重的位。它的值是满量程的一半。 4. 什么是采样(孔径)延时? 采样(孔径)延时(Sampling (Aperture) Delay)是时钟输入的后边缘到采样开关打开所需的时间。采样/保持电路有效地停止输入信号捕获,并进入“保持”模式,确定时钟延时后的采样。 5. 什么是满量程(FS)输入范围? 满量程输入范围(Full Scale Input Range),是指模数转换器上数字化的输入电压的输入范围,既不低于这个范围也不超过这个范围。比如V REF + = 3.5V 和VREF - = 1.5V, FS = (VREF + )-(VREF - ) = 2.0V。 6. 什么是时钟占空比? 时钟占空比(Clock Duty Cycle)是时钟波形高电平时间和一个时钟周期总时间的比值。 7. 什么是位的有效数(ENOB ,或有效位)? 位的有效数(ENOB ,或有效位)(Effective Number of Bits (ENOB, 或Effective Bits))是信噪比和失真的比率,或SINAD的另一种表达方法。ENOB定义为(SINAD -1.76)/ 6.02,这个位数(ENOB)表示转换器是与理想的模数转换器等效。 8. 什么是增益误差? 增益误差是在第一个代码和最后一个代码发生转换时,实际输人电压与理想输人电压之差。即,这个差值是:满量程- 2 LSB。 9. 许多模数转换器在数据手册中提供的应用,在Va, Vd 和Vref引脚上出现了三个电容。这三个电容器都是必须的吗?

基于51单片机的模数转换(AD)实验设计

HEFEI UNIVERSITY 单片机课程综述报告 主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽 专业通信工程 学号 1105021006 班级 11级通信(1)班 指导老师汪济洲 2014 年 6 月 2 日

目录 1.实验目的与要求 (1) 1.1实验目的 (1) 1.2实验要求 (1) 2.实验原理 (1) 2.1电路原理图 (1) 2.2 Proteus7.4 软件简介 (2) 3、实验步骤 (6) 4、源程序代码 (6) 5. 实验结果分析 (10) 6.总结 (10)

1.实验目的与要求 1.1实验目的 1.掌握A/D转换与单片机的接口方法 2.了解A/D芯片ADC0809转换性能及编程方法 3.通过实验了解单片机如何进行数据采集 1.2实验要求 1.采用查询法或中断法编程进行A/D采集; 2.采集0~5V范围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。 2.实验原理 2.1电路原理图 熟悉8051的输入输出端口的使用方法, 本实验的电路连接如图1所示。 图1 连接电路

2.2 Proteus7.4 软件简介 Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ②支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。 ③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。 ④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 其操作界面如下图所示: 图2 Proteus操作页面

实验十——数模转换器

武汉大学物理科学与技术学院 物理实验报告 物理科学与技术学院 物理学基地2班专业 2013年12月12日 实验名称:实验十——数/模转换器 姓名:吕品磊 年级:2011 学号:2011301020033 成绩: 一、 实验目的: 1、了解数/模转换器的基本原理; 2、掌握DAC0832芯片的使用方法。 二、 实验内容 1、实验电路原理如图10.1,DAC0832采用单缓冲方式,具有单双极性输入 端(图中的Ua、Ub),利用debug输出命令(Out 290 数据)输出数据给DAC0832,用万用表测量单极性输出端Ua及双极性输出端Ub的电压,验证数字与电压之间的线性关系。 2、编程产生以下波形(从Ub输出,用示波器观察) (1)锯齿波 (2)正弦波 图 10.1

三、 流程图 四、 原程序 DATA S EGMENT DATA E NDS CODE S EGMENT ASSUME C S: C ODE, D S: D ATA START: MOV A X, D ATA MOV D S, A X AGAIN: MOV C L, 0 ;初始化锯齿波 MOV B L,0 ;初始化锯齿波数量 INC B L A1: MOV A L, C L MOV D X, 0C810H ;DAC0832控制端口 OUT D X, A L ;输出控制端口

INC C L ;波形上升 CMP B L, 0FH ;确定锯齿波数量(此处的OFH) JZ E NND CMP C L, 200 ;确定锯齿波高度(此处的200,可以更改) JZ A GAIN ENND: MOV A H, 1 ;输入回显 INT 16H JZ A1 MOV A H, 4CH ;返回DOS INT 21H CODE E NDS END S TART 五、 实验分析: 1、此次实验程序较为简单,在通过debug进行调试的时候,发现随着CL 的增加波形会不断上升,通过到达一个特定值,重置CL,做到实现锯 齿波的原理。 2、同样的道理,在实验二中要求做出一个正弦波只要根据正弦函数建一 个下弦数字量表,按照特定的取值就可以画出相应的波形。其他的函 数波形也可以采用同样的方式进行处理。

模 数(A D)转换器(微机实验报告)

模/数(A/D)转换器 一、实验目的 1、掌握ADC0809模数转换芯片与计算机的连接方法; 2、了解ADC0809芯片的功能及编程方法; 3、了解计算机如何进行数据采集。 二、实验设备 1、PC机一台 2、TPC-H微机接口实验系统实验箱一台 3、连接导线若干 三、实验内容 1、实验电路原理图如图1。 ADC0809是8位A/ D转换器,每采集一次一般需100 s。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效)。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。启动IN0开始转换: O 298, 0 读取转换结果: I 298 图1 模数转换电路 2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。 3、将JP3的1、2短接,使IN1处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。 四、编程提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。 2、IN0单极性输入电压与转换后数字的关系为: 其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。 3、一次A/D转换的程序可以为 MOV DX,口地址 OUT DX,AL ;启动转换 ;延时 IN AL,DX ;读取转换结果放在AL 五、参考流程图 图2 流程图1

图3 流程图2 六、实验源程序 code segment assume cs:code start: mov dx,298h ;启动A/D转换器 out dx,al mov cx,0ffh ;延迟 delay: loop delay in al,dx ;从A/D转换器输入数据 mov bl,al ;将Al保存到BL mov cl,4 shr al,cl ;将AL右移四位 call disp ;将显示子程序显示其高四位 mov al,bl

微机原理及其应用报告:数模转换器DAC0832双缓冲输出设计

本科生实验报告 实验名称:数模转换器DAC0832双缓冲输出设计 一、实验目的 1)了解DAC0832芯片引脚、内部结构及工作原理; 2)掌握应用单片机I/O端口控制DAC0832实现数模转换的方法; 3)掌握DAC0832单缓冲和双缓冲控制技术及编程设计方法; 二、实验原理 DAC0832是8位分辨率的数模转换集成芯片,内部采用倒T形网络,电流型输出模式,电流输出稳定时间为1us,采用单电源供电。 片内部由一个8位输入锁存器、一个8位DAC寄存器和一个8位D/A转换器构成,内部具有双缓冲结构,可以实现单缓冲、双缓冲数字输入。 双缓冲同步控制方式: 针对多个模拟量需要同时输出的控制系统,可以采用双缓冲同步控制方式。D/A转换数据的输入锁存和D/A转换输出分两步完成。首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,CPU同时对所有D/A转换器发出输入所存数据打入DAC寄存器的控制信号,即可实现

多通道的同步模拟量数据输出。 应用双缓冲方式,可以在输出模拟信号的同时采集下一个数字量,有效地提高转换速度。另外,可以在多个D/A转换器同时工作时,利用双缓冲模式实现多路D/A的同步输出。 三、实验内容 通过单片机I/O端口控制两路DAC0832实现数模转换,控制方式采用双缓冲控制方式。 1.阅读理解双缓冲控制电路图,分析双缓冲模式下DAC0832与单片机接口电路的设计及两次DA转换实验在控制电路上的异同。 2.设计程序,实现双缓冲模式下DA转换的同步输出。 首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,通过按键控制,同时对两个DAC0832锁存数据进行数模转换,同步产生三角波、正弦波模拟输出信号。 四、实验过程 1,实验原理图 2,实验源程序 #include sbit DAC1_WR1=P2^0; sbit DAC2_WR1=P2^1; sbit DAC_SW1=P2^2; sbit DAC_SW2=P2^3;

模数转换实验报告

单片机控制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)RESONATOR 2.放置元器件、放置电源和地、连线、元器件属性设置、电气检测 所有操作都在ISIS中进行 完成的电路图设计如图

(二)、源程序设计 1、流程图 2、通过Keil u Vision4建立工程,再建立源程序文件

源程序如下 主机程序: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV LED_0, #00H MOV P2,#0FFH MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H ;设置定时器工作方式2 MOV TH0,#245 MOV TL0,#00H MOV IE,#82H ;开总中断和定时器0中断 SETB TR0 ;启动定时器0 WAIT: CLR ST SETB ST CLR ST JNB EOC,$ ;判断A/D转换结束否 SETB OE ;允许数据量输出 MOV ADC,P3 CLR OE MOV A,ADC MOV B,#51 DIV AB MOV LED_2, A MOV A,B MOV B,#5 DIV AB MOV LED_1, A MOV LED_0, B LCALL DISP ;跳至显示子程序 SJMP WAIT

实验十ADC0832数模转换的显示

实验报告十 实验名称:ADC0832数模转换的显示 目的:ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模—数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI 数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(最高分辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 ADC0832的工作原理: 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第二、三个脉冲下沉之前DI端应输入两位数据用于选择通道功能。 通道地址通道 工作方式说明 SGL/DIF ODD/SIGN 0 1 0 0 + - 差分方式 0 1 - + 1 0 + 单端输入方式 1 1 + 表1:通道地址设置表 如表1所示,当此两位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当两位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出Data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图4。

数模转换方法和电路与设计方案

本技术公开了一种数模转换方法和电路,所述方法包括如下步骤:对通过输入接口的串行数据进行解码,获得并行解码数据;基于FPGA程序将所述并行解码数据进行转换后输出给数模DA转换芯片;对所述DA转换芯片输出的数据信号调整后进行模拟输出。本技术方法实现了在现有传统红外光谱测试设备基础上对数字化输出进行转换,变为传统的输出形式,从而实现利用现有设备来进行测试,取得了积极的技术效果。 权利要求书 1.一种数模转换方法,其特征在于,所述方法包括如下步骤: 对通过输入接口的串行数据进行解码,获得并行解码数据; 基于FPGA程序将所述并行解码数据进行转换后输出给数模DA转换芯片; 对所述DA转换芯片输出的数据信号调整后进行模拟输出。 2.如权利要求1所述的方法,其特征在于,所述并行解码数据,包括:标准并行数据和时钟信号。 3.如权利要求2所述的方法,其特征在于,所述基于FPGA程序将所述并行解码数据进行转换后输出给DA转换芯片,包括: 在帧率低于给定阈值的情况下,基于FPGA程序将所有所述标准并行数据进行转换后输出给DA转换芯片; 在帧率高于给定阈值的情况下,基于FPGA程序选取指定位数的标准并行数据进行转换后输出给DA转换芯片。 4.如权利要求3所述的方法,其特征在于,所述基于FPGA程序将所述并行解码数据进行转换后输出给DA转换芯片,还包括: 将FPGA降频至所述DA转换芯片可转换的时钟范围,并将帧起始信号、行起始信号和所述时钟信号经过隔离后进行信号输出。 5.如权利要求4所述的方法,其特征在于,所述对所述DA转换芯片输出的数据信号调整后进行模拟输出,包括: 通过运放电路对所述DA转换芯片输出的数据信号进行输出范围调节和驱动增强后进行模拟输出。 6.一种数模转换电路,其特征在于,所述电路包括: 图像解码电路,用于对通过输入接口的串行数据进行解码,获得并行解码数据;

单片机DA数模转换实验报告

一、实验目的和要求 1、掌握单片机与DAC0832的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0832接口。 2、在单片机的外部扩展一个4个按键的键盘。 3、按下K0,产生连续方波信号。 4、按下K1,产生连续锯齿波信号。 5、按下K2,产生连续三角波信号。 6、按下K3,产生连续正弦波信号。 7、通过外接示波器观察波形。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #60H LOOP: LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO LJMP LOOP JUCHIBO: MOV R2, #00H LOOP1: MOV DPTR, #0000H MOV A , R2 MOVX @DPTR, A LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO INC R2 LJMP LOOP1 JUXINGBO: MOV DPTR , #0000H LOOP2: MOV R3, #0FFH MOV A, R3 MOVX @DPTR, A LCALL DELAY1ms LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO MOV R3, #00H MOV A, R3 MOVX @DPTR, A LCALL DELAY1ms LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO JB 20H.3, ZHENGXIAN JB 20H.4, TIXINGBO LJMP LOOP2 SANJIAOBO:MOV R2, #00H MOV DPTR, #0000H LOOP3: MOV A, R2 NOP NOP MOVX @DPTR, A INC R2 LCALL KEY JB 20H.0, JUCHIBO JB 20H.1, JUXINGBO JB 20H.2, SANJIAOBO

单片机AD模数转换实验报告

、实验目的和要求 1掌握单片机与 ADC0809的接口设计方法 2、掌握Proteus 软件与Keil 软件的使用方法 二、设计要求。 1、 用Proteus 软件画出电路原理图, 在单片机的外部扩展片外三总线, 总线 与0809接口。 2、 在0809的某一模拟量输入通道上接外部模拟量。 3、 在单片机的外部扩展数码管显示器。 4、 分别采用延时和查询的方法编写 A/D 转换程序。 5、 启动A/D 转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 并通过片外三 n Frr inn LB LL ir~ 才 TT 2ira : 2.1边 存 10 丄 Wil 乙*TH zan.13 2.irxis Z5TS.13 2.1rt19 ricrra 1 2 1c 1 c 儿IE" jjm 3 ATI 「u rip. XTAGl; PEL. ■ .L^c

ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL RET DELAY DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ RET R5, DL1 WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9 H,0A4H,0B0 1、 BH 四、实验程序流程框图和程序清单。 查询法: 屈刎D 判断P :L 3 4 从ND 中取数抑 数据处理 调显示了函数 display 丁 送百分位字符代码 送位选信号 延时1ms 送十分位字符代码 送位选信号 延时1ms 送个位及小数点字符代码 送位选信号 延时1ms 熄灭第四位数码管 延时1ms 返回

一种两路数模转换电路的设计

一种两路数模转/换电路的设计 一.计目的 ①掌握电子电路的一般设计方法和设计流程; ②学习使用PROTEL软件绘制电路原理图及印刷板图; ③掌握应用EWB对所设计的电路进行仿真,通过仿真结果验证设计的正确性。二、设计要求 1、查阅熟悉相关芯片资料; 2、选择合适的运算放大器,实现信号的3级放大;总倍数为12级; 3、并通过高通.低通滤波电路滤波; 4、利用PROTEL绘制电路原理图和印刷版图,并利用EWB软件仿真。 三、主要参考 ①童诗白.模拟电子技术基础.北京:高等教育出版社,2002 ②张建华.数字电子技术.北京:机械工业出版社,2004 ③陈汝全.电子技术常用器件应用手册.北京:机械工业出版社,2005 ④毕满清.电子技术实验与课程设计.北京:机械工业出版社,2005 ⑤潘永雄.电子线路CAD实用教程.西安:西安电子科技大学出版社,2002 ⑥张亚华.电子电路计算机辅助分析和辅助设计.北京:航空工业出版社,2004 1.内容设计

1、双四选一数据选择器 74LS153资料。 所谓双4选1数据选择器就是在一块集成芯片上有两个4选1数据选择器。引脚排列如图所示,功能如表所示。 、为两个独立的使能端; A1、A0为公用的地址输入端; 1D0~1D3和2D0~2D3分别为两个4选1数据选择器的数据输入端; Q1、Q2为两个输出端。 1)当使能端()=1时,多路开关被禁止,无输出,Q=0。 2)当使能端()=0时,多路开关正常工作,根据地址码A1、A0的状态,将相应的数据D0~D3送到输出端Q。如:A1A0=00 则选择DO数据到输出端,即Q =D0。A1A0=01 则选择D1数据到输出端,即Q=D1,其余类推。数据选择器的用途很多,例如多通道传输,数码比较,并行码变串行码,以及实现逻辑函等。 74LS153引脚功能 74LS153真值表 输入输出 A1 A0 Q

相关文档
最新文档