久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
溫度采集DS18B20(LCD)
[打印本頁]
作者:
TYS5262217
時間:
2020-7-8 04:58
標(biāo)題:
溫度采集DS18B20(LCD)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ = P3^6; //DS18B20數(shù)據(jù)口
uchar FLAG=0; //正負(fù)溫度標(biāo)志
unsigned char TMPH,TMPL;
//這三個引腳參考資料
sbit E=P2^7; //1602使能引腳
sbit RW=P2^6; //1602讀寫引腳
sbit RS=P2^5; //1602數(shù)據(jù)/命令選擇引腳
void delay_1()
{
int i,j;
for(i=0; i<=10; i++)
for(j=0; j<=2; j++)
;
}
// 1602命令函數(shù)
void enable(uchar del)
{
P0 = del;
RS = 0;
RW = 0;
E = 0;
delay_1();
E = 1;
delay_1();
}
void write(uchar del)
{
P0 =del;
RS = 1;
RW = 0;
E = 0;
delay_1();
E = 1;
delay_1();
}
// 1602初始化,請參考1602的資料
void L1602_init(void)
{
enable(0x01);
enable(0x38);
enable(0x0c);
enable(0x06);
enable(0xd0);
}
//改變液晶中某位的值,如果要讓第一行,第五個字符顯示"b" ,調(diào)用該函數(shù)如下 L1602_char(1,5,'b')
void L1602_char(uchar hang,uchar lie,char sign)
{
uchar a;
if(hang == 1) a = 0x80;
if(hang == 2) a = 0xc0;
a = a + lie - 1;
enable(a);
write(sign);
}
//改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示"ab cd ef" ,調(diào)用該函數(shù)如下L1602_string(1,5,"ab cd ef;")
void L1602_string(uchar hang,uchar lie,uchar *p)
{
uchar a;
if(hang == 1) a = 0x80;
if(hang == 2) a = 0xc0;
a = a + lie - 1;
enable(a);
while(1)
{
if(*p == '\0') break;
write(*p);
p++;
}
}
void delay(uint N)
{
int i;
for(i=0; i<N; i++)
;
}
Init_Ds18b20()
{
bit Status_Ds18b20;
DQ=1;
DQ=0;
delay(250);
DQ=1;
delay(20);
if(!DQ)
Status_Ds18b20=0;
else
Status_Ds18b20=1;
delay(250);
DQ=1;
return Status_Ds18b20;
}
uchar Read_Ds18b20()
{
uchar i=0,dat=0;
for(i=0;i<8;i++)
{
DQ=1;
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
DQ=1;
delay(25);
}
return dat;
}
void Witie_Ds18b20(uchar dat)
{
uchar i=0;
for(i=0;i<8;i++)
{
DQ=1;
dat>>=1;
DQ=0;
DQ=CY;
delay(25);
DQ=1;
}
}
void chuli()
{
uint temp;
float tem;
Init_Ds18b20(); //復(fù)位
Witie_Ds18b20(0xcc); //寫跳過ROM命令
Witie_Ds18b20(0x44); //開啟溫度轉(zhuǎn)換
Init_Ds18b20();
Witie_Ds18b20(0xcc);
Witie_Ds18b20(0xbe); //讀暫存器
TMPL = Read_Ds18b20();
TMPH = Read_Ds18b20();
temp = TMPH;
temp <<= 8;
temp = temp | TMPL;
if(TMPH>=8)
{
temp=~temp+1;
FLAG=1;
}
else FLAG=0;
tem=temp*0.0625;
temp=tem*100;
if((temp/10000)==0) //當(dāng)高位為0時不顯示0
L1602_char(2,5,' ');
else
L1602_char(2,5,temp/10000 + 48);
if((temp/10000)==0&&(temp/1000%10)==0) //當(dāng)高位為0時不顯示0
L1602_char(2,6,' ');
else
L1602_char(2,6,temp/1000%10 + 48);
L1602_char(2,7,temp/100%10 + 48);
L1602_char(2,8,0x2e);
L1602_char(2,9,temp/10%10 + 48);
L1602_char(2,10,temp%10 + 48);
L1602_char(2,11,0xdf); //溫度符號C前的圈
if(FLAG==1)
L1602_char(2,4,0x2d); //輸出-號
else
L1602_char(2,4,0x2b); //輸出+號
}
void main()
{
// float tt;
// uint temp;
P2 = 0x00;
L1602_init();
L1602_string(1,1," DS18B20 TEST ");
L1602_string(2,1," C");
while(1)
{
chuli();
}
}
作者:
養(yǎng).
時間:
2021-12-9 17:57
代碼運(yùn)行了不隨溫度改變呀 一直是0.06
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜免费电影院
|
亚洲激情网站
|
户外露出一区二区三区
|
国产精品久久久久久久久久免费看
|
亚洲精品中文在线
|
懂色av一区二区三区在线播放
|
亚洲成人在线免费
|
超碰日本
|
亚洲国产一区二区视频
|
高清国产午夜精品久久久久久
|
www.国产日本
|
av在线电影网
|
亚洲国产精品久久久久婷婷老年
|
国产精品福利视频
|
福利网站导航
|
亚洲一区二区在线电影
|
国产精品乱码一区二三区小蝌蚪
|
成人免费观看视频
|
北条麻妃一区二区三区在线视频
|
99久久中文字幕三级久久日本
|
喷水毛片
|
亚洲a人
|
国产福利视频
|
国产激情免费视频
|
成人一区二区三区在线观看
|
一级毛片黄片
|
国产一级一级
|
黄色免费三级
|
久久尤物免费一区二区三区
|
午夜伊人
|
精品国产欧美一区二区
|
国产国产精品
|
欧美久久久久久
|
热久色
|
一区二区日本
|
亚洲视频免费在线观看
|
欧美乱人伦视频
|
亚洲高清在线播放
|
欧美性video 精品亚洲一区二区
|
日韩国产在线
|
亚洲精品国产电影
|