当前位置:文档之家› 模数转换器实验程序解析

模数转换器实验程序解析

模数转换器实验程序解析
模数转换器实验程序解析

//模数转换器实验程序解析

//头文件

#include

#include

#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 "drivers/cfal96x64x16.h"

#include "driverlib/gpio.h"

#include "driverlib/adc.h"

#include "inc/hw_gpio.h"

int main(void)

{

tContext sContext;

tRectangle sRect;

ui32 ulADC0_Value;

ui8 ulADC0_v[8];

ui32 i,j;

const char chars[16]={"0123456789ABCDEF"};

//使能FPU

FPUEnable();

FPULazyStackingEnable();

//设置系统时钟为50MHz (400/2/4=50)

ROM_SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL |

SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);

//初始化ADC0/PE3

ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);

ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);

ROM_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3);

//设置ADC参考电压为外部3V

ROM_ADCReferenceSet(ADC0_BASE, ADC_REF_EXT_3V);

//配置ADC采集序列

ROM_ADCSequenceConfigure(ADC0_BASE, 0,

ADC_TRIGGER_PROCESSOR, 0);

ROM_ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH0 |

ADC_CTL_END | ADC_CTL_IE);

//使能ADC采集序列

ROM_ADCSequenceEnable(ADC0_BASE, 0);

ROM_ADCIntClear(ADC0_BASE, 0);

ROM_ADCIntEnable(ADC0_BASE, 0);

//初始化显示模块

CFAL96x64x16Init();

GrContextInit(&sContext, &g_sCFAL96x64x16);

while(1)

{

//触发采集

ADCProcessorTrigger(ADC0_BASE, 0);

//等待采集结束

while(!ADCIntStatus(ADC0_BASE, 0, false)) ;

//获取采集结果

ADCSequenceDataGet(ADC0_BASE, 0, &ulADC0_Value);

//将采集结果从32位无符号数转化为char

i=28;

for(j=0;j<8;j++)

{

ulADC0_v[j]=chars[(ulADC0_Value>>i)&0xf];

i-=4;

}

//延时

SysCtlDelay(SysCtlClockGet() / 12);

//屏幕的上面24行填充蓝色覆盖上次的显示结果

sRect.i16XMin = 0;

sRect.i16YMin = 0;

sRect.i16XMax = GrContextDpyWidthGet(&sContext) - 1;

sRect.i16YMax = 23;

GrContextForegroundSet(&sContext, ClrDarkKhaki);

GrRectFill(&sContext, &sRect);

//在颜色块的边缘放置白框

GrContextForegroundSet(&sContext, ClrWhite);

GrRectDraw(&sContext, &sRect);

//显示工程名称和采集结果

GrContextFontSet(&sContext, g_psFontCm12); GrStringDrawCentered(&sContext, ulADC0_v, 8,

GrContextDpyWidthGet(&sContext) / 2, 10, 0); GrStringDrawCentered(&sContext, "ADC Results", -1,

GrContextDpyWidthGet(&sContext) / 2,

((GrContextDpyHeightGet(&sContext) - 24) / 2) + 24, 0);

//更新显示

GrFlush(&sContext);

}

}

基于单片机的数模转换设计

目录 1、系统方案.......................................... - 3 - 1.1、方案比较与选择............................... - 3 - 1.1.1、单片机选择与论证........................ - 3 - 1.1.2、显示器件选择与论证...................... - 3 - 1.1.3、键盘形式选择与论证...................... - 4 - 1.1.4排阻形式选择与论证........................ - 4 - 2理论分析与计算 ..................................... - 8 - 2.1、D/A转换器的主要技术指标......................... - 8 - 1.分辨率......................................... - 8 - 2.转换精度....................................... - 8 - 3.输出电压(或电流)的建立时间(转换速度) ...... - 8 - 4. 温度系数 2.2 数模转换器 2.2.1权电阻网络DAC的原理分析..................... - 9 - 3、电路与程序设计.................................. - 11 - 3.1.1、总体框图设计........................... - 11 - 3.1.2、显示电路............................... - 11 - 3.1.3、权电路................................. - 12 - 3.1.4、按键电路............................... - 13 - 3.1.5、驱动电路............................... - 14 -

∑-△模数转换器的原理及应用

∑-△模数转换器的原理及应用 张中平 (东南大学微电子机械系统教育部重点实验室,南京210096) 摘要:∑-△模数转换器由于造价低、精度高、性能稳定及使用方便等特点,越来越广泛地使用在一些高精度仪器仪表和测量设备中,介绍该转换器的基本原理,并重点举例介绍AD7708芯片的应用,该芯片是16 bit模数转换器,与24 bit AD7718引脚相同,可直接升级。 关键词:模数转换器;寄存器;串行口 我们通常使用的模数转换器(ADC)大多为积分型和逐次逼近型,积分型转换效果不够好,转换过程中带来的误差比较大;逐次逼近型转换效果较好但制作成本较高,尤其是高位数转换,转换位数越多,精度越高,制作成本就越高。而∑-△ADC可以以相对逐次逼近型简单的电路结构,而得到低成本,高位数及高精度的转换效果∑-△ADC大多设计为16或24 bit转换精度。近几年来,在相关的高精度仪器制作领域该转换器得到了越来越广泛的应用[1]。 1 ∑-△ADC的基本工作原理简介 ∑-△模数转换器的工作原理简单的讲,就是将模数转换过后的数字量再做一次窄带低通滤波处理。当模拟量进入转换器后,先在调制器中做求积处理,并将模拟量转为数字量,在这个过程中会产生一定的量化噪声,这种噪声将影响到输出结果,因此,采用将转换过的数字量以较低的频率一位一位地传送到输出端,同时在这之间加一级低通滤波器的方法,就可将量化噪声过滤掉,从而得到一组精确的数字量[1,2]。 2 AD7708/AD7718,∑-△ADC的应用 AD7708/AD7718是美国ADI公司若干种∑ΔADC中的一种。其中AD7708为16 bit转换精度,AD7718为24 bit转换精度,同为28条引脚,而且相同引脚功能相同,可以互换。为方便起见,下面只介绍其中一种,也是我们工作中用过的AD7708。 2.1AD7708的工作原理 同其它智能化器件一样,AD7708也可以用软件来调节其所具有的功能,即通过微控制器MCU编程向AD7708的相应寄存器填写适当的参数。AD7708芯片中共有11个寄存器, 当模式寄存器(Mode Regis-ter)的最高位后,其工作方框图[2]如图1所示。

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

第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

基本模数转换器(ADC)的设计

《数字逻辑电路分析与设计》课程 项目 实施报告 题目(A):基本模数转换器(ADC)的设计 组号: 8 任课教师:。。。 组长:。。。。 成员:。。。。 成员:。。。 成员:。。。 成员:。。。 联系方式:。。。 二零一四年十月二十五日

基本模数转换器(ADC )的设计 一.设计要求 (1) 设计一个每单次按下按钮,就能够实现数模转换的电路,并用LED 显示对应输入模拟电压(0—3V )的等级,当输入电压>3V 后,有“溢出”显示。 (2) 功能模块如图: (3) 图中的“模数转换”为本教材第六章的并行ADC 转换电路。在此基础上自行设计按键、LED 显示、模拟电压调节等模块,实现单次模数转换的功能。 模拟电压 调节模数转换LED 显示 按键 5V 电源

自行设计溢出标记的显示。 (4) 本电路的测试方法是,通过一个电位器对电源电压连续分压,作为ADC 的输入电压,每按下一次按键时,ADC 电路进行一次ADC 转换,并将转换的结果用数码管显示出来。注意不要求显示实际的电压值,仅显示模拟电压的量化等级。 二.电路原理图 LED 显示

三.设计思路 根据题目要求,我们的电路本应分五个个模块,但实验室缺少8-3编码器不能实现转化,所以只能有四个一下模块:模拟电压调节;比较电路;记忆模块;LED显示。模拟电压的调节可以用划变电阻来调节电压,理想中数模转化模块应由比较器,D触发器和编码器来实现,在我们的实际电路中我们只用了前两者。最终我们用LED的亮灭来显示结果。 具体原理叙述如下: 在比较电压时,将参考电压V ref经电阻分压器产生一组不同的量化电平V i:v1=1/16V ref,v2=3/16V ref,v3=5/16V ref ,v4=7/16V ref ,v5=9/16V ref ,v6=11/16V ref ,v7=13/16V ref ,v8=15/16V ref ,这些量化电平分别送到相应lm339比较器的反相输入端,而输入电压V同时作用于lm339比较器的同相输入端。 当V大于V i时,第i个比较器输出状态1,即高电平;反之,比较器输出状态0,即低电平。比较器的输出加到D触发器的输入端,在时钟脉冲CP的作用下,把比较器的输出存入触发器,得到稳定的状态输出Q,再由LED的亮暗状态显示,高电平则亮,低电平就暗。 当V≥15/16 V ref的时候,即V超过该转换器的最大允许的输入电压的时候产生“溢出”,我们使用了一个红色的报警LED亮作为显示。 此外,鉴于会因为按键时间的长短不一而造成的脉冲不整齐的问题,需要

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

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 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单极性输入电压与转换后数字的关系为:

