DAC0832和ADC0804与单片机的知识精华.docVIP

  • 11
  • 0
  • 约3.44千字
  • 约 7页
  • 2017-06-07 发布于重庆
  • 举报
DAC0832和ADC0804与单片机的知识精华

DAC0832和ADC0804与单片机的知识精华 DAC0832与单片机 首先我们必须对DAC0832有基本的知识认识 D/A是八位的数模转换器,多用芯片是DAC0832,原理图多采用T型电阻网络,分流的形式。 主要的性能指标 1.分辨率 对于5V的转换器,分辨率为5/256=19.5mv,位数越高分辨率越高。 2.线性度 误差在1%之内 绝对精度和相对精度 3.建立时间 常用引脚分析 CS 为片选信号 CR1 写信号 ILE 允许锁存信号 Vref 基准电压输入端 D0-D7 数字量数据输入端,接着单片机P0口上 IOUT1 IOUT2接着单片机上的DA上,排针用跳线帽连接,两者之和为一常数 Rfb 接一反馈电阻 对DAC0832和单片机操作只是对CS和CR1引脚操作就可以 工作方式: 直通方式(还有单 双缓冲) 它们的区别是对不同引脚进行不同的操作 直通方式: CS WR1 WR2 XFER全部接地 ILE接5V 数据一旦输入就直接进行进入DAC寄存器,进行D/A转换 连接好之后输入的程序时: #includereg51.h sbit wela=P2^7; sbit dula=P2^6; sbit dawr=P3^6; sbit csda=P3^2; sbit beep=P2^3; unsigned char a,b,j,k; void delay(unsigned char i) //延时函数 { for(j=i;j0;j--) for(k=125;k0;k--); } void main() { wela=0; dula=0; //关掉数码管显示 csda=0; dawr=0; //直通方式的接法 a=0; b=0; while(1) { if(a==0) { b+=5; P0=b; if(b==225) { a=1; beep=0; delay(100); beep=1; } delay(50); } else { b-=5; P0=b; if(b==0) { a=0; beep=0; delay(100); beep=1; } delay(50); } } } 现象是记到极值是蜂咛器响一下。 ADC0804与单片机 芯片: 8位A/D模数转换器ADC0804(温度 湿度 压力采集) 模拟量:连续,中间没有间隔,不规则的。 技术指标 1.分辨率 2.量化误差 3.偏移误差 采用逐次逼近式ADC的转化原理(双积分转换) Vref: 参考电压源,一定要是稳定。 Vin: 模拟信号输入端 两者之间有一个比较器,一共比较8位 OE: 输出使能信号 EOC: 转换标志位,转换完置1,这样可以中断法查询,做相应的处理 START: 启动信号 引脚 CS:片选信号低电平就选中 RD:读信号的输入 WR:写信号的输入端 INTR:AD转换结束信号,平时是高电平,结束后为低电平 DB0-DB7: 接到单片劫的P1口 CLKR CLKIN:产生时钟信号 电阻选10K 电容选150PF 利用RC充放原理 VIN+:模拟信号的输入,接了一个滑动电位器1,通过一个排针用跳线帽连在一起,还要接一个10K的电阻去限流作用 Vref: 参考电压源,一定要是稳定。(2.5V) 模拟地和数字地不能接到一块。 程序编写: #includereg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char sbit adrd=P3^7; //IO口定义 sbit adwr=P3^6; sbit diola=P2^5; sbit dula=P2^6; sbit wela=P2^7; unsigned char j,k,adval; void delay(unsigned char i) //延时程序 { for(j=i;j0;j--) for(k=125;k0;k--); } uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void display(ucha

文档评论(0)

1亿VIP精品文档

相关文档