• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 51单片机  DS18b20  

资源简介

使用Keil软件编程,下载进51单片机,在数码管上显示温度

资源截图

代码片段和文件信息

#include
#define uchar unsigned char 
#define uint unsigned int
uchar templ=0temph=0;
uchar e=1000f=0;
sbit dq=P3^4;//温度传感器信号线
sbit bq=P3^5; //蜂鸣器接口
float temp;//定义整型的温度数据
void yuzhi()
{      
   { 
     switch(P3)
 {
   case 0xfe:e=180;break;
   case 0xfd:f=160;break;
   default:break;
 }
   }
}
void delay(uint z)//延时函数
{
uint s;
for (s=0;s}
uchar code pan1[]={
0XC00XF90XA4
0XB00X990X92
0X820XF80x800X90};//无小数点
uchar code pan2[]={
0x400x790x24
0x300x190x12
0x020x780x000x10};//有小数点

uchar dsreset(void)//ds18b20初始化函数
{
uchar x;
dq=0;
delay(80);
dq=1;
delay(15);
x=dq;
delay(5);
return x;
}
uchar tempread(void)//读一个字节函数
{
uchar idat;
dat=0;
for(i=0;i<8;i++)
{
dq=1;
delay(5);
dq=0;      
dat>>=1;//复合赋值运算,等效dat=dat>>1(dat=dat右移一位后的值)
dq=1;
if(dq)
dat|=0x80;
delay(4);
}
return(dat);
}
void tempwritebyte(

评论

共有 条评论