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

📄 ad5452.c

📁 AD公司的串行ADC的驱动源码
💻 C
字号:
/************************************************************************************************
ATMEGA128 8M晶振
************************************************************************************************/
#include<avr/io.h>
#define DA_PORT PORTE
#define DA_DDR  DDRE
#define   DA_SDIN_H    DA_PORT|=_BV(PE2)
#define   DA_SDIN_L    DA_PORT&=~_BV(PE2)
#define   DA_SYNC_H    DA_PORT|=_BV(PE3)
#define   DA_SYNC_L    DA_PORT&=~_BV(PE3)
#define   DA_SCLK_H    DA_PORT|=_BV(PE4)
#define   DA_SCLK_L    DA_PORT&=~_BV(PE4)
#define   uint   unsigned int
void DA_DATA_IN(uint DA_DATA)
{   unsigned char i;
    DA_DATA=DADATA<<6;//输入的数据是八位的,而DA5452是十二位的
    DA_DATA&=~( BV(15)|BV(14) );//让控制位C0,C1置零,数据在下降沿有效
	DA_SYNC_L;
    for(i=0;i<16;i++)
	{  
	   DA_SCLK_H;
       if(DA_DATA&0X8000)
	     DA_SDIN_H;
	   else
	     DA_SDIN_L;
	   DA_SCLK_L;
	   DA_DATA=DA_DATA<<1;
	}
	DA_SYNC_H;
}
void DA_INT()
{  DA_DDR|=_BV(PE2)|_BV(PE3)|_BV(PE4);//把PE2,PE3,PE4设置为输出
}

⌨️ 快捷键说明

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