久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
保溫箱代碼 溫度過高或者偏低有報警功能 精度在0.05 溫度在顯示屏顯示
[打印本頁]
作者:
stubi
時間:
2018-4-25 11:48
標題:
保溫箱代碼 溫度過高或者偏低有報警功能 精度在0.05 溫度在顯示屏顯示
130436yf44l69igzltf44f.png
(66.65 KB, 下載次數: 33)
下載附件
2018-4-27 01:45 上傳
單片機源程序如下:
#include<reg52.h> // 包含51單片機寄存器定義的頭文件
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P3^7;
sbit DQ=P3^6;
sbit point=P0^7;
sbit motor=P1^5;
sbit lamp=P1^4;
uchar disbuf[3];
uchar code LEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//延時子函數//
void delay(uint num)
{
while(num--);
}
//*************初始化*************//
void Init_DS18B20(void)
{
unsigned char x=0;
DQ=1; //DQ先置高
delay(8); //稍延時
DQ=0; //發送復位脈沖
delay(80); //延時(>480us)
DQ=1; //拉高數據線
delay(5); //等待(15~60us)
x=DQ; //用X的值來判斷初始化有沒有成功,18B20存在的話X=0,否則X=1
delay(20);
}
//************讀一個字節*************//
ReadOneChar(void) //主機數據線先從高拉至低電平1us以上,再使數據線升為高電平,從而產生讀信號
{
unsigned char i=0; //每個讀周期最短的持續時間為60us,各個讀周期之間必須有1us以上的高電平恢復期
unsigned char dat=0;
for (i=8;i>0;i--) //一個字節有8位
{
DQ=1;
delay(1);
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
delay(4);
}
return(dat);
}
//****************寫一個字節****************//
void WriteOneChar(unsigned char dat)
{
unsigned char i=0; //數據線從高電平拉至低電平,產生寫起始信號。15us之內將所需寫的位送到數據線上,
for(i=8;i>0;i--) //在15~60us之間對數據線進行采樣,如果是高電平就寫1,低寫0發生。
{
DQ=0; //在開始另一個寫周期前必須有1us以上的高電平恢復期。
DQ=dat&0x01;
delay(5);
DQ=1;
dat>>=1;
}
delay(4);
}
//*****************讀取溫度******************//
uchar ReadTemperature(void)
{
uchar fg=0;
uchar tempL=0;
uchar tempH=0;
uint sdate;
uchar pointnum;
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0x44);
delay(125);
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0xbe);
tempL=ReadOneChar();
tempH=ReadOneChar();
if(tempH>0x7f)
{
tempL=~tempL;
tempH=~tempH+1;
fg=1;
}
sdate=tempL/16+tempH*16;
pointnum=(tempL&0x0f)*10/16;
if(fg==1)
{
sdate-=15;
pointnum=0;
}
if(!fg&&sdate>50)
{
BEEP=1;
motor=1;
}
else
{
BEEP=0;
motor=0;
}
if(fg==1&&sdate<10)
{
BEEP=1;
lamp=1;
}
else
{
BEEP=0;
lamp=0;
}
disbuf[0]=sdate/10;
disbuf[2]=sdate%10;
disbuf[1]=pointnum;
return fg;
}
//初始化定時器0//
//定時器0中斷服務程序//
//外部中斷0服務程序//
//外部中斷1服務程序//
//讀取溫度//
//顯示開機初始化等待畫面//
//void Disp_init()
/* {
P2=0xf7;
P0=0x40;
delay(200);
P2=0xfb;
delay(200);
P2=0xfe;
delay(200);
P2=0xfd;
delay(200);
P2=0xff;//關閉顯示
} */
//**************顯示溫度子函數****************//
void Display_Temperature(uchar key)
{
P2=0xf7;
P0=LEDData[disbuf[1]];//顯示個位
delay(300);
P2=0xfb;
P0=LEDData[disbuf[2]];//顯示十位
point=1;//顯示小數點
delay(300);
P2=0xfd;
if(disbuf[0]>0)
P0=LEDData[disbuf[0]];//顯示百位
else
P0=0x00;
delay(300);
P2=0xfe;
if(key==1)
P0=0x40;//顯示負號
else
P0=0x00;
delay(300);
}
//顯示報警溫度子函數//
//***************報警子函數***************//
/* void Alarm()
{
unsigned int i;
{
for (i=0;i<200;i++)//發聲時長
{
delay(80);//發聲頻率
BEEP=!BEEP;
}
BEEP=1;//蜂鳴器停止工作
delay(20000);//間歇時間
}
} */
//************主函數*************//
void main(void)
{
delay(300);
Init_DS18B20();
// Disp_init();
// delay(300);
while(1)
{
uchar flag=ReadTemperature();
Display_Temperature(flag);
}
}
復制代碼
所有資料51hei提供下載:
build.rar
(31.07 KB, 下載次數: 41)
2018-4-25 11:47 上傳
點擊文件名下載附件
具體51代碼
下載積分: 黑幣 -5
作者:
admin
時間:
2018-4-25 18:01
樓主能分享一下原理圖嗎?
作者:
無時崩潰
時間:
2018-4-25 22:10
感謝樓主分享
作者:
mnbvcxzlkjhgfds
時間:
2018-7-19 10:23
感謝分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩福利
|
免费看黄色视屏
|
国内精品成人
|
国产精品69毛片高清亚洲
|
亚洲看片
|
午夜av免费
|
久久久久久久av
|
国产精品久久久久久久久久软件
|
www.精品一区
|
久久99精品久久久久久青青日本
|
久久天堂
|
国产伦精品一区二区三区视频金莲
|
国产aⅴ精品
|
天天干人人
|
精品一区二区三区电影
|
精品国产一区二区三区久久
|
在线观看成人小视频
|
国产区在线视频
|
免费观看av
|
国产精品五月天
|
久久精品小视频
|
涩涩视频在线看
|
国产免费一区二区三区
|
范冰冰一级做a爰片久久毛片
|
毛片一区二区三区
|
久久久久久国模大尺度人体
|
成人日韩
|
一区观看
|
精品一区二区三区在线视频
|
一级毛片色一级
|
精品国产一区二区三区观看不卡
|
麻豆国产一区二区三区四区
|
国产免费一二三区
|
亚洲av毛片成人精品
|
中文字幕一级毛片视频
|
欧美高清成人
|
日韩精品一区二区三区中文字幕
|
国产精品久久视频
|
久久久久亚洲国产
|
毛片一级网站
|
久久精品一区二区
|