標(biāo)題:
TLC0838 8路AD 51單片機程序分享
[打印本頁]
作者:
51黑bug
時間:
2016-6-23 21:58
標(biāo)題:
TLC0838 8路AD 51單片機程序分享
8路8位串行AD TLC0838與51系列單片機的接口程序,可多片并聯(lián),共用時鐘線與數(shù)據(jù)線適用于多路采集,本程序中使用兩片可采集16路
0.png
(57.77 KB, 下載次數(shù): 109)
下載附件
2016-6-23 21:57 上傳
完整代碼下載:
0838.rar
(722 Bytes, 下載次數(shù): 33)
2016-6-23 21:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
void main(void)
{
Byte data1;
data1=AD_0838(0,2);
while(1);
}
/**********************************************************
目的:運用TLC0838,輸入通道值,讀取AD轉(zhuǎn)換值
輸入?yún)?shù):1、通道值TDZ
輸出參數(shù):1、AD轉(zhuǎn)換結(jié)果AD_JG
相關(guān)管腳:1、ADCS1=P1^3 第一個0838-AD片選 2、ADCS2=P1^0 第二個0838-AD片選
3、ADCLK=P1^1 0832-AD時鐘 4 、ADIO=P1^4 0832-AD數(shù)據(jù)
*/
Byte AD_0838(Byte TDZ,Byte Number)
{
Byte Bit[8];
Byte TDZ_MID;
Byte i;
Byte AD_JG=0x00;
Bit[0]=0x01;
Bit[1]=0x02;
Bit[2]=0x04;
Bit[3]=0x08;
Bit[4]=0x10;
Bit[5]=0x20;
Bit[6]=0x40;
Bit[7]=0x80;
switch(TDZ)
{
case 0 :TDZ_MID=0x18;break;
case 1 :TDZ_MID=0x1c;break;
case 2 :TDZ_MID=0x19;break;
case 3 :TDZ_MID=0x1d;break;
case 4 :TDZ_MID=0x1a;break;
case 5 :TDZ_MID=0x1e;break;
case 6 :TDZ_MID=0x1b;break;
case 7 :TDZ_MID=0x1f;break;
}
switch(Number)
{
case 1:ADCS1=1;break;
case 2:ADCS2=1;break;
}
RS_ADIO=0;
CM8880CLK_ADCLK=0;
switch(Number)
{
case 1:ADCS1=0;break;
case 2:ADCS2=0;break;
}
for(i=5;i>0;i--)
{
RS_ADIO=TDZ_MID&Bit[i-1];
AD_0838_Pulse();
}
CM8880CLK_ADCLK=1;
for(i=8;i>0;i--)
{
AD_0838_Pulse();
if(RS_ADIO)AD_JG|=Bit[i-1];
}
switch(Number)
{
case 1:ADCS1=1;break;
case 2:ADCS2=1;break;
}
return AD_JG;
}
void AD_0838_Pulse(void)
{
Byte i;
CM8880CLK_ADCLK=1; //get a pulse about 52 us
for(i=0;i<4;i++)
{
_nop_();
}
CM8880CLK_ADCLK=0;
for(i=0;i<4;i++)
{
_nop_();
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1