
51单片机 AD模数转化 tlc1549芯片
//TLC1549驱动程序直接调用就可以了。//作者:mingtree//email:ycxms88@163.comsbitadclk=P1^2;//时钟线sbitadc...
//TLC1549驱动程序 直接调用就可以了。
//作者:mingtree
//email:ycxms88@163.com
sbit adclk=P1^2; //时钟线
sbit adcs=P1^4; //CS
sbit addata=P1^3; //数据线
//======================================================================================================
//名称:ad_read()
//功能:读十位AD TLC1549 返回值是一个整形的数
unsigned int ad_read(void)
{
unsigned char i;
unsigned int adtemp;
adcs=1; //禁止I/O CLOCK
adcs=0; //开启控制电路,使能DATA OUT和I/O CLOCK
adtemp=0; //清转换变量
for(i=0;i<10;i++) //采集10次 ,即10位的
{
adclk=0; //时钟线低电平
adtemp*=2; //
if(addata)
adtemp++;
adclk=1; //时钟线恢复高电平
}
adcs=1; //读取结束
return(adtemp); //返回数据
}
adtemp*=2; // 这个干吗 展开
//作者:mingtree
//email:ycxms88@163.com
sbit adclk=P1^2; //时钟线
sbit adcs=P1^4; //CS
sbit addata=P1^3; //数据线
//======================================================================================================
//名称:ad_read()
//功能:读十位AD TLC1549 返回值是一个整形的数
unsigned int ad_read(void)
{
unsigned char i;
unsigned int adtemp;
adcs=1; //禁止I/O CLOCK
adcs=0; //开启控制电路,使能DATA OUT和I/O CLOCK
adtemp=0; //清转换变量
for(i=0;i<10;i++) //采集10次 ,即10位的
{
adclk=0; //时钟线低电平
adtemp*=2; //
if(addata)
adtemp++;
adclk=1; //时钟线恢复高电平
}
adcs=1; //读取结束
return(adtemp); //返回数据
}
adtemp*=2; // 这个干吗 展开
展开全部
左移一位呀,准备接收下一位
下一句if(addata)
adtemp++; 就是接收下一bit
下一句if(addata)
adtemp++; 就是接收下一bit

2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询