標(biāo)題:
就上圖熱電偶溫度采集代碼如下。
[打印本頁]
作者:
2581711271
時間:
2017-1-13 22:54
標(biāo)題:
就上圖熱電偶溫度采集代碼如下。
#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitSO=P3^0;
sbitSCK=P3^1;
sbitCS=P3^2;
sbitRelay=P1^0;
sbitk1=P1^1;
sbitk2=P1^2;
sbitk3=P1^3;
sbitsound=P3^7;
ucharcodeTab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uintadc;
ucharflag;
voiddelay(uintx)
{while(x--);}
voidtime_init()
{
TMOD=0x01;
TH0=0x3C;
TH0=0xB0;
TL0=0xe0;
TR0=1;
ET0=1;
}
voidtime_isr()interrupt1
{
staticucharx,s;
TH0=0x3C;
TH0=0xB0;
x++;
if(x>20)
{
x=0;
s++;
if(s>60)
{
s=0;
EA=0;
sound=0;}}}uintRead_6675()
{
uchari=0;
uinttemp=0;
uintdat6675=0;
//接口初始化
CS=1;
SCK=0;
delay(10);
CS=0;
delay(10);
for(i=0;i<16;i++)//獲取16位數(shù)據(jù)
{
SCK=1;
temp=temp<<1;
if(SO==1)
temp=temp|0x01;
SCK=0;
delay(10);
}
CS=1;
temp=temp<<1;//取出其中12位溫度數(shù)據(jù)
temp=temp>>4;
dat6675=(double)temp*1024/4096-24;
dat6675-=(dat6675/100);
//dat6675=temp;
returndat6675;}
voidDisplay(uintdat)//顯示的數(shù)值為毫伏
{
ucharge,shi,bai,qian;
qian=dat/1000%10;
bai=dat/100%10;
shi=dat/10%10;
ge=dat%10;
P2=0xfe;
P0=Tab[qian];//|0x80;//最高位加小數(shù)點(diǎn)
delay(100);
P2=0xfd;
P0=Tab[bai];
delay(100);
P2=0xfb;
P0=Tab[shi];
delay(100);
P2=0xf7P0=Tab[ge];
delay(100);}
voidkey1()
{
if(k1==0)
{
delay(100);
if(k1==0)
{
flag=4;
Relay=0;
sound=0;
EA=0;
}
}
while(k1==0);}
voidkey2()
{
if(k2==0)
{
delay(100);
if(k2==0)
{
Relay=1;
flag=1;
}
}
elseif(adc<600)
{
Relay=0;
flag=0;
}
elseif((adc>=600)&&(flag!=4))
{
Relay=1;
flag=2;}}
voidkey3()
{
if(k3==0)
{
delay(100);
if(k3==0)
{
Relay=0;;
sound=0;}}
while(k3==0);}
voidkey()
{
key1();
key2();
key3();}
voidmain()
{
Relay=0;
sound=0;
time_init();
while(1)
{
key();
if((flag!=0)&&(flag!=4))
adc=Read_6675();
else
adc=0;
Display(adc);
if((flag==2)&&(adc<600))
{
EA=1;
sound=1;
flag=0;
}}}
作者:
admin
時間:
2017-1-13 23:04
樓主 圖呢?
作者:
MeMine
時間:
2017-3-2 15:06
沒有圖呀
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1