久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
簡易18b20溫度采集與控制 設置模式按數字鍵可直接修改上下限
[打印本頁]
作者:
重口辣泡菜
時間:
2018-7-1 14:53
標題:
簡易18b20溫度采集與控制 設置模式按數字鍵可直接修改上下限
進入設置模式按數字鍵可直接修改上下限
單片機源程序如下:
/*
*Target:功能描述
* 模擬“溫度采集與控制裝置”用于實現溫度的實時監測與控制。單片機采集DS18B20溫度傳感器
* 的輸出信號,并送到數碼管進行顯示;通過傳感器得到的溫度數據將與用戶設定溫度上限、下
* 限做比較,再由單片機啟動或控制報警電路。
*Author:作者:重口辣泡菜
*Date:日期: 2018/7/1
*/
#include <reg52.h>
#include "display.h"
#include "delay.h"
#include "18b20.h"
#include "key.h"
/*******************函數申明**********************/
void Timer0_Init(void);
void Temp_deal(void);
void Display_mod1(void);
void Display_mod2(void);
void key_deal(void);
/*******************led引腳**********************/
sbit led1=P2^7;
sbit led2=P2^6;
/*******************數碼管顯示變量**********************/
unsigned char mod,level,m=3,n=0,p=2,q=0,i;
/*******************溫度讀取變量**********************/
unsigned int Temp_read_value,temp;
unsigned char Tmax=30,Tmin=20;
bit ReadTempFlag;
bit clearflag;
/*******************按鍵值變量**********************/
unsigned char key_read_value,key_value;
unsigned char templimit[8];
/*******************主函數**********************/
void main()
{
Timer0_Init();
while(1)
{
Temp_deal();
if( mod==0 ) Display_mod1();
else Display_mod2();
key_deal();
}
}
void key_deal(void) //按鍵消息處理
{
key_read_value = key_read();
if( key_read_value!=0xFF )
{
switch( key_read_value )
{
case 13: mod++; if( mod==2 ) mod = 0; break;
case 14: clearflag = 1; break;
case 0: key_value = 0; i++; break;
case 1: key_value = 1; i++; break;
case 2: key_value = 2; i++; break;
case 3: key_value = 3; i++; break;
case 4: key_value = 4; i++; break;
case 5: key_value = 5; i++; break;
case 6: key_value = 6; i++; break;
case 7: key_value = 7; i++; break;
case 8: key_value = 8; i++; break;
case 9: key_value = 9; i++; break;
default:
break;
}
}
}
void Temp_deal(void)
{
if( ReadTempFlag==1 ) //18b20讀取溫度值處理
{
ReadTempFlag = 0;
Temp_read_value = ReadTemperature();
temp = Temp_read_value>>4;
}
if( temp<Tmin ) level = 1; //溫度區間判斷
else if( (temp>=Tmin)&&(temp<=Tmax) ) level = 2;
else if( temp>Tmax ) level = 3;
if( Tmin>Tmax ) led2=0; //下限大于上限led2常亮提示
else led2=1;
}
void Display_mod1(void) //正常顯示狀態
{
TempData[0] = 0x40;
TempData[1] = tabledu[ level ];
TempData[2] = 0x40;
TempData[6] = tabledu[ (temp%100)/10 ];
TempData[7] = tabledu[ (temp%100)%10 ];
}
void Display_mod2(void) //設置模式
{
TempData[0] = 0x40;
TempData[1] = tabledu[ Tmax/10 ];
TempData[2] = tabledu[ Tmax%10 ];
TempData[5] = 0x40;
TempData[6] = tabledu[ Tmin/10 ];
TempData[7] = tabledu[ Tmin%10 ];
if( (mod==1)&&(dispcom==1)&&(i==1) ) m = key_value; //按鍵值0~9改變上下限,設置模式下才能更改
if( (mod==1)&&(dispcom==2)&&(i==2) ) n = key_value;
if( (mod==1)&&(dispcom==6)&&(i==3) ) p = key_value;
if( (mod==1)&&(dispcom==7)&&(i==4) ) q = key_value;
if( (mod==1)(clearflag==1) ) //輸入錯誤按下清零
{ clearflag = 0; m = 0; n = 0; p = 0; q = 0; i=0; }
Tmax = (10*m)+n; Tmin = (10*p)+q;
}
void Timer0_Init(void)
{
TMOD = 0x01;
EA=1;
ET0=1;
TR0=1;
}
void Timer0(void) interrupt 1
{
static unsigned int count,ledcount;
TH0 = (65536-2200)/256;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
簡易18b20溫度采集與控制.zip
(53.51 KB, 下載次數: 47)
2018-7-1 14:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
王大鵬
時間:
2018-12-31 12:41
學習一下
作者:
ideapad110
時間:
2019-1-1 14:06
啥都不說,先收藏一波,感謝樓主分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
97日韩精品
|
一区二区三区视频
|
亚洲自拍偷拍av
|
精品香蕉一区二区三区
|
国产一区二区三区在线免费
|
女人天堂av
|
在线国产小视频
|
久久久www
|
99视频免费
|
免费在线精品视频
|
黄色毛片网站在线观看
|
欧美日韩高清在线一区
|
国产精品99久久久久久久久久久久
|
日韩免费视频一区二区
|
91久久久久久久久久久
|
欧美国产日韩在线观看成人
|
日韩国产一区二区
|
亚洲精品电影在线观看
|
久久伊人一区二区
|
91观看
|
日韩欧美亚洲
|
日本特黄a级高清免费大片 成年人黄色小视频
|
中文字幕av亚洲精品一部二部
|
中文字幕高清免费日韩视频在线
|
精品一区二区三区在线视频
|
成人h视频
|
蜜月va乱码一区二区三区
|
免费毛片在线
|
欧美日韩综合视频
|
成人影视网址
|
男女羞羞在线观看
|
久久久婷
|
99久久99热这里只有精品
|
亚洲+变态+欧美+另类+精品
|
国产精品久久久久久久白浊
|
久久国产精品一区二区三区
|
天天看天天爽
|
亚洲性视频在线
|
性国产丰满麻豆videosex
|
国产精品久久久久久久久久久久久
|
免费成人av
|