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

📄 floatex.lst

📁 89c2051 单片机浮点数显示运算程序 单片机应用
💻 LST
字号:
C51 COMPILER V6.23a  FLOATEX                                                               12/25/2003 14:48:18 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE FLOATEX
OBJECT MODULE PLACED IN floatex.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE floatex.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /************************************************/
   2          
   3          /************************************************/
   4          #include <REG52.H>
   5          #include <stdio.h>
   6          #include <intrins.h>
   7          
   8          #ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
              char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
              #endif                                   /* Stop Exection with Serial Intr.   */
  11                                                   /* is enabled                        */
  12          const char Ledbuf[18]=/*digit convert table*//* 共阴*/
  13                  { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,           
  14                  /* 0     1     2     3     4     5     6     7     8     9 */
  15                   0x77, 0x7C, 0x39, 0x1000E, 0x79, 0x71, 0x00, 0x40 };
  16                  /* a    b     c     d     e     f           - */
  17          
  18          
  19          sbit P10=P1^0;
  20          sbit P11=P1^1;
  21          sbit P12=P1^2;
  22          sbit P15=P1^5;
  23          sbit P16=P1^6;
  24          sbit P17=P1^7;
  25          sbit P32=P3^2;
  26          
  27          
  28          unsigned char th,tl;
  29          
  30          unsigned int dat,chdate[4];
  31          
  32          
  33          void Delay(unsigned int DelayTime)
  34          {
  35   1              if (DelayTime == 0)return;
  36   1                      while(DelayTime != 0)
  37   1                              {DelayTime--; }
  38   1      }
  39          
  40          void computer(unsigned int dt)
  41          { unsigned char cledtim[5];
  42   1        unsigned int dth,dtm,dtl;
  43   1        unsigned char i,temp;
  44   1              temp=0x01;
  45   1              cledtim[4]=Ledbuf[dt/10000];
  46   1              dth=dt%10000;
  47   1              cledtim[3]=Ledbuf[dth/1000];
  48   1              dtm=dth%1000;
  49   1              cledtim[2]=Ledbuf[dtm/100];
  50   1              cledtim[2]|=0x80;
  51   1              dtl=dtm%100;
  52   1              cledtim[1]=Ledbuf[dtl/10];
  53   1              cledtim[0]=Ledbuf[dtl%10];                                              
  54   1              if(cledtim[4]==0x3F)    
  55   1                      { P0=0x00;
C51 COMPILER V6.23a  FLOATEX                                                               12/25/2003 14:48:18 PAGE 2   

  56   2                        P2=0x10;
  57   2                        Delay(100);
  58   2                      for(i=0;i<4;i++)
  59   2                              {P0=cledtim[i];
  60   3                               P2=temp;
  61   3                               temp<<=1;
  62   3                               Delay(100);}}
  63   1          else {for(i=0;i<5;i++)
  64   2                              {P0=cledtim[i];
  65   3                               P2=temp;
  66   3                               temp<<=1;
  67   3                               Delay(100);}}                  
  68   1      }
  69          
  70          unsigned int adcon()
  71          { unsigned int dc;
  72   1              dc=0x0000;
  73   1              dc=th;
  74   1              dc<<=8;
  75   1              dc|=tl;
  76   1              dc/=2;
  77   1              dc-=10001;
  78   1              dc/=1;
  79   1              return(dc);
  80   1      }
  81           
  82          void bust_int(void) interrupt 0 using 1
  83          {
  84   1      EA=0;
  85   1      th=TH0;
  86   1      tl=TL0;
  87   1      TH0=0x00;
  88   1      TL0=0x00;
  89   1      IE0=0;                      
  90   1      EA=1;                           //12/03
  91   1      }
  92          
  93          void main()
  94          {               TH0=0x00;
  95   1                      TL0=0x00;
  96   1      for(;;)
  97   1              {unsigned int Had,Lad;
  98   2               unsigned int Hpv,Lpv;
  99   2               unsigned int ptem,adtem,vtem;
 100   2               unsigned long test,tests;
 101   2                      Had=5000;
 102   2                      Lad=1000;
 103   2                      Hpv=185;
 104   2                      Lpv=65;
 105   2                      ptem=Hpv-Lpv;
 106   2                      adtem=Had-Lad;
 107   2                      P1=0x00;
 108   2                      TR0=0;
 109   2                      TMOD=0x09;
 110   2                      IT0=1;
 111   2                      TR0=1;
 112   2                      EX0=1;
 113   2                      EA=1;
 114   2                  dat=adcon();
 115   2                      vtem=190-Lpv;
 116   2                      test=vtem;
 117   2                      test*=adtem;
C51 COMPILER V6.23a  FLOATEX                                                               12/25/2003 14:48:18 PAGE 3   

 118   2                      tests=Lad;
 119   2                      tests*=ptem;
 120   2                      test=test+tests;
 121   2              test/=ptem;
 122   2                      computer(dat);
 123   2              }
 124   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    482    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     30      35
   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 + -