wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機做的溫濕度測量儀

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年07月07日   【字體:

本人去年用51單片機做的溫濕度傳感器模塊,有實物,有程序,供大家分享。
該1602液晶的D0~D7數據口連接單片機的P17~P10口,所以程序里的指令和數據都是逆向輸入的。
程序和電路圖下載: http://www.izizhuan.cn/f/溫濕度傳感器+1602原理圖.rar


#include<reg52.h> 
#include<intrins.h> 
#include<math.h> 
#define uchar unsigned char 
#define uint unsigned int 

#define noACK 0 
#define ACK 1
#define STATUS_REG_W 0x06
#define STATUS_REG_R 0x07
#define MEASURE_TEMP 0x03 
#define MEASURE_HUMI 0x05 
#define RESET 0x1e

sbit SCK =P1^0;
sbit DATA=P1^1;
sbit led1=P1^7; 

sbit  rs=P2^3; //H數據,L命令
sbit  en=P2^5; //高脈沖使能,使能脈寬最小150ns
sbit  rw=P2^4;
uchar code table_temp[]=" TEMP: ";
uchar code table_humi[]=" HUMI: ";
uchar code table_c[]=" C  ";
uchar code table_p[]=" %  ";
uchar error=0; 

void delayms(uint z) 
{ 
	uint i,j; 
	for(i=z;i>0;i--) 
	for( j=110;j>0;j--); 
} 

//啟動時序 
void transstart() 
{ 
	SCK=1;
	_nop_(); 
	DATA=0;
	_nop_(); 
	SCK=0;
	_nop_();
	_nop_();
	_nop_(); 
	SCK=1;
	_nop_(); 
	DATA=1;
	_nop_(); 
	SCK=0; 
} 

//寫入命令子函數 
uchar write_byte(uchar value) 
{ 
	uchar i; 
	for(i=0x80;i>0;i=i/2) 
	{ 
		if(i&value) 
			DATA=1; 
		else 
			DATA=0; 
		SCK=1; 
		_nop_();
		_nop_();
		_nop_(); 
		SCK=0; 
	} 
	DATA=1; 
	SCK=1; 
	error=DATA; 
	SCK=0; 
	return error; 
} 

//從傳感器讀數據 
uchar read_byte(bit ack) 
{ 
	uchar i,val=0; 
	DATA=1; 
	for(i=0x80;i>0;i=i/2) 
	{ 
		SCK=1; 
		if(DATA) 
		val=val|i; 
		SCK=0; 
	} 
	DATA=!ack; 
	SCK=1; 
	_nop_();
	_nop_();
	_nop_(); 
	SCK=0; 
	DATA=1; 
	return val; 
} 

//
void connectionreset() 
{ 
	uchar i; 
	DATA=1; 
	SCK=0; 
	for(i=0;i<9;i++) 
	{ 
		SCK=1; 
		SCK=0; 
	} 
	transstart(); 
} 

uint measure1() //測量溫度函數
{ 
	uchar value_1,value_2;
	uint tempvalue;
	transstart();
	error+=write_byte(MEASURE_TEMP);
	if(error!=0)
	{
		connectionreset();
	}
	else 
	{ 
		while(DATA==1)
		{
			_nop_();
		}
		if(DATA==0)
		{ 
			value_1=read_byte(ACK);
			value_2=read_byte(noACK);
			tempvalue=value_2+value_1*256; //轉換成 16 位的 int 型
		}
		else error=1; 
	} 
	return tempvalue; 
}
 
uint measure2() //測量濕度函數
{ 
	uchar value_1,value_2; 
	uint tempvalue; 
	transstart(); 
	error+=write_byte(MEASURE_HUMI); 
	if(error!=0) 
	connectionreset(); 
	else 
	{ 
		while(DATA==1) 
		_nop_(); 
		if(DATA==0) 
		{ 
			value_1=read_byte(ACK);
			value_2=read_byte(noACK); 
			tempvalue=value_2+value_1*256; 
		} 
		else error=1; 
	} 
	return tempvalue; 
} 

void lcdwrdata(uchar dat)
{
	dat = ((dat&0x01)<<7)|((dat&0x02)<<5)|((dat&0x04)<<3)|((dat&0x08)<<1)|((dat&0x10)>>1)|((dat&0x20)>>3)|((dat&0x40)>>5)|((dat&0x80)>>7);
	rs=1;//寫數據時RS拉高
	en=1;
	P0=dat;
	delayms(6);
	en=0;
	delayms(6);
}

