18b20和ds1302在5110屏幕显示问题

2019-03-24 17:32发布

同时使用18b20和ds1302在5110屏幕上显示时,为什么显示不出实时的温度,只有不变的一个00.05。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
wyf1101
2019-03-26 03:08
本帖最后由 wyf1101 于 2016-8-19 21:23 编辑
kk118a 发表于 2016-8-19 00:19
上图,程序
  1. void main()
  2. {        

  3.         LCD_init(); //初始化液晶   
  4.         LCD_clear();
  5.         Ds1302Init();
  6.         LCD_write_english_string(0,1,"  2016.08.17 ");
  7.         LCD_write_english_string(0,3,"DS:00:00:00  ");
  8.         LCD_write_english_string(0,5,"    crazyer  ");
  9.         LCD_write_english_string(0,1,"   00:00:00  ");
  10.         LCD_write_english_string(0,2,"wendu: 00.00 C");
  11.         LCD_write_english_string(0,4,"DS 00:00:00  ");
  12.         dd=0;
  13.                 while(1)  
  14.                 {        
  15.                         Ds1302ReadTime();
  16.                         temp1 = Ds18b20ReadTemp();
  17.                         temp1=(temp1*0.0625*100+0.5)*10;         
  18.                     q=temp1 / 1000;
  19.                         b=temp1 % 1000 / 100;
  20.                         s=temp1 % 100 / 10;
  21.                            g=temp1%10;
  22.                         xianshi(3,7,q);                delay(1);
  23.                         xianshi(3,8,b);                delay(1);
  24.                         xianshi(3,9,'.'-48);delay(1);
  25.                         xianshi(3,10,s);        delay(1);
  26.                         xianshi(3,11,g);
  27.                         delay(1);
  28.                                  
  29.                         szshi1=TIME[2]/16;
  30.                         szshi2=(TIME[2]&0x0f);
  31.                         szfen1=TIME[1]/16;
  32.                         szfen2=(TIME[1]&0x0f);
  33.                     szmiao1=TIME[0]/16;
  34.                         szmiao2=(TIME[0]&0x0f);
  35.                         sznian1=TIME[6]/16;
  36.                         sznian2=(TIME[6]&0x0f);
  37.                         szyue1=TIME[4]/16;
  38.                         szyue2=(TIME[4]&0x0f);
  39.                         szri1=TIME[3]/16;
  40.                         szri2=(TIME[3]&0x0f);
  41.                         szxq1=TIME[5]/16;
  42.                         szxq2=(TIME[5]&0x0f);
  43.                         xianshi(1,2,2);
  44.                         xianshi(1,3,0);
  45.                         xianshi(1,4,sznian1);  delay(1);
  46.                         xianshi(1,5,sznian2);  delay(1);
  47. //                        LCD_write_english_string(2,7,"-");
  48.                         xianshi(1,7,szyue1);   delay(1);
  49.                         xianshi(1,8,szyue2);   delay(1);
  50. //                        LCD_write_english_string(2,11,"-");
  51.                         xianshi(1,10,szri1); delay(1);
  52.                         xianshi(1,11,szri2); delay(1);
  53.                         
  54.                         xianshi(2,3,szshi1); delay(1);
  55.                         xianshi(2,4,szshi2); delay(1);
  56. //                        LCD_write_english_string(2,5,":");
  57.                         xianshi(2,6,szfen1); delay(1);
  58.                         xianshi(2,7,szfen2); delay(1);
  59. //                        LCD_write_english_string(2,8,":");
  60.                         xianshi(2,9,szmiao1); delay(1);
  61.                         xianshi(2,10,szmiao2);        delay(1);   
  62. //                        wendu();
  63.                         
  64.                         num1=kaig();                        
  65.                         if(num1==7)        dingshi2(kaig());                        
  66.                         if(num1==1)        dingshi1(kaig());
  67.                         if(shi1==szshi1&&shi2==szshi2&&fen1==szfen1&&fen2==szfen2&&miao1==szmiao1&&miao2==szmiao2)        dd=1;
  68.                         if(s1==szshi1&&s2==szshi2&&f1==szfen1&&f2==szfen2&&m1==szm1&&m2==szmiao2)        dd=1;
  69.                 }

  70.                   
  71. }
复制代码

一周热门 更多>