鱼C论坛

 找回密码
 立即注册
查看: 4221|回复: 8

CS18b20 显示温度,,总是不成功

[复制链接]
发表于 2014-6-27 19:28:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

把显示函数给屏蔽了!设置成>30度   小灯亮;我屋里的温度也就25度、为什么打开小灯就亮;

请帮我看看 代码呗、、谢谢


  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. sbit QD=P2^2;
  5. //sbit dula=P2^6;
  6. //sbit wela=P2^7;
  7. /*
  8. signed char temp1[]={0};
  9. uchar code table[]={
  10. 0x3f,0x06,0x5b,0x4f,
  11. 0x66,0x6d,0x7d,0x07,
  12. 0x7f,0x6f,0x77,0x7c,
  13. 0x39,0x5e,0x79,0x71,
  14. 0x76,0x79,0x38,0x3f,0};

  15. */

  16. float wendu ;
  17. uchar aa, bb,cc,dd;

  18. void display(uchar aa,uchar bb,uchar cc);
  19. void delay(uchar z);
  20. uchar chushihua();
  21. void xie(uchar a);
  22. void read()        ;
  23. uchar du();
  24. //uchar ds18b20_V()
  25. //{
  26. //        return(QD);
  27. //}


  28. void main()
  29. {         
  30.         wendu=0;
  31.        


  32.         while(1)
  33.         {
  34.                 read();
  35.                 if(wendu>30.0)
  36.                 {
  37.                 P1=0XFE;               
  38.                 }
  39.        
  40.         }

  41. }

  42. /*************************************/
  43. uchar chushihua()        //初始化
  44. {  
  45.         uchar n,i;
  46.         QD=0;
  47.         for(i=240;i>0;i--);
  48.         QD=1;
  49.         for(i=40;i>0;i--);
  50.         n=QD;
  51.         for(i=200;i>0;i--);
  52.         return(n);
  53. }



  54. /*************************************/


  55. uchar du()                //读函数
  56. {
  57.         uchar i,temp,j;
  58.         for(i=8;i>0;i--)
  59.                 {
  60.                         temp>>=1;
  61.                         QD=0;
  62.                         for(j=2;j>0;j--);  //4um
  63.                         QD=1;
  64.                         for(j=4;j>0;j--); //8um
  65.                         if(QD)
  66.                         {
  67.                                 temp|=0x08;       
  68.                         };
  69.                         for(j=15;j>0;j--);
  70.                         QD=1;
  71.                 }       
  72.                 return(temp);
  73. }


  74. /*************************************/

  75. void xie(uchar a)           //写函数
  76. {
  77.         uchar i,j;
  78.         for(i=8;i>0;i--)
  79.         {
  80.         QD=0;
  81.         for(j=7;j>0;j--);
  82.         if((bit)(a&0x01)==1)
  83.         {
  84.            QD=1;
  85.         }
  86.         else
  87.         {
  88.                 QD=0;
  89.         }
  90.         for(j=30;j>0;j--);
  91.         QD=1;
  92.         a>>=1;
  93.         }
  94. }

  95.           



  96. /*************************************/

  97. void read()                                //读温度函数
  98. {
  99.         uchar i;
  100.         chushihua();        //初始化
  101.         xie(0xcc);           //写命令 跳过ROM
  102.         xie(0x44);           //写命令 启动温度转换
  103.         chushihua();        //初始化
  104.         xie(0xcc);           //写命令 跳过ROM
  105.         xie(0xbe);           //读暂存器里的温度命令
  106.         for(i=0;i>2;i++)
  107.         {
  108.                  temp1[i]= du();
  109.         }  
  110.         chushihua();//结束读温度
  111.         wendu = (temp1[1]<<8 | temp1[0]) * 0.0625;
  112. }

  113. /*************************************/


  114. void delay(uchar z)           //延时
  115. {
  116.         uchar x,y;
  117.         for(x=z;x>0;x--)
  118.                 for(y=110;y>0;y--);

  119. }




  120. /*
  121. void display(uchar aa,uchar bb,uchar cc)
  122. {
  123.         dula=1;
  124.                 P0=table[aa];
  125.                 dula=0;
  126.                 P0=0xff;
  127.                 wela=1;
  128.                 P0=0xfe;
  129.                 wela=0;
  130.                 delay(5);

  131.                dula=1;
  132.                 P0=table[bb];
  133.                 dula=0;
  134.                 P0=0xff;
  135.                 wela=1;
  136.                 P0=0xfd;
  137.                 wela=0;
  138.                 delay(5);

  139.        dula=1;
  140.                 P0=table[cc];
  141.                 dula=0;
  142.                 P0=0xff;
  143.                 wela=1;
  144.                 P0=0xfb;
  145.                 wela=0;
  146.                 delay(5);
  147.         
  148. }                                           */
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-28 15:18:21 | 显示全部楼层
:dizzy::dizzy:没有人帮助、、

点评

待会帮你看看  详情 回复 发表于 2014-7-14 23:07
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-14 23:07:42 | 显示全部楼层

待会帮你看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-18 19:19:44 | 显示全部楼层

:handshake    谢谢、、
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-23 19:14:31 | 显示全部楼层
楼主你能正常显示吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-29 13:26:47 | 显示全部楼层
沉思的牛 发表于 2014-7-23 19:14
楼主你能正常显示吗?

不能正常显示。。。我终于自己憋出来程序了。。。谢谢楼主哈哈哈。。

点评

这就是好样的! 记住,写程序不能总让别人改~  详情 回复 发表于 2014-7-29 19:01
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-29 19:01:47 | 显示全部楼层
骑着蜗牛狂奔 发表于 2014-7-29 13:26
不能正常显示。。。我终于自己憋出来程序了。。。谢谢楼主哈哈哈。。

这就是好样的!
记住,写程序不能总让别人改~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-6 00:33:17 | 显示全部楼层
void read()                                //读温度函数
{
        uchar i;
        chushihua();        //初始化
        xie(0xcc);           //写命令 跳过ROM
        xie(0x44);           //写命令 启动温度转换
        chushihua();        //初始化
        xie(0xcc);           //写命令 跳过ROM
        xie(0xbe);           //读暂存器里的温度命令
        for(i=0;i>2;i++)
        {
                 temp1[i]= du();
        }  
        chushihua();//结束读温度
        wendu = (temp1[1]<<8 | temp1[0]) * 0.0625;
}
自己看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-6 15:41:53 | 显示全部楼层
tao819tao 发表于 2014-8-6 00:33
void read()                                //读温度函数
{
        uchar i;

:loveliness:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 02:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表