📄 ltc1860.c
字号:
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define nop() _nop_()
//接口定义
sbit ltc1860_clk =P1^3;
sbit ltc1860_do =P1^4;
sbit ltc1860_cs =P3^5;
//
uint spi_transition(void)
{
volatile uint data ad_value=0;
uchar temp1,temp2;
uchar i;
temp1=0;
temp2=0;
ltc1860_cs=1; //启动转换
ltc1860_clk=1;
nop();
nop();
nop();
ltc1860_cs=0; //启动通信
ltc1860_do=1;
for(i=0;i<4;i++)
{ ltc1860_do=1;
ltc1860_clk=0;
nop();
nop();
ltc1860_clk=1;
nop();
nop();
temp1=temp1<<1;
if(ltc1860_do)
temp1=temp1|0x01;
else
temp1=temp1&0xfe;
}
for(i=0;i<8;i++)
{ ltc1860_do=1;
ltc1860_clk=0;
nop();
nop();
ltc1860_clk=1;
nop();
nop();
temp2=temp2<<1;
if(ltc1860_do)
temp2=temp2|0x01;
else
temp2=temp2&0xfe;
}
ltc1860_cs=1;
ad_value=temp1;
ad_value=ad_value<<8;
ad_value=ad_value+temp2;
return ad_value;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -