久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于熱敏電阻的單片機溫度測量系統設計源碼與電路圖
[打印本頁]
作者:
晴陽
時間:
2018-4-16 09:33
標題:
基于熱敏電阻的單片機溫度測量系統設計源碼與電路圖
本課題用一種基于單片機的數據采集系統方案,該方案根據熱敏電阻隨溫度變化而變化的特性,采用串聯分壓電路。單片機采集熱敏電阻的電壓,通過A/D轉換將模擬量電壓信號轉換成數字量電壓信號,經過查表轉換得到溫度值,控制液晶屏實時顯示溫度值。本系統中所用到的器件是STC89C52單片機、NTC熱敏電阻和LCD1602液晶顯示屏。
原理圖如下
原理圖.PNG
(84.09 KB, 下載次數: 64)
下載附件
圖1 總體電路原理圖
2018-4-16 09:31 上傳
單片機源程序如下:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P0^5;
sbit rw=P0^6;
sbit e= P0^7;
sbit ADCS=P1^0;
sbit ADCLK=P1^1;
sbit ADDI=P1^2;
sbit ADDO=P1^2;
uchar code tab3[]="Low-temperature ";
uchar code tab4[]="Over-temperature";
uchar code tab5[]=" Error ";
uchar code tab6[]=" Temp:";
uchar code tab7[]=" Normal ";
uchar code tab1[]="0123456789";
uchar code tab2[]=
{79,78,77,76,75,74,73,72, //溫度補償表
71,70,69,68,67,67,66,65,
64,63,63,62,61,60,60,59,
58,58,57,56,56,55,54,54,
53,53,52,52,51,50,50,49,
49,48,48,47,47,46,46,45,
45,44,44,43,43,43,42,42,
41,41,40,40,39,39,39,38,
38,37,37,36,36,36,35,35,
34,34,34,33,33,33,32,32,
31,31,31,30,30,30,29,29,
28,28,28,27,27,27,26,26,
26,26,25,25,24,24,23,23,
23,22,22,22,21,21,21,20,
20,20,19,19,19,18,18,18,
17,17,17,16,16,16,15,15,
15,14,14,13,13,13,12,12,
12,11,11,11,10,10,10,9,
9,9,8,8,7,7,7,6,
6,6,5,5,4,4,4,3,
3,3,2,2,1,1,1,0,
0,1,1,2,2,2,3,3,
4,4,5,5,6,6,7,7,
8,8,9,9,10,10,11,11,
12,12,13,14,15,15,16,17,
17,18,19,19,20};
uint ad,ad1;
//*********延時50us*t*******************
void delay_50us(uint t)
{
uchar j,z;
for(z=t;z>0;z--)
for(j=19;j>0;j--);
}
//**************************************
//**********延時1ms*z*******************
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//**************************************
//*********寫指令****************
void write_com(uchar com1)
{
e=0;
rs=0;
rw=0;
P2=com1;
delay_50us(10);
e=1;
delay_50us(20);
e=0;
}
//**********寫數據*******************
void write_data(uchar dat1)
{
e=0;
rs=1;
rw=0;
P2=dat1;
delay_50us(10);
e=1;
delay_50us(20);
e=0;
}
//*****液晶初始化*******************
void lcd1602init()
{
delay_50us(300);
write_com(0x38);
write_com(0x08);
write_com(0x01);
write_com(0x06);
write_com(0x0c);
}
//***********AD轉換模塊**************
uint ADC0832(uchar channel)
{
uchar i;
uint dat=0;
uchar ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel>>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿3
ADDI=1;//控制命令結束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收數據
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時鐘脈沖
_nop_();
_nop_();
dat<<=1;
if(i==7)dat|=ADDO;
}
for(i=0;i<8;i++)
{
ndat>>=1;
if(ADDO==1)
ndat|=0x80;
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時鐘脈沖
_nop_();
_nop_();
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高數據端,回到初始狀態
if(dat==ndat)
{
return(ndat);
}
else
{
return(0x00);
}
}
//**************顯示模塊***********************
void disp()
{
ad1=ad-29;
write_com(0x80);
if(ad<29)
{
uchar i;
for(i=0;i<16;i++)
{
write_data(tab4[i]);
}
write_com(0x80+0x40);
for(i=0;i<16;i++)
{
write_data(tab5[i]);
}
}
else if(ad>233)
{
uchar i;
for(i=0;i<16;i++)
{
write_data(tab3[i]);
}
write_com(0x80+0x40);
for(i=0;i<16;i++)
{
write_data(tab5[i]);
}
}
else if(ad>=29&&ad<=233)
{
uchar i;
for(i=0;i<16;i++)
{
write_data(tab7[i]);
}
write_com(0x80+0x40);
for(i=0;i<7;i++)
write_data(tab6[i]);
if(ad>197)
{
write_data('-');
write_data(tab1[(tab2[ad1])/10]);
write_data(tab1[(tab2[ad1])%10]);
}
else
{
write_data(' ');
write_data(tab1[tab2[ad1]/10]);
write_data(tab1[tab2[ad1]%10]);
}
write_data(0xdf); //顯示溫度符號
write_data('C');
}
}
//***************主函數***********************
void main()
{
lcd1602init(); //液晶初始化
while(1)
{
ad=ADC0832(0); //讀取溫度值
disp(); //調用顯示程序
}
}
復制代碼
完整的Word格式文檔51黑下載地址:
基于單片機的溫度測量儀的設計.docx
(495.57 KB, 下載次數: 142)
2018-4-16 09:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
128xyy
時間:
2018-6-17 20:10
實用不過你用的是差分還是單通道
作者:
cpzhenkeai
時間:
2020-1-19 14:52
為什么液晶顯示不出來啊
作者:
13643703500
時間:
2020-4-29 16:29
很棒的 很實用
作者:
木比白
時間:
2020-5-28 09:15
好兄弟,led怎么不亮
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲久久
|
一区二区三区av
|
91精品国产乱码久久久久久久久
|
色综合天天天天做夜夜夜夜做
|
日韩在线不卡视频
|
欧美日韩一区不卡
|
欧美激情 一区
|
亚洲国产二区
|
韩三级在线观看
|
97久久国产
|
久久婷婷麻豆国产91天堂
|
亚洲免费视频在线观看
|
免费精品视频一区
|
亚洲免费人成在线视频观看
|
91精品久久久久久久久中文字幕
|
日韩精品久久久
|
亚洲理论在线观看电影
|
91人人视频在线观看
|
日韩高清一区二区
|
国内精品久久久久久
|
看av网址
|
国产欧美一区二区三区日本久久久
|
国产精品成av人在线视午夜片
|
亚洲一区不卡
|
男人天堂视频在线观看
|
h视频免费在线观看
|
国产精品国产三级国产aⅴ中文
|
天天操天天怕
|
亚洲视频第一页
|
色视频成人在线观看免
|
中文二区
|
国产精品久久久久久
|
欧美极品少妇xxxxⅹ免费视频
|
欧美一级黄色片
|
亚洲男人的天堂网站
|
在线播放中文
|
国产精品久久久久久久久久久免费看
|
99视频在线免费观看
|
日韩一二三
|
av一级久久
|
国产精品久久久久久久久久免费看
|