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

📄 adc.lst

📁 STC12C5410AD模拟串口再现多串口通讯
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   ADC                                                                   10/30/2008 13:20:05 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN ADC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADC.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"include.h"
   2          
   3          uint32 xdata sum[10];
   4          /*********************************************************************************************************
   5          ** 函数名称: void delaynms(uint16 n) 
   6          ** 功能描述: 延时函数
   7          ** 输   入: 无
   8          ** 输   出: 无
   9          ** 全局变量: 
  10          ** 调用模块: 
  11          **
  12          ** 作   者: 李伟
  13          ** 日   期: 2008年12月09日
  14          **-------------------------------------------------------------------------------------------------------
  15          ** 修 改 人:
  16          ** 日   期:
  17          **-------------------------------------------------------------------------------------------------------
  18          ********************************************************************************************************/
  19          void delaynms(uint16 n)                           //延时1mS
  20          {
  21   1          uint16 i;
  22   1          while(n>0)
  23   1          {
  24   2              for(i=0;i<490;i++)
  25   2              {}
  26   2              n--;
  27   2          }
  28   1      }
  29          /*********************************************************************************************************
  30          ** 函数名称: uint16 Get_AD_Result(void)
  31          ** 功能描述: 获取ADC转换结果函数
  32          ** 输   入: 无
  33          ** 输   出: 无
  34          ** 全局变量: 
  35          ** 调用模块: 
  36          **
  37          ** 作   者: 李伟
  38          ** 日   期: 2008年12月09日
  39          **-------------------------------------------------------------------------------------------------------
  40          ** 修 改 人:
  41          ** 日   期:
  42          **-------------------------------------------------------------------------------------------------------
  43          ********************************************************************************************************/
  44          uint16 Get_AD_Result(void)
  45          {
  46   1          uint16 ADH;
  47   1          uint16 ADL;
  48   1          ADC_DATA  = 0x00;
  49   1          ADC_LOW2  = 0x00;
  50   1          ADC_CONTR|= 0x08;
  51   1          delaynms(2);
  52   1          while(ADC_CONTR&0x10 != 0x10);
  53   1          ADC_CONTR &= 0xe7;                     //0xe7;
  54   1          ADH = ADC_DATA<<2;
  55   1          ADL = ADC_LOW2&0x03;
C51 COMPILER V7.06   ADC                                                                   10/30/2008 13:20:05 PAGE 2   

  56   1          ADH = ADH|ADL;
  57   1          return(ADH);
  58   1      }
  59          /*********************************************************************************************************
  60          ** 函数名称: void SetChannel(uint8 chnum)
  61          ** 功能描述: ad通道设置函数
  62          ** 输   入: 无
  63          ** 输   出: 无
  64          ** 全局变量: 
  65          ** 调用模块: 
  66          **
  67          ** 作   者: 李伟
  68          ** 日   期: 2008年12月09日
  69          **-------------------------------------------------------------------------------------------------------
  70          ** 修 改 人:
  71          ** 日   期:
  72          **-------------------------------------------------------------------------------------------------------
  73          ********************************************************************************************************/
  74          void SetChannel(uint8 chnum)      //chnum:channel number
  75          {
  76   1          switch (chnum)
  77   1          {
  78   2              case 0 :
  79   2              {
  80   3                  A12 = 0;                  //选通U9-138译码器
  81   3                  A11 = 0;                              //E1
  82   3                  A10 = 0;                              //选中第1路电池 A10
  83   3                  A9  = 0;                              //A9
  84   3                          A8  = 0;                              //A8
  85   3              }break;
  86   2              case 1:
  87   2              {
  88   3                  A12 = 0;                  //选通U9-138译码器
  89   3                  A11 = 0;                              //E1
  90   3                  A10 = 0;                              //选中第2路电池 A10
  91   3                  A9  = 0;                              //A9
  92   3                          A8  = 1;                              //A8
  93   3              }break;
  94   2              case 2:
  95   2              {
  96   3                  A12 = 0;                  //选通U9-138译码器
  97   3                  A11 = 0;                              //E1
  98   3                  A10 = 0;                              //选中第3路电池 A10
  99   3                  A9  = 1;                              //A9
 100   3                          A8  = 0;                              //A8
 101   3              }break;
 102   2              case 3 :
 103   2              {
 104   3                  A12 = 0;                  //选通U9-138译码器
 105   3                  A11 = 0;                              //E1
 106   3                  A10 = 0;                              //选中第4路电池 A10
 107   3                  A9  = 1;                              //A9
 108   3                          A8  = 1;                              //A8
 109   3              }break;
 110   2              case 4:
 111   2              {
 112   3                  A12 = 0;                  //选通U9-138译码器
 113   3                  A11 = 0;                              //E1
 114   3                  A10 = 1;                              //选中第5路电池 A10
 115   3                  A9 = 0;                                   //A9
 116   3                          A8 = 0;                                   //A8
 117   3              }break;
C51 COMPILER V7.06   ADC                                                                   10/30/2008 13:20:05 PAGE 3   

 118   2              case 5:
 119   2              {
 120   3                  A12 = 0;                  //选通U9-138译码器
 121   3                  A11 = 0;                              //E1
 122   3                  A10 = 1;                              //选中第6路电池 A10
 123   3                  A9  = 0;                              //A9
 124   3                          A8  = 1;                              //A8
 125   3              }break;
 126   2              case 6 :
 127   2              {
 128   3                  A12 = 0;                  //选通U9-138译码器
 129   3                  A11 = 0;                              //E1
 130   3                  A10 = 1;                              //选中第7路电池 A10
 131   3                  A9  = 1;                              //A9
 132   3                          A8  = 0;                              //A8
 133   3              }break;
 134   2              case 7:
 135   2              {
 136   3                  A12 = 0;                  //选通U9-138译码器
 137   3                  A11 = 0;                              //E1
 138   3                  A10 = 1;                              //选中第8路电池 A10
 139   3                  A9  = 1;                              //A9
 140   3                          A8  = 1;                              //A8
 141   3              }break;
 142   2              case 8:                       //选通U10-138译码器
 143   2              {
 144   3                  A12 = 0;                  //选通U10-138译码器
 145   3                  A11 = 1;                              //E3
 146   3                  A10 = 0;                              //选中第1路电池
 147   3                  A9  = 0;                              //A9
 148   3                          A8  = 0;                              //A8
 149   3              }break;
 150   2              case 9 :
 151   2              {
 152   3                  A12 = 0;                  //选通U10-138译码器
 153   3                  A11 = 1;                              //E3
 154   3                  A10 = 0;                              //选中第2路电池
 155   3                  A9  = 0;                              //A9
 156   3                          A8  = 1;                              //A8
 157   3              }break;
 158   2              case 10:
 159   2              {
 160   3                  A12 = 0;                      //选通U10-138译码器
 161   3                  A11 = 1;                              //E3
 162   3                  A10 = 0;                              //选中第3路电池
 163   3                  A9  = 1;                              //A9
 164   3                          A8  = 0;                              //A8
 165   3              }break;
 166   2              case 11:
 167   2              {
 168   3                  A12 = 0;                  //选通U10-138译码器
 169   3                  A11 = 1;                              //E3
 170   3                  A10 = 0;                              //选中第4路电池
 171   3                  A9  = 1;                              //A9
 172   3                          A8  = 1;                              //A8
 173   3              }break;
 174   2              case 12 :
 175   2              {
 176   3                  A12 = 0;                  //选通U10-138译码器
 177   3                  A11 = 1;                              //E3
 178   3                  A10 = 1;                              //选中第5路电池
 179   3                  A9  = 0;                              //A9
C51 COMPILER V7.06   ADC                                                                   10/30/2008 13:20:05 PAGE 4   

 180   3                          A8  = 0;                              //A8
 181   3              }break;
 182   2              case 13:
 183   2              {
 184   3                  A12 = 0;                  //选通U10-138译码器
 185   3                  A11 = 1;                              //E3
 186   3                  A10 = 1;                              //选中第6路电池
 187   3                  A9  = 0;                              //A9
 188   3                          A8  = 1;                              //A8
 189   3              }break;
 190   2              case 14:
 191   2              {
 192   3                  A12 = 0;                  //选通U10-138译码器
 193   3                  A11 = 1;                              //E3

⌨️ 快捷键说明

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