[蓝桥杯国赛]AD/DA

序言

按照时序图配置即可及说明配置即可

[蓝桥杯国赛]AD/DA_第1张图片
[蓝桥杯国赛]AD/DA_第2张图片[蓝桥杯国赛]AD/DA_第3张图片

AD操作代码

u8 read_adc(u8 add)
{
	u8 temp;
	IIC_Start();
	IIC_SendByte(0x90);
	IIC_WaitAck();
	IIC_SendByte(add);
	IIC_WaitAck();
	
	IIC_Start();
	IIC_SendByte(0x91);
	IIC_WaitAck();
	temp=IIC_RecByte();
	IIC_WaitAck();
	
	IIC_Stop();
	return temp;
}

DA操作代码

模拟输出量Vout= VREF/255*dat; (VREF为参考电压mv)

void adc_set(uint8 dat)
{
	IIC_Start(); 
	IIC_SendByte(0x90); // 地址+写
	IIC_WaitAck();
	IIC_SendByte(0x40);// DAC输出模式
	IIC_WaitAck();
	
	IIC_SendByte(dat);  //DAC写入数据
	IIC_WaitAck();
	IIC_Stop();
}

你可能感兴趣的:(蓝桥杯)