代码:
DAC0832和C51
#include<reg52.h>
#define uint unsigned int
uint a,i,j;
sbit dawr=P3^6; 对DA的WR1 引脚进行定义
sbit csda=P3^2; 对DA的CS 引脚进行定义
sbit dula=P2^6; 数码管引脚定义
sbit wela=P2^7;
void delay(uint);
void main()
{
csda=0; CS等于0时接着让WR也等于0
dawr=0;
dula=0;
wela=0;
while(1)
{
for(a=0;a<256;a++)
{
P0=a; 给DA 数据输入端送入数据a
delay(10);
}
}
}
void delay(uint x)
{
for(i=x;i>0;i--)
{
for(j=120;j>0;j--);
}
}
1、把数字信号转换成模拟信号
单片机只能识别 0和1 但是有些时候需要用到不同的电压去控制设备
需要把数字信号转换成模拟信号
DA芯片:DAC0832或者DA模块
2、DAC0832是使用非常普遍的8位D/A转换器,
由于其片内有输入数据寄存器,故可以直接与单片机接口相连。
DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。
属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换
3、
4、
5、
操作时序图