📄 ad5452.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 + -