基本信息
源码名称:单片机驱动24位ADC芯片CS1237
源码大小:6.74KB
文件格式:.c
开发语言:C/C++
更新时间:2021-12-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 1 元 
   源码介绍

单片机驱动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个脉冲拉高数据引脚
}