⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 max542_16dac_driver.c

📁 基于AD542的16位串行数模转换驱动,精度极高
💻 C
字号:
#include "SPCE061V004.H"

#define din   0x0080
#define sclk  0x0040
#define ldac  0x0020
#define cs    0x0010



 
int main()
{
	initial_iob();
	DAC(0x7fff);
	while(1)
		*P_Watchdog_Clear=1;
}


int initial_iob()
{
	*P_IOB_Dir=0x00f0;
    *P_IOB_Attrib=0x00f0;                                                           
    *P_IOB_Data=0x0000;                                                         
    	
}

int DAC(unsigned int data)
{
     unsigned int i=0;
	 *P_IOB_Data&=(~cs);//cs拉低
	 *P_IOB_Data|=ldac;//ldac拉高
	 for(i=0;i<16;i++)//写16位串行数据
	 	{
	 	    *P_IOB_Data&=(~sclk);//clk拉低
	 		if(data&0x8000) *P_IOB_Data|=din;
	 		else  *P_IOB_Data&=(~din);
	 		data=data<<1;
	 		*P_IOB_Data|=sclk;   //clk拉高
	    }
	        *P_IOB_Data|=cs;//cs拉高
	        *P_IOB_Data&=(~ldac);//ldac拉低	    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -