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

📄 stc_adc.lst

📁 我们自己做了一个智能充电器,能向串口发送各种电压数据.
💻 LST
字号:
C51 COMPILER V7.06   STC_ADC                                                               05/14/2007 21:18:12 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE STC_ADC
OBJECT MODULE PLACED IN STC_ADC.OBJ
COMPILER INVOKED BY: D:\Programes\Keil\C51\BIN\C51.EXE STC_ADC.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************Copyright (c)**************************************************
   2          **                                                                      广州广微电子有限公司
   3          **                          Guangzhou Microwide Electronic Co.,Ltd.
   4          **                                 http://www.micro-wide.com
   5          **
   6          **----------------------------------------File Info----------------------------------------------------
   7          ** File name:                   STC_ADC.h
   8          ** Last modified Date:  2007-05-06
   9          ** Last Version:                1.0
  10          ** Descriptions:                STC系列51单片机ADC驱动程序
  11          **                                              
  12          **
  13          **------------------------------------------------------------------------------------------------------
  14          ** Created by:                  stars_txx
  15          ** Created date:                2007-05-06
  16          ** Version:                             1.0
  17          ** Descriptions:                The original version
  18          **
  19          **------------------------------------------------------------------------------------------------------
  20          ** Modified by:
  21          ** Modified date:
  22          ** Version:
  23          ** Descriptions:
  24          **
  25          ********************************************************************************************************/
  26          #include "STC_ADC.h"
  27          
  28          sfr P1M0                =0x91;
  29          sfr P1M1                =0x92;
  30          sfr ADC_CONTR   =0xC5;
  31          sfr ADC_DATA    =0xC6;
  32          sfr IE                  =0xA8;
  33          sfr AUXR                =0x8E;
  34                  
  35          //#define REG(ADDR) (*((volatile unsigned char*)ADDR))
  36          unsigned char ADC_Result[8];
  37          /*
  38          *********************************************************************************************************
  39          **函数原型              :       void ADC_Pin_Config(unsigned char nCh)
  40          **参数说明              :       nCh     ->      通道号,0~7
  41          **                              :------------------------------------------------------------------------------------------
  42          **返回值                :       无      
  43          **说    明              :       作为ADC使用时,端口必须配置成开漏或高阻,函数选择配置成高阻
  44          *********************************************************************************************************/
  45          void ADC_Pin_Config(unsigned char nCh)
  46          {
  47   1              P1M0 |= 0x01<<nCh;              //P1M0相应位为1
  48   1              P1M1 &= ~(0x01<<nCh);   //P1M1相应位为0
  49   1      }
  50          /*
  51          *********************************************************************************************************
  52          **函数原型              :       void ADC_Start_Convt(unsigned char nCh, unsigned char nSpeed);
  53          **参数说明              :       nCh             ->      通道号,0~7
  54          **                              :       nSpeed  ->      转换速率,STC_ADC_SPEED_210CLK~STC_ADC_SPEED_840CLK
  55          **                              :------------------------------------------------------------------------------------------
C51 COMPILER V7.06   STC_ADC                                                               05/14/2007 21:18:12 PAGE 2   

  56          **返回值                :       无      
  57          **说    明              :       A函数DC启动
  58          *********************************************************************************************************/
  59          void ADC_Start_Convt(unsigned char nCh, unsigned char nSpeed)
  60          {
  61   1              ADC_CONTR = 0x01<<0x07|nSpeed<<0x05|0x01<<0x03|nCh;
  62   1      }
  63          /*
  64          *********************************************************************************************************
  65          **函数原型              :       void ADC_Stop(void)
  66          **参数说明              :       
  67          **                              :------------------------------------------------------------------------------------------
  68          **返回值                :       无      
  69          **说    明              :       ADC停止函数,关闭电源
  70          *********************************************************************************************************/
  71          /*void  ADC_Stop(void)
  72          {
  73                  ADC_CONTR &= ~(0x01<<0x07|0x01<<3);
  74          }*/
  75          /*
  76          *********************************************************************************************************
  77          **函数原型              :       unsigned char GetADC_Reslut(unsigned char nCh);
  78          **参数说明              :       nCh     -> 通道号,0~7
  79          **                              :------------------------------------------------------------------------------------------
  80          **返回值                :       无      
  81          **说    明              :       获取ADC转换值函数
  82          *********************************************************************************************************/
  83          unsigned char GetADC_Reslut(unsigned char nCh)
  84          {
  85   1              return ADC_Result[nCh];
  86   1      }
  87          /*
  88          *********************************************************************************************************
  89          **函数原型              :       void isr_ADC_GetVal(void)
  90          **参数说明              :       
  91          **                              :------------------------------------------------------------------------------------------
  92          **返回值                :       无      
  93          **说    明              :       在中断服务程序中取出ADC转换值
  94          *********************************************************************************************************/
  95          void isr_ADC_GetVal(void)
  96          {
  97   1              ADC_CONTR &= ~(0x01<<7|0x01<<3|0x01<<4);        //停止ADC转换,清除ADC_FLAG标志
  98   1              ADC_Result[ADC_CONTR&0x07] = ADC_DATA;  //取出ADC转换值到相应结果缓冲
  99   1      }
 100          /*
 101          *********************************************************************************************************
 102          **函数原型              :       void Init_ADC_Interrupt(unsigned char bVal)
 103          **参数说明              :       
 104          **                              :------------------------------------------------------------------------------------------
 105          **返回值                :       无      
 106          **说    明              :       在中断服务程序中取出ADC转换值
 107          *********************************************************************************************************/
 108          void Init_ADC_Interrupt(unsigned char bVal)
 109          {
 110   1              if(bVal != 0)
 111   1              {
 112   2                      IE |= 0x01<<5;
 113   2                      AUXR |= 0x01<<4;
 114   2              }
 115   1              else
 116   1              {
 117   2                      IE &= ~(0x01<<5);
C51 COMPILER V7.06   STC_ADC                                                               05/14/2007 21:18:12 PAGE 3   

 118   2                      AUXR &= ~(0x01<<4);
 119   2              }
 120   1      }


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