-
大小: 2.62MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-09-20
- 語(yǔ)言: 其他
- 標(biāo)簽: Labview??數(shù)據(jù)采集??
資源簡(jiǎn)介
一個(gè)簡(jiǎn)單的Labview與單片機(jī)示波器連接vi,可以實(shí)現(xiàn)多通道波形實(shí)時(shí)數(shù)據(jù)采集功能。111111222222

代碼片段和文件信息
#include?
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
//ADC控制端定義
#define?CLK?P2_4?//時(shí)鐘端
#define DI?P2_5 ?//數(shù)據(jù)輸入端 ????
#define?DO?P2_6 ?//數(shù)據(jù)輸出端?
#define?CS?P2_7 ?//ADC使能端
#define?EOC P1_7?//轉(zhuǎn)換結(jié)束
//函數(shù)聲明
double?GetADC(unsigned?char?port);//ADC讀取數(shù)據(jù)
void?Delay(uint?n);//延時(shí)子程序
void?LCD_show(double?a);//LCD顯示字符
void?uart_init(void);//串口初始化
void?timer_init(void);//定時(shí)器T0
//全局變量
double?u=0;
uint?mi;
unsigned?char?num[]={‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};?//LCD顯示
unsigned?char?buff[20];
void?main()
{
????uart_init();
??? timer_init();?
???while(1)
???{?}
} ?
void?timer_init(void)
{
TMOD|=0x02;
TH0=256-10;
TL0=256-10;
EA=1;??????//打開總中斷
ET0=1;?????//定時(shí)器T0使能打開
TR0=1; ?//開定時(shí)器
}
void?t0_time()interrupt?1
{
TR0=0;
??for(i=0;i<10;i++)
{
u+=GetADC(2);?//讀電壓
}
u=u/10;
u=(u/4095)*5;
LCD_show(u);
ES=0;??????//關(guān)閉串口中斷
for(m=0;m<5;m++)
{
SBUF=buff[m];
while(!TI);
TI=0;??????//清發(fā)送完成標(biāo)志位
??}
??//換行
SBUF=‘\n‘;
??while(!TI);
??TI=0;
ES=1;//開串口中斷
TR0=1;//啟動(dòng)定時(shí)器
}
void?Delay(uint?n)
{?
??uint?x;
??for(x=0;x _nop_();
}
double?GetADC(unsigned?char?port)//ADC讀電壓
{
unsigned?char?ial=0ah=0;
unsigned?long?ad;
CLK=0;
CS=0;
port<<=4;?????//通道號(hào)左移4位
for(i=0;i<4;i++)
{
DI=port&0x80;
CLK=1;
Delay(1);
CLK=0;
Delay(1);
port<<=1;
}
DI=0;
for(i=0;i<8;i++)
{
CLK=1;
Delay(1);
CLK=0;
Delay(1);
}
CS=1;
EOC=1;
do?
{
??EOC=1;
??????Delay(1);
????}
while(!EOC);
CS=0;
for(i=0;i<4;i++)
{?
DO=1;
CLK=1;
ah<<=1;
if(DO)
ah|=0x01;
CLK=0;
}
for(i=0;i<8;i++)
{?
DO=1;
CLK=1;
al<<=1;
if(DO)???????
al|=0x01;
CLK=0;
}
CS=1;
ad=(unsigned?int)ah;
ad<<=8;
ad|=al;
return(ad);
}
void?LCD_show(double?a)
{???
????
??int?bci=0j=0;
??? b=(int)a;
?? a=a-b;????//b為整數(shù),a為小數(shù)
??if(b<10)???? ??
i=1;????//1位數(shù)
??else?if(b<100)?
i=2;????//2位數(shù)
??else?if(b<1000)
i=3;
?else?if(b<10000)
i=4;
?
for(j=0;j {?
c=b%10;
buff[i-j-1]=num[c];
b=b/10;
}
buff[i]=‘.‘;
for(j=0;j<3;j++)
{?
i++;
c=(int)(a*10);
a=a*10-c;
buff[i]=num[c];
}
}
void?uart_init()
{
//9600波特率串口方式1,定時(shí)器1,方式2
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1; //啟動(dòng)T1
??SCON=0x50;
EA=1; ???//打開總中斷
ES=1; ???//打開串口中斷
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-07?09:29??單片機(jī)_labview\
?????文件?????2706579??2016-05-24?11:08??單片機(jī)_labview\AD轉(zhuǎn)換實(shí)物連接.JPG
?????文件???????23340??2018-05-07?09:29??單片機(jī)_labview\Labview_接收_2014.vi
?????目錄???????????0??2018-05-07?08:57??單片機(jī)_labview\下位機(jī)發(fā)送程序\
?????文件???????11721??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing
?????文件????????6340??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.LST
?????文件???????12505??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.M51
?????文件???????12180??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.OBJ
?????文件????????2585??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.c
?????文件????????5980??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.hex
?????文件??????????44??2016-09-21?11:03??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.lnp
?????文件?????????196??2017-03-23?10:06??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.plg
?????文件???????71396??2017-03-23?10:09??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.uvgui.Administrator
?????文件???????71406??2016-09-21?11:27??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.uvgui_Administrator.bak
?????文件????????5377??2017-03-23?10:09??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.uvopt
?????文件???????13418??2016-05-16?17:55??單片機(jī)_labview\下位機(jī)發(fā)送程序\boxing.uvproj
評(píng)論
共有 條評(píng)論