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

📄 adc.lst

📁 以C8051F330为核心,开发单端正激型开关电源充电器,C8051F330负责电流环及电压环采样及对应脉宽PWM输出,控制主电路MOSFET管,构成负反馈.
💻 LST
字号:
C51 COMPILER V7.20   ADC                                                                   07/18/2007 10:12:10 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN ADC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe ADC.c DB OE

line level    source

   1          #include "switch_power.h"
   2          
   3          
   4          
   5          
   6          
   7          void ADC0_Initial(void)
   8          {
   9   1          AMX0N = 0x11;//operates in single-ended mode
  10   1          ADC0CF = 0x78;//bit7--bit3 set AD0SC 11111 ,bit 2 set 0 means right-justified
  11   1              ADC0CN = 0xc0;//bit 7 set 1 enable ADC0
  12   1                            //bit 6 set 0 means normal track mode, set 1 means low-power track-and-hold mod
  13   1                                        //bit 5 conversion complete interrupt flag
  14   1                                        //bit 4 busy bit
  15   1                                        //bit 3 windows compare interrupt flag
  16   1                                        //bit 2--0 start of conversion mode ,000 means write 1 to AD0BUSY
  17   1      }
  18          
  19          /************************************************
  20          *        I*R3*1024/Vref = CurrentNum            *
  21          ************************************************/
  22          void ADC0_Current(void)
  23          {
  24   1          AMX0P = 0x0C;
  25   1      
  26   1          AD0INT = 0;
  27   1          AD0BUSY = 1;
  28   1              while(AD0INT == 0);
  29   1      
  30   1          CurrentNum = ADC0H;
  31   1              CurrentNum <<= 8;
  32   1              CurrentNum += ADC0L;
  33   1      }
  34          
  35          /***************************************************************************************
  36          *        U*R2*1024/(R1*Vref + R2*Vref) = VoltageNum - CurrentNum*R2/(R1+R2)            *
  37          ***************************************************************************************/
  38          void ADC0_Voltage(void)
  39          {
  40   1          AMX0P = 0x0D;
  41   1      
  42   1          AD0INT = 0;
  43   1          AD0BUSY = 1;
  44   1              while(AD0INT == 0);
  45   1      
  46   1          VoltageNum = ADC0H;
  47   1              VoltageNum <<= 8;
  48   1              VoltageNum += ADC0L;
  49   1      
  50   1              VoltageNum = VoltageNum - CurrentNum/20;
  51   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    124    ----
C51 COMPILER V7.20   ADC                                                                   07/18/2007 10:12:10 PAGE 2   

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