/*************************************** 一次转换的A/D转换子程序 功能:1.参数port是采样的通道号 在第十一通道再扩展八路 2.从TLC2543读取采样值 ***************************************/ uint adbyte(uchar port) { uint idata addata; uchar idata i,al,ah; SCK=0; EA=0; ADCS=0; //片选有效 port<<=4; port=port|0x0c; //选择16输出数据长度 for(i=0;i<8;i++) //把通道号写入2543 { SI=(bit)(port&0x80); ah<<=1; SCK=1; if(SO) ah|=1; //取D11--D4 SCK=0; port<<=1; } for (i=0;i<8;i++) { al<<=1; SCK=1; if(SO) al|=1; //取D3--D0 SCK=0; } ADCS=1; addata=ah; addata<<=4; al>>=4; addata|=al; //得到AD转换的12位数据 EA=1; return (addata); }
|