void lcdwrcom(uchar cdat)//寫指令數據到LCD  
{	
	cdat = ((cdat&0x01)<<7)|((cdat&0x02)<<5)|((cdat&0x04)<<3)|((cdat&0x08)<<1)|((cdat&0x10)>>1)|((cdat&0x20)>>3)|((cdat&0x40)>>5)|((cdat&0x80)>>7);
	rs=0;//寫指令時RS拉低
	en=1;
	P0=cdat;//
	delayms(6);//不加此延時將導致不能寫入指令,但能寫入顯示數據
	en=0;
	delayms(6);
}

void lcd_init()
{
	lcdwrcom(0x38); //0x38設置顯示模式為:16X2顯示,5X7點陣,8位數據接口
	lcdwrcom(0x0c); //打開顯示光標閃爍
	lcdwrcom(0x06); //
	lcdwrcom(0x01); //
}

void display(float temp,float humi) //1602顯示函數(溫度,濕度)
{
	uint a,b,c,d,e,f,g,h;

	a=(temp/1000);
	b=((temp-a*1000)/100);
	c=((temp-a*1000-b*100)/10);
	d=(temp-a*1000-b*100-c*10);
	e=(humi/1000);
	f=((humi-e*1000)/100);
	g=((humi-e*1000-f*100)/10);
	h=(humi-e*1000-f*100-g*10);

	lcdwrcom(0x80+0x07);lcdwrdata('0'+a);
	lcdwrcom(0x80+0x08);lcdwrdata('0'+b);
	lcdwrcom(0x80+0x09);lcdwrdata('.')  ;
	lcdwrcom(0x80+0x0A);lcdwrdata('0'+c);
	lcdwrcom(0x80+0x0B);lcdwrdata('0'+d);
	lcdwrcom(0x80+0x47);lcdwrdata('0'+e);
	lcdwrcom(0x80+0x48);lcdwrdata('0'+f);
	lcdwrcom(0x80+0x49);lcdwrdata('.')  ;
	lcdwrcom(0x80+0x4A);lcdwrdata('0'+g);
	lcdwrcom(0x80+0x4B);lcdwrdata('0'+h);
	
}

float calc_temp(uint tempvalue) //計算溫度值子函數 
{ 
	const float d1=-39.9;
	const float d2=+0.01;
	float temp_final;
	tempvalue=tempvalue&0x3fff; //取出低 14 位
	temp_final=d1+d2*((float)tempvalue);
	return temp_final; //返回溫度值
}

//計算濕度值子函數 
float calc_humi(float humivalue) 
{ 
	const float c1=-4.0,c2=0.0405,c3=-0.0000028,t1=0.01,t2=0.00008; 
	float rh=humivalue; 
	float rhlin; 
	float rhtrue; 
	rhlin=c1+c2*rh+c3*rh*rh; 
	rhtrue=(27.87-25)*(t1+t2*rh)+rhlin; 
	if(rhtrue>100) 
		rhtrue=100; 
	if(rhtrue<0.1) 
		rhtrue=0.1; 
	humivalue=rhtrue; 
	return humivalue;
}
 
void main() 
{ 
	uint i; //定義計數器
	uint value1; //定義傳感器傳出來的數值(16位)
	uint value2; //定義傳感器傳出來的數值(16位)
	float dis_tempvalue; //定義溫度變量
	float dis_humivalue; //定義濕度變量
	//以下是初始化液晶操作
	rw=0;
	delayms(200);
	en=0;
	lcd_init();
	//以下是液晶固定顯示
	lcdwrcom(0x80+0x00); //第1行00位置
	for(i=0;i<7;i++)
	{
		lcdwrdata(table_temp[i]);
	}
	lcdwrcom(0x80+0x0C); //第1行0C位置
	for(i=0;i<4;i++)
	{
		lcdwrdata(table_c[i]);
	}
	lcdwrcom(0x80+0x40); //第2行40位置
	for(i=0;i<7;i++)
	{
		lcdwrdata(table_humi[i]);
	}
	lcdwrcom(0x80+0x4C); //第2行4C位置
	for(i=0;i<4;i++)
	{
		lcdwrdata(table_p[i]);
	}
	//
	while(1) 
	{ 
		connectionreset(); 
		error=0; 
		value1=measure1(); 
		value2=measure2(); 
		if(error==0) 
		{ 
			led1=0; 
			delayms(200); 
			led1=1; 
			delayms(200);
			dis_tempvalue=calc_temp(value1);   //計算溫度值
			dis_humivalue=calc_humi(value2);   //計算濕度值
			display(dis_tempvalue*100,dis_humivalue*100); //LCD1602顯示溫濕度
		} 
		else 
		{ 
			continue; 
		} 
	} 
} 
關閉窗口

