ltc1860.c

来自「别人的C51菜单程序」· C语言 代码 · 共 68 行

C
68
字号
#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 + =
减小字号Ctrl + -
显示快捷键?