模数转换器原理

模数(A/D)转换器工作原理A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。 A/D 转换器 (ADC)的型式有很多种,方式的不同会影响测量后的精准度。 A/D 转换器的功能是把模拟量变换成数字量。由于实现这种转换的工作原理和采用工艺技术不同,因此生产出种类繁多的A/D 转换芯片。 A/D 转换器按分辨率分为4 位、6 位、8 位、10 位、14 位、16 位和BCD码的31/2 位、51/2 位等。按照转换速度可分为超高速(转换时间=330ns),次超高速(330~3.3μS),高速(转换时间3.3~333μS),低速(转换时间>330μS)等。 A/D 转换器按照转换原理可分为直接A/D 转换器和间接A/D 转换器。所谓直接A/D 转换器,是把模拟信号直接转换成数字信号,如逐次逼近型,并联比较型等。其中逐次逼近型A/D 转换器,易于用集成工艺实现,且能达到较高的分辨率和速度,故目前集成化A/D 芯片采用逐次逼近型者多;间接A/D 转换器是先把模拟量转换成中间量,然后再转换成数字量,如电压/时间转换型(积分型),电压/频率转换型,电压/脉宽转换型等。其中积分型A/D 转换器电路简单,抗干扰能力强,切能作到高分辨率,但转换速度较慢。有些转换器还将多路开关、基准电压源、时钟电路、译码器和转换电路集成在一个芯片内,已超出了单纯A/D 转换功能,使用十分方便。 ADC 经常用于通讯、数字相机、仪器和测量以及计算机系统中,可方便数字讯号处理和信息的储存。大多数情况下,ADC 的功能会与数字电路整合在同一芯片上,但部份设备仍需使用独立的ADC。行动电话是数字芯片中整合ADC 功能的例子,而具有更高要求的蜂巢式基地台则需依赖独立的ADC 以提供最佳性能。 ADC 具备一些特性,包括: 1. 模拟输入,可以是单信道或多信道模拟输入; 2. 参考输入电压,该电压可由外部提供,也可以在ADC 内部产生; 3. 频率输入,通常由外部提供,用于确定ADC 的转换速率; 4. 电源输入,通常有模拟和数字电源接脚; 5. 数字输出,ADC 可以提供平行或串行的数字输出。在输出位数越多(分辨率越好)以及转换时间越快的要求下,其制造成本与单价就越贵。 一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等几部分电路。 AD转换器需注意的项目: 取样与保持 量化与编码

51单片机实验程序

3 3 3 用查表方式编写y=x1 +x2 +x3 。(x 为0~9 的整数) #include void main() { int code a[10]={0,1,8,27,64,125,216,343,512,729}; //将0~9 对应的每位数字的三次方的值存入code中,code为程序存储器,当所存的值在0~255 或-128~+127 之间的话就用char ,而现在的值明显超过这个范围,用int 较合适。int 的范围是0~65535 或-32768~32767 。 int y,x1,x2,x3; //此处定义根据习惯,也可写成char x1,x2,x3 但是变量y 一定要用int 来定义。 x1=2; x2=4; x3=9; //x1,x2,x3 三个的值是自定的,只要是0~9 当中的数值皆可,也可重复。 y=a[x1]+a[x2]+a[x3]; while(1); //单片机的程序不能停,这步就相当于无限循环的指令,循环的内容为空白。 } //结果的查询在Keilvision 软件内部,在仿真界面点击右下角(一般初始位置是右下角)的watch 的框架内双击“double-click or F2 to add”文字输入y 后按回车,右侧会显示其16 进制数值如0x34,鼠标右键该十六进制,选择第一行的decimal,可查看对应的10 进制数。 1、有10 个8 位二进制数据,要求对这些数据进行奇偶校验,凡是满足偶校验的 数据(1 的个数为偶数)都要存到内RAM50H 开始的数据区中。试编写有关程序。 #include void main() { int a[10]={0,1,5,20,24,54,64,88,101,105}; // 将所要处理的值存入RAM 中,这些可以根据个人随意设定,但建议不要超过0~255 的范围。 char i; // 定义一个变量 char *q=0x50; // 定义一个指针*q 指向内部0x50 这个地址。 for(i=9;i>=0;i--) //9~0 循环,共十次,也可以用for(i=0;i<10;i++) { ACC=a[i]; //将a[i] 的值赋给累加器ACC if (P==0) //PSW0 位上的奇偶校验位,如果累加器ACC 内数值1 的个数为偶数那么P 为0,若为奇数,P 为1。这里的P 是大写的。 { *q=a[i]; q++; // 每赋一个值,指针挪一个位置指向下一个。 } } while(1); //同实验一,程序不能停。 }

