DAC0832详细介绍,DAC0832程序

DAC0832详细介绍,DAC0832程序,第1张

  DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

  

  DAC0832的主要参数有分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V~+15V);低功耗,20mW。

  DAC0832特性

  1)分辨率分辨率它反映了输出模拟电压的最小变化值。定义为输出满刻度电压与2n的比值,其中n为DAC的位数。分辨率与输入数字量的位数有确定的关系。对于5V的满量程,采用8位的DAC时,分辨率为5V/256=19.5mV;当采用10位的DAC时,分辨率则为5V/1024=4.88mV。显然,位数越多分辨率就越高。

  2)建立时间建立时间是描述DAC转换速度快慢的参数。定义为从输入数字量变化到输出达到终值误差±1/2 LSB(最低有效位)所需的时间。

  3)接口形式接口形式是DAC输入/输出特性之一。包括输入数字量的形式:十六进制或BCD,输入是否带有锁存器等。DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。

  DAC0832的工作方式

  DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。

  第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状态。具体地说,就是使 和 都为低电平,DAC寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、 处于低电平,这样,当 端来一个负脉冲时,就可以完成1次转换。

  第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。就是使 和 为低电平,ILE为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直通;当WR2 和XFER 端输入1个负脉冲时,使得DAC寄存器工作在锁存状态,提供锁存数据进行转换。

  根据上述对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式:

  ⑴单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。

  ⑵双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。

  DAC0832程序

  #pragma db oe sb

  #i nclude

  #i nclude

  #define DAC0832 XBYTE[0x7fff] /* 定义端口地址 */

  #define uchar unsigned char

  void delay(uchar t) { /* 延时函数 */

  while(t--);

  }

  void saw(void) { /* 锯齿波发生函数 */

  uchar i;

  for (i=0;i《255;i++) {

  DAC0832=i;

  }

  }

  void square(void) { /* 方波发生函数 */

  DAC0832=0x00;

  delay(0x10);

  DAC0832=0xff;

  delay(0x10);

  }

  void main(void) { /* DAC0832主程序*/

  uchar i,j;

  i=j=0xff;

  while(i--) {

  saw(); /* 产生一段锯齿波 */

  }

  while(j--) {

  square(); /* 产生一段方波 */

  }

  }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2705967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-16
下一篇 2022-08-16

发表评论

登录后才能评论

评论列表(0条)

保存