ad.c

来自「此文档是网上一款开发板的完整系统,内附有电路图纸!系统有完整的接口程式,包含了字」· C语言 代码 · 共 48 行

C
48
字号
//**********************************************************************************
//**********************************************************************************
//TLC0832的AD采样函数模块,串行采样,共两个通道.
#define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long
#include <reg52.h>

//**************************
//通过TLC0832采样模拟数据
//入口:采样通道,共两个:0或者1。
//返回:采样值
sbit SCS=P1^4;
sbit SCLK=P1^7;
sbit SDOUT=P1^6;
sbit SDIN=P1^5;
uchar bdata DATAIN;
sbit BITIN=DATAIN^0;
uchar get_ad(bit channel)
{ 
	uchar i;

	SCLK=0;	
	SCS=1;//选通允许 
	SCS=0;	
	SDIN=1;	//启动位
	SCLK=1;
	SDIN=1;//SGL
	SCLK=0;
	SCLK=1;
	SDIN=channel;//ODD=1; 选CH1通道,采样光敏电阻。ODD=0; 选CH0通道,采样咪头。
	SCLK=0;
	SCLK=1;
	SCLK=0;
	//MUX seting time
	SCLK=1;
	SCLK=0;
	for(i=0;i<8;i++)
	{
		DATAIN=DATAIN<<1; //移位8次取到采样的值
		BITIN=SDOUT;
		SCLK=1;
		SCLK=0;
	}
	SCS=1;
	return(DATAIN);	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?