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

📄 shiyan1.lst

📁 单片机C和汇编程序代码,其中有EEPROM,LCD的使用.
💻 LST
字号:
C51 COMPILER V6.12  SHIYAN1                                                                03/30/2008 20:45:35 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE SHIYAN1
OBJECT MODULE PLACED IN .\shiyan1.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE .\shiyan1.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<AT89x51.H>
   2          unsigned char code tab[]={
   3          0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
   4          0x80,0x90};
   5          sbit DQ=P0^1;
   6          unsigned char tempL=0;
   7          unsigned char tempH=0;
   8          float temperature;
   9          //延时子程序
  10          void delay(unsigned int time)
  11          {
  12   1      unsigned int n;
  13   1      n=0;
  14   1      while(n<time)
  15   1      {
  16   2      {n++;}
  17   2      return;
  18   2      }
  19   1      }
  20          //数码管扫描延时子程序
  21          void delay1(void)
  22          {
  23   1      unsigned int k;
  24   1      for(k=0;k<110;k++);
  25   1      }
  26          //数码管显示子程序
  27          void display(unsigned int k)
  28          {
  29   1      P0=0xbf;
  30   1      P2=tab[k/1000];
  31   1      delay1();
  32   1      P0=0xdf;
  33   1      P2=tab[k%1000/100];
  34   1      delay1();
  35   1      P0=0xef;
  36   1      P2=tab[k%100/10];
  37   1      delay1();
  38   1      P0=0xf7;
  39   1      P2=tab[k%10];
  40   1      delay1();
  41   1      P2=0xff;
  42   1      }
  43          
  44          init_DS18B20(void)
  45          {
  46   1      unsigned char x=0;
  47   1      DQ=1;
  48   1      delay(8);
  49   1      DQ=0;
  50   1      delay(85);
  51   1      DQ=1;
  52   1      delay(14);
  53   1      delay(20);
  54   1      }
  55          //向DS18B20读一字节数据
C51 COMPILER V6.12  SHIYAN1                                                                03/30/2008 20:45:35 PAGE 2   

  56          ReadOneChar(void)
  57          {
  58   1      unsigned char i=0;
  59   1      unsigned char dat=0;
  60   1      for(i=8;i>0;i++)
  61   1      {
  62   2      DQ=1;
  63   2      delay(1);
  64   2      DQ=0;
  65   2      dat>>=1;
  66   2      DQ=1;
  67   2      if(DQ)
  68   2      dat|=0x80;
  69   2      delay(4);
  70   2      }
  71   1      return(dat);
  72   1      }
  73          //向DS18B20写一字节数据
  74          WriteOneChar(unsigned char dat)
  75          {
  76   1      unsigned char i=0;
  77   1      for(i=8;i>0;i--)
  78   1      {
  79   2      DQ=0;
  80   2      DQ=dat&0x01;
  81   2      delay(5);
  82   2      DQ=1;
  83   2      dat>>=1;
  84   2      }
  85   1      delay(4);
  86   1      }
  87          //向DS18B20读温度值
  88           ReadTemperature(void)
  89          {
  90   1      init_DS18B20();
  91   1      WriteOneChar(0xcc);
  92   1      WriteOneChar(0x44);
  93   1      delay(125);
  94   1      init_DS18B20();
  95   1      WriteOneChar(0xcc);
  96   1      WriteOneChar(0xbe);
  97   1      tempL=ReadOneChar();
  98   1      tempH=ReadOneChar();
  99   1      temperature=((tempH*256)+tempL)*0.0625;
 100   1      delay(200);
 101   1      return(temperature);
 102   1      }
 103          //主程序
 104          void main()
 105          {
 106   1      float i;
 107   1      while(1)
 108   1      {
 109   2      i=ReadTemperature();
 110   2      display(i);
 111   2      }
 112   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    373    ----
   CONSTANT SIZE    =     10    ----
C51 COMPILER V6.12  SHIYAN1                                                                03/30/2008 20:45:35 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       5
   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 + -