久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
51單片機(jī)+18B20實(shí)現(xiàn)溫度檢測(cè)并用數(shù)碼管顯示
[打印本頁]
作者:
dur
時(shí)間:
2019-6-13 20:27
標(biāo)題:
51單片機(jī)+18B20實(shí)現(xiàn)溫度檢測(cè)并用數(shù)碼管顯示
一個(gè)簡(jiǎn)單的18B20溫度計(jì)
#include <reg52.h>
#include "temp.h"
#define u8 unsigned char
#define u16 unsigned int
/*……按鍵接線……*/
sbit key1=P1^0; //開始
sbit key2=P1^1; //停止
sbit key3=P1^2; //小數(shù)點(diǎn)轉(zhuǎn)換
sbit key4=P1^3; //顯示平均值及轉(zhuǎn)換
/*……三八譯碼器接線……*/
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar count,second,occuar,temp;
uchar temp_av[3];
uchar dat[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
/*……定時(shí)器初始化……*/
void InitTimer1(void)
{
TMOD = 0x10;
TH1 = 0x0EC;
TL1 = 0x78;
EA = 1;
ET1 = 1;
TR1 = 1;
}
void delay(u16 i)
{
while(i--);
}
void shumaguan_stop()
{
u8 i;
for(i=0;i<8;i++)
{
switch(i) //位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(0):
LSA=0;LSB=0;LSC=0; break;//顯示第0位
case(1):
LSA=1;LSB=0;LSC=0; break;//顯示第1位
case(2):
LSA=0;LSB=1;LSC=0; break;//顯示第2位
case(3):
LSA=1;LSB=1;LSC=0; break;//顯示第3位
case(4):
LSA=0;LSB=0;LSC=1; break;//顯示第4位
case(5):
LSA=1;LSB=0;LSC=1; break;//顯示第5位
case(6):
LSA=0;LSB=1;LSC=1; break;//顯示第6位
case(7):
LSA=1;LSB=1;LSC=1; break;//顯示第7位
}
P0=0x00;//發(fā)送段碼
delay(100); //間隔一段時(shí)間掃描
P0=0x00;//消隱
}
}
/*……數(shù)碼管顯示溫度值……*/
void shumaguan(uchar Data)
{
uchar i,j;
for(i=0;i>8;i++)
{
j=(Data*100)|0xff;
Data=Data >> 16;
switch(i) //位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(7):
LSA=0;LSB=0;LSC=0; break;//顯示第0位
case(6):
LSA=1;LSB=0;LSC=0; break;//顯示第1位
case(5):
LSA=0;LSB=1;LSC=0; break;//顯示第2位
case(4):
LSA=1;LSB=1;LSC=0; break;//顯示第3位
case(3):
LSA=0;LSB=0;LSC=1; break;//顯示第4位
case(2):
LSA=1;LSB=0;LSC=1; break;//顯示第5位
case(1):
LSA=0;LSB=1;LSC=1; break;//顯示第6位
case(0):
LSA=1;LSB=1;LSC=1; break;//顯示第7位
}
if(i==5) //是否小數(shù)點(diǎn)位
{
P0=dat[j]&0x01;
delay(100); //間隔一段時(shí)間掃描
P0=0x00; //消隱
}
else
{
if(i==7) //是否第七位
{
if(!key3)
{
P0=dat[0];
delay(100); //間隔一段時(shí)間掃描
P0=0x00; //消隱
}
else
{
P0=dat[j]; //顯示溫當(dāng)前度值
delay(100); //間隔一段時(shí)間掃描
P0=0x00; //消隱
}
}
else
{
P0=dat[j]; //顯示溫當(dāng)前度值
delay(100); //間隔一段時(shí)間掃描
P0=0x00; //消隱
}
}
}
}
/*……主函數(shù)……*/
void main()
{
uchar j;
InitTimer1(); //定時(shí)器初始化
while(1)
{
if(!key1) //按鍵開始
{
found1:
shumaguan(temp);
if(!key4) goto found2;
}
if(!key2) //按鍵停止
{
shumaguan_stop();
}
found2:
for(j=0;j<5;)
{
if(!key4)
{
if(j==4) goto found1;
else shumaguan(temp_av[j]);
while(!key4)
j++;
}
}
}
}
/*……定時(shí)器中斷……*/
void Timer1Interrupt(void) interrupt 3
{
TH1 = 0x0EC;
TL1 = 0x78;
count++;
count=count%1000;
if(count==0)
{
temp=Ds18b20ReadTemp();
occuar+=temp;
second++;
second=second%20;
if(second==5)
{
temp_av[0]=occuar/5;
}
if(second==10)
{
temp_av[1]=occuar/10;
}
if(second==0)
{
temp_av[2]=occuar/20;
occuar=0;
}
}
}
復(fù)制代碼
ds18b20.rar
2019-6-13 20:27 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
35.85 KB, 下載次數(shù): 19, 下載積分: 黑幣 -5
作者:
wang763687586
時(shí)間:
2019-11-1 16:15
樓主,有原理圖嗎?
作者:
145749
時(shí)間:
2020-2-7 15:54
有proteus仿真圖嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日本一区二区视频
|
久久久av中文字幕
|
亚洲精品成人
|
国产伦精品
|
国产日韩欧美精品一区二区
|
色桃网
|
亚洲黄色av
|
人操人人
|
国产日韩欧美在线
|
在线āv视频
|
欧美亚洲国产一区二区三区
|
在线一区视频
|
国产精品视屏
|
aa级毛片毛片免费观看久
|
国产成人精品999在线观看
|
一级黄色录像毛片
|
精品在线一区
|
国产精品免费一区二区
|
精品国产伦一区二区三区观看说明
|
日韩看片
|
欧美精品在线观看
|
成av在线
|
女人夜夜春
|
国产精品一区在线播放
|
国产精品九九九
|
成人久久18免费网站图片
|
国产精品日产欧美久久久久
|
性国产丰满麻豆videosex
|
亚洲精品成人
|
性欧美精品一区二区三区在线播放
|
天堂一区
|
在线黄
|
久久久久久久一区二区三区
|
亚洲电影第1页
|
亚洲欧洲中文
|
精品久久久久久久久久久久久
|
亚洲97
|
在线精品一区
|
黑人精品欧美一区二区蜜桃
|
日本超碰
|
午夜免费小视频
|