Proteus C51仿真学习板10——DAC

发布者:legend9最新更新时间:2022-01-06 来源: eefocus关键字:C51  DAC 手机看文章 扫描二维码
随时随地手机看文章

 前面了解ADC了,那么肯定有器件可以还原信号,也就是将数字信号转换为模拟信号DAC(Digital-Analog Converter), 其思想与ADC是完全相反的。


89C51单片机没有内部集成的DAC,因此需要使用DAC转换芯片,常见的有DAC0832、DAC0808等。这里以DAC0832为例,进行说明讲解。

图片

图片

图片

DAC032是一款8位、接口简单、低价格的DAC0832转换器,由倒T型R-2R电阻网络,模拟开关、运算放大器和参考电压Vref构成。虽是早期的ADC芯片,但对于学习也是很有帮助的。

一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。


参数:

工作电压+5~+15V;

分辨率:8位,1/256

电流稳定时间1us;

单缓冲、双缓冲或直接数字输入

低功耗20mW

参考电压-10V~+10V


工作方式:

单缓冲

图片

控制输入寄存器

双缓冲

图片

控制输入寄存器和数据寄存器

直通

图片

无需控制,数据直入直出

引脚说明:

D0-D7——数据输入,TTL电平

ILE:数据锁存允许控制信号,高电平有效;

CS:片选信号,低电平有效;

WR1:输入寄存器的写选通信号;

 XFER:数据传送控制信号输入,低电平有效;

WR2:DAC寄存器写选通信号;

Iout1:电流输出线,输入全1时,Iout1最大;

Iout2:电流输出线,其值与Iout1之和为常数;

Rfb:反馈电阻引脚;

Vref:基准电压


这里我们使用单极性输出进行仿真

Vo=-Vref*D/256,D=0-255

Vref=5V时,Vout=0~-5*255/256=0~-5V

所以Iout1接放大器的-端,Iout2接GND,才能输出+Vout。


转换时序

图片

根据时序要求进行编程即可。

static void Init(void)

{

  P2 &= 0x1F;    //关闭LED, 数码管  

  DACCS = 0;    //片选有效

  DACWR = 0;    //启动DAC0832写入数据

}


/*  正弦波数据  */

uint8_t code sin[64]=

{

  135,145,158,167,176,188,199,209,218,226,

  234,240,245,249,252,254,254,253,251,247,

  243,237,230,222,213,204,193,182,170,158,

  146,133,121,108,96,84,72,61,50,41,32,24,

  17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,

  55,66,78,90,102,114,128

};


static void SinWave(void)

{

  static uint8_t i = 0;

  for(i = 0;i < 64;i++)

  {

    P0 = sin[i];

  }

}


关键字:C51  DAC 引用地址:Proteus C51仿真学习板10——DAC

上一篇:单片机 步进电机 驱动程序 ULN2003 28BYJ-48 5线4相电机
下一篇:Proteus C51仿真学习板9——IIC

推荐阅读最新更新时间:2024-11-05 22:46

