内容发布更新时间 : 2024/12/23 23:40:34星期一 下面是文章的全部内容请认真阅读。
单片机实验报告(五)
实验名称:
姓 名: 学 号: 班 级: 时 间:
A/D转换
张昊 110404247 通信2班 2013.12
南京理工大学紫金学院电光系
一、 实验目的
1、理解A/D转换的工作原理;
2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法; 3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。
二、 实验原理
在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。A/D转换器的主要技术指标-----量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示,其中n为A/D转换器的位数: 量化间隔?绝对误差?? 22
1 相对误差?n?1?100%2
A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。
A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。
一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种:
对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制;
对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。
当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种:
对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号; 对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。
A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。
ADC0809与单片机接口
三、 实验内容
#include
#define PIN0 XBYTE[0X7FF8] bit flag;;
typedef unsigned char byte; typedef unsigned int word; byte k2,kl,i; float result=0;
float result_reg; unsigned char code
tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x73,0x3e,0x31,0x6e,0xff};
int a,b,c,d,e,r; void delay(word i) {
word j=0; while (j