ADC0809模数转换器的测试与研究
8位数模转换器ADC0809实验报告
8位数模转换器ADC0809实验报告实验目的:本实验旨在通过使用8位数模转换器ADC0809来将模拟信号转换为数字信号,并输出至LED灯中,以达到理解数字信号的目的。
实验原理:ADC0809是典型的8位数模转换器,它是一种具有8个模拟输入通道的典型ADC。
ADC0809是一种串行转换器,它可以实现单端和差分两种模式的转换。
ADC0809的转换精度为8比特,转换速率为100厘秒。
ADC0809通过8个输入通道将模拟信号转换为数字信号,并通过8个数据引脚输出数字信号。
实验器材:电脑、ADC0809、LED灯、电阻、电容、按键开关、电源、实验板。
实验步骤:1.将ADC0809插入实验板上。
2.将电阻连接至ADC0809的引脚,以使引脚与电阻的连接具有正确的阻值。
3.将电容插入ADC0809的引脚,并连接至电源。
4.将按键开关插入ADC0809的引脚,并连接至电源。
5.将LED灯连接至ADC0809的引脚,并连接至电源。
6.将实验板接入电源,启动电路。
7.按下按键开关,开始信号转换。
8.数字信号转换完成后,将数字信号输出至LED灯中。
实验结果:本实验成功地将模拟信号转换为数字信号,并将数字信号输出至LED灯中,达到了理解数字信号的目的。
结论:通过本实验,我们可以了解数字信号的基本原理和用途。
通过使用ADC0809将模拟信号转换为数字信号,并输出至LED灯中,我们可以更好地理解数字信号的应用和意义。
同时,该实验也为我们打下了更深入学习数字电路和信号处理技术的基础。
模数转换器ADC0809实验(2)
编程提示:(1)发出启动A/D转换新号;(2)将转换信号读入内存。
程序:DA TA SEGMENTIOPORT EQU 0D880H-280HIO0809A EQU IOPORT+298H ;0809通道0地址CRT DB 'SPIN"SW1"SWITCH,VIEW ON THE DISPLAY',0DH,0AH DB 'ENTER ANY KEY CAN EXIT TO DOS',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET CRTMOV AH,09HINT 21HLAB: MOV DX,IO0809A ;IN0端口OUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAY ;延时IN AL,DX ;读数据MOV BL,ALMOV CL,4SHR AL,CLCALL DISP ;显示高四位MOV AL,BLAND AL,0FHCALL DISP ;显示低四位MOV AH,02MOV DL,20H ;显示空格INT 21HINT 21HPUSH DXMOV AH,06H ;有键按下退出MOV DL,0FFHINT 21HPOP DXJE LAB ;没键按下继续MOV AX,4C00HINT 21HDISP PROC NEAR ;显示字符子程序MOV DL,ALCMP DL,9JLE DDDADD DL,7DDD: ADD DL,30HMOV AH,02INT 21HRETDISP ENDPCODE ENDSEND START2.实验原理ADC0809是CMOS型的8位逐次逼近式单片A/D转换器,模拟开关通过位地址输入组合选择模拟输入通道,转换结束信号的处理方式有查询方式、冲断方式、延时方式三、主要仪器设备1.TPC-2003A实验系统2.计算机四、实验方法及实验步骤1.连接试验电路ADC0809有8个模拟输入端IN7~IN0,输入模拟量电压范围为0V~+5V,旋转电位器SW1产生不同的模拟电压,作为模拟输入量。
8位数模转换器ADC0809实验报告
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
单片机原理与接口技术
课程设计说明书
8位数模转换器ADC0809项目设计
专业
电气工程及其自动化
学生姓名
林雯雯
班级
D电气122
学号
1220601220
指导教师
周云龙
完成日期
2015年12月12日
一 理论部分
1
8位数模转换器ADC0809实验
(1)、设计一个0-5V可调的直流模拟电压信号
(2)、扩展2位静态显示的数码管
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
特性概述:
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AD0809转换实验
A/D转换实验1、实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法;2、实验内容:利用综合实验仪上的0809做A/D转换器,综合实验仪上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。
3、实验电路图4、实验器材:(1)超想-3000TB综合实验仪 1 台(2)超想3000仿真器 1 台(3)连线若干根(4)计算机 1 台5、实验连线:ADC0809的09IN0通道与模拟信号发生器的Vin0孔相连,ADC080片选信号CS09 孔与译码器的YC2孔相连,脉冲源的0.5M与ADC0809的CLOCK相连。
6、实验原理:A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。
本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100μS。
其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时,AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转换结果,也可以通过中断方式读取结果。
CLOCK为转换时钟输入端,频率为100KHz-1.2MHz,推荐值为640KHz。
7、程序框图8、实验步骤:(1)设定仿真模式为程序空间在仿真器上,数据空间在用户板上(2)硬件诊断:调整综合实验仪上模拟信号发生器的电位器,使输入到此AD0809的IN0上电压为一定值。
(3)编写程序,并编译通过。
本程序使用查询的方式读取转换结果。
在读取转换结果的指令后设置断点,运行程序,在断点处检查并读出A/D转换结果,数据是否与Vin0相对应。
修改程序中错误,使显示值随Vin0变化而变化。
9、实验程序OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)IN equ 0e103h ; 键盘读入口LEDBuf equ 40h ; 显示缓冲org 0000hmov sp,#60hmov dptr,#0e100h ;8155初始化mov a,#03hmovx @dptr,amov 40h,#00h ;显示缓冲器初始化mov 41h,#08hmov 42h,#00hmov 43h,#09hmov 44h,#00h ;存放转换后数字的高位mov 45h,#00h ;存放转换后数字的低位LOOP1: MOV R7,#40VI: LCALL DISPLAYDJNZ R7,VImov a,#00hmov dptr,#0a000hmovx @dptr,a ;0809AD的通道开始转换mov r7,#0fhloop2: djnz r7,loop2movx a,@dptr ;读取转换结果mov r0,#45h ;拆字lcall ptdssjmp loop1ptds: mov r1,alcall ptds1mov a,r1swap aptds1: anl a,#0fhmov @r0,adec r0retDelay:mov r7, #0 ; 延时子程序DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDISPLAY:setb 0d3hmov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #00hmovx @dptr, a ; 关所有八段管mov a, @r0mov dptr,#LEDmapmovc a,@a+dptrmov B, #8 ; 送164DLP:rlc amov r3, amov acc.0, canl a,#0fdhmov dptr, #DAT164movx @dptr, amov dptr, #CLK164orl a,#02hmovx @dptr, aanl a,#0fDhmovx @dptr, amov a, r3djnz B, DLPmov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, Loopmov dptr, #OUTBITmov a, #0movx @dptr, aclr 0d3h ; 关所有八段管retLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hEND10、实验思考:1、试编写循环采集8路模拟量输入A/D转换程序。
ADC0809模数转换实验详解
实验三 ADC0809模数转换实验一、实验目的1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用。
2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。
二、实验说明本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D 转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
下图为该芯片的引脚图。
各引脚功能如下:IN0~IN7:八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:三位地址码输入端。
八路模拟信号转换选择由这三个端口控制。
CLOCK:外部时钟输入端(小于1MHz)。
D0~D7:数字量输出端。
OE:A/D转换结果输出允许控制端。
当OE为高电平时,允许A/D转换结果从D0~D7端输出。
ALE:地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。
START:启动A/D转换信号输入端。
当START端输入一个正脉冲时,将进行A/D转换。
EOC:A/D转换结束信号输出端。
当 A/D转换结束后,EOC输出高电平。
Vref(+)、Vref(-):正负基准电压输入端。
基准正电压的典型值为+5V。
VCC和GND:芯片的电源端和地端。
三、实验步骤1、单片机最小应用系统1的 P0口接A/D转换的D0~D7口,单片机最小应用系统1的Q0~Q7口接0809的A0~A7口,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换的IN接入+5V,单片机最小应用系统的RXD、TXD连接到串行静态显示实验模块的DIN、CLK。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加AD0809.ASM源程序,进行编译,直到编译无误。
实验六 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的一次转换。
ADC0809实验
思考和练习
1.ADC0809的转换结果是否有误差? 若有,则当输入为
2.567V时,转换相对误差是多少?
2.当0通道的输入电压超过参考电压4.096V,如何才能利
用ADC0809测量该电压。
汇编 源程序 CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0 OE BIT P3.1 EOC BIT P3.2 ORG 00H LJMP START ORG 0BH LJMP T0X ORG 30H START: MOV CH,#0BCH MOV DPCNT,#00H MOV R1,#DPCNT
编程与调试
(一)0通道测量电压 1.程序说明 本实验由实验箱的右上角 的电压调节器调节输入电压 的Vx大小,并送入0809的0通 道。实验测得的电压值显示 在实验主板的LED上。
2.编程思路
开始 EPP接口、8255初始化 启动ADC0809
读取EOC状态值 EOC=1?
N
Y
读取ADC0809输出值 送CRT、LED显示 结束
256R 电阻分压器
11 13 12 16
ENABLE
Vcc GND VREF(+)
VREF(-)
转换原理
K7 K6 K5 K4 K3 K K1 K0 2.048 1.024 0.512 0.256 0.128 0.064 0.032 0.016
Ki = 1 ( i = 0,1,2,3,4,5,6,7 ) 例如: Vx = 2.567V, 则 K7=1, Vc = 2.048(V) < Vx , 故 K7 = 1 K6 = 1, Vc = 2.048 + 1.024 = 3.072(V),故 K6 = 0 K5 = 1, Vc = 2.048+ 0.512 = 2.560 (V) < 2.567(V) , 故 K5 = 1 同理, K4 = 0, K3 = 0, K2 =0, K1 = 0, K0=0 则转换结果为: 2.560 (V)
实验十 ADC0809模数转换与显示
实验十ADC0809模数转换与显示一、实验目的掌握ADC0809的转换原理及编程二、实验内容参考下图画出proteus仿真原理图,导入程序观察显示结果并分析三、参考程序程序:#include<reg51.h>#define uchar unsigned char#define uint unsigned int//各数字的数码管段码(共阴)uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit CLK=P1^3; //时钟信号sbit ST=P1^2; //启动信号sbit EOC=P1^1; //转换结束信号sbit OE=P1^0; //输出使能//延时void DelayMS(uint ms){uchar i;while(ms--) for(i=0;i<120;i++);}//显示转换结果void Display_Result(uchar d){P2=0xf7; //第4个数码管显示个位数P0=DSY_CODE[d%10];DelayMS(5);P2=0xfb; //第3个数码管显示十位数P0=DSY_CODE[d%100/10];DelayMS(5);P2=0xfd; //第2个数码管显示百位数P0=DSY_CODE[d/100];DelayMS(5);}//主程序void main(){TMOD=0x02; //T1工作模式2TH0=0x14;TL0=0x00;IE=0x82;TR0=1;P1=0x3f; //选择ADC0809的通道3(0111)(P1.4~P1.6)while(1){ST=0;ST=1;ST=0; //启动A/D转换while(EOC==0); //等待转换完成OE=1;Display_Result(P3);OE=0;}}//T0定时器中断给ADC0808提供时钟信号void Timer0_INT() interrupt 1{CLK=~CLK;}四、实验心得通过这次实验,我重温了proteus仿真软件,并且运用起来熟练了。
微机原理实验之模数转换器ADC0809的使用
微机原理实验之模数转换器ADC0809的使用2011年05月18日星期三 10:04实验器材:模数转换器0809,8255(作为显示结果用的),实验台线路。
实验目的:貌似比较简单,就是知道ADC0809可以进行模数转换,了解一下它的地址分配,以及如何实现片选的,不知到同学们是否达到了这个目的,貌似很多人接好线,看看可以运行就撤退了。
实验内容:用ADC0809把滑动变阻器限制的电压转化成某个范围内的数字量并通过8255显示在发光二极管上。
实验步骤:一、接线。
1.ADC0809的接线。
从左上角引过滑动变阻器限制的输入电压连接到ADC0809的输入端I0上。
系统0.5M时钟频率发生器连接到ADC0809的CLK上,作为其工作的时钟信号。
将三条地址选择线A,B,C分别接到系统的A0,A1,A2上。
74LS138的210h~217h接到ADC0809A 的CS端。
(这里其实是两个门电路的公共输入端,起到了片选的效果)。
2.8255的接线。
CS端接到74LS138的200h~207h上,把A口与8个发光二极管对应相连。
二、程序。
code segmentassume cs:codestart:;init 8255 A output at mode 0mov dx,203hmov al,80hout dx,allp:;activate ADC0809mov dx,210hout dx,al;if you connect A,B,C with A0,A1,A2,al内容无所谓,but if 连D0,D1,D2,here al must be 0;delay 100us to wait for 0809 conversionmov cx,100del:loop del;display the outcome with 8255in al,dxmov dx,200hout dx,aljmp lpcode endsend start三、操作及结果。
adc0809实验报告
adc0809实验报告adc0809实验报告引言:在现代科技发展的今天,模拟信号与数字信号的转换已经成为了一个非常重要的领域。
而ADC(Analog-to-Digital Converter)芯片的应用则是实现这种转换的重要手段之一。
本实验旨在通过使用ADC0809芯片,对模拟信号进行采样和转换,进而实现模拟信号的数字化处理。
一、实验目的本实验的主要目的是通过使用ADC0809芯片,掌握模拟信号的数字化转换原理和方法,并能够进行模拟信号的采样和转换。
二、实验器材1. ADC0809芯片2. 电压源3. 示波器4. 电阻、电容等元器件5. 电路板等实验设备三、实验原理ADC0809芯片是一种8位的逐次逼近型模数转换器。
它通过对模拟信号进行采样,再经过一系列的比较和逼近,最终将模拟信号转换为相应的8位数字信号。
四、实验步骤1. 搭建实验电路:根据实验要求,将ADC0809芯片与其他元器件连接起来,形成完整的电路。
2. 设置电压源:根据实验需要,设置适当的电压源,以提供模拟信号的输入。
3. 连接示波器:将示波器与ADC0809芯片的输出端连接,以便观察数字信号的波形。
4. 运行实验:通过控制电路中的时钟信号,使ADC0809芯片开始对模拟信号进行采样和转换。
5. 观察结果:通过示波器观察数字信号的波形,并记录下相应的数据。
五、实验结果与分析通过实验观察和记录,我们可以得到一系列的数字信号数据。
通过对这些数据的分析和处理,我们可以得到模拟信号的数字化表示。
同时,我们还可以通过对数字信号的波形进行分析,了解模拟信号在转换过程中可能出现的误差和失真情况。
六、实验总结通过本次实验,我们深入了解了ADC0809芯片的工作原理和应用方法。
通过实际操作和观察,我们掌握了模拟信号的数字化转换技术。
同时,通过对实验结果的分析和总结,我们对模拟信号的数字化处理有了更为深入的理解。
七、实验心得本次实验对于我们来说是一次非常有意义的实践活动。
ADC0809模数转换芯片
ADC0809 模数转换芯片
A/D 转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其它领域中,A/D 转换器是不可缺少的重要组成部分,它的应用已经相当普遍。
目前用软件的方法虽然可以实现高精度的A/D 转换,但占用CPU 时
间长,限制了应用。
8 位A/D 转换器ADC0809 作为典型的A/D 转换芯片,
具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8 位单片机系统中得到了广泛的应用。
ADC0809 是单片机教材上常常用到的模数转换芯片,它有8 个模拟
输入通道,每次可选其中一路,转换成8 位二进制数。
在PROTEUS 仿真环境中,ADC0809 并没有仿真功能(也许是版本
的问题),仿真必须使用ADC0808。
这两个芯片在PROTEUS 中的图形可见
下图:。
ADC0809模数转换实验
ADC0809模数转换实验ADC0809是一种八位串行型CMOS模数转换器,它将模拟信号转换为数字信号。
在本次实验中,我们将探究ADC0809的工作原理,并使用其进行模数转换。
一、实验材料1. ADC0809芯片2. Arduino开发板3. 可变电阻4. 电容5. 杜邦线二、实验原理1.模数转换原理模数转换是将模拟信号转换为数字信号的过程。
模拟信号是指在连续的时间内,信号的所有可能取值都有可能发生的信号。
数字信号是模拟信号经过一定的采样和量化处理后得到的离散信号。
模数转换的基本原理是将模拟信号转化为数字信号。
数字信号的特点是离散的,可以方便的进行计算和存储。
模数转换一般包括两个步骤:采样和量化。
采样是指将连续时间内的模拟信号转换为离散的时间点上的信号,采用的采样定理是:“采样频率必须大于等于原信号中最高频率成分的两倍”。
量化是指将连续幅度的信号转换为一组离散的数值。
采用比较法,对模拟信号的幅度进行比较,将其与参考电平进行比较,将其转换为数字信号。
ADC0809是一种CMOS串行型八位模数转换器,由时序控制逻辑、数据寄存器、比较器、参考电压源和采样保持电路等部分组成。
ADC0809的详细结构如下图所示:ADC0809的基本原理是将模拟信号通过采样、保持和比较等操作,将其转换为等效的数字信号输出,输出的数据位数为8位。
3. 实验任务本次实验的任务是使用ADC0809将可变电阻的模拟信号转换为数字信号,并通过Arduino开发板来输出这个转换结果。
具体实验步骤如下:三、实验步骤1.搭建实验电路在Arduino开发环境中,编写以下代码: int cs=8;int rd=9;int wr=10;int intr=11;int clock=13;int data=12;int value=0;void setup(){pinMode(cs,OUTPUT);pinMode(rd,OUTPUT);pinMode(wr,OUTPUT);pinMode(intr,INPUT);pinMode(clock,OUTPUT);pinMode(data,INPUT);Serial.begin(9600);}void loop(){digitalWrite(cs,LOW);digitalWrite(rd,HIGH);digitalWrite(wr,HIGH);while(digitalRead(intr));for(int i=0;i<8;i++){digitalWrite(clock,HIGH);value=value<<1|digitalRead(data);digitalWrite(clock,LOW);}Serial.println(value);}将Arduino板上的程序烧录到开发板上,然后调节可变电阻,观察串口输出的数值变化。
ADC0809模数转换
ADC0809模数转换1. 实验目的与效果:模数转换在信号采集中占有很重要的地位。
本实验采用经典8位AD ――ADC080做一个0~5V 的电压表,并用数码管显示出来。
(说明:本实验板上的读AD 值端口跟数码管位选端口是分时复用的,呵呵,可以学习一下单片机端口分时复用)ADC0809简介:ADC0809是带有8位A/D 转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。
它是逐次逼近式A/D 转换器,可以和单片机直接接口。
(1). (1). ADC0809的内部逻辑结构由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D 转换器进行转换。
三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
(2). (2). 引脚结构IN0-IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V ,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条ALE 为地址锁存允许输入线,高电平有效。
当ALE 线为高电平时,地址锁存与译码器将A ,B ,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A ,B 和C 为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
IN0 I N1 I N2 I N3 I N4 I N5 I N6 I N7 A B C A LEEOC1 2 3 4 5 6 7通道选择表如下表所示。
C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7数字量输出及控制线:11条START为转换启动信号。
ADC0809实验
实验3 ADC0809并行模数转换实验【实验目的】熟悉A/D转换的工作原理,学习使用并行模数转换芯片ADC0809进行电压信号的采集和数据处理。
【实验设备及器件】IBM PC机一台DP - 51PROC 单片机综合仿真实验仪一台数字万用表一台【实验内容】通过片外总线方式访问并行模拟数字转换器芯片ADC0809,掌握模拟电压的通用采集方法。
【实验要求】理解掌握ADC009的A/D转换原理和并行A/D转换器接口的编程方法,学会使用ADC0809并行模数转换器实现电压信号采集的方案设计。
【实验步骤】1.使用2×10的排线连接D7区的J28接到A7区的J84;2.将D2区1K电位器和10K电位器的左端金属孔通过导线连接到该区的GND金属孔,而右端金属孔通过导线连接到该区的VCC金属孔;3.将D2区1K电位器的中间金属孔连接到A7区的P2_IO2金属孔,而D2区10K电位器的中间金属孔连接到A7区的P2_IO1金属孔;4.将A7区的P2_IO3~P2_IO5分别连接到A2区的A2~A0;5.将A7区的P2_CS连接到A2区的A15;6.运行编写好的软件程序,每次跑到断点就会停止,此时观察转换的结果和用数字万用表测量的结果相比较是否正确(所需观察的存储单元或者变量在程序中依照注释执行);7.改变1K电位器和/或10K电位器的旋钮位置,用数字万用表测量中间金属孔的电压,再次运行程序至断点处,观察转换的结果是否正确。
【实验预习要求】认真预习本节实验内容,按照实验的要求提前做好实验准备工作,认真阅读ADC0809的数据手册。
图3.18155引脚接线图【实验参考程序】汇编语言程序清单;使用该程序前请先按照实验指导手册连接好连线,;运行程序至断点,观察30H单元和31H单元转换的十六进制;数据换算成实际电压值是否与万用表的测量结果相等?;扭动电位器,改变IN0或/和IN1模拟输入电压,再次运行程序至;断点,观察30H或/和31H单元的数值是否随之改变,改变的是否正确?ORG 8000HLJMP MAINORG 8100HMAIN: MOV SP,#70HMOV R1,#30H ;置数据区首地址,用于存放A/D转换结果MOV DPTR,#7FF8H ;P2.7=0,且指向通道0MOV R7,#02H ;置通道数LOOP: MOVX @DPTR,A ;启动A/D转换MOV R6,#20H ;软件延时,等待转换结束DELAY: NOPNOPNOPDJNZ R6,DELAYMOVX A,@DPTR ;读取转换结果MOV @R1,A ;转存INC DPTR ;指向下一个通道INC R1 ;修改数据区指针DJNZ R7,LOOP ;IN0、IN1两个通道全采样完了吗?LJMP MAINENDC51程序清单//使用该程序前请先按照实验指导手册连接好连线,//运行程序至断点,观察result0和result1的转换结果//浮点数值是否与数字万用表的测量结果相等?//扭动电位器,改变IN0或/和IN1模拟输入电压,再次运行程序至断点,//观察result0或/和result1的转换结果浮点数值是否随之改变,改变的是否正确?#include <reg52.h>#include <intrins.h>#include <absacc.h>#define PIN0 XBYTE[0x7ff8]#define PIN1 XBYTE[0x7ff9]typedef unsigned char byte;typedef unsigned int word;void main(void){float result0,result1; //两个通道A/D转换结果的存储变量float result0_reg,result1_reg; //浮点数据输出存储byte i,j;while(1){for(i=0;i<2;i++) //对IN0、IN1两个通道进行采样{if(!i)PIN0=0xff; //启动通道0的A/D转换elsePIN1=0xff; //启动通道1的A/D转换for(j=0;j<0x50;j++); //延时,等待转换的完成if(!i)result0_reg=PIN0; //读取通道0的转换结果elseresult1_reg=PIN1; //读取通道1的转换结果}result0=result0_reg*5/256;result1=result1_reg*5/256;}}【实验思考题】1.本实验采用了延时等待的方式等待ADC0809转换结束,请用户改用中断方式做一次这个实验,并说出这个实验采用中断方式与延时等待方式相比有哪些优点;2.请将D5区上的ZLG7290芯片和数码管与本实验相结合,设计出一个数字电压表,并与商品化的数字电压表测量值比较。
一提高实验ADC0809转换器实验
待计数器计满之后,自动回到全零来自态,产生下一个锯 齿波。(2)设计一个单路信号采样的显示电路 用ADC0809转 换器一片、七段译码器和七段显示器各两片,实现单路 模拟量采样的显示电路,模拟量为变化比较缓慢的信号, 显示器用十六进制数进行显示。
实验六 A/D和D/A转换器实验
(一)提高性实验—— ADC0809 转换器实验 1.实验目的 通过实验了解 ADC0809 集成 A/D 转换器的 性能及转换过程,熟悉ADC0809 的使用方法。
2.实验元件
3.实验电路
ADC0809 实验电路图
4.实验内容及要求
( 1 )分析 ADC0809 实验电路的接线原理,确定该电 路中的电组值,并按此电路图接线,将信号发生器的 500 kHz 脉冲信号输入电路。
(3)用A/D和D/A转换器构成乘法器和除法器 用DAC0832转
换器构成乘法器,实现数字量D与模拟量ui的相乘 。用
ADC0809转换器构成除法器.
3.实验内容及要求 (1)对实验题目(1) 按实验电路,安装调试该电路加 入脉冲信号,用示波器观察输出波形。 (2)对实验题目(2) 根据要求设计电路,按所设计好 的电路接线,加入100kHz的时钟信号对直流0~5V电压进 行采样,通过数码管进行显示,记录转换后的十六进制数 ,并作输入输出关系曲线。 (3)对实验题(3) 根据题目要求设计电路,按此电 路安装调试,分别改变各输入量,观测输出结果。
模数转换ADC0809实验
微机原理与接口实验报告实验名称:模数转换ADC0809实验班级:学号:姓名:指导老师:实验报告要求一.实验目的1.掌握ADC0809接口电路与微机的硬件电路连接方法。
2.掌握A/DADC0809接口电路的程序设计和调试方法。
二.实验仪器1.微型计算机一台。
DVCC-5286JH型微机原理与接口实验系统,排线、导线若干。
三.实验原理1、实验要求本实验采用 ADC0809做A/D 转换实验。
ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为±1/512,适用于多路数据采集系统。
ADC0809片内有三态输出的数据锁存器,故可以与8088微机总线直接接口。
ADC0809的CLK信号接CLK=2.385MHZ,基准电压Vref(+)接Vcc。
一般在实际应用系统中应该精确+5V,以提高转换精度,ADC0809片选信号0809CS和/IOW、/IOR经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。
ADC0809的转换结束信号EOC 未接,如果以中断方式实现数据采集,需将EOC信号线接至中断控制器8259A的中断源输入通道。
本实验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADD-A、ADD-B、ADD-C 接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、01H、02H、03H、04H、05H 、06H、07H。
调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。
用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5V-FFH,2.5V-80H,0V-00H。
2、实验电路原理及连接3、实验程序流程图三.实验源程序CODE SEGMENTASSUME CS:CODE ADPORT E QU 0010hORG 1000HSTART: JMP ADCONTORL ADCONTORL:CALL FORMAT ADCON: MOV AX,00MOV DX,ADPORTOUT DX,ALMOV CX,0500H DELAY: LOOP DELAYMOV DX,ADPORTIN AL,DXCALL CONVERSCALL DISPJMP ADCON CONVERS:MOV AH,ALAND AL,0FHMOV BX,077AHMOV DS:[BX],ALINC BXMOV AL,AHAND AL,0F0HMOV CL,04HSHR AL,CLMOV DS:[BX],ALRETdisp: mov dx,077Fhmov ah,20hdisp0: mov cx,00ffhmov bx,dxmov bl,ds:[bx]mov bh,0hpush dxmov dx,0ff22hmov al,cs:[bx+1060h]OUT DX,ALmov dx,0ff21hmov al,ahOUT DX,ALdisp1: loop disp1pop dxdec dxshr ah,01hjnz disp0mov dx,0ff22hmov al,0ffhOUT DX,ALretdata1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0ah db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfhFORMAT: MOV BX,0MOV WORD PTR DS:[BX+077AH],0000HADD BX,2MOV WORD PTR DS:[BX+077AH],0009HADD BX,2MOV WORD PTR DS:[BX+077AH],0008HRETCODE ENDSEND START四.实验结果分析取一个中间结果:58五.心得体会通过本次实验掌握了ADC0809接口电路与微机的硬件电路连接方法、A/DADC0809接口电路的程序设计和调试方法、加深理解逐次逼近法模数转换器的特征和工作原理以及掌握ADC0809的接口方法,以及A/D输入程序的设计和调试方法。
实验6(ADC0809)
实验内容 实验目的298h Nhomakorabea29fh
CS
ADC0809
实验提示
课外学习
J2-MIC
IN0
IN1
RW1
RW2
网络学习
实 验 内 容
1、通过实验台左下角电位器RW1输出0-5V 直流电压送入ADC0809通道0(IN0),利用输 出命令启动A/D转换器,输入命令读取转 换结果;
开始 将AL赋给DL D大于9吗? Y DL加7 DL加30H 显示ASC码为 DL的字符 结束 N
练习题目
1、当输入电压为1V时,如何编程?
2、用IN0和IN1两个通道同时采集两个输 入电压,如何编程?
网络学习
网址: 课程名称: 教学实践部---微机原理与接口技术实验
2、在屏幕上以十六进制的形式输出转换后 的结果。
实 验 目 的
了解模/数转换的基本原理
掌握ADC0809的编程方法(重点)
掌握十六进制数的显示方法(重点)
实
转换公式
验
提
示
Ui N U REF / 256
假设输入电压Ui=2.5V,转换后的 数字信息是多少?(二进制数或 十六进制数)
2.5 N 128 10000000 B 80 H 5 / 256
如何启动0809芯片
MOV OUT IN
DX , 端口地址 DX , AL AL , DX
IN0的端口地址:0C418H IN1的端口地址:0C419H
AL:转换后的数字量 (二进制数或十六进制数)
显示子程序流程解释
为什么与9比较?
由于ASCII码制的0-9为:30H-39H,通过 比较可以区分出十六进制数的0-9和A-F。 为什么大于9的要多加7? 十六进制数,(逢16进1),A-F的ASCII 码值是41H-46H。 39H+7H=40H,A比9大1,所以 A=39H+1H+7H=41H
ADC0809模数转换技术
附页:实验线路图:编译程序:源程序代码:1 汇编语言程序清单CS8279C EQU 0FFFFHCS8279D EQU 0FFFEHCS0809 EQU 0A007HADRESULT EQU 3AHADBAK EQU 3BH; DISPLAY BUFF 30H(low) ~ 35H (high)ORG 0000HMAIN:MOV SP, #60HACALL INI8279MOV ADRESULT, #00HMOV ADBAK, #0FFHMAINLP:ACALL DISPLAYACALL EXINT1SJMP MAINLPEXINT1:MOV DPTR,#CS0809MOVX @DPTR,A ;START CONVERTMOV R6,#30DLY: NOPNOPNOPDJNZ R6,DLYMOVX A,@DPTR ; READ CONVERT RESULTMOV ADRESULT,ARET; subprogram name :INI8279; function: initial 8279 as 8 digtal left in ALE/10; input parameter : none; output parameter: none; others 8279 command port address 0FFE9H;8279 data port address 0FFE8H; the subprogram affect A、 DPTRINI8279:MOV DPTR,#CS8279CMOV A,#0DDH ; First set all display RAM as 0FFHMOVX @DPTR,AIL0:MOVX A,@DPTR ;wait clearJB ACC.7,IL0LCALL DLT ; WAIT 400MSLCALL DLTMOV A,#0D1H ; clear all display RAM as 00HMOVX @DPTR,AIL1:MOVX A,@DPTRJB ACC.7,IL1LCALL DLTLCALL DLTMOV A,#00H ;key/display mode command word 000DDKKK MOVX @DPTR,A ;8 char left inMOV A,#2AH ; ALE/10MOVX @DPTR,ARETDLT: MOV R7,#200 ; Delay 400 ms(6M)DLT1: MOV R6,#250 ; 12TDLT2: DJNZ R6,DLT2 ; 24TDJNZ R7,DLT1RET; NAME:DISPLAY 显示子程序DISPLAY:MOV A,ADRESULTCJNE A,ADBAK,REDISPSJMP DSPEXITREDISP:MOV ADBAK, ADRESULTACALL CONVBCDMOV DPTR,#CS8279CMOV A,#90H ;write display RAM commandMOVX @DPTR,AMOV R7,#6MOV DPTR,#CS8279DMOV R0,#30HDISPL1:PUSH DPLPUSH DPHMOV A,@R0MOV DPTR,#TABMOVC A,@A+DPTRPOP DPHPOP DPLMOVX @DPTR,AINC R0DJNZ R7,DISPL1DSPEXIT:RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDB 0FFH,00H,73H ; 全亮;全灭;PConvert ADRESULT to BCD; send to 30H ~ 35H locationCONVBCD:MOV A,ADRESULTMOV B,#100DIV ABMOV 32H,AMOV A,BMOV B,#10DIV ABMOV 31H,AMOV A,BMOV 30H,AMOV A,32HCJNE A,#00,CONB1MOV A,31HCJNE A,#00,CONB2MOV R7,#5SJMP CONB3CONB2:MOV R7,#4SJMP CONB3CONB1:MOV R7,#3CONB3:MOV R0,#35HMOV A,#0BHCONBLP:MOV @R0,ADEC R0DJNZ R7,CONBLPRETEND ; program end2 C 语言程序清单#include <AT89X51.H>#include <absacc.h>#define uchar unsigned char#define COM XBYTE[0xffff] // 8279命令端口#define DAT XBYTE[0xfffe] // 8279数据端口#define CS0809 XBYTE[0xA007] // 通道7#define adresult DBYTE[0x3A] // 用于存放A/D转换结果#define adbak DBYTE[0x3B] // 备份A/D转换结果#define hun DBYTE[0x3C] // A/D转换结果的百位#define ten DBYTE[0x3D] // A/D转换结果的十位#define one DBYTE[0x3E] // A/D转换结果的个位//共阴数码管段码:0~9,全亮,全灭,Puchar code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xFF,0x00,0x73};void ini8279(){ COM=0xD1; //8279显示RAM和键盘RAM清零do{ACC=COM;}while(CY); //等待清除完毕//显示方式设为8个字符左边输入COM=0; //键盘工作方式设为编码扫描键盘方式,双键互锁COM=0x2A; // 外部信号的频率是1MHz,需要进行10分频}void exint1(void){uchar i;CS0809=0; //启动A/D转换for(i=19;i>0;i--); //延时100usadresult=CS0809; //读取A/D转换结果值}void convbcd(void){hun=adresult/100; //求得百位ten=adresult%100/10; //求得十位one=adresult%10; //求得个位if(hun==0) //如果百位为0,则该位对应的数码管灭 { hun=11;if(ten==0) //如果十位为0,则该位对应的数码管灭 ten=11;}}void display(void){if(adresult!=adbak){adbak=adresult;convbcd();COM=0x90; //写显示RAM命令DAT=tab[one]; //送个位的段码到显示RAM DAT=tab[ten]; //送十位的段码到显示RAM DAT=tab[hun]; //送百位的段码到显示RAM DAT=tab[11]; //送全灭的段码到显示RAM DAT=tab[11];DAT=tab[11];}}void main(void){SP=0x60;ini8279(); //初始化8279adresult=0;adbak=0xff;do{display(); //显示A/D转换结果值exint1(); //执行一次A/D转换}while(1);}。
ADC0809
ADC0809采样控制器设计二、实验原理ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。
ADC0809的分辨率为8位,转换时间约100us,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电。
主要控制信号说明:如图8-1所示,START是转换启动信号,高电平有效;ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。
当模拟量送至某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号(类似于AD574的STA TUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。
至此ADC0809的一次转换结束了。
图8-1 ADC0809工作时序【例8-1】module exp8(d,clk,eoc,lock,ale,start,oe,adda,q,reset);input reset;input[7:0] d;input clk,eoc;output lock,ale,start,oe,adda;output[7:0] q;reg[7:0] q;reg ale,start,oe,adda;reg[2:0] current_state,next_state;reg lock;//定义状态parameter st0=3'b000;parameter st1=3'b001;parameter st2=3'b010;parameter st3=3'b011;parameter st4=3'b100;parameter st5=3'b101;parameter st6=3'b110;//组合逻辑always @(current_state or eoc)begincase(current_state)st0:beginale=0;start=0;oe=0;lock=0;next_state=st1;end st1:beginale=1;start=0;oe=0;lock=0;next_state=st2;end st2:beginale=0;start=1;oe=0;lock=0;next_state=st3;end st3:beginale=0;start=0;oe=0;lock=0;if(eoc==1) next_state=st3;else next_state=st4;endst4:beginale=0;start=0;oe=0;lock=0;if(eoc==0) next_state=st4;else next_state=st5;endst5:beginale=0;start=0;oe=1;lock=0;next_state=st6;end st6:beginale=0;start=0;oe=1;lock=1;next_state=st0;enddefault:beginale=0;start=0;oe=0;lock=0;next_state=st0;end endcaseend//时序逻辑always @(posedge clk or posedge reset)beginif(reset) begincurrent_state=st0;adda=1;endelse current_state=next_state;end//数据锁存always @(posedge lock)beginq=d;endendmodule三、实验内容1. 利用Quartus II对ADC0809的采样控制电路进行设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第!"卷第#期$%%!年!$月福建师范大学学报&自然科学版’
()*+,-.)/0*12-,34-564+78,294+72:;&<-:*+-.=524,54’
>).?!"<)?#
@45?$%%!
文章编号A!%%%B C $""&$%%!’%#B %%D "B %$
E F G
H I H J 模数转换器的测试与研究K
陈晓风
&
福建师范大学计算机科学系L 福建福州D C %%%"’
摘要A 使用多组不同频率和不同脉宽的工作时钟L 定量测定分析M @N
%O %P 模数转换器的转换速度和转换结果Q 测试结果表明A 该模数转换器的最高工作时钟频率可达D RS T U 工作时钟的脉冲宽度只要不小于!V V ,7就是有效的Q 本测定结果为提高M @N
%O %P 模数转换器的使用效能提供了可靠的实验数据Q 关键词A 模数转换器U 时钟频率U 脉冲宽度U 转换速度
中图分类号A 3<#
"文献标识码A M
K K
在由微型计算机或单片计算机组成的生产过程控制系统和数据采集系统中L 可编程模数转换器的功用是把从生产现场各种物理量传感器W 变送器传送过来的连续变化的模拟电量转换成为离散的数字量L 然后再提供给计算机系统进行分析W 处理和控制Q M @N %O %P 大规模集成电路芯片是一种由单一X C >电源供电L 采用逐次逼近转换原理L 能够对%YXC >O 路输入模拟电压进行分时转换的通用型可编
程模数转换器Q 在许多介绍M @N %O %P 模数转换器的文献中Z !Y V [
L 对于该模数转换器必需的工作时钟N \]的有效适用频率范围以及对N \]脉冲宽度的要求都没有提及L 这给在工程实践中有效灵活地使用M @N %O %P 模数转换器造成一定的影响Q 本文针对M @N %O %P 模数转换器的使用性能L 设计一套实时测试实验方案L 通过实时观测该模数转换器在各种不同频率和不同脉宽的工作时钟N \]控制下的模数转换时序波形L 深入探究M @N
%O %P 模数转换器的潜在使用性能L 定量分析工作时钟的频率与脉宽参数对于该模数转换器的转换速度和转换结果的影响L 进而确定M @N %O %P 模数转换器可以适用的工作时钟频率范围和能够达到的最高转换速度以及对时钟脉冲宽度的要求L 为进一步提高M @N %O %P 模数转换器的使用效能提供可靠充实的实验数据Q
!实验设计与测试
M @N %O %P 模数转换器的工作原理是在工作时钟N \]控制下L 选通某个输入回路模拟电压进行模
数转换Q 启动转换开始后L 该模数转换器的^_N 输出变为低电平L 并且在整个模数转换过程中保持低
电平Q 完成一位数字转换需要O 个时钟&N \]’周期L 完成八位数据转换需要V #个时钟&N \]’周期Z #[
Q 每次模数转换过程结束时L ^_N 输出返回高电平Q 因此L 定量测试^_N 输出低电平的持续时间L 就能够较为准确地分析和估算出在各种不同频率和不同脉宽的工作时钟控制下L M @N %O %P 模数转换器的转换时间和转换结果是否基本正确L 从而测试出适用于该模数转换器的时钟频率范围和对时钟脉冲宽度的要求Q 实验中设计了三组时钟脉冲N \]!W N \]$和N \]D 分别作为M @N %O %P 模数转换器的工作时钟&如图!’Q 图中N \]$和N \]D 时钟脉冲的3宽度可以分别调节为C %%,7W$C %,7W!V V ,7和!$C ,7Q ‘为可编程计数器的分频系数L 改变‘值即可改变时钟频率和脉冲占空比Q 观测M @N %O %P 模数转换器的转换时间和转换结果的控制流程如图$Q
K K K 作者简介A 陈晓风&!P C O a
’L 男L 福建福州人L 讲师Q
收稿日期A$%%!b%#b%D 万方数据
!结果分析与讨论
表"三组不同频率和不同脉宽时钟下
转换时间#$%的测定结果
时钟频率&’()#$%&*+%,-"%,-!%,-.
/00011
11.2304!3.0004!/4!/
11!556 4.0!000 4.3 4.34.3
"200420
420"...425"!0045!
45!
"0004624624623004704704706204"004"005564""04"034"035004"!24"!24"!22004"204"204"20/004"704"324"32.!04!/0.00
4!20
4!20
4!20
几乎所有介绍89%
0307模数转换器的文献:"45;
<一般都只是简单提到该模数转换器可以使用的工作时钟频率是200=500>’()或转换时间是"00*+
?个别文献甚至提到工作时钟的最高频率是5/0’():2;
@而对于工作时钟的有效适用频率范围以及对于时钟脉冲宽度的要求都未曾提及@笔者通过实验对89%
0307模数转换器做了较为系统的实时测试<测试结果见表"@
测试结果表明A 89%0307模数转换器的工作时钟具有宽广的适用频率范围@在有效的工作时钟频率范围内<工作时钟频率成倍提高<模数转换速度亦成倍提高?当施加的工作时钟频率达到.230’()时<其模数转换速度与工作时钟频率为.000’()时的模数转换速度相比较不但没有提高<反而有所下降@由此推断A 该模数转换器适用的最高有效工作时钟频率约为.B()<最高模数转换速度大约可以达到!/*+
@
在实验观测中发现工作时年
万方数据。