Keil C51对C语言的关键词扩展之十六:sfr16
sfr16定义一个16位的特殊功能寄存器: sfr16 name = address; name 16位特殊功能寄存器名称 address 16位特殊功能寄存器地址 一些8051系列产品拥有16位的特殊功能寄存器,比如8052使用地址0XCC、0XCD表示定时/计数器2的低字节、高字节。C51编译器提供sfr16数据类型以便将两个8位特殊功能寄存器当做一个16位寄存器来访问。 sfr16只能在小端模式下使用,低字节的地址作为16位特殊功能寄存器的地址: sfr16 T2 = 0xCC; /* Timer 2: T2L 0CCh, T2H 0CDh */ sfr16 RCAP2 = 0xCA
[单片机]
音频DAC的工作原理
高分辨率音频DAC 大都采用多级幅度量化高阶Σ - Δ调制器结构。这样,在实际应用中可以提高音频动态范围,减小对时钟抖动的敏感度,降低由此引发的失真;内置过采样的数字滤波器具有2种可供选择的滚降特性: 慢滚降和陡滚降。对于, 其内部是采用8 级幅度量化和4 级噪声整形技术。8 级调制器结构具有更高的稳定性和抗抖动能力。过采样调制器和内插滤波器的采样率是64 fs。图1 是PCM1748的结构图。 图1 的结构原理图 BCK: 音频数据位时钟; DATA: 音频数据输入; LRCK: 左右声道音频数据的锁存; 以上3 个引脚都是数字逻辑, 耐压能力5V。 ML: 模式 控制 锁存输入; MC: 模式控制数据输入; SCK
[模拟电子]
keil c51和keil mdk的共存方式
keil c51版本c51v959,2018年版本 最新是C51V960A.EXE keil mdk 5.29,目前最新版本 两个安装好后都是绿颜色的图标了,之前老的版本是mdk4.74 c51v906,他俩是蓝色的图标 安装过程记得不要安装到一个目录中,这样反正是没问题的,安装同目录没有试验过。 在桌面上分别把两个uv4.exe创建快捷方式,别重命名,举例:keilARM和keilC51 这样,就带来了一定的麻烦就是前一次打开过51工程,那么打开mdk的ide就不会自动打开arm的工程。需要手动打开。 简单记录下。 还有一点就是,由于很多半导体公司已经收购或者合并,传统的51需要到新的产家目录下面去选择,at89c
[单片机]
单片机C51串口接收(中断)和发送例程
//这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样 #include reg52.h #include string.h #define INBUF_LEN 4 //数据长度 unsigned char inbuf1 ; unsigned char checksum,count3; bit read_flag=0; void init_serialcomm(void) { SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enab
[单片机]
C51 两种对内存空间地址写数据的方法
方法一: unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ CH375_CMD_PORT = Data; 方法二: *((unsigned char xdata *) 0xBDF1) = Data; 类似:DSP2407的头文件 voatile unsigned int * IMR = (volatile unsigned int *)0x0004; *IMR = value;
[单片机]
DAC构成开环、闭环和“设定后便不需再过问”系统
当选择数模转换器 (DAC) 时,设计师可以从种类繁多的 IC 中选择。DAC 可以针对具体的应用划分成很多不同类别。不过,DAC 的划分也可以简化,仅分成 DC 或低速调节所需的 DAC和产生高速波形所需的 DAC。 本文专注于低速应用所需的 DAC,而无论该应用是低分辨率还是高分辨率、是粗略调节还是精细调节。 就选择低速 DAC 而言,决定设计是闭环、开环或“设定后便不需再过问”的系统是很重要。每一种设计都需要一个具某些关键性能规格的 DAC。 闭环系统 闭环系统包括一条反馈通路,以检测和校准任何误差。传感器根据诸如伺服电动机、流量阀或温度检测单元等的物理参数监视输出。然后传感器将数据馈送回控制器
[模拟电子]
C51中的code关键字
单片机C语言unsigned char code table code 是什么作用? code 的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVC(好像是),因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。 程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的,cpu从code区读取指令,对data区的数据进行运算处理,因此code区存储在什么介质上并不重要,象以前
[单片机]
带辅助DAC的双路Σ-Δ转换器的原理及应用
1. 内部框图 AD公司新近推出的这种带辅助DAC的双路Σ-Δ模数转换器,是一个完整的15位CMOS模数转换器件。它采样速率高,功耗低,且输入端兼有信号处理功能,接收通道上的两个带数字滤波器的Σ-Δ型ADC合用一个能隙参考基准。控制DAC可执行AFC的功能,其它辅助功能可以从辅助串行端口获得,以满足器件多方面的性能要求。 图1所示为AD7729的内部框图。AD7729主要有两大部分组成:模数转换器和辅助数模转换器。模数转换器由Σ-Δ型ADC、数字滤波器、偏移调整和主串行通讯接口组成;数模转换器由10位辅助DAC、输出缓冲器和辅助串行接口组成。 1.1 模数转换器 模数转换器部分有I和Q两个通道,分别由一个开关电容滤波器和一
[电源管理]
带辅助<font color='red'>DAC</font>的双路Σ-Δ转换器的原理及应用
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved