欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于51單片機(jī)ADC采集,熱敏電阻制作溫度計(jì)程序
[打印本頁]
作者:
剛剛好黑科技
時(shí)間:
2018-2-25 16:36
標(biāo)題:
基于51單片機(jī)ADC采集,熱敏電阻制作溫度計(jì)程序
1602顯示溫度計(jì)程序.rar
(28.2 KB, 下載次數(shù): 105)
2018-2-25 16:35 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
單片機(jī)源程序如下:
#include<AT89x51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
//******************adc0832****************************//
//AD
sbit CLK=P2^1;
sbit CS=P2^2;
sbit DO=P2^3;
sbit DI=P2^3;
//繼電器
sbit jidian=P3^3;
sbit jidguan=P3^0;
//數(shù)碼管顯示
sbit fist=P2^7;
sbit seconed=P2^6;
sbit three=P2^5;
sbit forth=P2^4;
sbit k1=P3^4;
sbit k2=P3^5;
sbit k3=P3^6;
sbit k4=P3^7;
//char CC[]="11001001";
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uchar temp;
int y,a=-13;
uint vvv,i;
//通道的選擇:0x02就是單通道0;0x03就是單通道1;
//0x00就是雙通道ch0="+"; ch0="-"
//0x01就是雙通道ch0="-"; ch0="+"
//*****************************************************//
void delay(int tt)
{
while(tt--)
{for(i=0;i<120;i++);}
}
void startADC()
{
CS=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
CS=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
DI=0;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
}
void choiceADC(uint CH)//CH為0選擇通道ch0,為1,選擇ch1進(jìn)行AD轉(zhuǎn)換
{
startADC();
if(CH==0)
{
DI=1;
_nop_();
CLK=1;//上升沿DI=1
_nop_();
CLK=0;//1個(gè)下降沿DI=1
_nop_();
DI=0;
_nop_();
CLK=1;
_nop_();
CLK=0;//第3個(gè)上升沿DI=0
_nop_();
}
else
{
CLK=0;
_nop_();
DI=1;
_nop_();
CLK=1;//上升沿DI=1
_nop_();
CLK=0;//1個(gè)下降沿DI=1
_nop_();
DI=1;
_nop_();
CLK=1;//第3個(gè)上升沿DI=0
_nop_();
}
/********通道選擇結(jié)束開始讀取轉(zhuǎn)換后的二進(jìn)制數(shù)****/
CLK=1;
_nop_();
CLK=0;//下降沿讀數(shù),一下進(jìn)行判斷和處理,共8次
for(i=0;i<8;i++)
{
DI=1;
if(DO)
{
temp |=0x01;
}
else
{
temp &=0xfe;
}
CLK=0;
_nop_();
CLK=1;
temp=temp<<1;
}
// vvv=temp;
// if(temp<62) vvv=30;
// else if(temp>62&&temp<68) vvv=50;
// else if(temp>68&&temp<70) vvv=100;
// else if(temp>70&&temp<80) vvv=101;
// else if(temp>80) vvv=102;
y=a/6*(temp+16)+434;
}
void display(uint dat)
{
//P2=0x80;
fist=0; delay(1); fist=1;
seconed=0; three=0; forth=0;
P0=tab[dat/1000];
//delay(1);
//P0=0xff;
//P2=0x40;
seconed=0; delay(1); seconed=1;
fist=0; three=0; forth=0;
P0=tab[dat%1000/100];
//delay(1);
//P0=0xff;
//P2=0x20;
three=0; delay(1); three=1;
fist=0; seconed=0; forth=0;
P0=tab[dat%100/10];
//delay(1);
//P0=0xff;
//P2=0x10;
forth=0; delay(1); forth=1;
fist=0; seconed=0; three=0;
P0=tab[dat%10];
//delay(1);
//P0=0xff;
}
void main()
{ int i;
jidian=0;jidguan=0;
P0=0xff;
while(1){
choiceADC(0);
delay(1);
display(temp);
if(k3==0){i=1;
while(i)
{
choiceADC(0);
delay(1);
// if(k1==0)
// {
// delay(50);
// if(k1==0)
// {temp++;
// if(temp>255) {temp=0;}
// while(!k1);//
// }
// }
//
// if(k2==0)
// {
// delay(500);
// if(k2==0)
// {temp--;
// if(temp<0) {temp=255;}
// while(!k2);//
//
// }
// }
display(y);
if(y<30) { jidian=0;jidguan=0;P1=0xfe; } //慢 1盞綠燈亮
else if(y>32) {jidian=1;jidguan=1;P1=0xda; } //快 3盞綠燈亮
if(k4==0) {i=0;jidian=0;jidguan=1;P1=0xf7;}//開關(guān)停止,紅燈亮
}
}
}
}
復(fù)制代碼
作者:
a92031180
時(shí)間:
2018-4-3 08:58
好東西,多謝分享
作者:
大米飯
時(shí)間:
2018-4-3 10:35
精度做到多少?回頭再研究你的代碼……
作者:
249449417@qq.co
時(shí)間:
2019-3-22 14:17
長知識啦
作者:
249449417@qq.co
時(shí)間:
2019-3-22 14:18
非常不錯(cuò)
作者:
s3861592
時(shí)間:
2020-1-14 21:33
謝謝大神
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1