相關文章

成 人 黄 色 片 在线播放| 午夜精品久久久久久久99热黄桃| 久久大香伊蕉在人线观看热2| 欧美精选一区二区| a级精品国产片在线观看| 国产麻豆一区二区三区精品视频| 岛国在线视频免费看| 严阵以待中文社区| 免费毛片在线播放免费| 性欧美videossex精品| 精品福利影视| 欧美不卡视频一区发布| 色综合天天综合网天天看片| 国产乱人伦偷精品视频免下载| 欧美极品在线观看| 国产白丝在线观看| 亚洲精选av在线| 国产又白又嫩又爽又黄| 中文字幕理论片| 国产三级av在线播放| 国产欧美日韩小视频| 国产亚洲精品美女久久久m| 在线观看精品自拍私拍| 欧美性极品xxxx做受| 久久综合久久鬼色中文字| 久久久精品网| 久久不卡国产精品一区二区| 高清不卡av| 黄页网址在线观看| 你懂的网站在线播放| 国产黄色免费大片| 综合激情网五月| 国产人妻人伦精品1国产丝袜| 青青草视频在线免费播放| 欧美精品一区二区三区在线看午夜| 欧美成aaa人片在线观看蜜臀| 日韩欧美中文字幕精品| 欧美日韩国产一区二区| 中文子幕无线码一区tr| 国产精品一区一区| 石原莉奈在线亚洲三区| 女人色偷偷aa久久天堂| 午夜激情视频在线| 欧美r片在线| 久久99蜜桃精品久久久久小说| 91麻豆一区二区| 久久久久久久久久一区二区三区| 中国美女乱淫免费看视频| 中文字幕网av| 免费人成自慰网站| 亚洲国产高清国产精品| 成人激情视频在线播放| 国模私拍视频一区| 欧美理论电影在线观看| 亚洲男人天堂2019| 欧美精品一区二区三区在线| 色av综合在线| 亚洲综合一区二区精品导航| 国产精品国产三级国产aⅴ中文| 国产福利一区二区三区视频| 青青草国产精品亚洲专区无| 狠狠入ady亚洲精品| 久久视频国产| abab456成人免费网址| 高清在线观看免费韩剧| 久久sese| 九九精品在线观看视频| 欧美精品99久久| 粉嫩av一区二区三区免费观看| 日韩中文理论片| 欧美视频一区二区在线观看| 亚洲精选视频免费看| 国产精品一二一区| 国产精品乡下勾搭老头1| 久久久亚洲人| 国产精品久久久久久久久久妞妞 | av在线理伦电影| 二区三区在线播放| 亚洲综合色视频在线观看| 99热在线网站| 91se在线观看| 写真片福利在线播放| 大香一本蕉伊线亚洲网| 曰韩不卡视频| 成人免费直播live| 51国产成人精品午夜福中文下载 | wwwxxxx在线观看| 18深夜在线观看免费视频| 亚洲精品乱码久久久久久9色| 亚洲天堂国产视频| 亚洲麻豆一区二区三区| 91精彩刺激对白露脸偷拍| 国产噜噜噜噜久久久久久久久| 韩国日本不卡在线| 91av在线网站| 亚洲aaaaaa| 久久国产精品亚洲va麻豆| 欧洲高清一区二区| 欧美xxxx吸乳| 好男人www社区| 中文字幕一二三| 国产精品久久国产精品| 国精产品一区二区| 亚洲一区二区在线免费观看| 国产一级片91| 天堂视频免费看| caopeng视频| 国产在线视频二区| 国产又粗又猛又爽又黄91| 婷婷丁香一区二区三区| 欧美色欧美亚洲另类二区精品| 奇米影视狠888| 成人福利视频导航| 国产二区三区在线| 青青久久精品| 久久视频国产| 日韩av不卡一区二区| 91小视频免费观看| 欧美日韩国产中文字幕 | 亚洲精品一区二区三区av| 亚洲精品www久久久久久广东| 亚洲精品久久久久中文字幕欢迎你| 久久精品国产69国产精品亚洲| 国产精品久久久久久久久久三级| 欧美另类视频在线| 黄色片久久久久| 人妻无码一区二区三区| 色一情一乱一伦| 欧美三级黄视频| 激情六月丁香| xxxx成人| 欧美日韩一二三四| 日韩精品成人一区二区三区| 国产欧美精品一区二区色综合朱莉| 在线欧美小视频| 中文字幕亚洲情99在线| 91亚洲va在线va天堂va国| 亚洲五码在线观看视频| 在线免费播放av| 久久久久久久久久成人| 国产亚洲精品午夜高清影院 | 欧美三区不卡| 91免费视频观看| 欧美日本在线播放| 欧美精品久久久久久久久久| 精品欧美日韩在线| 色婷婷.com| 天天操天天摸天天干| 性欧美video视频另类| 伊人精彩视频| 亚洲精品国产嫩草在线观看| 午夜精品久久| 久久蜜桃一区二区| 欧美白人最猛性xxxxx69交| 国产91精品久久久久久久| 先锋在线资源一区二区三区| 26uuu国产| 一级黄色免费片| 日本xxxxwwww| 肉色欧美久久久久久久免费看| 在线成人直播| 国产精品理伦片| 亚洲欧美综合另类中字| 成人看片在线| 日韩久久久久久久久久久| 91视频免费网址| 女生裸体免费视频| 国产精品论坛| 亚洲国产一区二区精品专区| 亚洲欧美另类图片小说| 色777狠狠综合秋免鲁丝| 麻豆精品传媒视频| 最近中文字幕无免费| 精品国产亚洲AV| 男女激情视频网站| 国产乱码精品一区二区三区亚洲人| 日韩精品乱码免费| 在线一区二区视频| 国产成人精品久久二区二区91 | 日本毛片在线观看| 欧美日韩影视| 亚洲裸色大胆大尺寸艺术写真| 国产91丝袜在线播放0| 日韩欧美国产成人一区二区| 亚洲iv一区二区三区| 亚洲精品视频三区| 99久久精品国产色欲| 在线观看免费网站| 天天久久夜夜| 国产日产亚洲精品系列| 中文字幕日韩有码| 一级日韩一区在线观看| 久久久久久视频| 小小的日本在线观看免费色网| 欧美日韩国产观看视频| 久久久久网站| 欧美二区在线观看| 国产一区二区三区色淫影院| 一本色道综合久久欧美日韩精品 | 日韩高清在线| 精品一区二区三区欧美| 日韩精品一区二区三区中文不卡 | 久久久久久久久久久久久久久久久久av | 韩国三级av在线免费观看| 深爱激情久久| 亚洲精品v日韩精品| 欧美激情国产日韩精品一区18| 黄色影院一级片| 在线观看av大片| 久久久久久久久亚洲精品| 日韩精品四区| 偷窥少妇高潮呻吟av久久免费| 欧美亚洲视频在线观看| 久久无码人妻一区二区三区| 四虎成人精品| 91精品店在线| 91美女片黄在线观看91美女| 日韩视频免费看| 国产欧美 在线欧美| 中文字幕avav| 国产美女极度色诱视频www| 日韩高清不卡| www欧美成人18+| 久久久久九九九九| 永久看看免费大片| 久久国产精品1区2区3区网页| 成人免费在线观看视频| 国产亚洲欧美中文| 91福利视频在线观看| 麻豆tv在线观看| 国产又爽又黄又刺激的软件| 未满十八勿进黄网站一区不卡| 91偷拍与自偷拍精品| 久久久免费观看| avtt香蕉久久| 日本wwwwww| 欧美一区在线看| 日韩欧美色电影| 日b视频免费观看| 国产福利免费视频| av剧情在线观看| 粉嫩一区二区三区性色av| 欧美成在线视频| 亚洲五月激情网| 天堂视频在线| 伊人久久大香线蕉av不卡| 欧美天堂在线观看| 日本一区免费观看| 97人妻精品一区二区三区视频| 超碰在线网站| 久久老女人爱爱| 国产精品久久久久91| 久久噜噜色综合一区二区| 最近97中文超碰在线| 水野朝阳av一区二区三区| 色婷婷**av毛片一区| 特级黄色片视频| jizzjizz丝袜老师| 综合激情婷婷| 一区二区三区视频在线| 网站在线你懂的| 成人免费淫片在线费观看| 国产精品第十页| 中文字幕无线精品亚洲乱码一区 | 国产乱视频在线观看播放| 亚洲区小说区图片区qvod按摩| 欧美无砖砖区免费| 国产高清www| 欧美成人禁片在线观看网址| 日韩av中文字幕一区| 制服丝袜成人动漫| 久草在在线视频| 免费污污网站| 欧美国产三区| 色偷偷亚洲男人天堂| 欧美一级片黄色| 一色桃子在线| 国产伦精一区二区三区| 国产精品pans私拍| 国产一级片毛片| 国产精品专区免费| 亚洲亚洲人成综合网络| 伊人久久大香线蕉午夜av| 午夜视频福利在线| 久久99国产精一区二区三区| 精品欧美久久久| 亚洲国产欧美91| 欧美成人明星100排名| 国内精品伊人久久久久av影院| 日本道色综合久久影院| 精品国产免费观看| 亚洲www啪成人一区二区| 精品久久中文字幕| 国产v片免费观看| 啦啦啦高清在线观看www| 国产精品免费看| 国产va免费精品高清在线观看| 黄色片视频网站| 国产成人精品一区二三区在线观看| 欧美色xxxx| 人妻无码视频一区二区三区| 激情小说激情视频| 国产精品一区二区不卡| 岛国视频一区免费观看| 手机看片一区二区| 99久久婷婷这里只有精品| 最近中文字幕2019免费| 四虎免费在线视频| 亚洲第一二三四区| 欧美日韩国产一二三| 亚洲高清av一区二区三区| 青青草超碰在线| 国产精品麻豆视频| 久久久99精品视频| 超碰av女优在线| 国产成人免费在线| 久久久久久国产精品一区| 欧美午夜性春猛xxxx| 国产精品啊v在线| 国产精品久久久久久久7电影| 亚洲一卡二卡在线观看| 亚洲动漫精品| 久久精品一偷一偷国产| 日本一区二区三区四区五区| 二区三区精品| 亚洲欧洲偷拍精品| 欧美久久久久久久久久久久| 精品久久久网| 亚洲欧洲视频在线| 日韩精品国产一区二区| 亚洲精品a区| 亚洲免费av片| 久久久精品国产sm调教| 日本精品在线观看| 国产亚洲免费的视频看| 日韩xxxxxxxxx| 激情av综合| 久久影院在线观看| 免费黄色片视频| 日本女优一区| 国产成人a亚洲精品| 女人18毛片一区二区三区| 在线免费观看欧美| 91日韩久久| 污的视频网站| 成人av免费在线观看| 嫩草影院中文字幕| 亚洲有码转帖| 欧美日韩精品在线| 黄色国产在线视频| 偷拍中文亚洲欧美动漫| 亚洲精品小视频在线观看| 日韩精品视频播放| 成人6969www免费视频| 日韩av免费在线观看| 99久久亚洲| 国产在线视频不卡二| 精品国产无码在线| 玖玖在线免费视频| 午夜精品在线看| 中文字幕在线永久| 精品乱码一区二区三区四区| www.欧美免费| 国产毛片毛片毛片毛片| 亚洲欧美网站| 五月天久久狠狠| 黄色直播在线| 欧美性极品xxxx娇小| 人妻少妇无码精品视频区| 亚洲高清999| 国产成人免费av电影| 麻豆精品国产自产在线| 北条麻妃一区二区三区| 成人在线看视频| av资源中文在线| 亚洲偷熟乱区亚洲香蕉av| 91 中文字幕| 日韩精品电影在线| 日本高清视频免费在线观看| 伦理片一区二区三区| 91精品国产综合久久小美女| 日本三级黄色大片| 影音先锋日韩精品| 日本一区二区三区四区高清视频 | 星空影院最新电视剧免费观看| 国产亚洲精品免费| 国产伦精品一区二区三区妓女下载 | 欧美xxxxb| 久久免费电影网| 人妻精品久久久久中文字幕69| 精品久久在线| 清纯唯美亚洲激情| 国产成人精品男人的天堂538| 久久精品亚洲精品国产欧美kt∨ | av激情综合网| 亚洲综合123| 高清精品久久| 国产精品入口尤物| 成人黄动漫网站| 欧美性色综合网|