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

📄 main.lst

📁 基于8051F实现数字电压表功能.用液晶作为显示界面,精度很高.
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  03/29/2008 22:13:16 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*===============================================================*/
   2          /*函数名称: main.c                                              */
   3          /*函数功能: 主函数,调用各模块                                   */
   4          /*基本思想:  单端输入,定时启动,由T2定时,选择AIN0.3为ADC0转化通道                                       
             -   */
   5          /*修改记录: 无修改记录                                          */
   6          /*编写作者: t483-4-19chenyong                                   */
   7          /*编写日期: 2007-4-06                                           */
   8          /*===============================================================*/
   9          #include  "common.h"
  10          #include  "TS12864A.h"
  11          #include  "show.h"
  12          #include  "adc.h"
  13          #define N  10
  14          bit isnewdata;
  15          int xdata k=0,count=0;
  16          //long ad_value=0;      //真实测量电压值  
  17          float xdata sum=0,average_value=0;
  18          float xdata realvol[N];
  19          extern long ad_value;      //真实测量电压值
  20          
  21          void main()
  22          {
  23   1          Port_Initial();
  24   1              SYSCLK_Init();
  25   1          LCD_Init();                      //液晶初始化   
  26   1              CleanScreen();  
  27   1              adc0_initial();                        //ADC0初始化
  28   1              EA=1;
  29   1              while(1)
  30   1              {
  31   2      /*        if(isnewdata)                           //滑动滤波
  32   2                {
  33   2                      Display_Character(0,3,19);    //电压
  34   2                  Display_Character(2,3,20);
  35   2                  Display_Character(4,3,15);    //单位        
  36   2                  Display_Char(14,3,19);
  37   2                      realvol[k++]=ad_value;
  38   2                      if(k==N)
  39   2                      {
  40   2                         k=0;
  41   2                      }
  42   2                      sum=0;
  43   2                      for(count=0;count<N;count++)
  44   2                      {
  45   2                         sum=sum+realvol[count];                 
  46   2                      }
  47   2                      sum=(float)sum/100;
  48   2                      sum=(float)sum/100;
  49   2                  average_value=sum/N;
  50   2                      Show_FloatData(average_value,3);       //显示电压值
  51   2                      EA=0;
  52   2              Port_Initial();
  53   2                  adc0_initial();                        //ADC0初始化
  54   2                  EA=1;
C51 COMPILER V8.02   MAIN                                                                  03/29/2008 22:13:16 PAGE 2   

  55   2                      isnewdata=0;
  56   2                      }  */
  57   2      //=====================================================================
  58   2                if(isnewdata)                           //滑动滤波
  59   2                {
  60   3                      Display_Character(0,3,19);    //电
  61   3                  Display_Character(2,3,20);    //压
  62   3                  Display_Character(4,3,15);    //:   
  63   3                  Display_Char(14,3,19);         //单位V
  64   3      
  65   3                      realvol[k]= ad_value;   /*减去噪声干扰*/
  66   3                      sum=sum+realvol[k];     
  67   3                      k++;            
  68   3                      EA=0;
  69   3                      Port_Initial();
  70   3                  adc0_initial();                           //ADC0初始化
  71   3                  EA=1;
  72   3                      if(k>(N-1))
  73   3                      {
  74   4                         k=0;
  75   4                         sum=(float)sum/100;
  76   4                         sum=(float)sum/1000;          /*把原来100改为1000*/
  77   4                     average_value=sum/N;
  78   4                         Show_FloatData(average_value,3);                   //显示电压值
  79   4                      }
  80   3      
  81   3                      isnewdata=0 ;
  82   3                      }  
  83   2      
  84   2      
  85   2      
  86   2              }
  87   1      }
  88          
  89          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    350    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     52    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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