单片机AD与DA转换实验报告_第1页
单片机AD与DA转换实验报告_第2页
单片机AD与DA转换实验报告_第3页
单片机AD与DA转换实验报告_第4页
单片机AD与DA转换实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AD与DA转换实验报告一 实验目的1 掌握A/D转换与单片机接口的方法;2 了解A/D芯片0809转换性能及编程方法;3 通过实验了解单片机如何进行数据采集。4 熟悉DAC0832 内部结构及引脚。5 掌握D/A转换与接口电路的方法。6 通过实验了解单片机如何进行波形输出。二 实验设备装有proteus的电脑一台三 实验原理及内容1. 数据采集_A/D转换(1) 原理ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高

2、电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809引脚结构: D7 D0:8位数字量输出引脚。IN0 IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换). EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。CBA选择模拟通道000IN0001IN1010IN2011IN3

3、100IN4101IN5110IN6111IN7(2) 内容和步骤1.硬件电路设计: 设计基于单片机控制的AD转换应用电路。AD转换芯片采用ADC0809。ADC0809的通道IN3输入05V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接5V电压。2. 软件设计: 程序设计内容(1) 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,经过数据处理之后在数码管上显示。(2) 进行A/D转换之前,要启动转换的方法:ABC110选择第三通道。ST0,ST1,ST0产生启动转换的正脉冲信号2. D/A转换及数字式波形发生器(1)

4、 原理典型D/A转换DAC0832芯片8位输入寄存器8位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7DI0CSWR1WR2XFERILELELEIOUT1&RFBV cc 芯片电源电压, +5V+15VVREF 参考电压, -10V+10V RFB 反馈电阻引出端, 此端可接运算放大器输出端AGND 模拟信号地DGND 数字信号地DI7 DI0数字量输入信号。其中: DI0为最低位,DI7为最高位ILE 输入锁存允许信号, 高电平有效CS 片选信号, 低电平有效WR1 写信号1,低电平有效当 ILE、CS、WR1同时有效时, LE=1,输入寄存器的输出随输入

5、而变化WR1, LE=0,将输入数据锁存到输入寄存器XFER 转移控制信号,低电平有效WR2 写信号2,低电平有效当XFER、WR2同时有效时, LE2=1,DAC寄存器输出随输入而变化;WR1, LE=0,将输入数据锁存到DAC寄存器,数据进入D/A转换器,开始D/A转换IOUT1 模拟电流输出端1当输入数字为全”1”时, 输出电流最大,约为:。全”0”时, 输出电流为0IOUT2 模拟电流输出端2 ,IOUT1 + I OUT2 = 常数(2) 内容和步骤 内容1. AT89C51控制DAC0832实现数/模转换(D/A)转换。从单片机输出数据到DAC0832,经其转换成模拟量输出。2.

6、设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。基本要求:产生三种以上波形。如正弦波、三角波、矩形波等。最大频率不低于500Hz。并且频率可按一定规律调节。幅度可调,峰峰值在0 5V之间变化。扩展要求:产生更多的频率和波形。 步骤(1)在proteus ISIS界面D/A转换电路原理图,把该电路保存。(2)在keil中建立c程序文件并生成hex文件。(3)添加仿真文件。双击单片机AT89C51,打开其属性编辑框,在“program file”栏中,单击打开按

7、钮,选取后缀名为*.HEX的目标代码文件。在“clock frequency”栏中设置时钟频率为11.0592MHZ。(4)在proteus仿真界面中单击运行按钮,全速启动仿真。四 实验结果1. 数据采集_A/D转换 实验电路图 实验程序8 / 8文档可自由编辑打印#include #define uchar unsigned char #define uint unsigned int /头文件uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /各数字的数码管段码(共阴)sbit CLK=P13; s

8、bit ST=P12; sbit EOC=P11; sbit OE=P10; void DelayMS(uint ms) /延时 uchar i; while(ms-) for(i=0;i120;i+); void Display_Result(uchar d) int i,j;P2=0xfb; i=d/51;P0=DSY_CODEi; DelayMS(5); P0=0x80; DelayMS(5);P2=0xf7; j=(d-i*51)*10/51;P0=DSY_CODEj; DelayMS(5); void main() /主程序 TMOD=0x02; TH0=0x14; TL0=0x00

9、; IE=0x82; TR0=1; P1=0x3f; while(1) ST=0;ST=1;ST=0; while(EOC=0); OE=1; Display_Result(P3); OE=0; void Timer0_INT() interrupt 1 CLK=CLK; 实验结果2.D/A转换及数字式波形发生器 实验电路图 实验程序#includesbit key1=P10;sbit key2=P13;sbit key3=P16;#define uchar unsigned char#define uint unsigned intvoid sanjiaobo();void fangbo()

10、;void juchibo();void main()P1=0xff;while(1) if(key1=0) sanjiaobo(); if(key2=0) fangbo(); if(key3=0) juchibo();void sanjiaobo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i=255)flag=1;if(flag=1)for(i=0;i10;i+);P2-=1;if(P2=0)flag=0;void fangbo()unsigned int i ;while(1)for(i=0;i1000;i+);P2=255;for(i=0;i1000;i+);P2=0;void juchibo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i=255)flag=1;if(flag=1)P2=0;if(P2=0)flag=0; 实验结果五 实验心得1.由于实验设备不精确而引起的系统误差,例如:实验设备制作不精确,使用时间过长引起的设备老化,而引起的误差。2读数不精确引起的偶然误差。在电压表读数未稳定时读数,或者由于电压

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论