#ifndef _SerialDAC_h_
#define _SerialDAC_h_
/*DA设置:两个片选端口,共用一个时钟端口和一个数据端口*/
#define SET_CS0 PORTC.7=1 //片选端口1
#define CLR_CS0 PORTC.7=0
#define SET_CS1 PORTC.6=1 //片选端口2
#define CLR_CS1 PORTC.6=0
#define CK_1 PORTC.4=1 //时钟端口
#define CK_0 PORTC.4=0
#define DA_1 PORTC.5=1 //数据端口
#define DA_0 PORTC.5=0
/******************************************/
/*void SerialDAC_Seting(unsigned int da) 串行DAC设置*/
/* TLC5615串行DA驱动 对两个串行DA进行设置 */
/*2009-4-3 */
/******************************************/
void SerialDAC_Seting(unsigned int da,unsigned char dnum)
{
da <<= 6;//10有效数据左对齐
CLR_CS0;
CK_0;
for (i=0;i<12;i++)
{
if(da & 0x8000)
DA_1;
else
DA_0;
CK_1;
da <<= 1;
CK_0;
}
SET_CS0;
CK_0;
delay_us(100);
data1 <<= 6;//10有效数据左对齐
CLR_CS1;
CK_0;
for (i=0;i<12;i++)
{
if(data1 & 0x8000)
DA_1;
else
DA_0;
CK_1;
data1 <<= 1;
CK_0;
}
SET_CS1;
CK_0;
}
#endif
用户468157 2015-6-29 09:51
用户377235 2012-9-10 16:22
很有启发性,希望有更多这样的文章出现。
sharcky 2009-12-1 16:47
用户124881 2009-12-1 12:16
用户1400544 2009-10-30 16:25
用户1400948 2009-5-22 09:37