∑-△模数转换器工作原理

∑-△ADC工作原理 越来越多的应用,例如过程控制、称重等,都需要高分辨率、高集成度和低价格的ADC、新型∑-△转换技术恰好可以满足这些要求。然而,很多设计者对于这种转换技术并不十分了解,因而更愿意选用传统的逐次比较ADC。∑-△转换器中的模拟部分非常简单(类似于一个1bit ADC),而数字部分要复杂得多,按照功能可划分为数字滤波和抽取单元。由于更接近于一个数字器件,∑-△ADC的制造成本非常低廉。 一、∑-△ADC工作原理 要理解∑-△ADC的工作原理,首先应对以下概念有所了解:过采样、噪声成形、数字滤波和抽取。 1.过采样 首先,考虑一个传统ADC的频域传输特性。输入一个正弦信号,然后以频率fs采样-按照Nyquist 定理,采样频率至少两倍于输入信号。从FFT分析结果可以看到,一个单音和一系列频率分布于DC到fs /2间的随机噪声。这就是所谓的量化噪声,主要是由于有限的ADC分辨率而造成的。单音信号的幅度和所有频率噪声的RMS幅度之和的比值就是信号噪声比(SNR)。对于一个Nbit ADC,SNR可由公式:SNR=6.02N+1.76dB得到。为了改善SNR和更为精确地再现输入信号,对于传统ADC来讲,必须增加位数。 如果将采样频率提高一个过采样系数k,即采样频率为Kfs,再来讨论同样的问题。FFT分析显示噪声基线降低了,SNR值未变,但噪声能量分散到一个更宽的频率范围。∑-△转换器正是利用了这一原理,具体方法是紧接着1bit ADC之后进行数字滤波。大部分噪声被数字滤波器滤掉,这样,RMS噪声就降低了,从而一个低分辨率ADC, ∑-△转换器也可获得宽动态范围。 那么,简单的过采样和滤波是如何改善SNR的呢?一个1bit ADC的SNR为7.78dB(6.02+1.76),每4倍过采样将使SNR增加6dB,SNR每增加6dB等效于分辨率增加1bit。这样,采用1bit ADC进行64倍过采样就能获得4bit分辨率;而要获得16bit分辨率就必须进行415倍过采样,这是不切实际的。∑-△转换器采用噪声成形技术消除了这种局限,每4倍过采样系数可增加高于6dB的信噪比。 2.噪声成形 通过图1所示的一阶∑-△调制器的工作原理,可以理解噪声成形的工作机制。 图1 ∑-△调制器 ∑-△调制器包含1个差分放大器、1个积分器、1个比较器以及1个由1bit DAC(1个简单的开关,可以将差分放人器的反相输入接到正或负参考电压)构成的反馈环。反馈DAC的作用是使积分器的平均输出电压接近于比较器的参考电平。调制器输出中“1”的密度将正比于输入信号,如果输入电压上升,比较器必须产生更多数量的“1”,反之亦然。积分器用来对误差电压求和,对于输入信号表现为一个低通滤波器,而对于量化噪声则表现为高通滤波。这样,大部分量化噪声就被推向更高的频段。和前面的简单过采样相比,总的噪声功率没有改变,但噪声的分布发生了变化. 现在,如果对噪声成型后的∑-△调制器输出进行数字滤波,将有可能移走比简单过采样中更多的噪声。这种调制器(一阶)在每两倍的过采样率下可提供9dB的SNR改善。

