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

📄 display.lst

📁 在外部环境中检测亮度
💻 LST
字号:
C51 COMPILER V7.06   DISPLAY                                                               05/16/2008 11:12:30 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: D:\Program Files\keil C51\C51\BIN\C51.EXE display.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include <reg52.h>
   3          #include <stdio.h>
   4          #include <absacc.h>
   5          #include <ctype.h>
   6          #include <intrins.h>  
   7          
   8          
   9          
  10          typedef unsigned char uchar;
  11          sbit STB=P1^5;
  12          sbit CLK=P1^4;
  13          sbit DATA0=P1^3;
  14           int A[6];
  15          int a1,a2,a3,a4,a5,a6;
  16          unsigned char i,j;
  17          float DATA;
  18          extern void delay(unsigned long );
  19          extern void Display(float display_data);
  20          /***********************************************************************************/
  21          main()
  22          {//int A[6]={19,19,0,0,0,0};
  23   1       A[4]=23;
  24   1       A[5]=24;
  25   1      while(1)
  26   1       {
  27   2        Display(18.6);
  28   2        delay(0xffff);
  29   2         A[4]=19;
  30   2        A[5]=16;
  31   2        Display(26.7);
  32   2        delay(0xffff);
  33   2         A[4]=23;
  34   2         A[5]=24;
  35   2        Display(8.3);
  36   2        delay(0xffff);
  37   2        Display(0.9);
  38   2        delay(0xffff);
  39   2        Display(26);
  40   2          A[4]=19;
  41   2          A[5]=16;
  42   2        delay(0xffff);
  43   2        Display(6);
  44   2        delay(0xffff);
  45   2         A[4]=23;
  46   2         A[5]=24;
  47   2        Display(138);
  48   2        delay(0xffff);
  49   2        }
  50   1      }
  51          //***************************************数码管显示函数**************************************/   
  52          void Display(float display_data)
  53          {
  54   1       uchar D[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X89,0XC7,0X8C
             -,0X88,0XC1,0X91,0XFF,0X9C,0XC6};
C51 COMPILER V7.06   DISPLAY                                                               05/16/2008 11:12:30 PAGE 2   

  55   1       uchar dp_data,Y;
  56   1       if(display_data<1)
  57   1         {A[0]=22;
  58   2          A[1]=22;
  59   2          A[2]=0;
  60   2              A[3]=(int)(display_data*10);
  61   2              }
  62   1       else if(display_data<10)
  63   1          {A[0]=22;
  64   2           A[1]=22;
  65   2           A[2]=(int)(display_data/1);
  66   2           A[3]=(int)(display_data*10)%10;
  67   2           }
  68   1       else if(display_data<100)
  69   1          {A[0]=22;
  70   2           A[1]=(int)(display_data/10);
  71   2           A[2]=(int)(display_data)%10;
  72   2           A[3]=(int)(display_data*10)%10;
  73   2           }
  74   1       else if(display_data<1000)
  75   1          {A[0]=(int)(display_data/100);
  76   2           A[1]=(int)(display_data/10)%10;
  77   2           A[2]=(int)(display_data)%10;
  78   2           A[3]=(int)(display_data*10)%10;
  79   2          }
  80   1       a1=A[0];
  81   1       a2=A[1];
  82   1       a3=A[2];
  83   1       a4=A[3];
  84   1       a5=A[4];
  85   1       a6=A[5];
  86   1       for(i=0;i<6;i++)
  87   1       {dp_data=D[A[i]];
  88   2        if(i==2)
  89   2         dp_data=dp_data&0x7f;
  90   2         for(j=8;j>0;j--)
  91   2           {  CLK=0;
  92   3                  if(dp_data&0x80)
  93   3                     Y=1;
  94   3                      else Y=0;
  95   3                     DATA0=Y;
  96   3                     CLK=1;
  97   3                         dp_data=dp_data<<1;
  98   3           
  99   3            }  
 100   2              
 101   2        }
 102   1         STB=0;
 103   1         STB=1;
 104   1         delay(2);
 105   1         STB=0;
 106   1       
 107   1      }
 108           
 109          
 110          
 111          
 112          void delay(unsigned long s)
 113          { 
 114   1        for(;s>0;s--);
 115   1        {
 116   2                for(;s>0;s--);         
C51 COMPILER V7.06   DISPLAY                                                               05/16/2008 11:12:30 PAGE 3   

 117   2        }
 118   1      }


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