:108.58KB : :1 :2022-10-11 15:59:02
单片机驱动24位ADC芯片CS1237如果开发者对于本文件有需要的可以参考。
单片机驱动24位ADC芯片CS1237
STM8L MCU,驱动 CS1237
void Con_CS1237(u8 dat)
{
u8 i;
u8 count_i=0;//溢出计时器
DPIN_INT();
//dat = CS_CON;// 0100 1000
SCLK_L();//SCK_0;//时钟拉低
//delay_500us(10);
while(DOUT)//芯片准备好数据输出 时钟已经为0,数据也需要等CS1237全部拉低为0才算都准备好
{
delay_500us(10);
count_i ;
if(count_i > 150)
{
SCLK_H();//SCK_1;
DOUT_H();//DAT_1;
printf("超时\r\n");
return;//超时,则直接退出程序
}
}
for(i=0;i<29;i )// 1 - 29
{
// One_CLK;
SCLK_H();//SCK_1;
NOP40();
SCLK_L();//;SCK_0;
NOP40();
}
DPIN_OUT();
SCLK_H();NOP30();DAT_1;SCLK_L();NOP30();//SCK_1;NOP30();DAT_1;SCK_0;NOP30();//30
SCK_1;NOP30();DAT_1;SCK_0;NOP30();//31
SCK_1;NOP30();DAT_0;SCK_0;NOP30();//32
SCK_1;NOP30();DAT_0;SCK_0;NOP30();//33
SCK_1;NOP30();DAT_1;SCK_0;NOP30();//34
SCK_1;NOP30();DAT_0;SCK_0;NOP30();//35
SCK_1;NOP30();DAT_1;SCK_0;NOP30();//36
One_CLK;//37 写入了0x65
for(i=0;i<8;i )// 38 - 45个脉冲了,写8位数据
{
SCK_1;
NOP40();
if(dat&0x80)
DAT_1;
else
DAT_0;
dat <<= 1;
SCK_0;
NOP40();
}
One_CLK;//46个脉冲拉高数据引脚
}
10-19PIC单片机流水灯.c
10-19单片机翻屏C语言代码.c
10-19新手教学单片机跑马灯实列代码
10-1951单片机433遥控解码(带学习功能)