AD DA电路设计报告_第1页
AD DA电路设计报告_第2页
AD DA电路设计报告_第3页
AD DA电路设计报告_第4页
AD DA电路设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、a/d、d/a的的选择选择及应用及应用摘要 本放大器由adc0832和dac0832组成,由单片机控制,对数据进行采集显示电压值。其过程是先a/d进行数模转换,经过单片机,再d/a数模转换的滤波输出。 关键词:dac adc 单片机二、硬件设计2.1概述ad的选择,首先看其分辨率量化误差、线性度、转换速率等;其输入方式是差分还是单端输入的,输入范围是多少,这些都是选ad需要考虑的。da的选择,主要是精度、分辨率、线性度及建立时间,与单片机的连接方式有单式有单缓冲工作方式、双缓冲工作方式、直通工作方缓冲工作方式、双缓冲工作方式、直通工作方式(我们选择的是直通工作方式)。式(我们选择的是直通工作方

2、式)。dac0832dac0832以电流形式输出,当需要转换为电压输出时,以电流形式输出,当需要转换为电压输出时,可外接运算放大器。可外接运算放大器。软件设计四、系统测试采用示波器测量输采用示波器测量输出的电压值,然后出的电压值,然后记录信号发生器显记录信号发生器显示的输入,生成表示的输入,生成表4.14.14.2 指标测试和测试结果结论 使用单片机实现对数据先进行a/d数模转换,再进行d/a数模转化的滤波输出,最终完成了直流电压的数据采集。示波器显示附件 /本程序功能:用adc0832测量电压并显示,并通过dac0832输出相同的电压#include #include #defineseg_

3、dp p0#define seg_wp p2#define da_dp p3sbit adcs = p10;sbit adclk = p11;sbit addi = p12;sbit addo = p12;sbit daile = p24;sbit dawr2 = p25;sbit daxfer = p26;sbit dawr1 = p27;unsigned char code tab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;void delay1ms(unsigned int tt)unsigned char i

4、;while(tt-) for(i=113;i0;i-);void display(unsigned int dat) /显示的数值为毫伏unsigned char ge,shi,bai,qian;qian = dat/1000%10;bai = dat/100%10;shi = dat/10%10;ge = dat%10;seg_wp = seg_wp&0 xf0|0 x07;seg_dp = tabqian|0 x80; /最高位加小数点delay1ms(10);seg_wp = seg_wp&0 xf0|0 x0b;seg_dp = tabbai; delay1ms(10

5、);seg_wp = seg_wp&0 xf0|0 x0d;seg_dp = tabshi;delay1ms(10);seg_wp = seg_wp&0 xf0|0 x0e;seg_dp = tabge;delay1ms(10);unsigned char adc0832(bit mode,bit channel) /ad转换,返回结果unsigned char i;unsigned char dat,ndat;adcs = 0;/拉低cs端_nop_(); _nop_();addi = 1;/第1个下降沿为高电平adclk = 1;/拉高clk端_nop_();_nop_()

6、;adclk = 0;/拉低clk端,形成下降沿1_nop_();_nop_();addi = mode;/低电平为差分模式,高电平为单通道模式。adclk = 1;/拉高clk端_nop_();_nop_();adclk = 0;/拉低clk端,形成下降沿2_nop_();_nop_();addi = channel; /低电平为ch0,高电平为ch1adclk = 1;/拉高clk端_nop_();_nop_();adclk = 0;/拉低clk端,形成下降沿3adc = adc*19.607843; /转换为实际电压便于显示display(adc);addi = 1;/控制命令结束(经试

7、验必需)dat = 0;/下面开始读取转换后的数据,从最高位开始依次输出(d7d0)for(i = 0;i 8;i+)dat = 1;adclk=1;/拉高时钟端_nop_();_nop_();adclk=0;/拉低时钟端形成一次时钟脉冲_nop_();_nop_();dat |= addo;ndat = 0; /记录d0if(addo = 1)ndat |= 0 x80;/下面开始继续读取反序的数据(从d1到d7) for(i = 0;i = 1;adclk = 1;/拉高时钟端_nop_();_nop_();adclk = 0;/拉低时钟端形成一次时钟脉冲_nop_();_nop_();if(addo = 1)ndat |= 0 x80; adcs = 1;/拉高cs端,结束转换adclk = 0;/拉低clk端addi = 1;/拉高数据端,回到初始状态if(dat = ndat)return(dat);elsereturn 0; void dac0832(unsigned char dat)daile = 1;d

温馨提示

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

评论

0/150

提交评论