久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于單片機的 遠程溫度監控系統
[打印本頁]
作者:
wq1260429171
時間:
2015-1-17 10:54
標題:
基于單片機的 遠程溫度監控系統
作者:
admin
時間:
2015-1-17 11:21
這個設計不錯。
作者:
wq1260429171
時間:
2015-1-17 18:44
1.jpg
(54.97 KB, 下載次數: 99)
下載附件
2021-10-12 04:41 上傳
2.jpg
(55.63 KB, 下載次數: 91)
下載附件
2021-10-12 04:41 上傳
本設計中設定報警上限溫度30℃,報警下限溫度20℃。圖中分別是溫度超過30℃和低于20℃時LED燈模擬制冷和制熱系統開啟,并且蜂鳴器報警。
附錄2:單片機程序
#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit d1=P2^2;sbit d2=P2^1;sbit d3=P2^0;sbit d4=P2^3;sbit key1=P1^3;sbit key2=P1^4;sbit key3=P1^5;sbit led1=P1^0;sbit led2=P1^1;sbit baojing=P1^6;sbit DS=P1^2;sbit ACC_7=ACC^7;uint count=300,alarm=200; //最初溫度上下限值:30度、20度uchar shu;uchar shi,fen,ri,yue,nian,xq,miao,ss; uint temp; // 定義溫度變量uchar flag;uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共陽數碼管不帶小數點的0~9編碼uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //帶小數點的0~9編碼void send_int(void){ TMOD = 0x21; // 定時器1工作于8位自動重載模式, 用于產生波特率 TH1 = 0xfd; // 波特率9600 TL1 = 0xfd; TH0=0xD8; //定時器0定時10ms TL0=0xF0; ET0=1; //允許定時器0中斷 ES=1; //允許串口中斷 EA=1; //開中斷SCON = 0xd8; // 設定串行口工作方式 PCON = 0x00; // 波特率不倍增} void delay(uint z){ uint x,y; for(x=z;x>0;x--) for(y=120;y>0;y--);}void dsreset() //復位{ uint i; DS=0; i=103; while(i>0)i--; DS=1; i=4; while(i>0)i--;}uchar tmpread() //讀取一字節{ uchar j,k,dat; uint i; for(j=1;j<=8;j++) { DS=0;i++; //延時 DS=1;i++;i++; k=DS; i=8;while(i>0)i--; dat=(k<<7)|(dat>>1);//讀出的數據最低位在最前面存一個字節在DAT里 } return(dat);}void tmpwritebyte(uchar dat) //寫一個字節{ uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //寫 1 { DS=0; i++;i++; DS=1; i=8;while(i>0)i--; } else { DS=0; //寫 0 i=8;while(i>0)i--; DS=1; i++;i++; } }}void tmpchange() //DS18B20溫度變換{ dsreset(); delay(1); tmpwritebyte(0xcc); //跳過讀取內存rom tmpwritebyte(0x44); //開始轉換}uint tmp() //讀取溫度{ float tt; uchar a,b; dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); //a為低字節8位 b=tmpread(); //b為高字節8位 temp=b; //temp為溫度值UINT 16bit temp<<=8; //兩個字節組合到一起 temp=temp|a; if(b>127) { flag=1; ss=flag; temp=~temp+1; } tt=temp*0.0625; // temp/16 則是溫度的真實值tt.7位整數,4位小數 temp=tt*10+0.5; // 擴大十倍取出了第一位小數 return(temp);} /*****溫度顯示********/void displayTemp(uint temp) { uchar ge,shi,bai,qian,ser; d1=0; d1=0; d3=0; d4=0; dsreset(); ser=temp/10; //分離出三位要顯示的數字 SBUF=ser; qian=temp/1000; bai=temp/100%10; // 百位數字 shi=temp/10%10; // 十位數字 ge=temp%10; // 個位數字 if(flag==1) { flag=0; P0=0xbf; d1=1; delay(2); d1=0; } if(qian!=0) { P0=tab[qian]; d1=1; delay(2); d1=0; } else { P0=0xff; d1=1; delay(2); d1=0; } if(temp>99) { P0=tab[bai]; d2=1; delay(2); d2=0; } P0=tab1[shi]; d3=1; delay(2); d3=0; P0=tab[ge]; d4=1; delay(2); d4=0;} /****按鍵控制******/uint keyscan(){ if(key1==0) //按鍵1 { delay(5); if(key1==0) { while(!key1); shu++; //按鍵1數按下次數 } } if(key2==0) //按鍵2 { delay(5); if(key2==0) { while(!key2); count=count+10; //溫度上限值加1 if(shu==2) //按鍵1按下2次 { alarm+=10; //溫度下限值加1 } } } if(key3==0) //按鍵3 { delay(5); if(key3==0) { while(!key3); count=count-10; //溫度上限值減1 if(shu==2) //按鍵1按下2下 { alarm-=10; //溫度下限值減1 } } } return(count);} /*****報警控制******/void main(){ led1=1; led2=1; delay(10); while( 1 ) { tmpchange(); if(shu==0) { displayTemp(tmp( )); } keyscan(); if(shu==1) { displayTemp(count); } if(shu==2) { displayTemp(alarm); } if(shu==3) { shu=0; } if(temp>count) { led1=0;baojing=0; } else if(temp<alarm) { led2=0;baojing=0; } else { led1=1; led2=1; baojing=1; } }}
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲永久入口
|
亚洲综合在线网
|
91精品国产综合久久婷婷香蕉
|
欧美精品一二三
|
免费黄色片在线观看
|
久草青青
|
欧美日韩在线观看一区
|
久久精品男人的天堂
|
亚洲精品一区二区三区在线观看
|
2018国产大陆天天弄
|
欧美一区二区三区视频在线播放
|
色综合天天天天做夜夜夜夜做
|
在线视频中文字幕
|
国内自拍视频在线观看
|
国产成人精品久久二区二区91
|
日本中出视频
|
午夜视频网站
|
成人妇女免费播放久久久
|
九色视频网站
|
国产午夜精品福利
|
毛片免费观看视频
|
日本超碰
|
免费一看一级毛片
|
日本在线免费视频
|
成人av在线播放
|
99免费精品视频
|
亚洲精品视频一区二区三区
|
夜夜骑首页
|
亚洲视频在线观看
|
欧美一级黄视频
|
日韩精品视频一区二区三区
|
日韩中文字幕视频
|
亚洲欧美国产一区二区三区
|
欧美成人h版在线观看
|
日韩视频中文字幕
|
成人免费视频观看视频
|
国产精品一区久久久
|
国产日韩欧美
|
国产精品波多野结衣
|
在线观看成人
|
91精品国产欧美一区二区
|