打印

真心求解,,温度显示!!

[复制链接]
1729|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
奔跑着的水|  楼主 | 2012-11-22 13:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define  uchar   unsigned char
#define  uint    unsigned int
uchar    code    table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管表//
uchar    code    table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfb,0x87,0xff,0xef};//共阴数码管带小数点的显示//
uchar    temp;
uchar    temp1;
uchar    temp2;
uchar    com,n;
sbit     DQ=P1^0;
void delayms();
void delay(n);
void int18b20();
void write_18b20();
uchar read_18b20();
shuju();
  
void  main()
{
  
int18b20();//先初始化//
while(1)
{
   delayms();
      shuju();//度温度数据并且数据转换//
   delayms();
    P2=0xfe;
  P0=table1[temp/100];
  delayms();
  P2=0xfd;
  P0=table2[temp%100/10];
  delayms();
  P2=0xfb;
  P0=table1[temp%100%10];
  delayms();
     // display();//数据的显示//(温度)
   delayms();
}
}     
//======DS18B20的初始化======////
void  int18b20()
{
uchar x=1;
while(x)
  {
    DQ=1;
    delay(5);//延时时间要求短
    DQ=0;
    delay(260);//要求延时时间大于4820us//
    DQ=1;
    delay(5);//时间短一点
    x=DQ;
    delay(200);
   }
}
//====读一个字节======//
void  write_18b20(com)//写指令的程序
{
   uchar  i;
  for(i=0;i<8;i++)
    {
  DQ=0;
  DQ=com&0x01;
  delay(10);//短暂的延时//
  DQ=1;
  com>>=1;
}
}
///=======读一个字节=====///
uchar  read_18b20()
{
   uchar  i,dat=0;
   for(i=0;i<8;i++)
     {
    DQ=0;
    dat>>=1;
    delay(2);
    DQ=1;
    if(DQ)
      {
        dat=dat|0x80;
     delay(10);//小延时//
      }
  }
   return(dat);
}
///======温度读取并且转换的程序=====/
  shuju()
{   
int18b20();
write_18b20(0xCC);
write_18b20(0x44);
while(!DQ);
//等待数据转化完成//
int18b20();
write_18b20(0xCC);
write_18b20(0xBE);
temp1=read_18b20();//先读取的低位数据//
temp2=read_18b20();
temp2<<=8;
temp=temp2|temp1;
temp=temp*0.0625;//温度扩大十倍显示//
return(temp);
}
//延时//
void   delay(n)
{
   uchar   i;
     for(i=0;i<n;i++);
}
void   delayms()
{
   uchar  i,j;
   for(i=0;i<100;i++)
      for(j=0;j<250;j++);
}

温度显示.jpg (207.62 KB )

温度显示.jpg

相关帖子

沙发
奔跑着的水|  楼主 | 2012-11-22 13:02 | 只看该作者
希望路过的高手帮忙解决,感激不尽!

使用特权

评论回复
板凳
Ryanhsiung| | 2012-11-22 13:07 | 只看该作者
你也不说问题,你不会让我们看你的原理图+code 吧 ,再去想有什么问题

使用特权

评论回复
地板
ayb_ice| | 2012-11-22 13:56 | 只看该作者
RT:

未命名.JPG (28.96 KB )

未命名.JPG

未命名2.JPG (191.53 KB )

未命名2.JPG

使用特权

评论回复
5
奔跑着的水|  楼主 | 2012-11-22 15:26 | 只看该作者
不好意思,,这个是没有显示,,不知道为什么DQ一直是低电平, 3# Ryanhsiung

使用特权

评论回复
6
奔跑着的水|  楼主 | 2012-11-22 15:28 | 只看该作者
能不能把这个程序发给我,,谢谢!!邮箱[email=2697206485@qq.com2697206485@qq.com[b[/email]] 4# ayb_ice

使用特权

评论回复
7
ayb_ice| | 2012-11-22 15:46 | 只看该作者
6# 奔跑着的水

8051 with a DS18B20 Temperture Sensor.rar

33.65 KB

使用特权

评论回复
8
奔跑着的水|  楼主 | 2012-11-22 15:52 | 只看该作者
谢啦 7# ayb_ice

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

55

帖子

0

粉丝