📄 tlc549.c
字号:
//功能:串行AD转换器TL549进行一路模拟量的测量
//驱动TLC549,TLC549是串行8位ADC
//使用的接口 /CS = P1.2, DAT = P1.1, CLK = P1.0
#include <REG51.h>
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char
//定义TLC549串行总线操作端口
sbit CLK=P1^0;
sbit DAT=P1^1;
sbit CS=P1^2;
uchar bdata ADCdata;
sbit ADbit=ADCdata^0;
/***************************************************
**函数名称: TLC549ADC()
**函数功能: 读取上一次A/D转换的数据,启动下一次A/D转换
****************************************************/
uchar TLC549ADC(void)
{
uchar i;
CLK=0;
DAT=1;
CS=0;
for(i=0;i<8;i++)
{
CLK=1;
_nop_();
_nop_();
ADCdata<<=1;
ADbit=DAT;
CLK=0;
_nop_();
}
return (ADCdata);
}
void main()
{
uchar i;
uchar AD_DATA; //定义A/D转换数据变量
TLC549ADC(); //启动一次A/D转换
for(i=0xff;i>0;i--) //延时
{_nop_();}
AD_DATA=TLC549ADC(); //读取当前电压值A/D转换数据
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -