实验7 AD转换0809应用实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验内容
利用实验仪上的0809做A/ D转换实验,〖ZH(〗实验仪上的W1电位器提供模拟量输入。
编制程序,将模拟量转换成数字量,通过发光二极管L1-L8显示。
二、实验说明
A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。
实验用ADC0809属第二类,是8位A/ D转换器。
每采集一次一般需100μs。
由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。
三、实验步骤
①把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。
②0809的CLK插孔与分频输出端T4相连。
③将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。
调节W2,使V REF 端为+5V。
④将A/D区的VREF 连到W2的输出VREF 端。
⑤EXIC1上插上74LS02芯片,将有关线路按图连好。
⑥将A/D区D0-D7用排线与BUS1区XD0-XD7相连。
⑦将BUS3区P3.0用连到数码管显示区DA TA插孔。
⑧将BUS3区P3.1用连到数码管显示区CLK插孔。
⑨单脉冲发生/SP插孔连到数码管显示区CLR插孔。
⑩仿真实验系统在"P....."状态下。
⑾以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0-00H,2.5V-80H,5V-FFH。
#include<reg51.h>
#include<absacc.h>
#define ad0809 XBYTE[0x9000]
//sbit eoc=P3^3;
sbit clk=P3^1;
sbit sdata=P3^0;
void HC164_Send(unsigned char displaysag); void display(unsigned char d);
extern void delay(unsigned int n);
void delay(unsigned int n);
void main(void)
{
unsigned char *add;
unsigned char d,adcdata;
float adc;
add=& ad0809;
while(1)
{
*add=0x00;
//while(eoc==0);
delay(1);
d=*add;
adc=(float)d*5/255+0.05;
adcdata=adc*10;
display(adcdata);
delay(30000);
}
}
void delay(unsigned int n)
{
while(n--);
}。