模数转换器ADC应用原理

AD0809应用原理--很全面的资料 1. 0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的C MOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2).引脚结构 IN0-IN7:8条模拟量输入通道

ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。 C B A 选择的通道 000IN0 001IN1 010IN2 011IN3 100IN4 101IN5 110IN6 111IN7 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A /D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE =0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。 2.ADC0809应用说明 (1).ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。(2).初始化时,使ST和OE信号全为低电平。 (3).送要转换的哪一通道的地址到A,B,C端口上。 (4).在ST端给出一个至少有100ns宽的正脉冲信号。 (5).是否转换完毕,我们根据EOC信号来判断。 (6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 3.实验任务

单片机-实验二-分支程序设计实验

实验二实验报告 ·

将00-99的十进制数据转换成二进制进行开关量的输入,L0灯亮 将100的十进制转换为01100010的二进制开关量进行输入,L1灯亮

将101-127的十进制转换为二进制进行开关量的输入,L2灯亮 完整的接线图

实验操作 1、正确连接实验板子和电脑,将点源接入,数据线连接到电脑的USB接口,在电脑端运行 软件,取消勾选模拟器,按照实验装置的名称正确的选择响应的系统。 2、在软件内部按照输入分支程序结构。 3、打开点源开关。 4、调整输入的各个断口的开关量,着重关注在二进制数01100010附近的变化. 5、整理实验器材。 思考题1 写出分支程序设计的要点 分支结构也成为选择结构。在程序中每个分支均为一个程序段。为分支需要,程序设计时不要忘记给程序段的起始地址赋予一个地址标号,以供选择分支使用。 这次实验使用的是一个多分支程序结构,可以通过一系列的JC\JNC\JB\JNB的判断,进行逐级分支。并且可以使用CJNE进行实现。 80C51中没有专门的多分支转移指令,可以使用的变址转移指令“JMP @A+DPTR”,但是这样的指令需要数据表格配合。 思考题2 8051单片机有几个并行口,写出各并行口的特点 8051单片机有4个并行I/O口,分别为P0\P1\P2\P3,以实现数据的并行输入与输出。 这4个并行口均是8为双向口线,各占8个引脚,在P3口线上有着引脚复用,均有第二功能信号,这些第二功能信号都是重要的控制信号,在实际使用中总是先按需要优先选用第二功能,剩下的不用的再当作口线使用。 并行可以有效的提高单片机的工作效率。 思考题3 实验中遇到的苦难 在这个实验中和实验一显著不同的是我们需要重新认识硬件与软件的配合,一些数据线的链接,点源的通断都是我们学习的要点,我们也第一次接触到了输入口和输出口相互之间的区别。 这个实验我们一定要将十进制的思维转换过来转换为二进制的思维,在机器语言中只有开关量的通断,而这个题目也是很好的应用了开关量的通断完成了这个实验。 学会了分支判断方式的编程

基于ARM的模数转换器的毕业设计

学生毕业论文(设计)题目基于ARM的模数转换器的设计 姓名 XX 学号 XX 系部 XXXX系 专业 XXXXXXX技术 指导教师 XXXX 职称 XXXX(XXXX) XXXX年 1 月 XX 日 XXXXXXXXXXX教务处制

目录 摘要 (3) 关键词 (3) Abstract (3) Keywords (3) 1 绪论 (4) 1.1 技术背景 (4) 1.2 选题意义 (4) 2 A/D转换器基本原理 (4) 2.1 A/D转换器的基本原理 (4) 2.2 A/D转换器的基本功能 (5) 2.3 A/D转换模块 (5) 2.3.1 A/D转换模块概述 (5) 2.3.2 A/D转换的技术特性 (5) 2.3.3 A/D转换的功能寄存器框图 (5) 2.3.4 A/D转换初始化 (6) 2.3.5 A/D转换的操作 (6) 3 A/D转换器的设计 (7) 3.1 A/D转换器的工作原理 (7) 3.2 A/D转换电路 (8) 3.3 A/D转换器的原理图 (8) 4 A/D转换仿真结果 (9) 4.1 仿真设备 (9) 4.2 仿真设备简介 (9) 4.2.1 ADS1.2仿真软件 (9) 4.2.2 MagicARM2200 实验箱 (9) 4.3 仿真步骤 (12) 4.4 ADS1.2软件仿真 (12) 4.4.1 仿真软件 (12) 4.4.2 仿真硬件 (14) 4.5 仿真结果 (15) 结束语 (16) 致谢 (16) 参考文献 (16) 附录参考源程序 (16)

基于ARM的模数转换器的设计 XXXXXXX技术专业学生 XX 指导老师 XXXX 摘要:随着数字技术,特别是信息技术的飞速发展及普及,在现代控制通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。由于系统的实际对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别,处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析,处理后输出的数字量也往往需要将其转换为相应模拟信号才能执行机构所接受。这样就需要一种能在模拟信号与数字信号之间起桥梁作用的电路——模数转换器。A/D转换器已成为信息系统中不可缺少的接口电路。为确保系统处理结果的精度,A/D转换器必须具有足够的转换精度,如果要实现快速变化信号的实时控制与检测,A/D转换器还要求具有较高的转换速度。转换精度与转换速度是衡量A/D的重要指标。随着集成技术的发展,现已研制和生产出许多单片和混合集成型的A/D转换器,它们具有愈来愈先进的技术指标。本文主要介绍了在ARM系统下,通过对A/D转换模块的设计。学习A/D接口原理及硬件电路,了解ARM的A/D 相关寄存器,利用外部模拟信号编程,实现ARM系统的A/D功能,掌握带有A/D的ARM编程实现A/D 功能的主要方法。 关键词:模数转换器;ADC模块;系统设计;仿真 ARM-based analog-to-digital converter design Student majoring in Computer-controlled technology professional XXX Ting Tutor XXX Abstract:The advent of digital technology, especially the rapid development of the information technology and the popularity of the field of modern control communication and detection, in order to improve system performance, signal processing widespread adoption of digital computer technology. Since the actual object of the system are often some analog quantity (such as temperature, pressure, displacement, image, etc.), make the computer or digital instrument can recognize, process these signals, you must first convert these analog signals into digital signals; while via computer analysis, the digital output after the processing is also often need to be converted to the corresponding analog signals in order to perform bodies accepted. Need a between the analog and digital signals from the bridge circuit - ADC .A / D converter the interface circuit has become indispensable in the information system. To ensure the accuracy of the system processing the results of the A / D converter must have a sufficient accuracy of the conversion, A / D converter is also required to have a higher conversion speed; if you want to achieve the real-time control and detection of rapidly changing signal. Conversion accuracy and conversion speed is an important indicator to measure the A / D. With the development of integration technology, has been developed and produced many monolithic and hybrid integration of A / D converter, they have more and more state-of-the-art technical indicators. This paper describes the ARM system, through the design of the A / D converter module. Learning A / D interface principle and the hardware circuit, ARM's A / D register, the use of external analog signals programmed to achieve a the ARM system of A / D function, master ARM programming with an A / D A / D function method. Keywords: analog-to-digital converter; ADC module; system design;simulation

模数转换器工作原理、类型及主要技术指标

模数转换器工作原理、类型及主要技术指标 模数转换器(Analog to Digital Converter,简称A/D转换器,或ADC),通常是将模拟信号转变为数字信号。作为模拟电路中重要的元器件,本文将会介绍模数转换器的原理、分类及技术指标等基础知识。 ADC的发展随着电子技术的迅速发展以及计算机在自动检测和自动控制系统中的广泛应用,利用数字系统处理模拟信号的情况变得更加普遍。数字电子计算机所处理和传送的都是不连续的数字信号,而实际中遇到的大都是连续变化的模拟量,模拟量经传感器转换成电信号的模拟量后,需经模/数转换变成数字信号才可输入到数字系统中进行处理和控制,因而作为把模拟电量转换成数字量输出的接口电路-A/D转换器是现实世界中模拟信号向数字信号的桥梁,是电子技术发展的关键和瓶所在。 自电子管A/D转换器面世以来,经历了分立半导体、集成电路数据转换器的发展历程。在集成技术中,又发展了模块、混合和单片机集成数据转换器技术。在这一历程中,工艺制作技术都得到了很大改进。单片集成电路的工艺技术主要有双极工艺、CMOS工艺以及双极和CMOS相结合的BiCMOS工艺。模块、混合和单片集成转换器齐头发展,互相发挥优势,互相弥补不足,开发了适用不同应用要求的A/D和D/A转换器。近年来转换器产品已达数千种。 ADC原理D/A转换器是将输入的二进制数字量转换成模拟量,以电压或电流的形式输出。 模数转换一般要经过采样、保持和量化、编码这几个步骤。 ADC的主要类型目前有多种类型的ADC,有传统的并行、逐次逼近型、积分型ADC,也有近年来新发展起来的-型和流水线型ADC,多种类型的ADC各有其优缺点并能满足不同的具体应用要求。低功耗、高速、高分辨率是新型的ADC的发展方向,同时ADC的这一发展方向将适应现代数字电子技术的发展。 并行比较ADC 并行比较ADC是现今速度最快的模/数转换器,采样速率在1GSPS以上,通常称为闪烁

北京交通大学单片机实验程序报告

单片机实验程序

实验二8155并行I/O口扩展和动态扫描程序编制 1.实验目的 (1)掌握8155并行I/O芯片扩展和使用方法 (2)掌握数码管动态扫描汇编语言的编制方法 2.预习要点 (1)8155芯片基础知识 (2)51单片机的总线时序、地址译码的原理 (3)数码管动态扫描显示方法 3.实验设备 计算机、单片机实验箱。 4.实验内容 基本要求: 通过实验板的上的8155(U16)显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在8个LED数码管上依次动态显示数字1~8。 扩展要求: 假定30H~33H的存储单元内容为4个字节16进制数,请依序将他们显示在8个LED数码管上 根据程序要求做如下程序流程图: 主程序流程图:

显示子程序流程框图: 基本要求编程如下: ORG 0000H

AJMP MAIN ORG 0050H MAIN: MOV SP,#60H ;压栈 MOV DPTR, #4100H MOV A,#0FH ;方式控制字0FH送A MOVX @DPTR, A ;8155初始化 MOV 70H,#01H ;设置显示缓冲区 MOV 71H,#02H MOV 72H,#03H MOV 73H,#04H MOV 74H,#05H MOV 75H,#06H MOV 76H,#07H MOV 77H,#08H LOOP: ACALL DISPLAY ;循环调用显示子程序AJMP LOOP DISPLAY: MOV R0,#70H ;显示缓冲区首地址送R0 MOV R3,#0FEH ;字位控制初值送R3

TLC549模数转换器的控制实验

A/D芯片TLC549的转换与数据采集实验 1、实验目的 (1) 掌握A/D转换与单片机的接口方法; (2)掌握A/D芯片TLC549的编程方法; (3)掌握数据采集程序的设计方法; 2、实验内容 利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。 3、I/O地址 A/D转换芯片 TLC549 CLK P1.5 时钟位 DAT P1.7 数据位 CS P1.6 选片位 4、实验线路 将TLC549的CLK接P1.5、DAT接P1.7、CS接P1.6,将模拟电压输入端连到电位器的电压输出端,并接万用表进行输入电压测量。 5、实验步骤 在PC机输入源程序并汇编,然后下载到单片机上,进行调试。 调节电位器,电压从0V到5V变化,记录数码管的显示数值。记录到表中。

6、实验报告 (1) 整理好实验程序和实验记录,进行数据处理分析并做图。 (2) 数据采集中,如何实现精确的定时数据采集? (3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定? TLC549实验程序 #include "reg52.h" #include #define uchar unsigned char #define uint unsigned int /*************************************************** TLC549 A/D转换 ****************************************************/ sbit CLK=P1^5; sbit DAT=P1^7; sbit CS =P1^6; uchar TLC549ADC(void) { uchar i,x; CLK=0; DAT=1; CS=0; for(i=0;i<8;i++) { CLK=1; x<<=1; if(DAT==1) x++; CLK=0; } CS=1; return (x); } uint y; uchar x; void main() { while(1)

实验十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。

单片机实验二

单片机实验报告(二) 姓名:赵苑珺 学号:090250129

实验三程序设计(二) 一、实验目的 1、了解汇编语言程序设计与调试的过程; 2、掌握循环程序、查表程序和子程序的特点及设计。 二、实验内容 1、循环程序的设计、输入、调试和运行; 2、查表程序的设计、输入、调试和运行; 3、子程序的设计、输入、调试和运行。 三、实验步骤 1、排序程序:将N 个数从小到大排列起来。 设R0 的内容为数据区的首地址,R7 的内容为数据的字节数。参考程序为:MOV R0,#30H ;将序列首地址存入R0中 MOV R7,#10 ;将序列长度存入R7中 SS: MOV A,R7 MOV R2,A MOV 60H,R0 ;将序列首地址存入60H NN: DEC R2 ;循环程序,控制排序次数 MOV A,R2 MOV R3,A MOV R0,60H L1: MOV A,@R0 ;将序列第一个数存入A中 INC R0 ;R0加1,指向第二个位置 CLR C ;清除进位标志位C,为比较两数大小做准备 SUBB A,@R0 ;第一个数减去第二个数 JC MM ;判断C的状态,1(代表数1小于数2)跳至MM,0(代表数 1大于数2)继续执行 MOV A,@R0 ;将第二个数存入累加器A中 DEC R0 ;R0指向第一个位置 XCH A,@R0 ;将A中的数(数1)与R0指向的数(数2)交换 INC R0 ;R0减一,指向位置一 MOV @R0,A ;将A中的数2存到位置一内 SETB F0 ;置位用户标志位,表示有交换 MM: DJNZ R3,L1 ;R3减一不为零则跳至L1,否则继续执行程序 MOV A,R2 CJNE R2,#01H,L2 ;判断R2中的数是否已经减为1,是跳至JJ,否跳至L2 SJMP JJ L2: JB F0,NN ;判断F0状态,若为1(有交换)则跳至NN,否则继续进行JJ: MOV R0,60H ;将序列首地址存入R0 END

模数转换器综述_ADC

模数转换器ADC_综述 随着数字技术,特别是计算机技术的飞速发展普及,在现代控制、通讯及检测领域中,对信号的处理广泛采用了数字计算机技术。由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号。这样,就需要一种能将模拟信号转换为数字信号的电路,即模数转换电路(Analog to Digital Converter, ADC)。 模数转换过程 模数转换包括采样、保持、量化和编码四个过程。采样就是将一个连续变化的信号x(t)转换成时间上离散的采样信号x(n)。根据Nyquist-Shannon theorem采样定理,采样频率至少要大于或等于模拟信号最高频率的两倍,才可以无失真地重建恢复原始信号x(t)。通常采样脉冲的宽度是很短的,故采样输出是截断的窄脉冲。要将一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。图1即为采样过程。 图1采样过程 量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,数字信号最低有效位中的1表示的数量大小,就等于量化单位Q,如图2所示。把量化的数值用二进制代码表示,称为编码,见图3。这个二进制代码就是ADC转换的输出信号。 量化的主要问题就是量化误差。既然模拟电压是连续的,那么它就不一定能被Q整除,因而不可避免的会引入误差,我们把这种误差称为量化误差。在把模拟信号划分为不同的量化等级时,用不同的划分方法可以得到不同的量化误差。 图2采样过程

图3编码过程 要提高ADC的精度,可以通过提高采样间隔Ts和分辨率Q来实现。实际中,输入模拟信号的频率由于存在无限次谐波,因此要在采样前加入抗混叠滤波器,该滤波器与采样频率的关系一般为:f s≈ (3…5)*f filter。图4描述了这一过程。 图4加入抗混叠滤波器 模数转换技术是现实各种模拟信号通向数字世界的桥梁,作为将模拟信号转换成数字信号的模数转换技术主要有以下几种。 分级型和流水线型ADC主要应用于高速情况下的瞬态信号处理、快速波形存储与记录、高速数据采集、视频信号量化及高速数字通讯技术等领域。逐次逼近型、积分型、压频变换型等,主要应用于中速或较低速、中等精度的数据采集和智能仪器中。∑-Δ型ADC主应用于高精度数据采集特别是数字音响系统、多媒体、地震勘探仪器、声纳等电子测量领域。此外,采用脉动型和折叠型等结构的高速ADC,可应用于广播卫星中的基带解调等方面。下面对各种类型的ADC作简要介绍。 并行比较型 并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash型。由于转换速率极高,转换需要很多个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。其原理如图5所示。

相关主题
文本预览
相关文档 最新文档