欢迎来到天天文库
浏览记录
ID:8972244
大小:26.50 KB
页数:3页
时间:2018-04-13
《spi串行接口ad转换器tlc2543》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SPI串行接口AD转换器TLC2543的应用作者: 来源:mcuzb //-----------------------函数声明,变量定义--------------------------------------------------------#include#include//----------------------------------------------------------------------------------------
2、----------// 2543控制引脚宏定义//--------------------------------------------------------------------------------------------------sbitSS1=P1^0; //将p1.0口模拟片选sbitSCK=P1^1; //将p1.1口模拟时钟输出sbitMOSI=P1^2;
3、 //将p1.2口模拟主机输出sbitMISO=P1^3; //将p1.3口模拟主机输入//-----------------------预定义控制字--------------------------------------------------------#defineCONTROL_WORD 0x00 //选择通道0,输出数据长度12bit,MSB,单极性二进制数//----------------
4、----------------------------------------------------------------------------------//函数名称:delay//入口参数:N//函数功能:延时子程序,实现(16*N+24)us的延时//系统采用11.0592MHz的时钟时,延时满足要求,其它情况需要改动//-------------------------------------------------------------------------------------
5、------------- voiddelay(unsigned intN) { inti; for(i=0;i6、----------------------------------------------------------------------------unsignedintread2543(unsignedcharCON_WORD){unsignedintad=0,i;SCK=0;SS1=0;for(i=0;i<12;i++){ if(MISO)ad7、=0x01; MOSI=(bit)(CON_WORD&0x80); SCK=1; delay(3); SCK=0; delay(3); CON_WORD8、<<=1; ad<<=1;}SS1=1;ad>>=1;return(ad);}//--------------------------------------------------------------------------------------------------// 名称:main// 功能:主函数// 输入参数:无// 输出参数:无//----------------------------------------------------------------------------9、----------------------voidmain(){unsignedintad;while(1){ ad=read2543(CONTROL_WORD);}}
6、----------------------------------------------------------------------------unsignedintread2543(unsignedcharCON_WORD){unsignedintad=0,i;SCK=0;SS1=0;for(i=0;i<12;i++){ if(MISO)ad
7、=0x01; MOSI=(bit)(CON_WORD&0x80); SCK=1; delay(3); SCK=0; delay(3); CON_WORD
8、<<=1; ad<<=1;}SS1=1;ad>>=1;return(ad);}//--------------------------------------------------------------------------------------------------// 名称:main// 功能:主函数// 输入参数:无// 输出参数:无//----------------------------------------------------------------------------
9、----------------------voidmain(){unsignedintad;while(1){ ad=read2543(CONTROL_WORD);}}
此文档下载收益归作者所有