標(biāo)題:
TLC2543 AD轉(zhuǎn)換電壓程序
[打印本頁(yè)]
作者:
a2875946765
時(shí)間:
2019-1-26 10:22
標(biāo)題:
TLC2543 AD轉(zhuǎn)換電壓程序
通過(guò)SPI用51單片機(jī)和TLC2543進(jìn)行AD轉(zhuǎn)換讀取電壓值
單片機(jī)源程序如下:
#include "reg52.h"
#include"intrins.h"
//void Delay500ms(); //@11.0592MHz
unsigned int AD_Read() ;
//void Delay10us(); //@11.0592MHz
//void Delay3000ms(); //@11.0592MHz
sbit SCK= P1^0;
sbit RES_CS= P1^1;
sbit DI = P1^2;
sbit DO = P1^3;
code unsigned char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0-9段碼顯示
int main()
{
unsigned char j,a,aa,aaa,aaaa;
unsigned int advalue=0;
float value;
while(1)
{
advalue=AD_Read();
// value=(advalue*5)/65536.0;
// advalue=value*10000;
a=advalue%10;
advalue=advalue/10;
aa=advalue%10;
advalue=advalue/10;
aaa=advalue%10;
aaaa=advalue/10;
P3=0xfe;
P2=~seg[aaaa];
for(j=0;j<100;j++);
P3=0xfd;
P2=~seg[aaa];
for(j=0;j<100;j++);
P3=0xfb;
P2=~seg[aa];
for(j=0;j<100;j++);
P3=0xf7;
P2=~seg[a];
for(j=0;j<100;j++);
}
}
unsigned int AD_Read()
{
unsigned char i,j,command=0x0c;
unsigned int value;
RES_CS = 1;
_nop_();
SCK = 0;
_nop_();
RES_CS = 0;
_nop_();
for(i=8;i>0;i--)
{
command <<= 1;
DI = CY; //CY為狀態(tài)寄存器進(jìn)位標(biāo)志位,將command的最高位賦給DI
_nop_();
SCK = 1;
_nop_();
SCK = 0;
_nop_();
value=value<<1;
j=DO;
if(j==1)
{
value|=0x01;
}
}
for(i=8;i>0;i--)
{
_nop_();
SCK = 1;
_nop_();
SCK = 0;
_nop_();
value=value<<1;
j=DO;
if(j==1)
{
value|=0x01;
}
}
return value;
}
復(fù)制代碼
所有資料51hei提供下載:
TLC2543 SPI通信.zip
(31.82 KB, 下載次數(shù): 17)
2019-1-26 10:22 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2019-1-26 15:32
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1