DAC0832实现 数字量转换成模拟量
DAC0832工作方式,根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。
1、单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。

2、双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。
3、直通方式。直通方式是资料不经两级锁存器锁存,即 CS,XFER ,WR1 ,WR2 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。
我们这个程序采用的是直通方式
程序:
源代码:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit DACS=P3^2;
sbit DAWR=P3^4;
sbit leden=P1^6;
sbit dzen=P2^0;
void delay_ms(uint z)
{
uint x,
uchar y;
for(x=z;x>0;x--)
for(y=115;y>0;y--);
}
void main()
{
uchar i;
DACS=0; //直通方式
DAWR=0; //直通方式
leden=0; //关闭锁存器
dzen=0; //关闭锁存器
while(1)
{
P0=i;
delay_ms(2);
i++;
}
}
仿真结果: