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

📄 xianshi.lst

📁 显示温度尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。
💻 LST
字号:
C51 COMPILER V8.09   XIANSHI                                                               11/28/2004 02:12:31 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE XIANSHI
OBJECT MODULE PLACED IN xianshi.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE xianshi.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "reg51.h"
   2          typedef unsigned char uchar;
   3          typedef unsigned int  uint;
   4          sbit DQ=P0^0;
   5          sbit  P0_1=P0^1;
   6          uchar data0,sign;
   7          
   8          void delay(int delay_time)   
   9          {int i=0;
  10   1       for(;i<delay_time;i++);
  11   1      }
  12          
  13          uchar IC_reset(void)
  14          {
  15   1       uchar presence;
  16   1       DQ=0;
  17   1       delay(29);   
  18   1       DQ=1;
  19   1       delay(3);     
  20   1       presence=DQ;
  21   1       delay(25);                                      
  22   1       return(presence);
  23   1      }
  24          
  25          uchar read_bit(void)
  26          {
  27   1       uchar i;
  28   1       DQ=0;
  29   1       DQ=1;
  30   1       for(i=0;i<3;i++);
  31   1       return(DQ);
  32   1      }
  33          
  34          void write_bit(char bitval)
  35          {
  36   1       DQ=0;
  37   1       if(bitval==1) DQ=1;
  38   1       delay(5);
  39   1       DQ=1;
  40   1      }
  41          
  42          uchar  read_byte(void)
  43          {
  44   1       uchar i;
  45   1       uchar value=0;
  46   1       for(i=0;i<8;i++)
  47   1       {
  48   2        if(read_bit()) value|=0x01<<i;
  49   2        delay(6);                                 
  50   2      }
  51   1      return value;
  52   1      }
  53          
  54          void write_byte(char val)
  55          {
C51 COMPILER V8.09   XIANSHI                                                               11/28/2004 02:12:31 PAGE 2   

  56   1       uchar i;
  57   1       uchar temp;
  58   1       for(i=0;i<8;i++)
  59   1       {   
  60   2        temp=val>>i;
  61   2        temp&=0x01;
  62   2        write_bit(temp);
  63   2       }
  64   1       delay(5);
  65   1      }
  66          
  67          void IC_start(void)
  68          {
  69   1       IC_reset();
  70   1       write_byte(0xcc);
  71   1       write_byte(0x44);
  72   1      }
  73          
  74          void read_temp(void)
  75          {
  76   1       
  77   1       IC_reset();
  78   1       write_byte(0xcc);
  79   1       write_byte(0xbe);
  80   1       data0=read_byte();
  81   1       sign=read_byte();
  82   1       
  83   1       }
  84          
  85          
  86          main()
  87          {uchar data0,temp,temp2,temdec; uchar bai,shi,ge,ge1,shi1,bai1,qian1;
  88   1       uchar display[]={0xc0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x98};
  89   1       
  90   1      while(1)
  91   1       {
  92   2       IC_start();
  93   2       read_temp();
  94   2       temp=sign;
  95   2       temp&=0xf0;
  96   2       if( temp==0x00)
  97   2       {
  98   3        temp=data0>>4;
  99   3        temp2= sign<<4;
 100   3        temp=temp | temp2;
 101   3        temdec=(data0 &0x0f)*625;
 102   3        }
 103   2        if (temp >=20)
 104   2        P0_1=0;
 105   2        else  P0_1=1;
 106   2      
 107   2        bai=temp/100;
 108   2        shi=temp%100/10;
 109   2        ge=temp%100%10;
 110   2        ge1=temdec/1000;
 111   2        shi1=temdec%1000/100;
 112   2        bai1=temdec%1000%100/10;
 113   2        qian1=temdec%1000%100%10;
 114   2      
 115   2        P1=0xfe;
 116   2        P2=display[bai];
 117   2        delay(10);
C51 COMPILER V8.09   XIANSHI                                                               11/28/2004 02:12:31 PAGE 3   

 118   2      
 119   2        P1=0xfd;
 120   2        P2=display[shi];
 121   2        delay(10);
 122   2      
 123   2        P1=0xfb;
 124   2        P2=display[ge];
 125   2        delay(10);
 126   2      
 127   2        P1=0xf7;
 128   2        P2=0x7f;
 129   2        delay(10);
 130   2      
 131   2        P1=0xef;
 132   2        P2=display[ge1];
 133   2        delay(10);    
 134   2      
 135   2      
 136   2        P1=0xdf;
 137   2        P2=display[shi1];
 138   2        delay(10);   
 139   2      
 140   2        P1=0xbf;
 141   2        P2=display[bai1];
 142   2        delay(10);   
 143   2      
 144   2        P1=0x7f;
 145   2        P2=display[qian1];
 146   2        delay(10);     
 147   2      
 148   2       }
 149   1      
 150   1      }                                
 151          
 152          
 153           
 154           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    501    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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