⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jiang.lst

📁 此程序是用lm75a
💻 LST
字号:
C51 COMPILER V8.08   JIANG                                                                 03/02/2009 19:51:04 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE JIANG
OBJECT MODULE PLACED IN jiang.OBJ
COMPILER INVOKED BY: D:\软件\keil3\C51\BIN\C51.EXE jiang.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //***读取温度和显示温度值主函数****//
   2          #include <jiang.h>
   3          #include <reg52.h>
   4          #include <dis.h>
   5          unchar data LM75A=0x90;// LM75A 的I2C 地址 
   6          unchar data MRD[2]={0};//接收缓冲区
   7          unint a,b,temp;
   8          float s,t;
   9          unchar shu[7];
  10          sbit s1=P1^7;
  11          unint change_h_d1(unchar a)//把LM75A温度寄存器11位中低3位转为十进制
  12          {
  13   1              unchar i,j,k;
  14   1              unint m;  
  15   1              unint n;
  16   1              n=0;
  17   1              a=a&0xe0;
  18   1              a>>=5;
  19   1              for(i=0;i<3;i++)
  20   1              {
  21   2                      m=1;
  22   2                  k=a&0x01;
  23   2                      for(j=i;j>0;j--)
  24   2                      {
  25   3                              m=m*2;  
  26   3                      }
  27   2                      n=n+m*k;
  28   2                      a>>=1;
  29   2              }
  30   1              return n;
  31   1              
  32   1      }
  33          unint change_h_d0(unchar a)//把LM75A温度寄存器11位中高8位转为十进制
  34          {
  35   1              unchar i,j,k;
  36   1              unint m;
  37   1              unint n;
  38   1              n=0;
  39   1              for(i=0;i<8;i++)
  40   1              {
  41   2                      m=1;
  42   2                      k=a&0x01;
  43   2                      for(j=i+3;j>0;j--)
  44   2                      {       
  45   3                              m=m*2;
  46   3                      }
  47   2                      n=n+m*k;
  48   2                      a>>=1;
  49   2              }
  50   1              return n;
  51   1              
  52   1      }
  53          void delay(unchar z)
  54          {
  55   1        unchar x,y;
C51 COMPILER V8.08   JIANG                                                                 03/02/2009 19:51:04 PAGE 2   

  56   1        for(x=z;x>0;x--)
  57   1           for(y=10;y>0;y--);
  58   1      }
  59          void main()
  60          {
  61   1         while(1)
  62   1         {
  63   2         IRcvStr(LM75A,0x00,MRD,2);//读取LM75A 当前温度值 
  64   2              a=MRD[0];
  65   2              b=MRD[1]; 
  66   2              s=change_h_d0(a)+change_h_d1(b);
  67   2              t=s/8.0;//换算成实际
  68   2          temp=1000*t;
  69   2          shu[0]=temp%10;//取整数各位值
  70   2              shu[1]=(temp/10)%10;
  71   2              shu[2]=(temp/100)%10;
  72   2              shu[3]=(temp/1000)%10;//个位
  73   2              shu[4]=(temp/10000)%10;//十位
  74   2              shu[5]=(temp/100000)%10;//百位
  75   2          mydisplay(3,shu[1]);
  76   2      delay(35);
  77   2         mydisplay(2,shu[2]);
  78   2      delay(35);   
  79   2          mydisplay(4,10);
  80   2      delay(35);
  81   2          mydisplay(5,11);
  82   2      delay(35);
  83   2         mydisplay1(1,shu[3]);//显示带小数点的数值
  84   2      delay(35);
  85   2          mydisplay(0,shu[4]);
  86   2      delay(35);
  87   2      if(shu[4]==2)
  88   2      s1=0;
  89   2          }
  90   1      } 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    826    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     24      16
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -