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

📄 main.lst

📁 TLC1549做的电压表
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  06/27/2007 17:35:18 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          #include <reg52.h>
   2          #include <absacc.h>
   3          
   4          #define uint unsigned int
   5          #define SEG1 XBYTE[0xffec]
   6          #define SEG2 XBYTE[0xffed]
   7          #define SEG3 XBYTE[0xffee]
   8          #define SEG4 XBYTE[0xffef]
   9          #define SUM 50 //多次测量求平均值次数
  10          #define VREF 4999//放大1000倍
  11          
  12          code unsigned char ledmap[]= //共阴LED数码管译码表
  13          {       
  14                  0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,//0-9不带小数点
  15                  0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10 //0-9带小数点 
  16          };
  17          
  18          //接口定义
  19          sbit CS = P1^5;
  20          sbit DA = P1^6;
  21          sbit CK = P1^7;
  22          
  23          //读取ADC结果函数
  24          unsigned int get_data(void)
  25          {
  26   1        unsigned char i;
  27   1        unsigned int temp = 0;
  28   1        CS = 0;   //开启控制电路,使能DA和CK IO引脚;
  29   1        for(i=0;i<10;i++)  //采集10次 ,即10bit
  30   1        { 
  31   2          CK = 0;        
  32   2          temp <<= 1;
  33   2          if(DA) temp++;  
  34   2          CK = 1;
  35   2        }
  36   1        CS = 1;
  37   1        return(temp);
  38   1      }
  39          
  40          void delay(unsigned char i) //延时子程序
  41          { 
  42   1              while(--i);
  43   1      }
  44          
  45          
  46          main()
  47          {       
  48   1              unsigned long int temp;
  49   1              unsigned char i;
  50   1              CS = 1;  //禁止I/O CLOCK
  51   1              i = SUM;
  52   1              temp = 0;
  53   1              while(1)
  54   1              {
  55   2                      temp += get_data();
C51 COMPILER V8.02   MAIN                                                                  06/27/2007 17:35:18 PAGE 2   

  56   2                      i--;
  57   2                      if(i==0)
  58   2                      {                               
  59   3                              temp = temp / SUM;                      
  60   3                              temp = temp * VREF;                     
  61   3                              temp = temp / 1023;
  62   3                              SEG1 = ledmap[temp/1000%10 + 10];//+10表示该位带小数点
  63   3                              SEG2 = ledmap[temp/100%10];
  64   3                              SEG3 = ledmap[temp/10%10];
  65   3                              SEG4 = ledmap[temp%10];
  66   3      
  67   3                              i = SUM;
  68   3                              temp = 0;
  69   3                      }
  70   2                      delay(10); //不使用延时,测量程序延时为28us
  71   2              }
  72   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    312    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   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 + -