📄 ad.c
字号:
//**********************************************************************************
//**********************************************************************************
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -