1 / 6
文档名称:

数字温度计程序.doc

格式:doc   大小:21KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数字温度计程序.doc

上传人:feng1964101 2021/2/18 文件大小:21 KB

下载得到文件列表

数字温度计程序.doc

文档介绍

文档介绍:#include<>
#define uchar unsigned char
#define uint unsigned int
sbit d1=P2^0;
sbit d2=P2^1;
sbit d3=P2^2;
sbit d4=P2^3;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit beep=P3^4;
sbit DS=P1^2;
sbit ACC_7=ACC^7;
uint count=1000,alarm=300;
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
};
uchar code tab1[]=//小数点点亮
{0x40,0x79,0x24,0x30,
0x19,0x12,0x02,0x78,0x00,0x10
};
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);